google / fonts

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

Add Madhuban #7237

Open jaikishanpatel opened 9 months ago

jaikishanpatel commented 9 months ago

Font Project Git Repo URL: https://github.com/magictype/Madhuban

Super short description of the Font Family: 'Madhuban' is a clean, geometric humanist sans serif​​​​​​​. Scripts: Devanagari & Latin | Classification: Mono-linear Sans serif. Read more about it at MagicType

Requirements:

Google Fonts will publish only fonts that match its requirements. Please familiarize yourself with the complete documentation in the Google Fonts Guide (GF-Guide) and ensure your font project complies with them before submitting the font family. You can also use the Google Fonts Project Template, which will help you create a repository that follows the needed structure and includes build requirements.

Image:

Madhuban_web_poster_wide_light

Madhuban_feature_summery

Madhuban_feature_news-sample-alt

Madhuban_feature_ak_colour

emmamarichal commented 9 months ago

Hi @jaikishanpatel! Thank you for your submission :)

I quickly reviewed the font, there are a lot of issues regarding the variable export, but we can fix them on our side, if the project is accepted.

I put here the fontbakery report:

FontBakery report

fontbakery version: 0.10.9

[1] Experimental checks
WARN: Shapes languages in all GF glyphsets. (com.google.fonts/check/glyphsets/shape_languages)
* ⚠ **WARN** GF_Latin_Core glyphset: | Language | FAIL messages | | :--- | :--- | | nb_Latn (Norwegian Bokmål) | No exemplar glyphs were defined for language Norwegian Bokmål | [code: warning-language-shaping]

