Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Anek Devanagari: Version 1.003 added #4276

Merged
merged 3 commits into from
Feb 10, 2022

Conversation

yanone
Copy link
Collaborator

@yanone yanone commented Feb 9, 2022

481661e: [gftools-packager] Anek Devanagari: Version 1.003 added

f85e736: [gftools-packager] ofl/anekdevanagari remove METADATA "source". #2587

@yanone yanone linked an issue Feb 9, 2022 that may be closed by this pull request
@gf-bot
Copy link

gf-bot commented Feb 9, 2022

Fontbakery report

Fontbakery version: 0.8.6

[16] AnekDevanagari[wdth,wght].ttf
🔥 FAIL: Does DESCRIPTION file contain broken links?
--- Rationale ---
The snippet of HTML in the DESCRIPTION.en_us.html file is added to the font
family webpage on the Google Fonts website. For that reason, all hyperlinks in
it must be properly working.
  • 🔥 FAIL The following links are broken in the DESCRIPTION file:
    /?query=Anek [code: broken-links]
🔥 FAIL: DESCRIPTION.en_us.html must have less than 2000 bytes.
--- Rationale ---
The fonts.google.com catalog specimen pages 2016 to 2020 were placed in a narrow
area of the page.
That meant a maximum limit of 1,000 characters was good, so that the narrow
column did not extent that section of the page to be too long.
But with the "v4" redesign of 2020, the specimen pages allow for longer texts
without upsetting the balance of the page.
So currently the limit before warning is 2,000 characters.
  • 🔥 FAIL DESCRIPTION.en_us.html must have size smaller than 2000 bytes. [code: too-long]
🔥 FAIL: Check `Google Fonts Latin Core` glyph coverage.
--- Rationale ---
Google Fonts expects that fonts in its collection support at least the minimal
set of characters defined in the `GF-latin-core` glyph-set.
  • 🔥 FAIL Missing required codepoints:

    • 0x02BB (MODIFIER LETTER TURNED COMMA)

    • 0x02BC (MODIFIER LETTER APOSTROPHE)

    • 0x2002 (EN SPACE)

    • 0x2032 (PRIME)

    • 0x2033 (DOUBLE PRIME)

    • 0x2122 (TRADE MARK SIGN)

    • 0x2191 (UPWARDS ARROW)

    • 0x2193 (DOWNWARDS ARROW)

    • 0xFEFF (ZERO WIDTH NO-BREAK SPACE)

    • And 0xFFFD (REPLACEMENT CHARACTER)
      [code: missing-codepoints]

WARN: DESCRIPTION.en_us.html should end in a linebreak.
--- Rationale ---
Some older text-handling tools sometimes misbehave if the last line of data in a
text file is not terminated with a newline character (also known as '\n').
We know that this is a very small detail, but for the sake of keeping all
DESCRIPTION.en_us.html files uniformly formatted throughout the GFonts
collection, we chose to adopt the practice of placing this final linebreak char
on them.
  • WARN The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it. [code: missing-eof-linebreak]
WARN: Ensure files are not too large.
--- Rationale ---
Serving extremely large font files on Google Fonts causes usability issues. This
check ensures that file sizes are reasonable.
  • WARN Font file is 2.1Mb; ideally it should be less than 1.0Mb [code: large-font]
WARN: Is there kerning info for non-ligated sequences?
--- Rationale ---
Fonts with ligatures should have kerning on the corresponding non-ligated
sequences for text where ligatures aren't used (eg
https://github.com/impallari/Raleway/issues/14).
  • WARN GPOS table lacks kerning info for the following non-ligated sequences:

    • f + f
    • f + i
    • i + f
    • f + l
    • l + f
    • i + l

    [code: lacks-kern-info]

