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

Noto Sans Mono: fi ligature in “liga” seems unusual #329

Closed
sommerluk opened this issue Dec 29, 2017 · 25 comments
Closed

Noto Sans Mono: fi ligature in “liga” seems unusual #329

sommerluk opened this issue Dec 29, 2017 · 25 comments

Comments

@sommerluk
Copy link

Noto Sans Mono: fi ligature in “liga” seems unusual

I’m using this Noto Sans Mono version:
screenshot 1

Noto Sans Mono has an fi ligature in the liga lookup table. As liga is enabled by default in the OpenType specification, many applications apply this ligature – and as the ligature glyph only needs half the space then separated “f” and “i”, this might be surprising. This happens for example when using Noto Sans Mono in Firefox.

Using liga seems to me a rather unusual choise for a monospace font. What is the reason?

@sommerluk
Copy link
Author

Would it be an option to use dlig instead of liga?

@fitojb
Copy link

fitojb commented Jan 1, 2018

dlig seems fine to me.

@twardoch
Copy link

twardoch commented Jan 1, 2018

I’ve noticed that more and more people find standard Latin ligatures, esp. the "fi" one, odd. In future, I’ll be recommending to type designers that they consider using the dlig feature even for "f" ligatures — unless the design really requires the ligatures to be on by default. For non-Latin scripts, the orthographically required ligatures should be placed in rlig anyway, possibly with liga as a fallback for legacy implementations.

So far, many designers have been including the "f" ligatures in the liga feature habitually, almost automatically. In addition, for Noto Sans Mono, the fact that the fi ligatures reduces the space taken by the glyphs by half, is an additional complication — so I’d certainly recommend that the ligatures are placed in dlig in Nono Sans Mono.

My future recommendation would be to generally consider using rlig for the orthographically required ligatures and dlig for anything else, and be really picky about whether to include liga at all, and if it is included, to be really careful and conscious about what’s included in liga.

@fitojb
Copy link

fitojb commented Jan 1, 2018

To be clear, at least to me, the “fi” ligatures only stand out as odd in monospaced faces.

@sommerluk
Copy link
Author

To be clear, at least to me, the “fi” ligatures only stand out as odd in monospaced faces.

👍

@marekjez86
Copy link

@waksmonskiMT : Should there be fi ligature in the liga lookup table in the Monospace font?

@AlexBlandin
Copy link

AlexBlandin commented Jan 23, 2018

I don't get why they even have the "fi" ligatures in a monospace font, when I want to write "fields" or something it just butchers the length, making it seem like I wrote "felds". And "fill" just looks weird...

@siikamiika
Copy link

siikamiika commented Feb 2, 2018

I thought something was wrong with my font configuration when I was typing to a <textarea> that had font-family: monospace (resolved to Noto Sans Mono Regular) but the ligature for fi AND fl appeared.
Demo:
test
I don't think that should happen with monospaced fonts.

Edit:
Checked with fontforge, and there were ligatures for

  • ff
  • ffi
  • ffl
  • fi
  • fl

Only ff didn't change the width.

@siikamiika
Copy link

@marekjez86 Don't know what happened but seems like my comment unassigned @waksmonskiMT

@marekjez86
Copy link

@siikamiika : looks that waksmonskiMT cannot be assigned (she dropped out of the system?). it wasn't your comment - IMHO, the system's "consistency checker" did it while it was updating your comment. I'll re-assign it when I have a chance back to waksmonskiMT

@siikamiika
Copy link

@marekjez86 Huh, strange. Never happened to me before on GitHub.

Anyway, I patched the NotoSansMono-*.ttf fonts for my own use and here's a .zip if somebody else needs them.
(LICENSE attached)

noto-sans-mono-patched-ligatures.zip

@ariasuni
Copy link

ariasuni commented Apr 9, 2018

There’s no Noto Mono anymore, so I should use Noto Sans Mono. Ligatures like these (that make two characters have the spacing of one) are really odd (in a monospace font) and make terminals behave weirdly. Any plan to remove/disable this kind of ligatures in this font?

