|
|
Home » U++ Library support » Draw, Display, Images, Bitmaps, Icons » What is the U++ way to replace a missing font glyph?
|
|
Re: What is the U++ way to replace a missing font glyph? [message #54311 is a reply to message #54303] |
Mon, 22 June 2020 17:20   |
Oblivion
Messages: 1206 Registered: August 2007
|
Senior Contributor |
|
|
Hello Mirek,
Quote:
Generally, it would probably be more simple to just keep the list updated...
What I have in my mind can be summarized as follows:
1) Make the same list dynamic (using a vector maybe?)
2) Accordinly, add global functions to manipulate or query the list on demand.
3) Keep the existing code as intact as possible.
Basically, it is a global list management.
For example (just to give an idea)
void AddFallbackFont()
void RemoveFallbackFont()
void InsertFallbackFont()
void ResetFallbackFonts() // Always resets the list to U++ defaults.
const Vector<>& GetFallbackFonts() // Not sure about this one, but may be used to fill font lists in UI, if needed;
Frankly I don't really care about emojis or icons. The "modern terminal emulation scene" is a very interesting and weird habitat, but what I really need is some special fallback fonts when a terminal connection requires font adjusting depending on the environment over a remote (SSH) connection, for example.
Besides U++ apps in general can benefit from this.
My main concern would be performance (though the impact of using a dynamic list should be negligable) and the potential concurrency problems these functions may bring in.
What do you think?
Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Mon, 22 June 2020 17:38] Report message to a moderator
|
|
|
Re: What is the U++ way to replace a missing font glyph? [message #54314 is a reply to message #54311] |
Mon, 22 June 2020 20:42   |
 |
mirek
Messages: 14257 Registered: November 2005
|
Ultimate Member |
|
|
Oblivion wrote on Mon, 22 June 2020 17:20Hello Mirek,
Quote:
Generally, it would probably be more simple to just keep the list updated...
What I have in my mind can be summarized as follows:
1) Make the same list dynamic (using a vector maybe?)
2) Accordinly, add global functions to manipulate or query the list on demand.
3) Keep the existing code as intact as possible.
Basically, it is a global list management.
For example (just to give an idea)
void AddFallbackFont()
void RemoveFallbackFont()
void InsertFallbackFont()
void ResetFallbackFonts() // Always resets the list to U++ defaults.
const Vector<>& GetFallbackFonts() // Not sure about this one, but may be used to fill font lists in UI, if needed;
Frankly I don't really care about emojis or icons. The "modern terminal emulation scene" is a very interesting and weird habitat, but what I really need is some special fallback fonts when a terminal connection requires font adjusting depending on the environment over a remote (SSH) connection, for example.
Besides U++ apps in general can benefit from this.
My main concern would be performance (though the impact of using a dynamic list should be negligable) and the potential concurrency problems these functions may bring in.
What do you think?
Best regards,
Oblivion
I think that whatever fonts you might add by AddFallbackFont, you can have in the list already... 
I mean, how are you going to use this?
Mirek
|
|
|
Re: What is the U++ way to replace a missing font glyph? [message #54317 is a reply to message #54314] |
Mon, 22 June 2020 23:11   |
Oblivion
Messages: 1206 Registered: August 2007
|
Senior Contributor |
|
|
Quote:
I think that whatever fonts you might add by AddFallbackFont, you can have in the list already... Smile
I mean, how are you going to use this?
OK, if we can add some new faces to fallback fonts list, it would be sufficient and great. 
For one, an important monospace font with great glpyh coverage is missing: FreeMono. (FreeSans and FreeSerif is already in the list but their monospaced counterpart is missing).
Also, FontAwesome should be in that list too. (It has extensive icons coverage, used by many apps.)
These two would improve the result of font glyph substitution mechanism of U++.
There are other font families such as Noto for extensive CJK, Devanagari, etc. coverage but they can be picked and added later, if needed.
As a side note, I think it would be better to have a Font constructor that takes a facename. (Can be used to construct font arrays from facenames, using the C++11 initializer lists.)
Best regards,
Oblivion
Github page: https://github.com/ismail-yilmaz
upp-components: https://github.com/ismail-yilmaz/upp-components
Bobcat the terminal emulator: https://github.com/ismail-yilmaz/Bobcat
[Updated on: Mon, 22 June 2020 23:23] Report message to a moderator
|
|
|
|
|
|
Goto Forum:
Current Time: Sun May 11 15:24:30 CEST 2025
Total time taken to generate the page: 0.02903 seconds
|
|
|