Cascadia ݿ (U+077F : Arabic Letter Kaf With Two Dots Above) rendering problem in Terminal #21737

Closed
opened 2026-01-31 07:53:30 +00:00 by claunia · 4 comments
Owner

Originally created by @PhMajerus on GitHub (May 18, 2024).

Windows Terminal version

1.21.1272.0

Windows build number

10.0.22631.3593 x64

Steps to reproduce

Anything that displays the character ݿ:U+077F (Arabic Letter Kaf With Two Dots Above) using Cascadia Mono or Cascadia Code in the Terminal.

echo -e "\n\n\n\n\n\n \u0643 \u077F \n\n\n\n\n\n"

image

It seems to only happen in Terminal, Word does not stretch that glyph:
image
(beware characters order looks reversed because Word shows them RTL)

And this seems to only happen with Cascadia, here is the same terminal with the font changed to Iosevka:
image

And the glyph looks fine in VTT as well:
image

Also, that glyph is a combination of other glyphs, and ك:kaf-ar, which is U+0643, shown alongside in the screenshots and test command, does not get stretched/mirrored.
image

Expected Behavior

The ݿ:U+077F glyph should look like ك:U+0643 with two extra dots above it.

Actual Behavior

The ݿ:U+077F glyph is rendered stretched and mirrored, or corrupt.

Originally created by @PhMajerus on GitHub (May 18, 2024). ### Windows Terminal version 1.21.1272.0 ### Windows build number 10.0.22631.3593 x64 ### Steps to reproduce Anything that displays the character `ݿ`:`U+077F` _(Arabic Letter Kaf With Two Dots Above)_ using Cascadia Mono or Cascadia Code in the Terminal. ``` echo -e "\n\n\n\n\n\n \u0643 \u077F \n\n\n\n\n\n" ``` ![image](https://github.com/microsoft/terminal/assets/25664275/abee1943-be2c-4ac2-8b3e-c33d3e059faa) It seems to only happen in Terminal, Word does not stretch that glyph: ![image](https://github.com/microsoft/terminal/assets/25664275/e5bd3611-288f-4423-a105-6a47950faef0) _(beware characters order looks reversed because Word shows them RTL)_ And this seems to only happen with Cascadia, here is the same terminal with the font changed to Iosevka: ![image](https://github.com/microsoft/terminal/assets/25664275/ac221042-767a-4c9e-a46e-beeffc5143f9) And the glyph looks fine in VTT as well: ![image](https://github.com/microsoft/terminal/assets/25664275/a1a9020a-9000-4675-b084-3fd5fb25af85) Also, that glyph is a combination of other glyphs, and `ك`:`kaf-ar`, which is `U+0643`, shown alongside in the screenshots and test command, does not get stretched/mirrored. ![image](https://github.com/microsoft/terminal/assets/25664275/8d4005e9-012c-467a-8632-4ed7ae029373) ### Expected Behavior The `ݿ`:`U+077F` glyph should look like `ك`:`U+0643` with two extra dots above it. ### Actual Behavior The `ݿ`:`U+077F` glyph is rendered stretched and mirrored, or corrupt.
claunia added the Needs-TriageIssue-Bug labels 2026-01-31 07:53:30 +00:00
Author
Owner

@github-actions[bot] commented on GitHub (May 18, 2024):

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

@github-actions[bot] commented on GitHub (May 18, 2024): Hi I'm an AI powered bot that finds similar issues based off the issue title. Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you! ### Closed similar issues: - [Weird glyph rendering issue with CaskaydiaCove NerdFont (#16413)](https://github.com/microsoft/terminal/issues/16413), similarity score: 0.75 > Note: You can give me feedback by thumbs upping or thumbs downing this comment.
Author
Owner

@lhecker commented on GitHub (May 18, 2024):

I've checked this glyph out under a debugger, and this weird shape is what we get back from the Direct2D API. There's no matrix transformation, or any other kind of unusual configuration active when this happens.

I've also found that the issue goes away at a font size of 38pt at 100% display scale (26pt at 150% scale, and so on). This indicates that the issue is with grid fitting, because at very large font sizes glyphs are rendered from their outlines only. And indeed, using DWRITE_RENDERING_MODE_OUTLINE solves the issue.

If you check the rendering in VTT you'll see that it shows the exact same issue if you enable Grid Fit (Ctrl+G):

https://github.com/microsoft/terminal/assets/2256941/6a83446b-6e75-49b7-a14b-96fcb8834a9c

@lhecker commented on GitHub (May 18, 2024): I've checked this glyph out under a debugger, and this weird shape is what we get back from the Direct2D API. There's no matrix transformation, or any other kind of unusual configuration active when this happens. I've also found that the issue goes away at a font size of 38pt at 100% display scale (26pt at 150% scale, and so on). This indicates that the issue is with grid fitting, because at very large font sizes glyphs are rendered from their outlines only. And indeed, using `DWRITE_RENDERING_MODE_OUTLINE` solves the issue. If you check the rendering in VTT you'll see that it shows the exact same issue if you enable Grid Fit (Ctrl+G): https://github.com/microsoft/terminal/assets/2256941/6a83446b-6e75-49b7-a14b-96fcb8834a9c
Author
Owner

@PhMajerus commented on GitHub (May 18, 2024):

Thanks for looking into this @lhecker

I just read through Cascadia issues and there seems to have been an issue report related to this: https://github.com/microsoft/cascadia-code/issues/743
I guess there is something wrong with the Arabic glyphs in the font.

@PhMajerus commented on GitHub (May 18, 2024): Thanks for looking into this @lhecker I just read through Cascadia issues and there seems to have been an issue report related to this: https://github.com/microsoft/cascadia-code/issues/743 I guess there is something wrong with the Arabic glyphs in the font.
Author
Owner

@DHowett commented on GitHub (May 21, 2024):

Oh yeah, that's broken. Gonna close this in favor of the one on the Cascadia repo. Thanks!

@DHowett commented on GitHub (May 21, 2024): Oh yeah, that's broken. Gonna close this in favor of the one on the Cascadia repo. Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#21737