Libertinus: Combining double diacritics: inconsistent height

Created on 3 Aug 2020  ·  11Comments  ·  Source: alerque/libertinus

In Libertinus Serif, the combining double diacritics U+035D, 035E, 0360 and 0361 appear much higher above the main character than the corresponding ‘single’ diacritics U+0303, 0304, 0306, 0311. Attached jpg shows the problem.

They should be the same height as the single diacritics, as they are in Libertinus Sans, and as they were in the original Linux Libertine.
diacritics

bug combining marks pr-welcome script latin

Most helpful comment

All 11 comments

See #245

Thanks for saving me a goose chase @khaledhosny. I'll look into this but given the discussion on the previous issue I think the upshot is going to be that what's actually called for is updating the Sans family to be like the Serif family is now — exactly the opposite of what you were looking for @kimmus but there may not be another way to avoid collisions.

Noto Sans and Noto Serif handle this with anchors, it’s not currently perfect but it does take care of the vertical positioning.
image

It works be accident (because t goes above the x-height):
sans
serif

One can probably fix this by adding anchors to the marks, so it handles the easy cases, then write script (to be run at font build time) that tries all possible two glyph combinations and whenever there a clash it resolves it by vertically moving the mark glyphs.

May be something for @simoncozens fontFeatures.

May be there is simpler solution, but I can’t think of any.

The solution proposed by @skef’s in this comment would be good enough for the vertical positioning, and doesn’t require the anchors:

 @high = [\b \f \h \k \l];
 pos @high \uni0361' <0 200 0 0>;
 pos \uni0361' <0 200 0 0> @high;
 pos \t \uni0361' <0 100 0 0>;
 pos \uni0361' <0 100 0 0> \t;

Thanks to all for looking at this question. It was stimulated when I found I was using o͞o, o͝o, ō and ŏ in the same context and the difference in the height of the diacritics was very striking.
The above are the only cases I’m familiar with where the double macron and double breve are used (in old-fashioned dictionary ‘respellings’ of English to indicate pronunciation).
The double inverted breve is used a good deal more widely to indicate affricates in phonetic transcriptions. I’m familiar with at least the following cases involving letters with ascenders: ts tʃ dz dʒ pf pɸ bv kx. (There may be others!)
I don’t actually know how the double tilde is used. But it would make sense to treat all four double diacritics the same.

The double inverted breve is used a good deal more widely to indicate affricates in phonetic transcriptions. I’m familiar with at least the following cases involving letters with ascenders: ts tʃ dz dʒ pf pɸ bv kx. (There may be others!)

I know at least of tɬ and the ejective tsʼ and t̠ʃʼ. And I think tθ should be a thing too.

Edit: found https://en.wikipedia.org/wiki/Affricate_consonant which seems to give a complete list (including pretty nice things like ʡʕ, ʔɦ, cʎ̥ and bʙ :D)

I was about to add dð to your tθ, then saw your edit. I wouldn’t know how to begin to pronounce some of those! However, the set of ascender characters involved is at least finite and not too large (says he, hopefully).

@moyogo I think I'm at a place now where I could review and accept contributions now. Would you be interested in putting together a PR based on your last comment?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rolfn picture rolfn  ·  5Comments

Doc73 picture Doc73  ·  6Comments

KrasnayaPloshchad picture KrasnayaPloshchad  ·  6Comments

khaledhosny picture khaledhosny  ·  3Comments

cssobral2013 picture cssobral2013  ·  7Comments