Fontbakery soft dotted Fail

Hello there,

Recently FontBakery has been updated and now the TTFs and OTFs exported with Glyphs are returning a fail regarding the soft dotted. The idotless and jdotless are regularly constructed with their unicode, and the OpenType features seem to be compiled correctly, yet it keeps returning this error. Does anyone know how to solve it?

What exactly is the error?

I have seen that error, too. I’ll have a look.

Do you have an automatic ccmp in your features?

Yes I do

The automated ccmp does take care of soft-dotted i with this code:

	sub [i j]' @CombiningTopAccents by [idotless jdotless];
	sub [i j]' @CombiningNonTopAccents @CombiningTopAccents by [idotless jdotless];

Admittedly not the best way to write this, but the most compatible way. So I am wondering why the test fails.

Okay, thank you very much

@hoops Glyphs writes an incomplete soft-dotted lookup code. I’ve reported this to @mekkablue @GeorgSeifert a while ago.

Please use the optional fix shown on New check: dot of soft dotted characters should disappear · Issue #4059 · googlefonts/fontbakery · GitHub or that shown on googlefonts.github.io | Google Fonts documentation.

If you don’t want to lose the automatic ccmp feature block Glyphs updates, you can add another ccmp feature block with the fix shown and have it before the automatic ccmp block.

2 Likes

I’ll have a look at the generated feature.

I improved the ccmp code.

1 Like

Thank you @GeorgSeifert and @mekkablue.

Just to make sure I get it right, the new automatic ccmp soft-dotted code will use idotless, jdotless for i and j, and use glyphs with the suffix .dotless for the other soft-dotted character glyphs (imod.dotless, iogonek.dotless, idotbelow.dotless, itildebelow.doless, istroke.dotless, jstroke.dotless, i-cy.dotless, je-cy.dotless, i-sans.dotless, …).

Could the automatic smcp feature also be updated to have sub idotless by i.sc or sub istroke.dotless by istroke.sc for example?

Done. Thanks for the suggestion.

Hello, exporting from 3195, I’m still getting these fails in fontbakery:

check ID: <FontBakeryCheck:com.google.fonts/check/soft_dotted>
result: FAIL
message:

The dot of soft dotted characters used in orthographies must disappear in the following strings: į̀ į́ į̂ į̃ į̄ į̌ і́ ị̀ ị́ ị̂ ị̃ ị̄

The dot of soft dotted characters should disappear in other cases, for example: į̆ į̇ į̈ į̊ į̋ į̒ į̣̀ į̣́ į̣̂ į̣̃ į̣̄ į̣̆ į̣̇ į̣̈ į̣̊ į̣̋ į̣̌ į̣̒ į̦̀ į̦́ [code: soft-dotted]

Is this supposed to be fixed?

Have you updated your ccmp feature?

I just Uploaded the new version 3196 and the features as well and I confirm the fail still remains.
Preupload ccmp

post upload ccmp

I don’t know if it is useful

Yes, issue persists.

You need to have the glyphs in question in your font, after all:

  • iidotless
  • iitalicDoubleStruckiitalicDoubleStruck.dotless
  • ibold-mathibold-math.dotless
  • iitalic-mathiitalic-math.dotless
  • ibolditalic-mathibolditalic-math.dotless
  • iscript-mathiscript-math.dotless
  • iboldscript-mathiboldscript-math.dotless
  • i-frakturi-fraktur.dotless
  • idoubleStruckidoubleStruck.dotless
  • iBold-frakturiBold-fraktur.dotless
  • isans-mathisans-math.dotless
  • isansbold-mathisansbold-math.dotless
  • isansitalic-mathisansitalic-math.dotless
  • isansbolditalic-mathisansbolditalic-math.dotless
  • imono-mathimono-math.dotless
  • imodimod.dotless
  • isubscriptisubscript.dotless
  • iogonekiogonek.dotless
  • idotbelowidotbelow.dotless
  • itildebelowitildebelow.dotless
  • istrokeistroke.dotless
  • istrokemodistrokemod.dotless
  • istrokeretroflexhookistrokeretroflexhook.dotless
  • iretroflexhookiretroflexhook.dotless
  • jjdotless
  • jitalicDoubleStruckjitalicDoubleStruck.dotless
  • jbold-mathjbold-math.dotless
  • jitalic-mathjitalic-math.dotless
  • jbolditalic-mathjbolditalic-math.dotless
  • jscript-mathjscript-math.dotless
  • jboldscript-mathjboldscript-math.dotless
  • j-frakturj-fraktur.dotless
  • jdoubleStruckjdoubleStruck.dotless
  • jBold-frakturjBold-fraktur.dotless
  • jsans-mathjsans-math.dotless
  • jsansbold-mathjsansbold-math.dotless
  • jsansitalic-mathjsansitalic-math.dotless
  • jsansbolditalic-mathjsansbolditalic-math.dotless
  • jmono-mathjmono-math.dotless
  • jmodjmod.dotless
  • jsubscriptjsubscript.dotless
  • jstrokejstroke.dotless
  • jcrossedtailjcrossedtail.dotless
  • jcrossedtailmodjcrossedtailmod.dotless
  • yotyot.dotless
  • i-cyi-cy.dotless
  • je-cyje-cy.dotless

It’s probably better to confine FontBakery’s fail to the glyphs present in the font.

For the ones that fontbakery complains about, make sure you have both the dotted and the dotless glyphs. Hint: you can analyze them in the tools window of UnicodeChecker.