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

Add Madhuban #7237

Open
9 tasks done
jaikishanpatel opened this issue Jan 30, 2024 · 3 comments
Open
9 tasks done

Add Madhuban #7237

jaikishanpatel opened this issue Jan 30, 2024 · 3 comments
Assignees
Labels
-- Needs language expertise Needs to be reviewed or modified by an expert in that field (CJK, Indic, African, Arabic, etc.) I New Font II Accepted Non-commissioned projects that are accepted for onboarding II Indic / Brahmic / Thai / Tai Indic and non-latin South and East Asia scripts P4
Milestone

Comments

@jaikishanpatel
Copy link

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.

  • I read, agree, and comply with the full contributing requirements
  • The entire font project is licensed under the OFL
  • There is no "Reserved Font Name" mention in the OFL license
  • Family name is unique according to namecheck.fontdata.com
  • The font supports at least GF Latin Core glyphset
  • The repository respect the upstream repo structure
  • The source files are available in the repository
  • I am the author of the font, or the author agreed to this submission
  • I will maintain the repository and participate in the onboarding process (addressing, solving, and responding to issues, merging pull requests, etc)

Image:

Madhuban_web_poster_wide_light

Madhuban_feature_summery

Madhuban_feature_news-sample-alt

Madhuban_feature_ak_colour

@jaikishanpatel jaikishanpatel added I New Font II Submission pending proposal for non-commissioned fonts suggested in the issue tracker labels Jan 30, 2024
@emmamarichal
Copy link
Collaborator

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: 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:

  • SKIP
  • PASS
  • DEBUG

@emmamarichal emmamarichal added II Indic / Brahmic / Thai / Tai Indic and non-latin South and East Asia scripts -- Needs language expertise Needs to be reviewed or modified by an expert in that field (CJK, Indic, African, Arabic, etc.) labels Jan 31, 2024
@emmamarichal emmamarichal added this to the Submissions to review milestone Jan 31, 2024
@davelab6 davelab6 added II Accepted Non-commissioned projects that are accepted for onboarding and removed II Submission pending proposal for non-commissioned fonts suggested in the issue tracker labels Apr 16, 2024
@davelab6
Copy link
Member

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
Copy link
Author

Thanks @davelab6 . looking forward

@chrissimpkins chrissimpkins modified the milestones: 2024 Q2, 2024 Q4 Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-- Needs language expertise Needs to be reviewed or modified by an expert in that field (CJK, Indic, African, Arabic, etc.) I New Font II Accepted Non-commissioned projects that are accepted for onboarding II Indic / Brahmic / Thai / Tai Indic and non-latin South and East Asia scripts P4
Projects
Status: Todo
Development

No branches or pull requests

5 participants