WARN: Combined length of family and style must not exceed 27 characters.
--- Rationale ---
According to a GlyphsApp tutorial [1], in order to make sure all versions of
Windows recognize it as a valid font file, we must make sure that the
concatenated length of the familyname (NameID.FONT_FAMILY_NAME) and style
(NameID.FONT_SUBFAMILY_NAME) strings in the name table do not exceed 20
characters.
After discussing the problem in more detail at `FontBakery issue #2179 [2] we
decided that allowing up to 27 chars would still be on the safe side, though.
[1] https://glyphsapp.com/tutorials/multiple-masters-part-3-setting-up-instances
[2] https://github.com/googlefonts/fontbakery/issues/2179
  • WARN The combined length of family and style exceeds 27 chars in the following 'WINDOWS' entries:
    FONT_FAMILY_NAME = 'Anek Devanagari Medium' / SUBFAMILY_NAME = 'Regular'

Please take a look at the conversation at fonttools/fontbakery#2179 in order to understand the reasoning behind these name table records max-length criteria. [code: too-long]

WARN: A static fonts directory with at least two fonts must accompany variable fonts
--- Rationale ---
Variable font family directories kept in the google/fonts git repo may include a
static/ subdir containing static fonts.
These files are meant to be served for users that still lack support for
variable fonts in their web browsers.
  • WARN Please consider adding a subdirectory called "static/" and including in it static font files. [code: missing]
WARN: Ensure Stylistic Sets have description.
--- Rationale ---
Stylistic sets should provide description text. Programs such as InDesign,
TextEdit and Inkscape use that info to display to the users so that they know
what a given stylistic set offers.
  • WARN The stylistic set ss01 lacks a description string on the 'name' table. [code: missing-description]
  • WARN The stylistic set ss02 lacks a description string on the 'name' table. [code: missing-description]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table.
--- Rationale ---
The OpenType 'meta' table originated at Apple. Microsoft added it to OT with
just two DataMap records:
- dlng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font is designed for
- slng: comma-separated ScriptLangTags that indicate which scripts, or languages
and scripts, with possible variants, the font supports
The slng structure is intended to describe which languages and scripts the font
overall supports. For example, a Traditional Chinese font that also contains
Latin characters, can indicate Hant,Latn, showing that it supports Hant, the
Traditional Chinese variant of the Hani script, and it also supports the Latn
script
The dlng structure is far more interesting. A font may contain various glyphs,
but only a particular subset of the glyphs may be truly "leading" in the design,
while other glyphs may have been included for technical reasons. Such a
Traditional Chinese font could only list Hant there, showing that it’s designed
for Traditional Chinese, but the font would omit Latn, because the developers
don’t think the font is really recommended for purely Latin-script use.
The tags used in the structures can comprise just script, or also language and
script. For example, if a font has Bulgarian Cyrillic alternates in the locl
feature for the cyrl BGR OT languagesystem, it could also indicate in dlng
explicitly that it supports bul-Cyrl. (Note that the scripts and languages in
meta use the ISO language and script codes, not the OpenType ones).
This check ensures that the font has the meta table containing the slng and dlng
structures.
All families in the Google Fonts collection should contain the 'meta' table.
Windows 10 already uses it when deciding on which fonts to fall back to. The
Google Fonts API and also other environments could use the data for smarter
filtering. Most importantly, those entries should be added to the Noto fonts.
In the font making process, some environments store this data in external files
already. But the meta table provides a convenient way to store this inside the
font file, so some tools may add the data, and unrelated tools may read this
data. This makes the solution much more portable and universal.
  • WARN This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Font has **proper** whitespace glyph names?
--- Rationale ---
This check enforces adherence to recommended whitespace (codepoints 0020 and
00A0) glyph names according to the Adobe Glyph List.
  • WARN Glyph 0x00A0 is called "nbspace": Change to "uni00A0" [code: not-recommended-00a0]
WARN: Check font contains no unreachable glyphs
--- Rationale ---
Glyphs are either accessible directly through Unicode codepoints or through
substitution rules. Any glyphs not accessible by either of these means are
redundant and serve only to increase the font's file size.
  • WARN The following glyphs could not be reached by codepoint or substitution rules:
    • TaSaHalant.dv
    • nine.subs
    • gravecomb.narrow
    • Swastik
    • HaHalant.dv
    • Component_matraA_Up.dv
    • four.subs
    • two.subs
    • six.subs
    • zero.subs
    • And 16 more.

Use -F or --full-lists to disable shortening of long lists.
[code: unreachable-glyphs]

WARN: Check glyphs in mark glyph class are non-spacing.
--- Rationale ---
Glyphs in the GDEF mark glyph class should be non-spacing.
Spacing glyphs in the GDEF mark glyph class may have incorrect anchor
positioning that was only intended for building composite glyphs during design.
  • WARN The following spacing glyphs may be in the GDEF mark glyph class by mistake:
    JaNuktaJaNukta.dv (unencoded), acute (U+00B4), acutecomb (U+0301), acutecomb.case (unencoded), acutecomb.narrow (unencoded), cedilla (U+00B8), cedillacomb (U+0327), cedillacomb.case (unencoded), circumflex (U+02C6), circumflexcomb (U+0302) and 23 more.

Use -F or --full-lists to disable shortening of long lists. [code: spacing-mark-glyphs]

WARN: Check mark characters are in GDEF mark glyph class.
--- Rationale ---
Mark characters should be in the GDEF mark glyph class.
  • WARN The following mark characters could be in the GDEF mark glyph class:
    matraLru.dv (U+0962) and matraLruu.dv (U+0963) [code: mark-chars]
WARN: Check GDEF mark glyph class doesn't have characters that are not marks.
--- Rationale ---
Glyphs in the GDEF mark glyph class become non-spacing and may be repositioned
if they have mark anchors.
Only combining mark glyphs should be in that class. Any non-mark glyph must not
be in that class, in particular spacing glyphs.
  • WARN The following non-mark characters should not be in the GDEF mark glyph class:
    U+0060, U+00A8, U+00AF, U+00B4, U+00B7, U+00B8, U+02C6, U+02DA and U+02DC [code: non-mark-chars]
WARN: Are there any misaligned on-curve points?
--- Rationale ---
This check heuristically looks for on-curve points which are close to, but do
not sit on, significant boundary coordinates. For example, a point which has a
Y-coordinate of 1 or -1 might be a misplaced baseline point. As well as the
baseline, here we also check for points near the x-height (but only for lower
case Latin letters), cap-height, ascender and descender Y coordinates.
Not all such misaligned curve points are a mistake, and sometimes the design may
call for points in locations near the boundaries. As this check is liable to
generate significant numbers of false positives, it will pass if there are more
than 100 reported misalignments.
  • WARN The following glyphs have on-curve points which have potentially incorrect y coordinates:
    • ampersand (U+0026): X=768.0,Y=1279.5 (should be at cap-height 1278?)
    • ampersand (U+0026): X=707.5,Y=1.0 (should be at baseline 0?)
    • six (U+0036): X=795.0,Y=1277.0 (should be at cap-height 1278?)
    • eight (U+0038): X=343.0,Y=-1.5 (should be at baseline 0?)
    • eight (U+0038): X=782.0,Y=-0.5 (should be at baseline 0?)
    • c (U+0063): X=678.5,Y=1.0 (should be at baseline 0?)
    • e (U+0065): X=746.5,Y=0.5 (should be at baseline 0?)
    • f (U+0066): X=337.0,Y=979.0 (should be at x-height 978?)
    • s (U+0073): X=233.0,Y=1.5 (should be at baseline 0?)
    • s (U+0073): X=636.0,Y=977.0 (should be at x-height 978?) and 55 more.

Use -F or --full-lists to disable shortening of long lists. [code: found-misalignments]


Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 3 13 51 9 146 0
0% 1% 6% 23% 4% 66% 0%

Note: The following loglevels were omitted in this report:

  • SKIP
  • INFO
  • PASS
  • DEBUG

@RosaWagner RosaWagner removed the II Commissioned Commissioned project to do label Feb 10, 2022
@RosaWagner RosaWagner merged commit eed6654 into main Feb 10, 2022
@RosaWagner RosaWagner deleted the gftools_packager_ofl_anekdevanagari branch February 10, 2022 14:03
@yanone yanone removed a link to an issue Feb 16, 2022
@RosaWagner RosaWagner added the II Indic / Brahmic / Thai / Tai Indic and non-latin South and East Asia scripts label Feb 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I New Font II Indic / Brahmic / Thai / Tai Indic and non-latin South and East Asia scripts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants