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

Geist Mono not recognised as 'Fixed Width' on macOS #33

Closed
brzzdev opened this issue Oct 30, 2023 · 3 comments
Closed

Geist Mono not recognised as 'Fixed Width' on macOS #33

brzzdev opened this issue Oct 30, 2023 · 3 comments
Labels
bug Something isn't working triaged where: font

Comments

@brzzdev
Copy link

brzzdev commented Oct 30, 2023

Font Name:
Geist Mono

Steps to Reproduce:

  1. Install .otf files on macOS
  2. Filter Font Book by fixed width fonts
  3. Geist Mono is not listed

Expected Behavior:
Geist Mono should be listed here as it is a monospaced font

Environment (please complete the following information):

  • OS: macOS
  • Version of the Font: 1.0
@brzzdev brzzdev added the bug Something isn't working label Oct 30, 2023
@walnutjon
Copy link

Also in Windows 11 (22H2). Installed from the geist-mono zip file.

Screenshot 2023-11-01 172122

@wayne-shih
Copy link

wayne-shih commented Nov 2, 2023

This'll be coz not all the metric width is the same (600) -- notably the fractions (1200) and ligatures (1200, 1800, 2400, 3000), even though the fractions and ligatures are multiple of the base 600 they are still different thus the system thinks it's not a mono font.

Would need to tweak all of them to 600.

CleanShot 2023-11-02 at 19 19 53@2x CleanShot 2023-11-02 at 19 20 12@2x

JetBrains is a good implementation example.

Take ~~> as an example, instead of making the metric width 1800 (600*3), the ligature glyph itself retains as 600 and on the contextual ligature on tilde tilde greater it substitutes the 2 tilde with a SPC character (basically an empty glyph) and the asciitilde_asciitilde_greater.liga sits snuggly as the last character space and visually overlaps on top of the previous 2 empty spots.

CleanShot 2023-11-02 at 19 04 45@2x CleanShot 2023-11-02 at 19 08 23@2x

Fractions on the other hand...

Geist Mono fractions are essentially double the width (1200 = 600*2), however these are a single unicode character...

CleanShot 2023-11-02 at 19 12 49@2x

suggest it gets redrawn as a single 600 width character, ie. JetBrains Mono and IBM Plex Mono example :

CleanShot 2023-11-02 at 19 14 46@2x CleanShot 2023-11-02 at 19 45 01@2x

I would also remove the fractions ligature, what's happening here is I am typing 3 characters (ie. 1 / 2) to have it render as 1 character with a 2 character visual width... instead of 3.

CleanShot 2023-11-02 at 19 45 49@2x

@guidoferreyra
Copy link
Collaborator

It’s fixed now on version 1.4.0

br3ndonland added a commit to br3ndonland/dotfiles that referenced this issue Oct 13, 2024
This commit will update `kitty.conf` to switch the font from Dank Mono
to Recursive (`Rec Mono Duotone`).

This commit is part of a switch from Dank Mono to Recursive.
Although Dank Mono does render in VSCode, it is not correctly monospaced
and therefore stopped working in some applications that have more strict
font requirements, like the terminal emulator kitty (kitty >=0.36).

https://www.recursive.design/
https://github.com/arrowtype/recursive
https://sw.kovidgoyal.net/kitty/changelog/
https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font

Explanation from Dank Mono creator Phil Pluckthun via email:

> Some terminal applications require a specific monospace flag to be set
> in the font file that was only gaining traction after the font was
> released. Some also just don't support fonts with ligatures. In Dank
> Mono's case the specific flag that some applications require to select
> the font as a monospaced one simply isn't set, and a different, older
> one is set instead.

Related issues:

eigilnikolajsen/commit-mono#15
IdreesInc/Monocraft#26
IdreesInc/Monocraft#77
tonsky/FiraCode#1325
vercel/geist-font#33
br3ndonland added a commit to br3ndonland/dotfiles that referenced this issue Oct 13, 2024
This commit will update the README to document the switch from Dank Mono
to the Recursive font (`Rec Mono Duotone`).

Although Dank Mono does render in VSCode, it is not correctly monospaced
and therefore stopped working in some applications that have more strict
font requirements, like the terminal emulator kitty (kitty >=0.36).

https://www.recursive.design/
https://github.com/arrowtype/recursive
https://sw.kovidgoyal.net/kitty/changelog/
https://sw.kovidgoyal.net/kitty/faq/#kitty-is-not-able-to-use-my-favorite-font

Explanation from Dank Mono creator Phil Pluckthun via email:

> Some terminal applications require a specific monospace flag to be set
> in the font file that was only gaining traction after the font was
> released. Some also just don't support fonts with ligatures. In Dank
> Mono's case the specific flag that some applications require to select
> the font as a monospaced one simply isn't set, and a different, older
> one is set instead.

Related issues:

eigilnikolajsen/commit-mono#15
IdreesInc/Monocraft#26
IdreesInc/Monocraft#77
tonsky/FiraCode#1325
vercel/geist-font#33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working triaged where: font
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants