Skip to content

Rebuild Kurale#10286

Merged
emmamarichal merged 1 commit intomainfrom
rebuild-kurale
Mar 4, 2026
Merged

Rebuild Kurale#10286
emmamarichal merged 1 commit intomainfrom
rebuild-kurale

Conversation

@simoncozens
Copy link
Collaborator

This is a small change to rebuild the font Kurale with current fontmake. This fixes a mark attachment issue:
Screenshot 2026-02-27 at 13 23 36

Now:

shape

There will be fontspector fails because this is a tiny tiny update to an existing font which already has those fails. It's a progressive improvement on what's there already.

@github-actions
Copy link
Contributor

FontSpector report

fontspector version: 1.6.0

Check results

[1] ofl/kurale/DESCRIPTION.en_us.html
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)
[21] ofl/kurale/Kurale-Regular.ttf
🔥 FAIL Shapes languages in all GF glyphsets. (googlefonts/glyphsets/shape_languages)
  • 🔥 FAIL Failed language shaping:
Message Languages
Mandatory orthography codepoints: * kaa_Cyrl (Kara-Kalpak)
The following base characters are missing from the font: Ҳ, ҳ
Mandatory orthography codepoints: * nl_Latn (Dutch)
Shaper didn't attach acutecomb to uni0237 when shaping the text 'íj́'
Mandatory orthography codepoints: * de_Latn (German)
The following base characters are missing from the font: ẞ
Mandatory orthography codepoints: * tg_Cyrl (Tajik)
The following base characters are missing from the font: ҳ * uz_Cyrl (Uzbek (Cyrillic))
* tg_Cyrl (Tajik)
* uz_Cyrl (Uzbek (Cyrillic))
  • ⚠️ WARN Warning language shaping:
