google / fonts

Font files available from Google Fonts, and a public issue tracker for all things Google Fonts
https://fonts.google.com
18.17k stars 2.61k forks source link

Add LXGW Marker Gothic #6495

Open lxgw opened 1 year ago

lxgw commented 1 year ago

Font Project Git Repo URL: https://github.com/lxgw/LxgwMarkerGothic

Super short description of the Font Family: An open-source Chinese font derived from Tanugo.

Requirements:

I understand that Google Fonts will publish only fonts that matches its requirements, and I can confirm the project meets them (by ticking the cases, or putting x between the square brackets in text mode):

Image:

emmamarichal commented 1 year ago

I'm not a specialist in CJK fonts, so I don't think I can work on this project, but I've done a quick review anyway, after converting the .ufoz file to Glyphs to get a clearer picture.

/ see fontbakery below /

Most fails are easily solved, here are the ones that require upstream action or confirmation:

Also, I opened the file on glyphs, did some modifications to export it and check it, but we are not good concerning the features (probably because of the conversation ufo to Glyphs). For now, all is deactivated (but here again, I don't have the skills to solve this).

Fontbakery report

Fontbakery version: 0.8.13

[1] Family checks
INFO: Check axis ordering on the STAT table. (com.google.fonts/check/STAT/axis_order)
* ℹ **INFO** From a total of 1 font files, 1 of them (100.00%) lack a STAT table. And these are the most common STAT axis orderings: [code: summary]

[26] LXGWMarkerGothic-Regular.ttf
🔥 FAIL: Checking OS/2 fsType does not impose restrictions. (com.google.fonts/check/fstype)
* 🔥 **FAIL** In this font fsType is set to 8 meaning that: The font may be embedded but must only be installed temporarily on other systems. No such DRM restrictions can be enabled on the Google Fonts collection, so the fsType field must be set to zero (Installable Embedding) instead. [code: drm]
🔥 FAIL: Check Google Fonts glyph coverage. (com.google.fonts/check/glyph_coverage)
* 🔥 **FAIL** Missing required codepoints: - 0x0326 (COMBINING COMMA BELOW) [code: missing-codepoints]
🔥 FAIL: Version format is correct in 'name' table? (com.google.fonts/check/name/version_format)
* 🔥 **FAIL** The NameID.VERSION_STRING (nameID=5) value must follow the pattern "Version X.Y" with X.Y greater than or equal to 1.000. Current version string is: "Version 0.002; ttfautohint (v1.8.4.7-5d5b);gftools[0.9.33.dev8+g029e19f]" [code: bad-version-strings]
🔥 FAIL: Name table entries should not contain line-breaks. (com.google.fonts/check/name/line_breaks)
* 🔥 **FAIL** Name entry COPYRIGHT_NOTICE on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Check family name for GF Guide compliance. (com.google.fonts/check/name/family_name_compliance)
* 🔥 **FAIL** "LXGW Marker Gothic" contains an abbreviation. [code: abbreviation]
🔥 FAIL: Check font follows the Google Fonts CJK vertical metric schema (com.google.fonts/check/cjk_vertical_metrics)
* 🔥 **FAIL** hhea.ascent must match OS/2.usWinAscent [code: ascent-mismatch] * 🔥 **FAIL** hhea.descent must match absolute value of OS/2.usWinDescent [code: descent-mismatch] * ⚠ **WARN** We recommend the absolute sum of the hhea metrics should be between 1.1-1.4x of the font's upm. This font has 1.0x [code: bad-hhea-range]
🔥 FAIL: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/soft_dotted)
* 🔥 **FAIL** The dot of soft dotted characters used in orthographies must disappear in the following strings: i̊ i̋ i̍ i̓ j̀ j́ j̃ j̄ j̈ j̑ į̀ į́ į̂ į̃ į̄ į̌ ɨ̀ ɨ́ ɨ̂ ɨ̃ ɨ̄ ɨ̈ ɨ̋ ɨ̌ ɨ̏ ɨ̧̀ ɨ̧́ ɨ̧̂ ɨ̧̌ ɨ̱̀ ɨ̱́ ɨ̱̈ ḭ̀ ḭ́ ḭ̄ ị̀ ị́ ị̂ ị̃ ị̄ The dot of soft dotted characters should disappear in other cases, for example: i̇ i̎ i̒ i̤̇ i̤̊ i̤̋ i̤̍ i̤̎ i̤̒ i̤̓ i̥̇ i̥̊ i̥̋ i̥̍ i̥̎ i̥̒ i̥̓ i̧̇ i̧̊ i̧̋ [code: soft-dotted]
WARN: Checking OS/2 achVendID. (com.google.fonts/check/vendor_id)
* ⚠ **WARN** OS/2 VendorID value 'NONE' 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]
WARN: License URL matches License text on name table? (com.google.fonts/check/name/license_url)
* ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=13] [code: http-in-description] * ⚠ **WARN** Please consider using HTTPS URLs at name table entry [plat=3, enc=1, name=14] [code: http-in-license-info] * ⚠ **WARN** For now we're still accepting http URLs, but you should consider using https instead. [code: http]
WARN: Ensure files are not too large. (com.google.fonts/check/file_size)
* ⚠ **WARN** Font file is 5.8Mb; ideally it should be less than 1.0Mb [code: large-font]
WARN: Ensure fonts have ScriptLangTags declared on the 'meta' table. (com.google.fonts/check/meta/script_lang_tags)
* ⚠ **WARN** This font file does not have a 'meta' table. [code: lacks-meta-table]
WARN: Check font contains no unreachable glyphs (com.google.fonts/check/unreachable_glyphs)
* ⚠ **WARN** The following glyphs could not be reached by codepoint or substitution rules: - colon.calt - nonmarkingreturn - quotedbl.1 [code: unreachable-glyphs]
WARN: Check if each glyph has the recommended amount of contours. (com.google.fonts/check/contour_count)
* ⚠ **WARN** This check inspects the glyph outlines and detects the total number of contours in each of them. The expected values are infered from the typical ammounts 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: - Glyph name: u00AD Contours detected: 1 Expected: 0 - Glyph name: u013B Contours detected: 1 Expected: 2 - Glyph name: beta Contours detected: 1 Expected: 2 - Glyph name: u1E48 Contours detected: 1 Expected: 2 - Glyph name: trademark Contours detected: 1 Expected: 2 - Glyph name: u2213 Contours detected: 1 Expected: 2 - Glyph name: uni2552 Contours detected: 1 Expected: 2 - Glyph name: uni2553 Contours detected: 1 Expected: 2 - Glyph name: uni2555 Contours detected: 1 Expected: 2 - Glyph name: uni2556 Contours detected: 1 Expected: 2 - 8 more. Use -F or --full-lists to disable shortening of long lists. [code: contour-count]
WARN: Does the font contain a soft hyphen? (com.google.fonts/check/soft_hyphen)
* ⚠ **WARN** This font has a 'Soft Hyphen' character. [code: softhyphen]
WARN: Does the font contain chws and vchw features? (com.google.fonts/check/cjk_chws_feature)
* ⚠ **WARN** chws feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it. [code: missing-chws-feature] * ⚠ **WARN** vchw feature not found in font. Use chws_tool (https://github.com/googlefonts/chws_tool) to add it. [code: missing-vchw-feature]
WARN: Ensure dotted circle glyph is present and can attach marks. (com.google.fonts/check/dotted_circle)
* ⚠ **WARN** No dotted circle glyph present [code: missing-dotted-circle]
WARN: Check math signs have the same width. (com.google.fonts/check/math_signs_width)
* ⚠ **WARN** The most common width is 1000 among a set of 33 math glyphs. The following math glyphs have a different width, though: Width = 500: plus, approxequal, logicalnot, minus, less, plusminus, multiply, equal, similar, greater, divide, u2213, u225C [code: width-outliers]
WARN: Does GPOS table have kerning information? This check skips monospaced fonts as defined by post.isFixedPitch value (com.google.fonts/check/gpos_kerning_info)
* ⚠ **WARN** GPOS table lacks kerning information. [code: lacks-kern-info]
WARN: Do outlines contain any jaggy segments? (com.google.fonts/check/outline_jaggy_segments)
* ⚠ **WARN** The following glyphs have jaggy segments: * paragraph (U+00B6): L<<245.0,-89.0>--<244.0,695.0>>/L<<244.0,695.0>--<244.0,227.0>> = 0.07308131178608729 * u023A (U+023A): L<<299.0,583.0>--<222.0,294.0>>/L<<222.0,294.0>--<310.0,542.0>> = 4.617578009533678 * u2167 (U+2167): L<<471.0,54.0>--<471.0,689.0>>/L<<471.0,689.0>--<310.0,3.0>> = 13.207928462779101 * u289C0 (U+289C0): L<<549.0,-58.0>--<549.0,230.0>>/L<<549.0,230.0>--<519.0,108.0>> = 13.81502534126161 * u3060 (U+3060): L<<749.0,571.0>--<731.0,569.0>>/L<<731.0,569.0>--<754.0,569.0>> = 6.340191745909908 * u3062 (U+3062): L<<688.0,571.0>--<626.0,564.0>>/L<<626.0,564.0>--<823.0,564.0>> = 6.441600099335006 * u3124 (U+3124): L<<529.0,-24.0>--<529.0,474.0>>/B<<529.0,474.0>-<504.0,344.0>-<456.0,248.0>> = 10.885527054658743 * u3231 (U+3231): L<<311.0,-49.0>--<311.0,268.0>>/L<<311.0,268.0>--<274.0,108.0>> = 13.02076730562467 * u337C (U+337C): L<<598.0,-55.0>--<598.0,256.0>>/L<<598.0,256.0>--<551.0,47.0>> = 12.673860005623133 * u3E06 (U+3E06): B<<268.0,830.0>-<268.0,657.0>-<258.0,504.0>>/L<<258.0,504.0>--<319.0,717.0>> = 12.241413785463854 * 541 more. Use -F or --full-lists to disable shortening of long lists. [code: found-jaggy-segments]
WARN: Do outlines contain any semi-vertical or semi-horizontal lines? (com.google.fonts/check/outline_semi_vertical)
* ⚠ **WARN** The following glyphs have semi-vertical/semi-horizontal lines: * beta (U+03B2): L<<172.0,497.0>--<169.0,-200.0>> * beta (U+03B2): L<<73.0,-200.0>--<76.0,497.0>> * dotlessi (U+0131): L<<111.0,0.0>--<112.0,510.0>> * dotlessi (U+0131): L<<204.0,510.0>--<203.0,0.0>> * germandbls (U+00DF): L<<157.0,497.0>--<154.0,0.0>> * germandbls (U+00DF): L<<58.0,0.0>--<61.0,497.0>> * iacute (U+00ED): L<<111.0,0.0>--<112.0,510.0>> * iacute (U+00ED): L<<204.0,510.0>--<203.0,0.0>> * ibreve (U+012D): L<<111.0,0.0>--<112.0,510.0>> * ibreve (U+012D): L<<204.0,510.0>--<203.0,0.0>> * 561 more. Use -F or --full-lists to disable shortening of long lists. [code: found-semi-vertical]
INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
* ℹ **INFO** Hinting filesize impact: | | LXGWMarkerGothic-Regular.ttf | |:------------- | ---------------:| | Dehinted Size | 2.6Mb | | Hinted Size | 5.8Mb | | Increase | 3.2Mb | | Change | 126.2 % | [code: size-impact]
INFO: EPAR table present in font? (com.google.fonts/check/epar)
* ℹ **INFO** EPAR table not present in font. To learn more see https://github.com/googlefonts/fontbakery/issues/818 [code: lacks-EPAR]
INFO: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
* ℹ **INFO** These are the ppm ranges declared on the gasp table: PPM <= 65535: flag = 0x0F - Use grid-fitting - Use grayscale rendering - Use gridfitting with ClearType symmetric smoothing - Use smoothing along multiple axes with ClearType® [code: ranges]
INFO: Check for font-v versioning. (com.google.fonts/check/fontv)
* ℹ **INFO** Version string is: "Version 0.002; ttfautohint (v1.8.4.7-5d5b);gftools[0.9.33.dev8+g029e19f]" The version string must ideally include a git commit hash and either a "dev" or a "release" suffix such as in the example below: "Version 1.3; git-0d08353-release" [code: bad-format]
INFO: Font contains all required tables? (com.google.fonts/check/required_tables)
* ℹ **INFO** This font contains the following optional tables: - cvt - fpgm - loca - prep - GSUB - gasp [code: optional-tables]
INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
* ℹ **INFO** . [code: family-path]

Summary

💔 ERROR 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 7 13 125 7 94 0
0% 3% 5% 51% 3% 38% 0%

Note: The following loglevels were omitted in this report: