UI text issue with custom fonts

Hi guys,

When a UI text doesn’t have enought space for it, Blender automatically shows a two-dot glyph indicating the text is compressed (btw which is nice! :slightly_smiling_face:).

But unfortunately it doesn’t work always with custom fonts.
I’ve made some tests with with Roboto, Open Sans, Source Sans, Ubuntu (Linux), SF Pro (Apple) and Segoe UI (Windows).

From this list, it only works as expected with Roboto, with all the others a different glyph is displayed (see the output path and last metatada checkbox of the image below).

Is this a specific limitation of this font families (like incomplete characters set) or something could be done on the blender side (like using a more universal character)?

003

Regards,
Leandro.

1 Like

Yes, this is because we are specifically using the wrong character for that purpose. A “two-dot leader” is meant for making rows of dots, while we should be using a “horizontal ellipsis” (3 dots) for line continuation.

The fonts you mentioned all have ellipsis (because it is so commonly used), but many don’t have the two-dot leader since that is hardly used. I have tried very hard over the years to get this fixed but the powers-that-be prefer using the wrong character simply because it is slightly narrower in some fonts.

Every time I hear that “but it’s narrower” argument I cringe. Like hearing someone say they prefer a word spelled wrong because it is shorter. LOL

3 Likes

Thanks for your reply Harley!

Besides all the grammar problem, my concern is that the custom interface font feature became a little weak since you can’t use even with OS default UI fonts.

Well, from this point of view, maybe we should just use a single “*”, because its even narrower…
Sorry, just kidding. :sweat_smile:

There is a workaround for this issue, but so far I am resisting doing it myself because the use of “two-dot leader” is so bizarre and distasteful to me. But we could easily check if that particular glyph is in the currently-loaded font and substitute another. But the logic of “this incorrect character is not here so let’s use the proper one” is too embarrassing to implement. LOL.

2 Likes

Is there a way to see what is the unicode id of the two-dot character that blender is using?
So at least I can edit the desired font-family and include the missing character as a workaround.

Sure. If you are thinking about using FontForge or something similar to add it to the font you are using, then this is the character:

1 Like

Yeap, that is what I had in mind.
Copy/pasted the U+2026 over the U+2025 in FontForge and it worked like a charm. :slightly_smiling_face:

Thanks for your help!

1 Like