Bug with wide letter spacing


#1

I have setup my class to have a wide letter spacing. Anytime “f” and “i” are together in a word the spacing is not applied. see screen shots
27 pm

Until it gets fixed any workarounds?


#2

The fact that it’s f and i suggests ligatures might be the problem? Can you turn them off somewhere (or, indeed, on)? If fl (F and L) and ae suffer too, that would support the theory.


#3

Good theory but why is there no space between the i and r in my screenshot. I will look at the computer settings though. It also doesn’t happen in any other software.


#4

I can confirm that the space narrowing occurs with Fl but no other F+ combinations but doesn’t appear to happen with other ligature combinations such as ae.


#5

I can see the problem with both f+l and f+i. I still suspect that it is a ligature problem, it may be that some fonts show the ligature as the two characters because they lack the actual ligature glyph.

I’m really guessing here but if it is a ligature, I think it gets substituted by NSTextView when you are typing. If Blocs is using NSTextView, then Blocs could inhibit ligatures (turnOffLigatures: method) but I know of no standard UI mechanism to do it without application support.

There may be a Unicode way of forcing the two separate characters and changing the font might help?


#6

There is a Unicode fix, it’s a bit of a hack but it works here:
Separate the two characters of the unwanted ligature with a soft hyphen character. This character remains invisible unless the word needs to split at a line end but prevents the creation of a ligature. It works in my simple test using Roboto font, hopefully it works for you too.

To get the character, click to put the insertion point between the two characters, then:
If you have the Unicode keyboard enabled, hold Option and type 00AD, release Option and it’s done.
Otherwise, open the Character Viewer from Show Emoji and Symbols (from the menu bar item enabled in SystemPreferences>Keyboard (Keyboard tab). Type “soft” into the search field and notice that there is a blank entry (second one, next to the icecream cone for me). Click on that to see its name in the righthand panel, double-click to insert it.

My test text immediately corrects its spacing when I do this.


#7

Clever solution. I’ll try that