Replies: 3 comments 5 replies
-
What do you think? cc @1ec5 and @ZeLonewolf because I think you spent quite some time putting a font together which has maximal coverage for Americana... |
Beta Was this translation helpful? Give feedback.
-
Your assumption is correct: osm-americana/openstreetmap-americana#850 has some examples of what happens when the glyph PBFs lack required glyphs. From an end-user perspective, your proposal is good for basic usability, assuming that the The traditional fontstack model always seemed unreasonable to me, especially that the fontstack would get flattened on the server side into a single set of PBFs, requiring the style to specify a pan-Unicode, last-resort fallback font as part of the fontstack. A last-last-resort fallback on the client side would reduce the dependency on fontstacks, getting us closer to the point where we can ditch that concept and, along with it, the faulty assumptions in maplibre/maplibre-native#778 (reply in thread). As a side benefit, if developers who roll their own glyph PBFs can assume a version of MapLibre that has the proposed behavior, then they can roll much smaller PBFs that contain only the characters from specialty fonts and none of the fallback characters from boring pan-Unicode fonts. But a bit of caution is warranted: whenever a combining character’s font mismatches the surrounding text’s font, text layout always gets wonky. |
Beta Was this translation helpful? Give feedback.
-
I have a special use case where I run maplibre offline as a single HTML page reading a pmtiles file, for me it would be great if I just could use local fonts instead of having to make sure to copy all glyph files to the clients. At the moment I have made sure to include some char sets into the source and a custom protocol for reading them, but there are always some some glyphs missing. |
Beta Was this translation helpful? Give feedback.
-
Sometimes a font file does not contain a glyph. Say for example that you have a font which covers
a-z
andA-Z
but nothing else. Then if you want to renderZürich
, the default behavior of MapLibre GL JS is to showZrich
I think. So it just skips the missingü
. In such cases where a glyph is missing from the font, we could generate it dynamically in the client with TinySDF.Beta Was this translation helpful? Give feedback.
All reactions