[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, 0 of them (0.00%) lack a STAT table. And these are the most common STAT axis orderings: ('wght-ital', 1) [code: summary]

[39] MadhubanVF.ttf
🔥 FAIL: Checking file is named canonically. (com.google.fonts/check/canonical_filename)
* 🔥 **FAIL** Expected "Madhuban[wght].ttf. Got MadhubanVF.ttf. [code: bad-filename]
🔥 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: Substitute copyright, registered and trademark symbols in name table entries. (com.google.fonts/check/name/unwanted_chars)
* 🔥 **FAIL** NAMEID #0 contains symbols that should be replaced by '(c)'. [code: unwanted-chars]
🔥 FAIL: Is the Grid-fitting and Scan-conversion Procedure ('gasp') table set to optimize rendering? (com.google.fonts/check/gasp)
* 🔥 **FAIL** Font is missing the 'gasp' table. Try exporting the font with autohinting enabled. If you are dealing with an unhinted font, it can be fixed by running the fonts through the command 'gftools fix-nonhinting' GFTools is available at https://pypi.org/project/gftools/ [code: lacks-gasp]
🔥 FAIL: Are there non-ASCII characters in ASCII-only NAME table entries? (com.google.fonts/check/name/ascii_only_entries)
* 🔥 **FAIL** Bad string at [nameID 0, 'utf_16_be']: 'b'Copyright © 2024 The Madhuban Project Authors (https://github.com/magictype/madhuban)'' [code: bad-string] * 🔥 **FAIL** There are 1 strings containing non-ASCII characters in the ASCII-only NAME table entries. [code: non-ascii-strings]
🔥 FAIL: Copyright notices match canonical pattern in fonts (com.google.fonts/check/font_copyright)
* 🔥 **FAIL** Name Table entry: Copyright notices should match a pattern similar to: "Copyright 2019 The Familyname Project Authors (git url)" But instead we have got: "Copyright © 2024 The Madhuban Project Authors (https://github.com/magictype/madhuban)" [code: bad-notice-format]
🔥 FAIL: Check glyphs do not have components which are themselves components. (com.google.fonts/check/glyf_nested_components)
* 🔥 **FAIL** The following glyphs have components which themselves are component glyphs: * six.tosf * seven.tosf * eight.tosf * nine.tosf * uni1EAE * uni1EB0 * uni1EB2 * uni1EB4 * uni1EA4 * uni1EA6 and 245 more. Use -F or --full-lists to disable shortening of long lists. [code: found-nested-components]
🔥 FAIL: Check that variable fonts have an HVAR table. (com.google.fonts/check/varfont/has_HVAR)
* 🔥 **FAIL** All variable fonts on the Google Fonts collection must have a properly set HVAR table in order to avoid costly text-layout operations on certain platforms. [code: lacks-HVAR]
🔥 FAIL: Font enables smart dropout control in "prep" table instructions? (com.google.fonts/check/smart_dropout)
* 🔥 **FAIL** The 'prep' table does not contain TrueType instructions enabling smart dropout control. To fix, export the font with autohinting enabled, or run ttfautohint on the font, or run the `gftools fix-nonhinting` script. [code: lacks-smart-dropout]
🔥 FAIL: Check a font's STAT table contains compulsory Axis Values. (com.google.fonts/check/STAT)
* 🔥 **FAIL** Compulsory STAT Axis Values are incorrect: | Name | Axis | Current Value | Current Flags | Current LinkedValue | Expected Value | Expected Flags | Expected LinkedValue | | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | | Light | wght | 300.0 | 0 | None | 300.0 | 0 | None | | Regular | wght | 400.0 | 2 | None | 400.0 | 2 | 700.0 | | Medium | wght | 500.0 | 0 | None | 500.0 | 0 | None | | SemiBold | wght | 600.0 | 0 | None | 600.0 | 0 | None | | Bold | wght | 700.0 | 0 | None | 700.0 | 0 | None | [code: bad-axis-values]
🔥 FAIL: Name table entries should not contain line-breaks. (com.google.fonts/check/name/line_breaks)
* 🔥 **FAIL** Name entry LICENSE_DESCRIPTION on platform WINDOWS contains a line-break. [code: line-break]
🔥 FAIL: Check font follows the Google Fonts vertical metric schema (com.google.fonts/check/vertical_metrics)
* 🔥 **FAIL** OS/2.sTypoLineGap is "200" it should be 0 [code: bad-OS/2.sTypoLineGap] * 🔥 **FAIL** hhea.lineGap is "200" it should be 0 [code: bad-hhea.lineGap]
🔥 FAIL: Validate STAT particle names and values match the fallback names in GFAxisRegistry. (com.google.fonts/check/STAT/gf_axisregistry)
* 🔥 **FAIL** On the font variation axis 'ital', the name 'Regular' is not among the expected ones (Roman, Italic) according to the Google Fonts Axis Registry. [code: invalid-name]
🔥 FAIL: Name table records must not have trailing spaces. (com.google.fonts/check/name/trailing_spaces)
* 🔥 **FAIL** Name table record with key = (3, 1, 1033, 13) has trailing spaces that must be removed: 'This Font [...]l.org/OFL ' [code: trailing-space]
🔥 FAIL: Checking OS/2 Metrics match hhea Metrics. (com.google.fonts/check/os2_metrics_match_hhea)
* 🔥 **FAIL** OS/2 sTypoAscender (756) and hhea ascent (956) must be equal. [code: ascender]
🔥 FAIL: Check that legacy accents aren't used in composite glyphs. (derived from com.google.fonts/check/legacy_accents) (com.google.fonts/check/legacy_accents)
* 🔥 **FAIL** Glyph "Oslashacute" has a legacy accent component (acute). It needs to be replaced by a combining mark. [code: legacy-accents-component] * 🔥 **FAIL** Glyph "uni2116" has a legacy accent component (macron). It needs to be replaced by a combining mark. [code: legacy-accents-component] * 🔥 **FAIL** Glyph "asciitilde" has a legacy accent component (tilde). It needs to be replaced by a combining mark. [code: legacy-accents-component] * 🔥 **FAIL** Glyph "uni030C" has a legacy accent component (circumflex). It needs to be replaced by a combining mark. [code: legacy-accents-component] * 🔥 **FAIL** Glyph "uni02C9" has a legacy accent component (macron). It needs to be replaced by a combining mark. [code: legacy-accents-component]
🔥 FAIL: Glyph names are all valid? (com.google.fonts/check/valid_glyphnames)
* 🔥 **FAIL** The following glyph names do not comply with naming conventions: nonmarkingreturn#1 A glyph name must be entirely comprised of characters from the following set: A-Z a-z 0-9 .(period) _(underscore). A glyph name must not start with a digit or period. There are a few exceptions such as the special glyph ".notdef". The glyph names "twocents", "a1", and "_" are all valid, while "2cents" and ".twocents" are not. [code: found-invalid-names]
🔥 FAIL: Font contains unique glyph names? (com.google.fonts/check/unique_glyphnames)
* 🔥 **FAIL** These glyph names occur more than once: ['nonmarkingreturn'] [code: duplicated-glyph-names]
🔥 FAIL: Ensure component transforms do not perform scaling or rotation. (com.google.fonts/check/transformed_components)
* 🔥 **FAIL** The following glyphs had components with scaling or rotation or inverted outline direction: * uni27E8 (component uni27E9) * backslash (component slash) * parenleft (component parenright) * braceleft (component braceright) * bracketleft (component bracketright) * guillemotleft (component guilsinglright) * guillemotleft (component guilsinglright) * guilsinglleft (component guilsinglright) * less (component greater) * lessequal (component greater) * uni0900 (component uni0901) * uni030C (component circumflex) * uni030F (component uni030B) * uni0311 (component uni0306) [code: transformed-components]
🔥 FAIL: Ensure dotted circle glyph is present and can attach marks. (com.google.fonts/check/dotted_circle)
* 🔥 **FAIL** The following glyphs could not be attached to the dotted circle glyph: - acutecomb - dotbelowcomb - gravecomb - hookabovecomb - tildecomb - uni0302 - uni0304 - uni0306 - uni0307 - uni0308 - 41 more. Use -F or --full-lists to disable shortening of long lists. [code: unattached-dotted-circle-marks]
WARN: Checking OS/2 achVendID. (com.google.fonts/check/vendor_id)
* ⚠ **WARN** OS/2 VendorID is 'UKWN', a font editor default. 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: bad]
WARN: Check for codepoints not covered by METADATA subsets. (com.google.fonts/check/metadata/unreachable_subsetting)
* ⚠ **WARN** 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+02B9 MODIFIER LETTER PRIME: not included in any glyphset definition * U+02BA MODIFIER LETTER DOUBLE PRIME: not included in any glyphset definition * U+02C7 CARON: try adding one of: tifinagh, yi, canadian-aboriginal * U+02C9 MODIFIER LETTER MACRON: not included in any glyphset definition * U+02D8 BREVE: try adding one of: yi, canadian-aboriginal * U+02D9 DOT ABOVE: try adding one of: yi, canadian-aboriginal * U+02DB OGONEK: try adding one of: yi, canadian-aboriginal * U+02DD DOUBLE ACUTE ACCENT: not included in any glyphset definition * U+0302 COMBINING CIRCUMFLEX ACCENT: try adding one of: tifinagh, cherokee, math, coptic * U+0306 COMBINING BREVE: try adding one of: tifinagh, old-permic 53 more. Use -F or --full-lists to disable shortening of long lists. Or you can add the above codepoints to one of the subsets supported by the font: `cyrillic-ext`, `devanagari`, `latin`, `latin-ext`, `vietnamese` [code: unreachable-subsetting]
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: Are there caret positions declared for every ligature? (com.google.fonts/check/ligature_carets)
* ⚠ **WARN** This font lacks caret position values for ligature glyphs on its GDEF table. [code: lacks-caret-pos]
WARN: Is there kerning info for non-ligated sequences? (com.google.fonts/check/kerning_for_non_ligated_sequences)
* ⚠ **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: Ensure variable fonts include an avar table. (com.google.fonts/check/mandatory_avar_table)
* ⚠ **WARN** This variable font does not have an avar table. [code: missing-avar]
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: Checking with ots-sanitize. (com.google.fonts/check/ots)
* ⚠ **WARN** ots-sanitize passed this file, however warnings were printed: WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. WARNING: Layout: tags aren't arranged alphabetically. [code: ots-sanitize-warn]
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: - a.alt - g.alt - i.TRK - nonmarkingreturn#1 - ssa_rakar - uni0901.imatra - uni0928094D.pre2 - zeroslash [code: unreachable-glyphs]
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: Check math signs have the same width. (com.google.fonts/check/math_signs_width)
* ⚠ **WARN** The most common width is 680 among a set of 11 math glyphs. The following math glyphs have a different width, though: Width = 626: logicalnot Width = 666: multiply [code: width-outliers]
WARN: Checking Vertical Metric Linegaps. (com.google.fonts/check/linegaps)
* ⚠ **WARN** hhea lineGap is not equal to 0. [code: hhea]
WARN: Ensure soft_dotted characters lose their dot when combined with marks that replace the dot. (com.google.fonts/check/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: į̆ į̇ į̈ į̉ į̊ į̋ į̏ į̑ į̒ į̛̀ į̛́ į̛̂ į̛̃ į̛̄ į̛̆ į̛̇ į̛̈ į̛̉ į̛̊ į̛̋ Your font fully covers the following languages that require the soft-dotted feature: Dutch (Latn, 31,709,104 speakers), Navajo (Latn, 166,319 speakers), Lithuanian (Latn, 2,357,094 speakers). Your font does *not* cover the following languages that require the soft-dotted feature: Lugbara (Latn, 2,200,000 speakers), Nateni (Latn, 100,000 speakers), Avokaya (Latn, 100,000 speakers), Koonzime (Latn, 40,000 speakers), Ukrainian (Cyrl, 29,273,587 speakers), Ma’di (Latn, 584,000 speakers), Kom (Latn, 360,685 speakers), Dan (Latn, 1,099,244 speakers), Ejagham (Latn, 120,000 speakers), Igbo (Latn, 27,823,640 speakers), Aghem (Latn, 38,843 speakers), Basaa (Latn, 332,940 speakers), Belarusian (Cyrl, 10,064,517 speakers), Ebira (Latn, 2,200,000 speakers). [code: soft-dotted]
INFO: Show hinting filesize impact. (com.google.fonts/check/hinting_impact)
* ℹ **INFO** Hinting filesize impact: | | MadhubanVF.ttf | |:------------- | ---------------:| | Dehinted Size | 189.4kb | | Hinted Size | 190.0kb | | Increase | 668 bytes | | Change | 0.3 % | [code: size-impact]
INFO: Font has old ttfautohint applied? (com.google.fonts/check/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.000;Glyphs 3.2 (3212)'] [code: version-not-detected]
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/fonttools/fontbakery/issues/818 [code: lacks-EPAR]
INFO: Check for font-v versioning. (com.google.fonts/check/fontv)
* ℹ **INFO** Version string is: "Version 1.000;Glyphs 3.2 (3212)" 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: - loca - GPOS - GSUB [code: optional-tables]
INFO: List all superfamily filepaths (com.google.fonts/check/superfamily/list)
* ℹ **INFO** . [code: family-path]

Summary

💔 ERROR ☠ FATAL 🔥 FAIL ⚠ WARN 💤 SKIP ℹ INFO 🍞 PASS 🔎 DEBUG
0 0 20 14 104 7 111 0
0% 0% 8% 5% 41% 3% 43% 0%

Note: The following loglevels were omitted in this report:

davelab6 commented 6 months ago

Thanks @jaikishanpatel this looks like a great project! I'm assigning to @yanone to take a look (as he has experience with complex script shaping) in Q2 :)

jaikishanpatel commented 6 months ago

Thanks @davelab6 . looking forward