@marekjez86
Copy link

@waksmonskiMT : here are the ligatures that seem to be in the Noto Sans Mono font. Could we deal with them properly (please take into consideration https://github.com/googlei18n/noto-fonts/issues/1021#issuecomment-354636142 ) but it's up to you as long as the font allows to built terminals?

sub f f l by f_f_l;
sub f f i by f_f_i;
sub f i by f_i;
sub f l by f_l;
sub f f by f_f;

@marekjez86
Copy link

@sommerluk , @fitojb @AlexBlandin @siikamiika @MachFour @ariasuni please check out https://github.com/googlei18n/noto-fonts/tree/master/phaseIII_only/unhinted/otf/NotoSansMono

@sommerluk
Copy link
Author

Thanks a lot! Much better like this!

By the way: For the new version, there are entries in the “dlig” lookup table for various ligatures. ffi, ffl and st work. fi and fl don’t. (Anyway, that’s not so important…)

Thanks a lot!

@teiesti
Copy link

teiesti commented Sep 22, 2018

@marekjez86

As I understand Your last comment, there is a patch for this issue. My tests indeed show that the latest version in the repository is not affected. But the version published on the official website still is.

What is blocking the patch from actually being shipped?

@marekjez86
Copy link

marekjez86 commented Sep 22, 2018 via email

@teiesti
Copy link

teiesti commented Sep 22, 2018

Mhmm, that sounds like the most unfortunate answer You can give me. I would really appreciate, if You find someone who can do... ;-)

Anyway, thanks for honestly answering my question. You've given me reason to argue that the version in the repository is considered to be stable. And thank for providing the Noto fonts for free!

@marekjez86
Copy link

@teiesti : the version in repository will be posted on get/noto in any case

@dontdieych
Copy link

noto-fonts-extra (20180322-1 -> 20181024-1

Looks like new version fixed this problem? Typing 'fi' in konsole does not make weird glitch anymore.

@teiesti
Copy link

teiesti commented Oct 29, 2018

@dontdieych I think, you're right!

dharcourt referenced this issue in dharcourt/caret Jan 15, 2019
Previously when a font specified in user.json's fontFamily property was
missing, it was handled as if the font existed but was non-monospace,
and a dialog was brought up that displayed information that was
not adapted to that situation and potentially confusing.

This commit tests for the missing font case separately from the
non-monospace font case, and it causes a different and more appropriate
dialog to be displayed in that case.

This commit also tests whether the user selected font supports kerning
or ligatures, and if so displays the same error message displayed for
propotional fonts: It is rare and usually a bug when it happens (as
in https://github.com/googlei18n/noto-fonts/issues/1021), but it is
possible for a monospace font to have ligature or kerning pairs, and
if that happens this will cause issues similar to those that come from
using a proprotional font. This commit expands the font metric tests to
detect and handle that error case.
thomaswilburn referenced this issue in thomaswilburn/Caret Jan 15, 2019
Previously when a font specified in user.json's fontFamily property was
missing, it was handled as if the font existed but was non-monospace,
and a dialog was brought up that displayed information that was
not adapted to that situation and potentially confusing.

This commit tests for the missing font case separately from the
non-monospace font case, and it causes a different and more appropriate
dialog to be displayed in that case.

This commit also tests whether the user selected font supports kerning
or ligatures, and if so displays the same error message displayed for
propotional fonts: It is rare and usually a bug when it happens (as
in https://github.com/googlei18n/noto-fonts/issues/1021), but it is
possible for a monospace font to have ligature or kerning pairs, and
if that happens this will cause issues similar to those that come from
using a proprotional font. This commit expands the font metric tests to
detect and handle that error case.
@marekjez86
Copy link

should be fixed

@marekjez86
Copy link

marekjez86 commented Apr 24, 2019 via email

@dhouck
Copy link

dhouck commented Jun 20, 2019

The version downloadable from https://www.google.com/get/noto/ still has ligatures. Is that site otherwise up to date, or should the download and preview links post elsewhere?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests