Closed AptiviCEO closed 1 week ago
However, this corruption doesn't happen on large font sizes (43 px and up); only happens on 42 px and lower. When these Arabic characters connect, the corruption increases.
FYI the issue seems to happen due to incorrect hinting instructions (= when "grid fit" is enabled). On Windows, at large font sizes hinting won't occur anymore and text will be drawn from the outlines instead. That's why it works at >42px. If for instance DWRITE_RENDERING_MODE_OUTLINE
is used, then the issue will be fixed even at small font sizes.
Alright, thanks for this information. Can the grid fitting instructions for these characters be fixed? And how did such instructions go wrong in the first place?
By the way, I've also tested this issue on Android 14 (Termux [grid hinting] and QuickEdit [outline?]), with the U+077F: ARABIC LETTER KAF WITH TWO DOTS ABOVE (ݿ) letter, and Termux has exactly the same issue, so it isn't isolated to Windows.
So, I think that this is a huge regression, because it used to work perfectly in the 2021 version as it had the correct grid fitting instructions.
What has likely happened is that the point order changed at some point unexpectedly. I will have to investigate.
AptiviCEO, your investigation is more comprehensive than mine. Thanks a lot.
Cascadia family version
2404.23
Cascadia family variant(s)
Cascadia Code (the version with ligatures), Cascadia Mono (the version without ligatures)
Font file format(s)
Windows Terminal included version (TTF (variable)), .ttf (variable)
Platform
Windows 11 23H2
Other Software
No response
What happened?
First, thank you for your hard work on Cascadia Code 2404.23!
It looks like that some of the following Arabic glyphs look corrupted on all the applications. I was exploring new typefaces using the character map program on Windows while trying to brainstorm an idea for Terminaux (a C# library) while I encountered some corrupted characters at least for the Arabic language. It only happens in the NF and the PL variants.
However, this corruption doesn't happen on large font sizes (43 px and up); only happens on 42 px and lower. When these Arabic characters connect, the corruption increases.
The following characters all suffer from visual graphical glitches (connected or not) that make such letters illegible: (Note that the terminal I-Beam cursor line is not part of the glyph and, hence, not part of the corruption)
Out of all the glitches experienced by these characters, U+06AF, U+06B0, U+06B2, U+06B3, U+06B4, U+075E, U+077F, and U+08B0 characters are the most affected with their corruption at its worst. However, the normal Arabic characters look fine, such as this:
I suspect that the glyphs for the above characters may not have been generated properly in the final font files.