Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The lowercase I glyph (U+0069) in JuliaMono renders incorrectly #18453

Open
Techsplosion opened this issue Jan 23, 2025 · 7 comments
Open

The lowercase I glyph (U+0069) in JuliaMono renders incorrectly #18453

Techsplosion opened this issue Jan 23, 2025 · 7 comments
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting

Comments

@Techsplosion
Copy link

Windows Terminal version

1.22.241118002-preview, also happens on 1.21.3231.0

Windows build number

10.0.26100.2894

Other Software

No response

Steps to reproduce

  1. Download the JuliaMono font if you haven't yet.
  2. Set the terminal font to JuliaMono.
  3. Open a terminal and type in "i". The glyph renders incorrectly for me.

Expected Behavior

I was expecting this:
Image
Note the serifs in the lowercase I.

Actual Behavior

I got this behavior:
Image

Some notes:

  • Other variations of the lowercase I (î, ï, ı etc.) render with serifs.
  • Uppercase I renders with serifs, as seen in the picture.
@Techsplosion Techsplosion added Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Jan 23, 2025
@o-sdn-o
Copy link

o-sdn-o commented Jan 23, 2025

Note that the font JuliaMono contains the Turkish sans serif latin small letter i for the TRK (Turkish) language.

  • In LibreOffice Writer:
    Image
  • In FireFox:
    <html>
      <body>
        <p style="font-family:JuliaMono;font-language-override:'TRK';">The lowercase I glyph renders incorrectly here, lacking the serif.</p>
        <p style="font-family:JuliaMono;font-language-override:'ENG';">The lowercase I glyph renders incorrectly here, lacking the serif.</p>
      </body>
    </html>
    Image

@Techsplosion
Copy link
Author

Techsplosion commented Jan 23, 2025

Note that the font JuliaMono contains the Turkish sans serif latin small letter i for the Turkish language.

My question is, how would one get it to render with the english serif i?

@o-sdn-o
Copy link

o-sdn-o commented Jan 23, 2025

My question is, how would one get it to render with the english serif i?

I haven't tested whether this works or not, but try adding the following to your Windows Terminal profile configuration:

    "features": 
    {
        "locl": 0
    }

Resultant configuration should look like this:

{
    "$help": "https://aka.ms/terminal-documentation",
    "$schema": "https://raw.githubusercontent.com/microsoft/terminal/main/doc/cascadia/profiles.schema.json",
    "profiles": 
    {
        "defaults": {},
        "list": 
        [
            {
                "commandline": "\"C:\\Program Files\\PowerShell\\7-preview\\pwsh.exe\"",
                "cursorHeight": 50,
                "cursorShape": "bar",
                "font": 
                {
                    "builtinGlyphs": false,
                    "cellHeight": "1.2",
                    "colorGlyphs": true,
                    "face": "JuliaMono",
                    "features": 
                    {
                        "locl": 0
                    },
                    "size": 12
                },
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "name": "PowerShell",
                "padding": "0",
                "source": "Windows.Terminal.PowershellCore"
            },
        ]
    },
    "schemes": [],
    "themes": [],
}

Maybe someone knows for sure how to do this the right way.

@Techsplosion
Copy link
Author

I've added the locl=0 (in the defaults) but it doesn't work.

Image

@o-sdn-o
Copy link

o-sdn-o commented Jan 23, 2025

Ok.
Minimum requirements for repro:

  • Add Turkish language
    Image
  • Set Turkish regional format
    Image
  • Choose JuliaMono font
    Image

@Techsplosion
Copy link
Author

Changing the T&L format to UK did do away with the sans serif i but it would be nice if there was a toggle to disable local formatting, as "locl": 0 isn't guaranteed to work.

@o-sdn-o
Copy link

o-sdn-o commented Jan 23, 2025

Removing the line AtlasEngine.cpp:721

if (!GetUserDefaultLocaleName(&localeName[0], LOCALE_NAME_MAX_LENGTH))
{
memcpy(&localeName[0], L"en-US", 12);
}

solves the issue (by hardcoding "en-US" locale):
Image

Apparently, this option (custom locale) is not yet configurable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting
Projects
None yet
Development

No branches or pull requests

2 participants