googlefonts / roboto-classic

Development of a Roboto Variable font
SIL Open Font License 1.1
150 stars 15 forks source link

Android Wear needs a "skinny" version of Roboto VF #72

Open marekjez86 opened 4 years ago

marekjez86 commented 4 years ago

Android Wear needs a "skinny" version of Roboto. Currently they use only four instances (no condensed): Roboto-Regular.ttf \ Roboto-Bold.ttf \ Roboto-Italic.ttf \ Roboto-BoldItalic.ttf

Could you come up with a Roboto VF without condensed, with weight from 400 through 700, and full italics? I wanted to see if it is possible to be below or close to about 1.3MB in the "skinny" Roboto size.

If not could we try Roboto VF Upright without condensed, with weight from 400 through 700 and Roboto VF Italic without condensed, with weight from 400 through 700?

If this doesn't come out the right size, could we just make 4 instances just like the one they want...

The requirements:

Please advise what's doable.

I tried but it failed (maybe I have older fonttools, but if fonttools need fixing please help to fix them): marekj-macbookpro5% fonttools varLib.instancer -o out.ttf Roboto[ital,wdth,wght].ttf wdth=drop wght=400:700 Restricting axes: {'wdth': None, 'wght': AxisRange(400, 700)} Loading variable font Normalized limits: {'wght': NormalizedAxisRange(0, 0.677551), 'wdth': 0.0} Instantiating glyf/gvar tables Instantiating HVAR table Instantiating GDEF and GPOS tables Instantiating avar table Instantiating STAT table Traceback (most recent call last): File "/usr/local/bin/fonttools", line 10, in sys.exit(main()) File "/Users/marekj/Library/Python/3.7/lib/python/site-packages/fontTools/main.py", line 28, in main runpy.run_module(mod, run_name='main') File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 208, in run_module return _run_code(code, {}, init_globals, run_name, mod_spec) File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py", line 85, in _run_code exec(code, run_globals) File "/Users/marekj/Library/Python/3.7/lib/python/site-packages/fontTools/varLib/instancer.py", line 1414, in sys.exit(main()) File "/Users/marekj/Library/Python/3.7/lib/python/site-packages/fontTools/varLib/instancer.py", line 1393, in main overlap=options.overlap, File "/Users/marekj/Library/Python/3.7/lib/python/site-packages/fontTools/varLib/instancer.py", line 1243, in instantiateVariableFont instantiateSTAT(varfont, axisLimits) File "/Users/marekj/Library/Python/3.7/lib/python/site-packages/fontTools/varLib/instancer.py", line 1024, in instantiateSTAT axisTag = designAxes[axisValueTable.AxisIndex].AxisTag IndexError: list index out of range

davelab6 commented 4 years ago

I would prefer to do this as a fonttools varLib.instancer post processing step, than a 2nd build path from source.

@m4rc1e do you have a preference?

dberlow commented 4 years ago

Awaiting any instructions that we might execute to help.

On Fri, Jun 12, 2020 at 3:55 PM Dave Crossland notifications@github.com wrote:

I would prefer to do this as a fonttools varLib.instancer post processing step, than a 2nd build path from source.

@m4rc1e https://github.com/m4rc1e do you have a preference?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/TypeNetwork/Roboto/issues/72#issuecomment-643457273, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAO5VDXSIBCRUUUOH7KHASLRWKBZXANCNFSM4N4TARSA .

marekjez86 commented 4 years ago

Initially I'd like to get to examine all three variants:

  1. Roboto VF without condensed, with weight from 400 through 700, and italics (full range)
  2. two Roboto VFs without condensed, with weight from 400 through 700 - one ital=0 and one ital=1
  3. 4 instances Roboto-Regular.ttf, Roboto-Bold.ttf, Roboto-Italic.ttf and Roboto-BoldItalic.ttf

with 1. being the most desirable font to give Wear and choice 3. only as a last resort

davelab6 commented 3 years ago

@marekjez86 were you able to use fonttools varLib.instancer to create these comparisons? :)

marekjez86 commented 3 years ago

I haven't compared anything ... I'm not sure what you want to get but here are two commands I use

Note that Noto variable fonts have either both width, wght axis or only wght

$i is the name of the variable font file -o is the output path (slim-no-wdth and slim-drop are two names of my directories, but you can pick whatever you want -- I have both because I ran it through all of my variable fonts and I don't know in my script the axis of each font)

fonttools varLib.instancer -o slim-drop/$i $i wdth=drop wght=400:700

the above will drop wdth axis AND reduce wght axis to 400 (Regular)

through 700 (Bold)

OR

fonttools varLib.instancer -o slim-no-wdth/$i $i wght=400:700

the above will reduce wght axis to 400 (Regular) through 700 (Bold)

my whole script I use is at https://github.com/googlefonts/noto-source/blob/master/misc_scripts/slimmer-vfs.sh (it's Noto specific)

let me know if you need help or give me your font and tell me what axis do you want to get out of your VF font

On Tue, Nov 10, 2020 at 9:15 PM Dave Crossland notifications@github.com wrote:

@marekjez86 https://github.com/marekjez86 were you able to use fonttools varLib.instancer to create these comparisons? :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/TypeNetwork/Roboto/issues/72#issuecomment-725203462, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADFUS7YAN7LIHT67MW3XAYTSPIMW5ANCNFSM4N4TARSA .