You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Vend a version of 0xProto with ligatures disabled #116
Description of the Issue:
It would be great if a ligature-less version of 0xProto could be was made available alongside the existing version.
Additional Context:
Quite a few editors have ligatures enabled by default, or have no way to disable ligatures (looking at you Xcode). As a result, a lot of monospace font providers vend a version with no ligatures. Usually with the suffix NL for 'no ligatures', Terminal for use in the terminal where ligatures can cause issues, or Fixed representing that all the characters are fixed width.
I've just found that font ligatures are always enabled in Xcode and there is no way to disable them (and I felt like, Why?? ).
Font files are programs, not completely static assets like image files, and 0xProto provides OpenType Features such as ligatures, script variants, and texture healing under the OpenType standardized specification. Besides, it is up to the user of the font (including the application) to decide whether to use these features.
For example, my text editors such as VS Code and Zed, and terminal software such as iTerm and MATE Terminal are designed to give users access to OpenType Features such as those listed above.
There is no end to the number of font providers who will begin to offer versions of their fonts that take into account the implementation of the application. Some may need font files with Stylistic Sets (ss01: Script Variants in 0xProto) disabled.
For these reasons, I thought it was the application (Xcode) that should change, not the fonts.
We're definitely on the same page that editors should be better in this department, but it's also apparently JetBrains.
I think there are other valid arguments for vending 'frozen' version of fonts. I like to use the font I choose in TextEdit and as my browser's monospaced font, for example. These places don't allow for customisation of OpenType features, so if I don't want ligatures I'm forced to use a font that doesn't have them, or vends an NL version.
For a similar situation, take GitHub's own Monaspace's latest release and reasoning. They feel similarly to you, but it's unlikely these slow-moving year-old ships are likely to change anytime soon, and I'm guessing (hoping) it's not a large burden on yourself to provide a version that would play nicely with these other environments.
Unfortunately, not every application exposes these settings to the user. This was a particular pain point for users of XCode and JetBrains IDEs — even if you choose Monaspace, you can't turn on ligatures, texture healing, or control the active stylistic sets/variants.
We'd prefer that applications do the right thing and expose those controls, but in the meanwhile, we'd like you to enjoy everything Monaspace has to offer. The frozen formats are just like the static builds of Monaspace, but with the various OpenType features turned on by default. When using the frozen builds of Monaspace, you get texture healing and all the ligatures on by default, but you give up the fine-grained control of enabling specific stylistic sets and character variants. Computers are hard.
Thanks for the information.
I thought, Oh no, but I understand. Apparently, computers are hard 😂
I understand what is going on, but I can't say that I am ready to deal with it yet. Monospace seems to have separate font source files to generate Frozen font files, but since 0xProto is made by me alone in my non-working hours, it will be difficult for me to continue to maintain it in the future.
You've made a hell of a font in your spare time!
Unfortunate that my hatred of ligatures in monospace fonts stops me from using it everywhere currently.
Hopefully, time or some software solution can remedy this is the future.
I built the font file with the OpenType ligature feature disabled without adding the font source files. I will merge it after I have fully tested it and will include it in the next release.
I have attached a 0xProto NL font files without ligature built in my local environment, if you would like to try it.
Activity
msaktype commentedon Apr 28, 2025
Hi @brzzdev , thank you for using 0xProto!
I've just found that font ligatures are always enabled in Xcode and there is no way to disable them (and I felt like, Why?? ).
Font files are programs, not completely static assets like image files, and 0xProto provides OpenType Features such as ligatures, script variants, and texture healing under the OpenType standardized specification. Besides, it is up to the user of the font (including the application) to decide whether to use these features.
For example, my text editors such as VS Code and Zed, and terminal software such as iTerm and MATE Terminal are designed to give users access to OpenType Features such as those listed above.
There is no end to the number of font providers who will begin to offer versions of their fonts that take into account the implementation of the application. Some may need font files with Stylistic Sets (
ss01: Script Variants in 0xProto) disabled.For these reasons, I thought it was the application (Xcode) that should change, not the fonts.
brzzdev commentedon Apr 29, 2025
Hi @matype,
Thanks for the prompt response.
We're definitely on the same page that editors should be better in this department, but it's also apparently JetBrains.
I think there are other valid arguments for vending 'frozen' version of fonts. I like to use the font I choose in TextEdit and as my browser's monospaced font, for example. These places don't allow for customisation of OpenType features, so if I don't want ligatures I'm forced to use a font that doesn't have them, or vends an NL version.
For a similar situation, take GitHub's own Monaspace's latest release and reasoning. They feel similarly to you, but it's unlikely these slow-moving year-old ships are likely to change anytime soon, and I'm guessing (hoping) it's not a large burden on yourself to provide a version that would play nicely with these other environments.
msaktype commentedon Apr 29, 2025
Thanks for the information.
I thought, Oh no, but I understand. Apparently, computers are hard 😂
I understand what is going on, but I can't say that I am ready to deal with it yet. Monospace seems to have separate font source files to generate Frozen font files, but since 0xProto is made by me alone in my non-working hours, it will be difficult for me to continue to maintain it in the future.
For now, I will leave this issue open.
brzzdev commentedon Apr 29, 2025
I appreciate the dicussion.
You've made a hell of a font in your spare time!
Unfortunate that my hatred of ligatures in monospace fonts stops me from using it everywhere currently.
Hopefully, time or some software solution can remedy this is the future.
msaktype commentedon Apr 29, 2025
I built the font file with the OpenType ligature feature disabled without adding the font source files. I will merge it after I have fully tested it and will include it in the next release.
I have attached a 0xProto NL font files without ligature built in my local environment, if you would like to try it.
0xProto-NL-beta.zip
brzzdev commentedon Apr 29, 2025
Awesome! Looks to be exactly what I wanted so far. I'll let you know if I spot any issues.
msaktype commentedon Apr 29, 2025
I've just released v2.400 that includes "0xProto NL" fonts !!
Appreciate your feedback 🙏
If you find any problems, please feel free to create an issue.