question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

WARN if no mark_to_mark feature

See original GitHub issue

top comb accents can’t be combined on top of each other if they only have a _top anchors. They also need a top one.

I’ll update here with a proper test case when I find one.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

2reactions
RosaWagnercommented, Jun 3, 2021
  • Some fonts are lacking a second anchor (top) in comb accents (which goes on top of letters)

There are like this: Capture d’écran 2021-06-03 à 14 14 01

and we want this: Capture d’écran 2021-06-03 à 14 14 10

  • But before that, some fonts are actually lacking all anchors:

Capture d’écran 2021-06-03 à 14 14 18

And not only in comb-accents, also in letters. My question was; is this the same check?

Because missing first anchor is severity 8, missing second anchor is severity 6

0reactions
RosaWagnercommented, Nov 23, 2022

Looking more in detail in the GPOS table, I realise anchors name are not reported, there are only indexes. So to make it simpler:

For these common top marks in GF_Latin_* glyphsets: [uni0308, uni0307, gravecomb, acutecomb, uni030B, uni0302, uni030C, uni0306, uni030A, tildecomb, uni030F, uni0311, uni0312, uni0313]

(dieresiscomb, dotaccentcomb, gravecomb, acutecomb, hungarumlautcomb, circumflexcomb, caroncomb, brevecomb, ringcomb, tildecomb, macroncomb, dblgravecomb, breveinvertedcomb, commaturnedabovecomb, commaabovecomb)

WARN if they don’t allow a mark to mark positioning.

In the GPOS table it translates like this (I think):

<Mark1Coverage>
    <Glyph value="gravecomb"/>
    <Glyph value="acutecomb"/>
</Mark1Coverage>
<Mark2Coverage>
    <Glyph value="gravecomb"/>
    <Glyph value="acutecomb"/>
</Mark2Coverage>

Rationale: Mark to Mark feature is essential to allow user to stack diacritics together. Indeed many double accented glyphs don’t have any unicode codepoint, and the only way to type them properly is to enable that feature. Make sure the top combining marks has a _top anchor to get attached to base letter, and a top anchor above the accent’s outline to attach another diacritic.

Read more comments on GitHub >

github_iconTop Results From Across the Web

ufo2ft/markFeatureWriter.py at main · googlefonts/ufo2ft - GitHub
"""Generates a mark, mkmk, abvm and blwm features based on glyph anchors. The default mode is 'skip': i.e. if any of the supported...
Read more >
OpenType Feature File Specification | afdko - GitHub Pages
The drawback is that it is difficult to understand what substitution rule will be applied, and the implementation may not warn if the...
Read more >
OpenType Features - FontLab VI Help
When no glyphs are marked, then only the first glyph or glyph class is taken to be marked. The ignore sub statement works...
Read more >
13. Special thoughts for special scripts - FontForge
Warning. Just because a feature is documented and looks useful does not mean Uniscribe will use it for your script. Many Latin script...
Read more >
pragma mark in Swift? - Stack Overflow
It would be ridiculous to tag this question with any of these platforms because pragma mark is a feature of Swift itself, not...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found