Some Unicode characters from Private Use Area rendered incorrectly #18806

Closed
opened 2026-01-31 06:24:50 +00:00 by claunia · 4 comments
Owner

Originally created by @pi-314 on GitHub (Nov 3, 2022).

Windows Terminal version

1.16.2642.0

Windows build number

10.0.22000.0

Other Software

Affected font:

  • Meslo LG S NF (Nerd Font patched )
    Also checked with few other power line fonts -> same behaviour

Unrelated:

  • WSL2
  • Ubuntu 20.04
  • zsh

Steps to reproduce

  • open terminal.
  • select MesloLGS NF (or other power line font) for current profile.
  • ensure that "useAtlasEngine": true
  • echo -e "\uE0B0\u2012\uE0B1\u2012\uE0B2\u2012\uE0B3\u2012\u2012"

Expected Behavior

All Unicode characters should be rendered correctly.

Actual Behavior

If "AtlasEngine" is on, some glyphs from Private Use Area (U+0E000 - U+0F8FF) are rendered misplaced and of wrong size. The engine seems to calculate either the height or bearingY (or both) for that glyphs wrong or maybe the issue comes from antialiasing. Some characters appers to be rendered bigger but then not scaled but just truncated to the character's boundary without respecting of glyph's origin. Some other (like the patched icons on the screenshot), by contrast, appears to be scaled smaller.

With "useAtlasEngine": false the issue is not there.

AtlasEngine vs. "old" behaviour:
grafik

Unfortunately I was not able to check if the font provides all metrics correctly due to a lack of time but the issue seems not to be related to any particular font so it definetively comes from AtlasEngine.

Originally created by @pi-314 on GitHub (Nov 3, 2022). ### Windows Terminal version 1.16.2642.0 ### Windows build number 10.0.22000.0 ### Other Software Affected font: - Meslo LG S NF ([Nerd Font patched](https://github.com/romkatv/powerlevel10k/blob/master/font.md) ) Also checked with few other power line fonts -> same behaviour Unrelated: - WSL2 - Ubuntu 20.04 - zsh ### Steps to reproduce - open terminal. - select MesloLGS NF (or other power line font) for current profile. - ensure that `"useAtlasEngine": true` - `echo -e "\uE0B0\u2012\uE0B1\u2012\uE0B2\u2012\uE0B3\u2012\u2012"` ### Expected Behavior All Unicode characters should be rendered correctly. ### Actual Behavior If "AtlasEngine" is on, some glyphs from Private Use Area (U+0E000 - U+0F8FF) are rendered misplaced and of wrong size. The engine seems to calculate either the height or bearingY (or both) for that glyphs wrong or maybe the issue comes from antialiasing. Some characters appers to be rendered bigger but then not scaled but just truncated to the character's boundary without respecting of glyph's origin. Some other (like the patched icons on the screenshot), by contrast, appears to be scaled smaller. With `"useAtlasEngine": false` the issue is not there. AtlasEngine vs. "old" behaviour: ![grafik](https://user-images.githubusercontent.com/8823998/199639800-d08cb90b-11ad-43ba-a8f8-901b58fb5f9f.png) Unfortunately I was not able to check if the font provides all metrics correctly due to a lack of time but the issue seems not to be related to any particular font so it definetively comes from AtlasEngine.
claunia added the Issue-BugResolution-Duplicate labels 2026-01-31 06:24:50 +00:00
Author
Owner

@237dmitry commented on GitHub (Nov 3, 2022):

I don't use Meslo font and WSL. I think that glyphs from Private Area are identical in all of fonts. Patched Cascadia (CaskaydiaCove NF):

Screenshot 2022-11-03 101440

Font from github.com/ryanoasis/nerd-fonts

"useAtlasEngine": false
@237dmitry commented on GitHub (Nov 3, 2022): I don't use `Meslo` font and WSL. I think that glyphs from Private Area are identical in all of fonts. Patched `Cascadia` (`CaskaydiaCove NF`): ![Screenshot 2022-11-03 101440](https://user-images.githubusercontent.com/78153320/199665928-e80b2d0e-64fd-4343-adfb-5783b2981bda.png) Font from [github.com/ryanoasis/nerd-fonts](https://github.com/ryanoasis/nerd-fonts/releases) ``` "useAtlasEngine": false ```
Author
Owner

@pi-314 commented on GitHub (Nov 3, 2022):

Yes, I can confirm that. The issue seems no to be related to the particular font but to the Atlas engine itself. Switching "useAtlasEngine": false fixes it.

@pi-314 commented on GitHub (Nov 3, 2022): Yes, I can confirm that. The issue seems no to be related to the particular font but to the Atlas engine itself. Switching `"useAtlasEngine": false` fixes it.
Author
Owner

@lhecker commented on GitHub (Nov 3, 2022):

This appears to be a duplicate of #14022. Let me know if I got that wrong!
Here you can see how I'm planning to address the issue, by allowing freely overlapping glyphs: https://github.com/microsoft/terminal/issues/14022#issuecomment-1257222349.
Over there I've also already discussed why your font in particular breaks our text renderer: https://github.com/microsoft/terminal/issues/14022#issuecomment-1258893517. In short: MesloLGM NF is broken and if we're interpreting the OpenType standard very strictly, we're actually drawing that glyph sort of ""correctly"". A future update to Windows Terminal Preview will center that glyph correctly again (via #14085).

@lhecker commented on GitHub (Nov 3, 2022): This appears to be a duplicate of #14022. Let me know if I got that wrong! Here you can see how I'm planning to address the issue, by allowing freely overlapping glyphs: https://github.com/microsoft/terminal/issues/14022#issuecomment-1257222349. Over there I've also already discussed why your font in particular breaks our text renderer: https://github.com/microsoft/terminal/issues/14022#issuecomment-1258893517. In short: MesloLGM NF is broken and if we're interpreting the OpenType standard very strictly, we're actually drawing that glyph sort of ""correctly"". A future update to Windows Terminal Preview will center that glyph correctly again (via #14085).
Author
Owner

@ghost commented on GitHub (Nov 3, 2022):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Nov 3, 2022): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#18806