They shouldn’t need to. I should be able to change the letter-spacing just for the types of characters that are not altered by shaping.
For languages with complex layout changing their spacing can completely screw them up, but again I should be able to avoid doing that. Here is such a sequence in Devanagari:
I don’t think it’s the ideal font for Blender UI but it’s pretty close. With some adjustments it might be pretty close to the current font.
I am for the idea of changing to Roboto. Mainly because it’ll remove the maintanace load from developers. Maintaining a font is not an easy task and needs quite and expertise in the field. It’s much better to use already proven and maintained solution.
Made an illustration of what “Slight” hinting is supposed to do when done correctly, only aligning features vertically to the bitmap grid. So it removes a lot of blurriness with very little change to letter shapes, unlike Full hinting which moves features in both directions.
Kerning for 3D Text objects is however still no present… Here Blender vs Inkscape, using the same font Inter-Light, the “T” and “e” should be closer together with Inter its kerning tables:
Blender currently only supports the “old style” type of kerning, which is kerning pair information that is stored in the font’s “kern” table. The new and preferred method of kerning is to store that data in the “gpos” table. This new method is better because the kerning can be specified in more complex ways than just about the character order.
Inter though supports very complex kerning. In fact in tens of thousands of circumstances, more than could be contained in a “kern” table. So if you were to open it up in FontForge, for example, you would see that it has kerning, but not “legacy” kerning.
In order to do the new kerning using “gpos” it is a more complex matter than just doing a simple adjustment based on a simple table. Instead there are complex rules to follow. This requires a “text shaper”, usually Harfbuzz. Gimp uses Harfbuzz, mostly to support complex languages, but it also does that gpos kerning for it.
Therefore Blender does kerning, but only the simple kind, and therefore not with Inter. We will get to complex shaping and gpos kerning with this: https://developer.blender.org/D15687
Definitely not in 3.5. The new dependencies aren’t even on the Buildbot yet (last time I checked) so I can’t even test builds on other platforms yet.
It will be a difficult review process just because there are not many of us familiar with this area of code. In an ideal world it would just get included as an experimental feature that can turned on during the alpha stage of 3.6 and then perhaps non-experimental in 3.7
Note the above patch only allows complex and bidirectional text within the Blender UI, so allowing better support for languages that need that. After that is in I will turn attention to complex shaping of 3D Text Object and text nodes. But that will be simpler.
I hope so. First I need to get the display of Arabic correctly in the interface and you can enter Arabic in natural order for things like object names, etc.
I am hoping at some later time to also (maybe) add support for UI mirroring so you would see parts of Blender nicely right-aligned instead of left.