Message Languages
Auxiliary orthography codepoints: * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni0456 when shaping the text 'і́' * be_Cyrl (Belarusian)
Shaper didn't attach acutecomb to uni044D when shaping the text 'э́'
Shaper didn't attach acutecomb to uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * de_Latn (German)
The following auxiliary characters are missing from the font: ſ
Auxiliary orthography codepoints: * lt_Latn (Lithuanian)
The following auxiliary characters are missing from the font: Ẽ
The following auxiliary characters are missing from the font: ẽ
Shaper didn't attach tildecomb to Aogonek when shaping the text 'Ą̃'
Shaper didn't attach tildecomb to Eogonek when shaping the text 'Ę̃'
Shaper didn't attach tildecomb to Edotaccent when shaping the text 'Ė̃'
Shaper didn't attach tildecomb to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach tildecomb to Idotaccent when shaping the text 'İ̃'
Shaper didn't attach tildecomb to Iogonek when shaping the text 'Į̃'
Shaper didn't attach tildecomb to J when shaping the text 'J̃'
Shaper didn't attach tildecomb to L when shaping the text 'L̃'
Shaper didn't attach tildecomb to M when shaping the text 'M̃'
Shaper didn't attach tildecomb to R when shaping the text 'R̃'
Shaper didn't attach tildecomb to Uogonek when shaping the text 'Ų̃'
Shaper didn't attach tildecomb to Umacron when shaping the text 'Ū̃'
Shaper didn't attach acutecomb to aogonek when shaping the text 'ą́'
Shaper didn't attach tildecomb to aogonek when shaping the text 'ą̃'
Shaper didn't attach acutecomb to eogonek when shaping the text 'ę́'
Shaper didn't attach tildecomb to eogonek when shaping the text 'ę̃'
Shaper didn't attach acutecomb to edotaccent when shaping the text 'ė́'
Shaper didn't attach tildecomb to edotaccent when shaping the text 'ė̃'
Shaper didn't attach uni0307 to dotlessi when shaping the text 'i̇̃'
Shaper didn't attach acutecomb to iogonek when shaping the text 'į́'
Shaper didn't attach tildecomb to iogonek when shaping the text 'į̃'
Shaper didn't attach uni0307 to iogonek when shaping the text 'į̇̃'
Shaper didn't attach tildecomb to uni0237 when shaping the text 'j̃'
Shaper didn't attach uni0307 to uni0237 when shaping the text 'j̇̃'
Shaper didn't attach tildecomb to l when shaping the text 'l̃'
Shaper didn't attach tildecomb to m when shaping the text 'm̃'
Shaper didn't attach tildecomb to r when shaping the text 'r̃'
Shaper didn't attach acutecomb to uogonek when shaping the text 'ų́'
Shaper didn't attach tildecomb to uogonek when shaping the text 'ų̃'
Shaper didn't attach acutecomb to umacron when shaping the text 'ū́'
Shaper didn't attach tildecomb to umacron when shaping the text 'ū̃'
Auxiliary orthography codepoints: * it_Latn (Italian)
The following auxiliary characters are missing from the font: ẞ * pl_Latn (Polish)
* tr_Latn (Turkish)
Auxiliary orthography codepoints: * ru_Cyrl (Russian)
Shaper didn't attach acutecomb to uni044D when shaping the text 'э́' * ru_Cyrl (Russian)
Shaper didn't attach acutecomb to uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * bg_Cyrl (Bulgarian)
Shaper didn't attach gravecomb to uni044A when shaping the text 'ъ̀' * bg_Cyrl (Bulgarian)
Shaper didn't attach gravecomb to uni044E when shaping the text 'ю̀'
Shaper didn't attach gravecomb to uni044F when shaping the text 'я̀'
Auxiliary orthography codepoints: * en_Latn (English)
The following auxiliary characters are missing from the font: ʻ
Auxiliary orthography codepoints: * mn_Cyrl (Mongolian)
The following auxiliary characters are missing from the font: ӊ
Auxiliary orthography codepoints: * fr_Latn (French)
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ǔ
The following auxiliary characters are missing from the font: ſ
The following auxiliary characters are missing from the font: ǔ
Auxiliary orthography codepoints: * uk_Cyrl (Ukrainian)
Shaper didn't attach acutecomb to uni0454 when shaping the text 'є́' * uk_Cyrl (Ukrainian)
Shaper didn't attach acutecomb to uni0456 when shaping the text 'і́'
Shaper didn't attach acutecomb to uni0457 when shaping the text 'ї́'
Shaper didn't attach acutecomb to uni044E when shaping the text 'ю́'
Shaper didn't attach acutecomb to uni044F when shaping the text 'я́'
Auxiliary orthography codepoints: * nb_Latn (Norwegian Bokmål)
The following auxiliary characters are missing from the font: Ǎ
The following auxiliary characters are missing from the font: ǎ
Auxiliary orthography codepoints: * fi_Latn (Finnish)
The following auxiliary characters are missing from the font: Ǧ
The following auxiliary characters are missing from the font: Ǥ
The following auxiliary characters are missing from the font: Ȟ
The following auxiliary characters are missing from the font: Ǩ
The following auxiliary characters are missing from the font: ẞ
The following auxiliary characters are missing from the font: Ʒ
The following auxiliary characters are missing from the font: Ǯ
The following auxiliary characters are missing from the font: ǧ
The following auxiliary characters are missing from the font: ǥ
The following auxiliary characters are missing from the font: ȟ
The following auxiliary characters are missing from the font: ǩ
The following auxiliary characters are missing from the font: ʒ
The following auxiliary characters are missing from the font: ǯ
🔥 FAIL Ensure dotted circle glyph is present and can attach marks. (dotted_circle)
  • 🔥 FAIL The following glyphs could not be attached to the dotted circle glyph:
  • uni0308
  • uni0307
  • gravecomb
  • acutecomb
  • uni030B
  • uni0302
  • uni030C
  • uni0306
  • uni030A
    ... and 44 others [code: unattached-dotted-circle-marks]
🔥 FAIL Version number has increased since previous release on Google Fonts? (googlefonts/version_bump)
  • 🔥 FAIL Version number 2 is equal to version on Google fonts [code: same-version]
