google / fonts

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

Create a curated list of "interesting" families to run when testing compilers #4772

Closed rsheeter closed 1 year ago

rsheeter commented 2 years ago

As we begin to contemplate a faster compiler I want to get a good set of families to test it. In attempting to locate families via the upstream.yaml file I end up with 96 families with what looks like config files for gfbuilder from an initial 386 upstream.yaml files, see https://github.com/googlefonts/oxidize/issues/25#issuecomment-1152993157.

Please provide a curated list of families, my guess is something like 10-50, that cover a broad range of compile scenarios and are buildable by cloning the repository from upstream.yaml and running gfbuilder. I suggest a CSV file in the form:

# path_to_family, why_interesting
ofl/acme, "Super simple latin font, as basic as it gets"
ofl/acme2, "CJK family, huge but minimal layout"
ofl/acme3, "Arabic family, very complex layout"

Ideally I would like to have this early Q3, say by end of July.

EDIT: originally thought there were 53 families with config files, but that was based on the mistaken assumption familyName was required. Updated to 96.

rsheeter commented 2 years ago

QQ, is doing this by ~end July plausible?

rsheeter commented 2 years ago

Friendly ping?

RosaWagner commented 2 years ago

maybe @rsheeter you can give us the list of the 96 families that you have, and from that we can ask @yanone @vv-monsalve and @emmamarichal (who are onboarding most of the fonts) to give us a top 10 each of interesting builds ?

Can you confirm you need a broad variety of build cases such as:

What do you mean by complex or minimal layout? What do you call here layout?

m4rc1e commented 2 years ago

Families which take a long time to compile:

Families with multiple axes, manual hinting, UFO sources:

Colr v1 families:

Complex GSUB/GPOS:

Low Hanging fruit (static, no vf, no color):

Normal VF families building from UFO/designspace file:

Normal VF families building from .glyphs file:

Several sub-families building from same source:

rsheeter commented 2 years ago

Can you confirm you need a broad variety of build cases

Confirmed

What do you mean by complex or minimal layout? What do you call here layout?

Minimal layout: No kerning, ligatures, complex shaping rules. A simple monospace or CJK, e.g. you advance, draw glyph, not much else. Complex layout: hand wavily, anything with lots of stuff in GSUB/GPOS, particularly if the rules are complex, involve multiple glyphs or are contextual. Indix or Arabic fonts typically qualify. To my understanding Gulzar is on the extreme end of how complex we get with layout. I would expect we have some that are complex but not that complex.

Does that adequately answer?

vv-monsalve commented 1 year ago

Added a couple of items to Marc's above list

davelab6 commented 1 year ago

@rsheeter is this list satisfactory and we can close this issue? :)

rsheeter commented 1 year ago

Oh sorry, yes indeed. Thank you @m4rc1e and @vv-monsalve and @RosaWagner