Skip to content

Conversation

@aaronbell
Copy link
Collaborator

Onboarding three Bopomofo fonts:

Bpmf Zihi Kai Std

New project. At present, these are being built in https://github.com/aaronbell/bpmfvs, but will be transitioned upstream to https://github.com/ButTaiwan/bpmfvs once the rest of the fonts' build systems are modernized.

@aaronbell aaronbell changed the title Adding Bpmf Zihi Kai Std Jan 30, 2026
@aaronbell aaronbell added the II CJK Chinese, Japanese, Korean scripts label Jan 30, 2026
@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

@github-actions
Copy link
Contributor

FontSpector report

fontspector version: 1.5.2

Checks with FATAL results

These must be addressed first.

[1] ofl/bpmfzihikaistd/BpmfZihiKaiStd-Regular.ttf
💥 ERROR Familyname must be unique according to namecheck.fontdata.com (fontdata_namecheck)

All other checks

[2] ofl/bpmfzihikaistd/METADATA.pb
⚠️ WARN METADATA.pb: Designers are listed correctly on the Google Fonts catalog? (googlefonts/metadata/designer_profiles)
  • ⚠️ WARN It seems that butko is still not listed on the designers catalog. Please submit a photo and a link to a webpage where people can learn more about the work of this designer/typefoundry. [code: profile-not-found]
ℹ️ INFO Check METADATA.pb parses correctly (googlefonts/metadata/validate)
  • ℹ️ INFO Please consider adding a family.minisite_url entry. [code: lacks-minisite-url]
[9] ofl/bpmfzihikaistd
🔥 FAIL Checking OS/2 usWinAscent & usWinDescent (family/win_ascent_and_descent)
  • 🔥 FAIL OS/2.usWinAscent value should be equal or greater than 2042, but got 1066 instead. [code: ascent]

  • 🔥 FAIL OS/2.usWinDescent value should be equal or greater than 278, but got 273 instead. [code: descent]

🔥 FAIL Check METADATA.pb parses correctly (googlefonts/metadata/consistent_with_fonts)
  • 🔥 FAIL METADATA.pb font.full_name field "Bpmf Zihi Kai Std Regular" does not match correct font name format "Bpmf Zihi KaiStd". [code: mismatch]

  • 🔥 FAIL METADATA.pb full_name field "Bpmf Zihi Kai Std Regular" does not match correct full name "ㄅ字嗨注音標楷 Regular". [code: fullname-mismatch]

  • 🔥 FAIL METADATA.pb full_name field "Bpmf Zihi Kai Std Regular" does not match correct full name "Bpmf Zihi KaiStd Regular". [code: fullname-mismatch]

  • 🔥 FAIL METADATA.pb family name field "Bpmf Zihi Kai Std" does not match correct family name "ㄅ字嗨注音標楷". [code: familyname-mismatch]

  • 🔥 FAIL METADATA.pb family name field "Bpmf Zihi Kai Std" does not match correct family name "Bpmf Zihi KaiStd". [code: familyname-mismatch]