⚠️ WARN Check accent of Lcaron, dcaron, lcaron, tcaron (alt_caron)
  • ⚠️ WARN Lcaron is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN dcaron is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN lcaron is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

  • ⚠️ WARN tcaron is decomposed and therefore could not be checked. Please check manually. [code: decomposed-outline]

⚠️ WARN Check if each glyph has the recommended amount of contours. (contour_count)
  • ⚠️ WARN This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are
    inferred from the typical amounts of contours observed in a
    large collection of reference font families. The divergences
    listed below may simply indicate a significantly different
    design on some of your glyphs. On the other hand, some of these
    may flag actual bugs in the font such as glyphs mapped to an
    incorrect codepoint. Please consider reviewing the design and
    codepoint assignment of these to make sure they are correct.

    The following glyphs do not have the recommended number of contours:

  • uni091B094D0935 (unencoded): found 1, expected one of: [2, 3, 4]
  • uni092B094D0932 (unencoded): found 2, expected one of: [3]
  • uni0937094D0920 (unencoded): found 3, expected one of: [4, 5] [code: contour-count]
⚠️ WARN Are there caret positions declared for every ligature? (ligature_carets)
  • ⚠️ WARN This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 621 among a set of 13 math glyphs.
    The following math glyphs have a different width, though:
    width=563: plusminus, logicalnot, approxequal, notequal, greaterequal, lessequal [code: width-outliers]
⚠️ WARN Does the font contain a soft hyphen? (soft_hyphen)
  • ⚠️ WARN This font has a 'Soft Hyphen' character. [code: softhyphen]
⚠️ WARN Check font contains no unreachable glyphs (unreachable_glyphs)
  • ⚠️ WARN The following glyphs could not be reached by codepoint or substitution rules:
  • f.alt
  • z.alt
  • z.altacute
  • z.altcaron
  • z.altdotaccent
  • y.calt
  • da_rvocalicsigndevadeva
  • n_altdeva
  • ya_altdeva
    ... and 68 others [code: unreachable-glyphs]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN Missing separator glyph U+2028 [code: missing-separator-glyphs]

  • ⚠️ WARN Missing separator glyph U+2029 [code: missing-separator-glyphs]

⚠️ WARN Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (soft_dotted)
  • ⚠️ WARN 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:

  • į̈

  • į̇

  • į̆

  • į̋

  • į̊

  • ј̄

  • ј̈

  • ј̃

  • ј́
    ... and 16 others [code: soft-dotted]

⚠️ WARN Do any segments have colinear vectors? (outline_colinear_vectors)
  • ⚠️ WARN The following glyphs have colinear vectors:
  • uni0496 (U+0496): from (700.0, 74.0) to (699.0, 76.0) is colinear with segment from (699.0, 76.0) to (617.0, 241.0)
  • uni049D (U+049D): from (256.0, 240.0) to (258.0, 240.0) is colinear with segment from (258.0, 240.0) to (274.0, 240.0)
  • uni0937094D0930: from (330.0, 259.0) to (359.0, 278.0) is colinear with segment from (359.0, 278.0) to (363.0, 281.0)
  • zhadeva.np: from (666.0, -89.0) to (558.0, 22.0) is colinear with segment from (558.0, 22.0) to (553.0, 27.0) [code: found-colinear-vectors]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • Q (U+0051): Quad(QuadBez { p0: (143.5, 202.5), p1: (157.0, 151.0), p2: (184.0, 115.0) })/Quad(QuadBez { p0: (184.0, 115.0), p1: (182.0, 119.0), p2: (182.0, 133.0) }) = 10.304846468766044 degrees
  • uni051A (U+051A): Quad(QuadBez { p0: (143.5, 202.5), p1: (157.0, 151.0), p2: (184.0, 115.0) })/Quad(QuadBez { p0: (184.0, 115.0), p1: (182.0, 119.0), p2: (182.0, 133.0) }) = 10.304846468766044 degrees
  • uni0938094D0930: Quad(QuadBez { p0: (201.0, 286.5), p1: (186.0, 290.0), p2: (178.0, 301.0) })/Quad(QuadBez { p0: (178.0, 301.0), p1: (205.0, 248.0), p2: (232.0, 207.5) }) = 9.031534991016981 degrees
  • uni0938094D: Quad(QuadBez { p0: (201.0, 286.5), p1: (186.0, 290.0), p2: (178.0, 301.0) })/Quad(QuadBez { p0: (178.0, 301.0), p1: (205.0, 248.0), p2: (232.0, 207.5) }) = 9.031534991016981 degrees
  • sa_virama_ta_virama_radeva: Quad(QuadBez { p0: (201.0, 286.5), p1: (186.0, 290.0), p2: (178.0, 301.0) })/Quad(QuadBez { p0: (178.0, 301.0), p1: (205.0, 248.0), p2: (232.0, 207.5) }) = 9.031534991016981 degrees [code: found-jaggy-segments]
