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.

Check/064: Test reports inaccurate caret/ligature count

See original GitHub issue

This issue was discussed in another issue thread, but I’m moving it to it’s own issues so it doesn’t get lost there: https://github.com/googlefonts/fontbakery/issues/1923#issuecomment-404595024

Observed behaviour

Testing Dosis ( https://github.com/eliheuer/Dosis/commit/fb1e2a004fcb93e5437653dae09a7c1cc8e8dda6 ) with fontbakery I get a Check/064 WARN, but the information is inaccurate. This file has seven ligatures, all with carets, some having two carets per ligature, f_f_i for example.

Expected behaviour

Accurate caret/ligature count reported.

Resources and exact process needed to replicate

Please see the comment dave made here: https://github.com/googlefonts/fontbakery/issues/1923#issuecomment-404595024

He suggests this needs work to fix the issue: https://github.com/googlefonts/fontbakery/blob/0f82289da2f0e384719b498435b6a612115d1992/Lib/fontbakery/specifications/gdef.py#L42-L59

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:20 (20 by maintainers)

github_iconTop GitHub Comments

1reaction
mjlagattutacommented, Aug 27, 2018

I agree that a list would be good for rejecting combining diacritics etc.

For getting the correct number of caret positioning values, could the check not run through LigatureSubst tags and for each child Ligature tag set the expected ligature caret value equal to the number of components?

<LigatureSubst index="0" Format="1">
  <LigatureSet glyph="f">
    <Ligature components="f,i" glyph="f_f_i"/>
    <Ligature components="f,l" glyph="f_f_l"/>
    <Ligature components="f" glyph="f_f"/>
    <Ligature components="i" glyph="fi"/>
    <Ligature components="l" glyph="fl"/>
  </LigatureSet>
</LigatureSubst>

Since the number of component glyphs is always one less than the total number of glyphs, it should always be the equal to the number of expected caret values.

0reactions
khaledhosnycommented, Sep 2, 2018

الله is made up of ا ل ل ه (or Alif Lam Lam Ha, from right to left), try pasting الله into the text preview for Amiri, and then try to separate the characters with spaces. You will see the carets function as expected. But do the same this for Markazi and note the the caret functionality is broken.

This is unlikely to have anything to do with the GDEF caret positions. It works with both fonts in Firefox, but I don’t know which browser you tested with. Note that Amiri does not have a ligature here at ll, but 4 separate glyphs.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How Accurate Are Lab Test Results, Really? - GoodRx
Here, we'll break down what goes into the concept of testing accuracy and how you can maximize your chances of getting valid test...
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