🔥 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 Jin Chinese, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • , (U+FF0C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Gan Chinese, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • , (U+FF0C)
  • ; (U+FF1B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Xiang Chinese, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • , (U+FF0C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Japanese (Hiragana), 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 chinese-traditional, latin-ext, latin:
  • す (U+3059)
  • べ (U+3079)
  • て (U+3066)
  • の (U+306E) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead partial sample text for language Japanese (Hiragana), 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 chinese-traditional, latin-ext, latin:
  • ん (U+3093)
  • に (U+306B)
  • げ (U+3052) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Japanese (Hiragana), 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 chinese-traditional, latin-ext, latin:
  • は (U+306F) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Japanese (Hiragana), 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 chinese-traditional, latin-ext, latin:
  • う (U+3046)
  • こ (U+3053)
  • そ (U+305D)
  • い (U+3044)
  • っ (U+3063)
  • �� (U+308C)
  • く (U+304F)
  • よ (U+3088)
  • か (U+304B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Japanese (Hiragana), 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 chinese-traditional, latin-ext, latin:
  • さ (U+3055)
  • ょ (U+3087)
  • と (U+3068)
  • き (U+304D)
  • り (U+308A)
  • し (U+3057)
  • ご (U+3054)
  • め (U+3081) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Japanese (Hiragana), 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 chinese-traditional, latin-ext, latin:
  • お (U+304A)
  • ふ (U+3075)
  • ゆ (U+3086)
  • ね (U+306D)
  • ぼ (U+307C)
  • じ (U+3058)
  • ほ (U+307B)
  • ば (U+3070)
  • ど (U+3069)
    ... and 32 others [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead full sample text for language Japanese (Katakana), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • ベ (U+30D9)
  • テ (U+30C6)
  • ノ (U+30CE)
  • ス (U+30B9) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the masthead partial sample text for language Japanese (Katakana), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • ニ (U+30CB)
  • ゲ (U+30B2)
  • ン (U+30F3) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster lg sample text for language Japanese (Katakana), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • ハ (U+30CF) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster md sample text for language Japanese (Katakana), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • ウ (U+30A6)
  • カ (U+30AB)
  • ソ (U+30BD)
  • ッ (U+30C3)
  • イ (U+30A4)
  • コ (U+30B3)
  • レ (U+30EC)
  • ヨ (U+30E8)
  • ク (U+30AF) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Japanese (Katakana), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • サ (U+30B5)
  • ョ (U+30E7)
  • メ (U+30E1)
  • ゴ (U+30B4)
  • リ (U+30EA)
  • シ (U+30B7)
  • ト (U+30C8)
  • キ (U+30AD) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Japanese (Katakana), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • バ (U+30D0)
  • ホ (U+30DB)
  • ワ (U+30EF)
  • ド (U+30C9)
  • ヤ (U+30E4)
  • デ (U+30C7)
  • フ (U+30D5)
  • ボ (U+30DC)
  • ネ (U+30CD)
    ... and 32 others [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the poster sm sample text for language Southern Min Chinese, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • ; (U+FF1B) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Southern Min Chinese, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • , (U+FF0C) [code: missing-subsetted]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Wu Chinese, but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • ; (U+FF1B)
  • , (U+FF0C) [code: missing-subsetted]
  • 🔥 FAIL We detected support for the Yucateco language because the font contained all the base exemplars for the language, but the font is missing the following codepoints needed to render the specimen 16 sample text (This suggests there's something wrong with the sample text):
  • ʼ (U+02BC) [code: bad-sample-text]
  • 🔥 FAIL The font has the following codepoints needed to render the specimen 16 sample text for language Chinese (Traditional), but although the font contained all the codepoints for the sample text, tofu will still be produced because the codepoints do not appear in any of the subsets chinese-traditional, latin-ext, latin:
  • , (U+FF0C)
  • ; (U+FF1B) [code: missing-subsetted]
🔥 FAIL Check Google Fonts glyph coverage. (googlefonts/glyph_coverage)
  • 🔥 FAIL ofl/bpmfzihikaistd/BpmfZihiKaiStd-Regular.ttf missing required codepoints:
  • 0x00A2: CENT SIGN
  • 0x00A3: POUND SIGN
  • 0x00A5: YEN SIGN
  • 0x00A9: COPYRIGHT SIGN
  • 0x00AE: REGISTERED SIGN
  • 0x2022: BULLET
  • 0x2122: TRADE MARK SIGN
  • 0x2212: MINUS SIGN [code: missing-codepoints]
⚠️ WARN Validate size, and resolution of article images, and ensure article page has minimum length and includes visual assets. (googlefonts/article/images)
  • ⚠️ WARN Article page lacks visual assets. [code: missing-visual-asset]
⚠️ WARN METADATA.pb: Check for primary_script (googlefonts/metadata/primary_script)
  • ⚠️ WARN METADATA.pb: primary_script is 'Hant' but should be 'Hani'. [code: wrong-primary-script]
⚠️ WARN METADATA.pb subsets are correct? (googlefonts/metadata/subsets_correct)
  • ⚠️ WARN Please remove 'latin-ext' from METADATA.pb since less than 20% of its glyphs are supported by this font file. [code: unsupported-subset]

  • ⚠️ WARN Please add 'chinese-simplified' to METADATA.pb since more than 50% of its glyphs are supported by this font file. [code: missing-subset]

  • ⚠️ WARN Please add 'chinese-hongkong' to METADATA.pb since more than 50% of its glyphs are supported by this font file. [code: missing-subset]

  • ⚠️ WARN Please add 'japanese' to METADATA.pb since more than 50% of its glyphs are supported by this font file. [code: missing-subset]

⚠️ WARN Check for codepoints not covered by METADATA subsets. (googlefonts/metadata/unreachable_subsetting)
  • ⚠️ WARN ofl/bpmfzihikaistd/BpmfZihiKaiStd-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+02D9 DOT ABOVE: try adding one of: canadian-aboriginal, yi
  • U+0391 GREEK CAPITAL LETTER ALPHA: try adding one of: greek, math, elbasan
  • U+0392 GREEK CAPITAL LETTER BETA: try adding one of: elbasan, greek, math
  • U+0393 GREEK CAPITAL LETTER GAMMA: try adding one of: math, greek, elbasan
  • U+0394 GREEK CAPITAL LETTER DELTA: try adding one of: math, greek, elbasan
  • U+0395 GREEK CAPITAL LETTER EPSILON: try adding one of: elbasan, greek, math
  • U+0396 GREEK CAPITAL LETTER ZETA: try adding one of: elbasan, greek, math
  • U+0397 GREEK CAPITAL LETTER ETA: try adding one of: greek, math, elbasan
  • U+0398 GREEK CAPITAL LETTER THETA: try adding one of: math, elbasan, greek
    ... and 1502 others

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

ℹ️ INFO Check axis ordering on the STAT table. (googlefonts/STAT/axis_order)
  • ℹ️ INFO All of the fonts lack a STAT table. [code: summary]
[23] ofl/bpmfzihikaistd/BpmfZihiKaiStd-Regular.ttf
🔥 FAIL Check base characters have non-zero advance width. (base_has_width)
  • 🔥 FAIL The following glyphs had zero advance width:
  • uniF000 (Some(61440))
  • z_a1 (Some(61441))
  • z_a2 (Some(61442))
  • z_a5 (Some(61443))
  • z_ai1 (Some(61444))
  • z_ai2 (Some(61445))
  • z_ai3 (Some(61446))
  • z_ai4 (Some(61447))
  • z_an1 (Some(61448))
    ... and 1378 others [code: zero-width-bases]
🔥 FAIL Ensure files are not too large. (file_size)
  • 🔥 FAIL Font file is 17.50 MB, larger than limit 9.44 MB [code: massive-font]
🔥 FAIL Check family name for GF Guide compliance. (googlefonts/name/family_name_compliance)
  • 🔥 FAIL "Bpmf Zihi KaiStd" is a CamelCased name. To solve this, simply use spaces instead in the font name. [code: camelcase]
🔥 FAIL Check font follows the Google Fonts CJK vertical metric schema (googlefonts/cjk_vertical_metrics)
  • 🔥 FAIL OS/2.sTypoAscender is 940; it should be between 951 and 1002 [code: bad-OS/2.sTypoAscender]

  • 🔥 FAIL OS/2.usWinAscent is 1066; it should be 1077 [code: bad-OS/2.usWinAscent]

  • 🔥 FAIL OS/2.usWinDescent is 273; it should be 278 [code: bad-OS/2.usWinDescent]

  • ℹ️ INFO Computed BASE table entries:

Baseline Computed BASE table
Horizontal icfb -58 -64
Horizontal icft 802 840
Horizontal ideo -140 -124
Horizontal idtp 883 900
Horizontal romn 0 0
Vertical icfb 77 60
Vertical icft 1460 1476
Vertical ideo 0 0
Vertical idtp 1536 1536
Vertical romn 140 120
🔥 FAIL Check font names are correct (googlefonts/font_names)
  • 🔥 FAIL Font names are incorrect:
Name Current Expected
Family Name Bpmf Zihi KaiStd Bpmf Zihi KaiStd
Subfamily Name Regular Regular
Full Name Bpmf Zihi KaiStd Regular Bpmf Zihi KaiStd Regular
Postscript Name BpmfZihiKaiStd-Regular BpmfZihiKaiStd-Regular
Typographic Family Name Bpmf Zihi KaiStd ㄅ字嗨注音標楷
Typographic Subfamily Name Regular Regular
⚠️ WARN Checking OS/2 fsSelection value. (opentype/xavgcharwidth)
  • ⚠️ WARN OS/2 xAvgCharWidth is 1463 but it should be 1238 which corresponds to the average of the widths of all glyphs in the font. This may indicate a problem with the font editor or the font compiler. [code: xAvgCharWidth-wrong]
⚠️ WARN Does the font contain chws and vchw features? (cjk_chws_feature)
⚠️ 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:

  • z_an4 (U+F00B): found 3, expected one of: {2, 1}
  • z_ang2 (U+F00D): found 2, expected one of: {3, 1}
  • z_ao4 (U+F013): found 2, expected one of: {1, 3}
  • z_bao2 (U+F025): found 3, expected one of: {2, 14, 11}
  • z_bei4 (U+F02B): found 3, expected one of: {1, 2}
  • z_fen4 (U+F131): found 3, expected one of: {1}
  • z_fen5 (U+F132): found 3, expected one of: {6, 1}
  • z_feng1 (U+F133): found 2, expected one of: {1}
  • z_feng2 (U+F134): found 3, expected one of: {2}
    ... and 200 others [code: contour-count]
⚠️ WARN Does GPOS table have kerning information? (gpos_kerning_info)
  • ⚠️ WARN GPOS table lacks kerning information. [code: lacks-kern-info]
⚠️ WARN Check math signs have the same width. (math_signs_width)
  • ⚠️ WARN The most common width is 1536 among a set of 16 math glyphs.
    The following math glyphs have a different width, though:
    width=576: uni003D, uni003E, uni003C, uni002B [code: width-outliers]
⚠️ WARN Ensure indic fonts have the Indian Rupee Sign glyph. (rupee)
  • ⚠️ WARN Font is missing the Indian Rupee Sign glyph. Please add a glyph for Indian Rupee Sign (₹) at codepoint U+20B9. [code: missing-rupee]
⚠️ WARN Ensure Stylistic Sets have description. (stylisticset_description)
  • ⚠️ WARN The stylistic set ss01 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss02 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss03 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss04 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss05 lacks a description string in the name table [code: missing-description]

  • ⚠️ WARN The stylistic set ss10 lacks a description string in the name table [code: missing-description]

⚠️ WARN Checking that the typoAscender exceeds the yMax of the /Agrave. (typoascender_exceeds_Agrave)
  • ⚠️ WARN OS/2.sTypoAscender value should be greater than 949, but got 940 instead [code: typoAscender]
⚠️ WARN Glyph names are all valid? (valid_glyphnames)
  • ⚠️ WARN Glyph 0x0020 is called uni0020; must be named 'space'. [code: not-recommended-0020]
⚠️ WARN Font has correct separator glyphs? (googlefonts/separator_glyphs)
  • ⚠️ WARN The following separator glyphs are missing:
  • U+2028
  • U+2029 [code: missing-separator-glyphs]
⚠️ WARN Check the direction of the outermost contour in each glyph (outline_direction)
  • ⚠️ WARN The following glyphs have a counter-clockwise outer contour:
  • uni3109 (U+3109) has a counter-clockwise outer contour
  • uniF000 (U+F000) has a counter-clockwise outer contour
  • uniF000.vert has a counter-clockwise outer contour
  • emptyBox (U+2610) has a counter-clockwise outer contour [code: ccw-outer-contour]
⚠️ WARN Do outlines contain any jaggy segments? (outline_jaggy_segments)
  • ⚠️ WARN The following glyphs have jaggy segments:
  • uni03BE (U+03BE): Quad(QuadBez { p0: (163.0, 686.0), p1: (214.0, 732.0), p2: (294.0, 747.0) })/Line(Line { p0: (294.0, 747.0), p1: (47.0, 736.0) }) = 8.06970626319496
  • uni308C (U+308C): Quad(QuadBez { p0: (377.0, 495.0), p1: (365.0, 481.0), p2: (345.0, 453.0) })/Quad(QuadBez { p0: (345.0, 453.0), p1: (541.0, 630.0), p2: (660.0, 630.0) }) = 12.378353632757205
  • uni3109 (U+3109): Quad(QuadBez { p0: (294.0, 813.0), p1: (296.0, 813.0), p2: (297.0, 812.0) })/Line(Line { p0: (297.0, 812.0), p1: (296.0, 813.0) }) = 0.0000012074182697257333
  • uni3118 (U+3118): Quad(QuadBez { p0: (658.0, 602.0), p1: (728.0, 609.0), p2: (727.0, 609.0) })/Quad(QuadBez { p0: (727.0, 609.0), p1: (742.0, 610.0), p2: (772.0, 617.0) }) = 3.8140748342903783
  • zyh: Quad(QuadBez { p0: (207.0, 277.0), p1: (250.0, 283.0), p2: (246.0, 282.0) })/Quad(QuadBez { p0: (246.0, 282.0), p1: (269.0, 286.0), p2: (274.0, 286.0) }) = 4.170436524842054
  • zyzh: Quad(QuadBez { p0: (70.0, 149.0), p1: (72.0, 129.0), p2: (72.0, 130.0) })/Quad(QuadBez { p0: (72.0, 130.0), p1: (73.0, 126.0), p2: (79.0, 126.0) }) = 14.036243467926484
  • zys: Quad(QuadBez { p0: (103.0, 177.0), p1: (117.0, 204.0), p2: (125.0, 222.0) })/Quad(QuadBez { p0: (125.0, 222.0), p1: (124.0, 219.0), p2: (136.0, 249.0) }) = 5.527540151656126
  • zye: Quad(QuadBez { p0: (119.5, 199.0), p1: (100.0, 197.0), p2: (91.0, 195.0) })/Quad(QuadBez { p0: (91.0, 195.0), p1: (96.0, 196.0), p2: (60.0, 188.0) }) = 1.2188752351310335
  • z_ce4 (U+F064): Quad(QuadBez { p0: (-392.5, 229.0), p1: (-412.0, 227.0), p2: (-421.0, 225.0) })/Quad(QuadBez { p0: (-421.0, 225.0), p1: (-416.0, 226.0), p2: (-452.0, 218.0) }) = 1.2188752351310335
    ... and 3152 others [code: found-jaggy-segments]
⚠️ WARN Check there are no overlapping path segments (overlapping_path_segments)
  • ⚠️ WARN The following glyphs have overlapping path segments:
  • uni6EF1 (U+6EF1): Line(Line { p0: (900.0, -125.0), p1: (998.0, -124.0) }) has the same coordinates as a previous segment.
  • uni6EF1.ss00: Line(Line { p0: (900.0, -125.0), p1: (998.0, -124.0) }) has the same coordinates as a previous segment.
  • uni972C (U+972C): Line(Line { p0: (599.0, 298.0), p1: (578.0, 302.0) }) has the same coordinates as a previous segment.
  • uni972C.ss00: Line(Line { p0: (599.0, 298.0), p1: (578.0, 302.0) }) has the same coordinates as a previous segment. [code: overlapping-path-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:
  • uni004D (U+004D): Line(Line { p0: (142.0, 48.0), p1: (143.0, 682.0) })
  • uni004D (U+004D): Line(Line { p0: (738.0, 334.0), p1: (739.0, 635.0) })
  • uni004E (U+004E): Line(Line { p0: (183.0, 609.0), p1: (184.0, 49.0) })
  • uni004E (U+004E): Line(Line { p0: (137.0, 48.0), p1: (138.0, 672.0) })
  • uni004E (U+004E): Line(Line { p0: (617.0, 150.0), p1: (616.0, 680.0) })
  • uni004E (U+004E): Line(Line { p0: (662.0, 681.0), p1: (661.0, -8.0) })
  • uni0055 (U+0055): Line(Line { p0: (611.0, 318.0), p1: (610.0, 680.0) })
  • uni0055 (U+0055): Line(Line { p0: (657.0, 682.0), p1: (655.0, 290.0) })
  • uni0065 (U+0065): Line(Line { p0: (489.0, 262.0), p1: (132.0, 263.0) })
    ... and 8000 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]
ℹ️ INFO Font contains all required tables? (required_tables)
  • ℹ️ INFO This font contains the following optional tables:

    loca
    BASE
    GSUB
    gasp
    vhea
    vmtx [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 1.610 [code: version-not-detected]
[2] ofl/bpmfzihikaistd/article/ARTICLE.en_us.html
⚠️ WARN DESCRIPTION.en_us.html should end in a linebreak. (googlefonts/description/eof_linebreak)
  • ⚠️ WARN The last characther on DESCRIPTION.en_us.html is not a line-break. Please add it. [code: missing-eof-linebreak]
ℹ️ INFO Does DESCRIPTION file contain a upstream Git repo URL? (googlefonts/description/git_url)

Summary

💥 ERROR 🔥 FAIL ⚠️ WARN ℹ️ INFO ✅ PASS ⏩ SKIP
1 35 30 7 102 66
0% 17% 15% 3% 50% 32%
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

II CJK Chinese, Japanese, Korean scripts

1 participant