⚠️ WARN Do outlines contain any semi-vertical or semi-horizontal lines? (outline_semi_vertical)
  • ⚠️ WARN The following glyphs have semi-vertical/semi-horizontal lines:
  • l (U+006C): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • lacute (U+013A): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • lcaron (U+013E): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • uni013C (U+013C): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • ldot (U+0140): Line(Line { p0: (172.0, 680.0), p1: (170.0, 80.0) }) (angle: -90.19 degrees, expected: -90.00 degrees)
  • lslash (U+0142): Line(Line { p0: (172.0, 680.0), p1: (170.0, 379.0) }) (angle: -90.38 degrees, expected: -90.00 degrees)
  • f_f_l: Line(Line { p0: (722.0, 676.0), p1: (721.0, 80.0) }) (angle: -90.10 degrees, expected: -90.00 degrees)
  • uni0463 (U+0463): Line(Line { p0: (245.0, 680.0), p1: (244.0, 445.0) }) (angle: -90.24 degrees, expected: -90.00 degrees)
  • uni0463 (U+0463): Line(Line { p0: (244.0, 374.0), p1: (243.0, 155.0) }) (angle: -90.26 degrees, expected: -90.00 degrees)
    ... and 8 others [code: found-semi-vertical]
⚠️ WARN Ensure fonts have ScriptLangTags declared on the 'meta' table. (googlefonts/meta/script_lang_tags)
  • ⚠️ WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
⚠️ WARN Checking OS/2 achVendID. (googlefonts/vendor_id)
  • ⚠️ WARN OS/2 VendorID value 'ACEd' is not yet recognized.
    If you registered it recently, then it's safe to ignore this warning message. Otherwise, you should set it to your own unique 4 character code, and register it with Microsoft at https://www.microsoft.com/typography/links/vendorlist.aspx
    [code: unknown]
ℹ️ INFO Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)
ℹ️ INFO Show hinting filesize impact. (hinting_impact)
  • ℹ️ INFO Hinting filesize impact:
Kurale-Regular.ttf
Dehinted Size 165988
Hinted Size 265304
Increase 99316
Change 59.8 %
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    cvt
    fpgm
    loca
    prep
    GPOS
    GSUB
    gasp [code: optional-tables]

ℹ️ INFO Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (googlefonts/gasp)
  • ℹ️ INFO These are the ppm ranges declared on the gasp table:

| PPM <= 65535 | - Use grid-fitting |
| | - Use grayscale rendering |
| | - Use gridfitting with ClearType symmetric smoothing |

- Use smoothing along multiple axes with ClearType®
[code: ranges]
ℹ️ INFO Font has old ttfautohint applied? (googlefonts/old_ttfautohint)
  • ℹ️ INFO Could not detect which version of ttfautohint was used in this font. It is typically specified as a comment in the font version entries of the 'name' table. Such font version strings are currently: Version 2.000; ttfautohint (v1.8.4.7-5d5b) [code: version-not-detected]
[1] ofl/kurale/OFL.txt
🔥 FAIL Check license file has good copyright string. (googlefonts/license/OFL_copyright)
  • 🔥 FAIL First line in license file is:

"copyright 2013 the kurale project authors (edu@tipo.net.ar)"

which does not match the expected format, similar to:

"Copyright 2022 The Familyname Project Authors (git url)" [code: bad-format]

[7] ofl/kurale
🔥 FAIL METADATA.pb: Check URL on copyright string is the same as in repository_url field. (googlefonts/metadata/consistent_repo_urls)
🔥 FAIL Tofu should not be shown in sample texts. (googlefonts/tofu)
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Aleut, but although the font contained all the base exemplars for the language, tofu will still be produced because the codepoints do not appear in any of the subsets cyrillic-ext, cyrillic, devanagari, latin-ext, latin:
  • ̂ (U+0302) [code: missing-subsetted]
🔥 FAIL Copyright notices match canonical pattern in fonts (googlefonts/font_copyright)
  • 🔥 FAIL Kurale-Regular.ttf: Name Table entry: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright 2013 the kurale project authors (edu@tipo.net.ar)" [code: bad-notice-format]

  • 🔥 FAIL METADATA.pb: Copyright notices should match a pattern similar to:

"Copyright 2020 The Familyname Project Authors (git url)"

But instead we have got:

"copyright 2013 the kurale project authors (edu@tipo.net.ar)" [code: bad-notice-format]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/kurale/Kurale-Regular.ttf: The following codepoints supported by the font are not covered by any subsets defined in the font's metadata file, and will never be served. You can solve this by either manually adding additional subset declarations to METADATA.pb, or by editing the glyphset definitions.
  • U+02D8 BREVE: try adding one of: canadian-aboriginal, yi
  • U+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+02DB OGONEK: try adding one of: canadian-aboriginal, yi
  • U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: cherokee, tifinagh, math, coptic
  • U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic
  • U+0307 COMBINING DOT ABOVE: try adding one of: duployan, tai-le, old-permic, canadian-aboriginal, malayalam, hebrew, tifinagh, todhri, math, syriac, coptic
  • U+030A COMBINING RING ABOVE: try adding one of: syriac, duployan
  • U+030B COMBINING DOUBLE ACUTE ACCENT: try adding one of: cherokee, osage
  • U+030C COMBINING CARON: try adding one of: tai-le, cherokee
    ... and 33 others

Or you can add the above codepoints to one of the subsets supported by the font: cyrillic, cyrillic-ext, devanagari, latin, latin-ext, menu [code: unreachable-subsetting]

ℹ️ INFO METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ℹ️ INFO The subset 'latin-ext' is listed in production metadata, but only 0.14% of its glyphs are supported by this font file. We can't remove it, however, since that would cause a regression in production. [code: unsupported-production-subset]
ℹ️ INFO Check for presence of an ARTICLE.en_us.html file (googlefonts/description/has_article)
  • ℹ️ INFO This font doesn't have an ARTICLE.en_us.html file. [code: missing-article]
ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[1] ofl/kurale/METADATA.pb
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]

Summary

🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
8 19 10 118 58
4% 9% 5% 57% 28%

@emmamarichal emmamarichal added I Small Fix bugs fixed but nothing added I Font Upgrade and removed I Font Upgrade labels Mar 4, 2026
@emmamarichal emmamarichal linked an issue Mar 4, 2026 that may be closed by this pull request
@emmamarichal emmamarichal merged commit 2f86574 into main Mar 4, 2026
7 checks passed
@emmamarichal emmamarichal deleted the rebuild-kurale branch March 4, 2026 16:48
@github-project-automation github-project-automation bot moved this from PR GF to PR Merged in Fonts Traffic Jam Mar 4, 2026
@emmamarichal emmamarichal moved this from PR Merged to In Sandbox in Fonts Traffic Jam Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

I Small Fix bugs fixed but nothing added

Projects

Status: In Sandbox

Development

Successfully merging this pull request may close these issues.

Kurale Devanagari font: marks are not positioned or attaching

2 participants