From 9c764b6dc6e020aedc3373561a09f41f479847e3 Mon Sep 17 00:00:00 2001 From: James Godfrey-Kittle Date: Fri, 4 Sep 2015 17:07:30 -0700 Subject: Fix up *num features. A few things happening here: - References to *.lnum glyphs changed to *.pnum (reflecting the renames in the last commit). - Feature definitions expanded to handle feature combinations, not-working definitions removed from the resource directory. - Glyph classes added to make feature definitions clearer. - VFBs updated via vfb2ufo, based on updates to UFOs. --- res/diacritics.txt | 26 ++++++++++++++--------- res/ot_classes.txt | 2 -- res/ot_features.txt | 6 +----- src/v2/Roboto_Bold.ufo/glyphs/colon.pnum.glif | 2 +- src/v2/Roboto_Bold.ufo/glyphs/contents.plist | 12 +++++------ src/v2/Roboto_Bold.ufo/glyphs/one.pnum.glif | 2 +- src/v2/Roboto_Bold.ufo/glyphs/seven.pnum.glif | 2 +- src/v2/Roboto_Bold.ufo/lib.plist | 6 +++--- src/v2/Roboto_Bold.vfb | Bin 1092586 -> 415462 bytes src/v2/Roboto_Regular.ufo/features.fea | 18 ++++++++++------ src/v2/Roboto_Regular.ufo/glyphs/colon.pnum.glif | 2 +- src/v2/Roboto_Regular.ufo/glyphs/contents.plist | 12 +++++------ src/v2/Roboto_Regular.ufo/glyphs/one.pnum.glif | 2 +- src/v2/Roboto_Regular.ufo/glyphs/seven.pnum.glif | 2 +- src/v2/Roboto_Regular.ufo/lib.plist | 6 +++--- src/v2/Roboto_Regular.vfb | Bin 1210680 -> 471237 bytes src/v2/Roboto_Thin.ufo/glyphs/colon.pnum.glif | 2 +- src/v2/Roboto_Thin.ufo/glyphs/contents.plist | 12 +++++------ src/v2/Roboto_Thin.ufo/glyphs/one.pnum.glif | 2 +- src/v2/Roboto_Thin.ufo/glyphs/seven.pnum.glif | 2 +- src/v2/Roboto_Thin.ufo/lib.plist | 6 +++--- src/v2/Roboto_Thin.vfb | Bin 1044525 -> 405061 bytes 22 files changed, 65 insertions(+), 59 deletions(-) diff --git a/res/diacritics.txt b/res/diacritics.txt index c6fea0c..ec6a132 100644 --- a/res/diacritics.txt +++ b/res/diacritics.txt @@ -544,15 +544,21 @@ x+crossbar:cross=uni04FF epsilon=uni0511 F+crossbar:cross=franc emdash=uni2015 -#Lining numbers -two=two.lnum -three=three.lnum -four=four.lnum -five=five.lnum -six=six.lnum/20,0 -eight=eight.lnum/20,20 -nine=nine.lnum/0,20 -zero=zero.lnum/20,20 +# +# proportional numbers +two=two.pnum +three=three.pnum +four=four.pnum +five=five.pnum +six=six.pnum/20,0 +eight=eight.pnum/20,20 +nine=nine.pnum/0,20 +zero=zero.pnum/20,20 +# +# old-style numbers +six=six.onum +eight=eight.onum +# # AddGlyphs uni1FBE=uni037A #I=Iota1 @@ -1134,4 +1140,4 @@ U.unic+ring:top=Uring.unic U.unic+hungarumlaut:top=Uhungarumlaut.unic U.unic+ogonek:ogonek=Uogonek.unic dotlessi+tildesubnosp:bottom=uni1E2D.ccmp -dotlessi+dotbelow:bottom=uni1ECB.ccmp \ No newline at end of file +dotlessi+dotbelow:bottom=uni1ECB.ccmp diff --git a/res/ot_classes.txt b/res/ot_classes.txt index fe26046..c46f019 100644 --- a/res/ot_classes.txt +++ b/res/ot_classes.txt @@ -22,8 +22,6 @@ languagesystem grek dflt; @UC_SET3 = [ Alpha Alphatonos Beta Chi Delta Epsilon Epsilontonos Eta Etatonos Gamma Iota Iotadieresis Iotatonos Kappa Lambda Mu Omega Omegatonos Omicron Omicrontonos Phi Pi Psi Rho Sigma Tau Theta Upsilon Upsilondieresis Upsilontonos Xi Zeta Nu uni037F ]; @LC_SET3 = [ alpha alphatonos beta chi delta epsilon epsilontonos eta etatonos gamma iota iotadieresis iotatonos kappa lambda uni03BC omega omegatonos omicron omicrontonos phi pi psi rho sigma tau theta upsilon upsilondieresis upsilontonos xi zeta nu uni03F3 ]; @SC_SET3 = [ Alpha.smcp Alphatonos.smcp Beta.smcp Chi.smcp Delta.smcp Epsilon.smcp Epsilontonos.smcp Eta.smcp Etatonos.smcp Gamma.smcp Iota.smcp Iotadieresis.smcp Iotatonos.smcp Kappa.smcp Lambda.smcp Mu.smcp Omega.smcp Omegatonos.smcp Omicron.smcp Omicrontonos.smcp Phi.smcp Pi.smcp Psi.smcp Rho.smcp Sigma.smcp Tau.smcp Theta.smcp Upsilon.smcp Upsilondieresis.smcp Upsilontonos.smcp Xi.smcp Zeta.smcp Nu.smcp uni037F.smcp ]; -#@TNUM = [zero one two three four five six seven eight nine]; -#@LNUM = [zero.lnum one.lnum two.lnum three.lnum four.lnum five.lnum six.lnum seven.lnum eight.lnum nine.lnum]; @frac1 = [ zero one two three four five six seven eight nine ]; @frac2 = [ zero.frac onesuperior twosuperior threesuperior four.frac five.frac six.frac seven.frac eight.frac nine.frac ]; @frac3 = [ fraction zero.sup one.sup two.sup three.sup four.sup five.sup six.sup seven.sup eight.sup nine.sup ]; diff --git a/res/ot_features.txt b/res/ot_features.txt index ac707e1..d189d46 100644 --- a/res/ot_features.txt +++ b/res/ot_features.txt @@ -10,10 +10,6 @@ feature liga { sub f f i by ffi; } liga; -feature lnum { - sub @TNUM by @LNUM; -} - feature ss01 { sub alpha by alpha.alt; } @@ -24,4 +20,4 @@ feature ss02 { feature ss03 { sub R by R.alt; -} \ No newline at end of file +} diff --git a/src/v2/Roboto_Bold.ufo/glyphs/colon.pnum.glif b/src/v2/Roboto_Bold.ufo/glyphs/colon.pnum.glif index b078291..7eeeed5 100644 --- a/src/v2/Roboto_Bold.ufo/glyphs/colon.pnum.glif +++ b/src/v2/Roboto_Bold.ufo/glyphs/colon.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Bold.ufo/glyphs/contents.plist b/src/v2/Roboto_Bold.ufo/glyphs/contents.plist index 56172d3..1d26e52 100644 --- a/src/v2/Roboto_Bold.ufo/glyphs/contents.plist +++ b/src/v2/Roboto_Bold.ufo/glyphs/contents.plist @@ -796,8 +796,8 @@ uniFFFC____.glif uniFFFD uniFFFD____.glif - one.lnum - one.lnum.glif + one.pnum + one.pnum.glif largerighthook largerighthook.glif cyrillichook @@ -952,8 +952,8 @@ K_.alt2.glif k.alt2 k.alt2.glif - colon.lnum - colon.lnum.glif + colon.pnum + colon.pnum.glif quotedblx quotedblx.glif seven.alt @@ -986,8 +986,8 @@ nine.onum.glif zero.onum zero.onum.glif - seven.lnum - seven.lnum.glif + seven.pnum + seven.pnum.glif uni0459 uni0459.glif b.ss06 diff --git a/src/v2/Roboto_Bold.ufo/glyphs/one.pnum.glif b/src/v2/Roboto_Bold.ufo/glyphs/one.pnum.glif index dcfa697..e76051b 100644 --- a/src/v2/Roboto_Bold.ufo/glyphs/one.pnum.glif +++ b/src/v2/Roboto_Bold.ufo/glyphs/one.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Bold.ufo/glyphs/seven.pnum.glif b/src/v2/Roboto_Bold.ufo/glyphs/seven.pnum.glif index fe3e8c7..7529ce7 100644 --- a/src/v2/Roboto_Bold.ufo/glyphs/seven.pnum.glif +++ b/src/v2/Roboto_Bold.ufo/glyphs/seven.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Bold.ufo/lib.plist b/src/v2/Roboto_Bold.ufo/lib.plist index 6362c02..5a960dc 100644 --- a/src/v2/Roboto_Bold.ufo/lib.plist +++ b/src/v2/Roboto_Bold.ufo/lib.plist @@ -518,7 +518,7 @@ uniFEFF uniFFFC uniFFFD - one.lnum + one.pnum largerighthook cyrillichook cyrillichookleft @@ -596,7 +596,7 @@ k.alt K.alt2 k.alt2 - colon.lnum + colon.pnum quotedblx seven.alt G.alt @@ -613,7 +613,7 @@ seven.onum nine.onum zero.onum - seven.lnum + seven.pnum uni0459 b.ss06 c.ss06 diff --git a/src/v2/Roboto_Bold.vfb b/src/v2/Roboto_Bold.vfb index c17a35e..7c54196 100644 Binary files a/src/v2/Roboto_Bold.vfb and b/src/v2/Roboto_Bold.vfb differ diff --git a/src/v2/Roboto_Regular.ufo/features.fea b/src/v2/Roboto_Regular.ufo/features.fea index fa7b1d3..d93675e 100644 --- a/src/v2/Roboto_Regular.ufo/features.fea +++ b/src/v2/Roboto_Regular.ufo/features.fea @@ -87,8 +87,10 @@ languagesystem grek dflt; @LC_SET3 = [ alpha alphatonos beta chi delta epsilon epsilontonos eta etatonos gamma iota iotadieresis iotatonos kappa lambda uni03BC omega omegatonos omicron omicrontonos phi pi psi rho sigma tau theta upsilon upsilondieresis upsilontonos xi zeta nu uni03F3 ]; @SC_SET3 = [ Alpha.smcp Alphatonos.smcp Beta.smcp Chi.smcp Delta.smcp Epsilon.smcp Epsilontonos.smcp Eta.smcp Etatonos.smcp Gamma.smcp Iota.smcp Iotadieresis.smcp Iotatonos.smcp Kappa.smcp Lambda.smcp Mu.smcp Omega.smcp Omegatonos.smcp Omicron.smcp Omicrontonos.smcp Phi.smcp Pi.smcp Psi.smcp Rho.smcp Sigma.smcp Tau.smcp Theta.smcp Upsilon.smcp Upsilondieresis.smcp Upsilontonos.smcp Xi.smcp Zeta.smcp Nu.smcp uni037F.smcp ]; -#@TNUM = [zero one two three four five six seven eight nine]; -#@LNUM = [zero.lnum one.lnum two.lnum three.lnum four.lnum five.lnum six.lnum seven.lnum eight.lnum nine.lnum]; +@LNUM = [zero one two three four five six seven eight nine]; +@ONUM = [zero.onum one.onum two.onum three.onum four.onum five.onum six.onum seven.onum eight.onum nine.onum]; +@PNUM = [zero.pnum one.pnum two.pnum three.pnum four.pnum five.pnum six.pnum seven.pnum eight.pnum nine.pnum]; +@TNUM = [zero.tnum one.tnum two.tnum three.tnum four.tnum five.tnum six.tnum seven.tnum eight.tnum nine.tnum]; @frac1 = [ zero one two three four five six seven eight nine ]; @frac2 = [ zero.frac onesuperior twosuperior threesuperior four.frac five.frac six.frac seven.frac eight.frac nine.frac ]; @frac3 = [ fraction zero.sup one.sup two.sup three.sup four.sup five.sup six.sup seven.sup eight.sup nine.sup ]; @@ -1022,22 +1024,26 @@ feature ss07 { feature onum { - sub [zero one two three four five seven nine] by [zero.onum one.onum two.onum three.onum four.onum five.onum seven.onum nine.onum]; + sub @LNUM by @ONUM; + sub @PNUM by @TNUM; } onum; feature tnum { - sub [zero.lnum one.lnum two.lnum three.lnum four.lnum five.lnum seven.lnum nine.lnum] by [zero one two three four five seven nine]; + sub @PNUM by @LNUM; + sub @ONUM by @TNUM; } tnum; feature pnum { - sub [zero one two three four five seven nine] by [zero.lnum one.lnum two.lnum three.lnum four.lnum five.lnum seven.lnum nine.lnum]; + sub @LNUM by @PNUM; + sub @TNUM by @ONUM; } pnum; feature lnum { - sub [zero.onum one.onum two.onum three.onum four.onum five.onum seven.onum nine.onum] by [zero one two three four five seven nine]; + sub @ONUM by @LNUM; + sub @TNUM by @PNUM; } lnum; diff --git a/src/v2/Roboto_Regular.ufo/glyphs/colon.pnum.glif b/src/v2/Roboto_Regular.ufo/glyphs/colon.pnum.glif index 7a52479..d9daf81 100644 --- a/src/v2/Roboto_Regular.ufo/glyphs/colon.pnum.glif +++ b/src/v2/Roboto_Regular.ufo/glyphs/colon.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Regular.ufo/glyphs/contents.plist b/src/v2/Roboto_Regular.ufo/glyphs/contents.plist index 3128b2d..d5a4bea 100644 --- a/src/v2/Roboto_Regular.ufo/glyphs/contents.plist +++ b/src/v2/Roboto_Regular.ufo/glyphs/contents.plist @@ -798,8 +798,8 @@ uniFFFC____.glif uniFFFD uniFFFD____.glif - one.lnum - one.lnum.glif + one.pnum + one.pnum.glif largerighthook largerighthook.glif cyrillichook @@ -954,8 +954,8 @@ K_.alt2.glif k.alt2 k.alt2.glif - colon.lnum - colon.lnum.glif + colon.pnum + colon.pnum.glif quotedblx quotedblx.glif seven.alt @@ -988,8 +988,8 @@ nine.onum.glif zero.onum zero.onum.glif - seven.lnum - seven.lnum.glif + seven.pnum + seven.pnum.glif b.ss06 b.ss06.glif c.ss06 diff --git a/src/v2/Roboto_Regular.ufo/glyphs/one.pnum.glif b/src/v2/Roboto_Regular.ufo/glyphs/one.pnum.glif index b9df2c0..01fc422 100644 --- a/src/v2/Roboto_Regular.ufo/glyphs/one.pnum.glif +++ b/src/v2/Roboto_Regular.ufo/glyphs/one.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Regular.ufo/glyphs/seven.pnum.glif b/src/v2/Roboto_Regular.ufo/glyphs/seven.pnum.glif index 81ae3a4..76fd0b0 100644 --- a/src/v2/Roboto_Regular.ufo/glyphs/seven.pnum.glif +++ b/src/v2/Roboto_Regular.ufo/glyphs/seven.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Regular.ufo/lib.plist b/src/v2/Roboto_Regular.ufo/lib.plist index 81a4d2d..1e7c657 100644 --- a/src/v2/Roboto_Regular.ufo/lib.plist +++ b/src/v2/Roboto_Regular.ufo/lib.plist @@ -649,7 +649,7 @@ uniFEFF uniFFFC uniFFFD - one.lnum + one.pnum largerighthook cyrillichook cyrillichookleft @@ -727,7 +727,7 @@ k.alt K.alt2 k.alt2 - colon.lnum + colon.pnum quotedblx seven.alt G.alt @@ -744,7 +744,7 @@ seven.onum nine.onum zero.onum - seven.lnum + seven.pnum b.ss06 c.ss06 d.ss06 diff --git a/src/v2/Roboto_Regular.vfb b/src/v2/Roboto_Regular.vfb index 64f5eb3..252e7cb 100644 Binary files a/src/v2/Roboto_Regular.vfb and b/src/v2/Roboto_Regular.vfb differ diff --git a/src/v2/Roboto_Thin.ufo/glyphs/colon.pnum.glif b/src/v2/Roboto_Thin.ufo/glyphs/colon.pnum.glif index 30cb9eb..d109f23 100644 --- a/src/v2/Roboto_Thin.ufo/glyphs/colon.pnum.glif +++ b/src/v2/Roboto_Thin.ufo/glyphs/colon.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Thin.ufo/glyphs/contents.plist b/src/v2/Roboto_Thin.ufo/glyphs/contents.plist index 7862fcf..3f91934 100644 --- a/src/v2/Roboto_Thin.ufo/glyphs/contents.plist +++ b/src/v2/Roboto_Thin.ufo/glyphs/contents.plist @@ -798,8 +798,8 @@ uniFFFC____.glif uniFFFD uniFFFD____.glif - one.lnum - one.lnum.glif + one.pnum + one.pnum.glif largerighthook largerighthook.glif cyrillichook @@ -954,8 +954,8 @@ K_.alt2.glif k.alt2 k.alt2.glif - colon.lnum - colon.lnum.glif + colon.pnum + colon.pnum.glif quotedblx quotedblx.glif seven.alt @@ -988,8 +988,8 @@ nine.onum.glif zero.onum zero.onum.glif - seven.lnum - seven.lnum.glif + seven.pnum + seven.pnum.glif b.ss06 b.ss06.glif c.ss06 diff --git a/src/v2/Roboto_Thin.ufo/glyphs/one.pnum.glif b/src/v2/Roboto_Thin.ufo/glyphs/one.pnum.glif index 8009c21..69eadc4 100644 --- a/src/v2/Roboto_Thin.ufo/glyphs/one.pnum.glif +++ b/src/v2/Roboto_Thin.ufo/glyphs/one.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Thin.ufo/glyphs/seven.pnum.glif b/src/v2/Roboto_Thin.ufo/glyphs/seven.pnum.glif index 9a5bf4d..02aebb0 100644 --- a/src/v2/Roboto_Thin.ufo/glyphs/seven.pnum.glif +++ b/src/v2/Roboto_Thin.ufo/glyphs/seven.pnum.glif @@ -1,5 +1,5 @@ - + diff --git a/src/v2/Roboto_Thin.ufo/lib.plist b/src/v2/Roboto_Thin.ufo/lib.plist index 2eda82c..c3e767c 100644 --- a/src/v2/Roboto_Thin.ufo/lib.plist +++ b/src/v2/Roboto_Thin.ufo/lib.plist @@ -601,7 +601,7 @@ uniFEFF uniFFFC uniFFFD - one.lnum + one.pnum largerighthook cyrillichook cyrillichookleft @@ -679,7 +679,7 @@ k.alt K.alt2 k.alt2 - colon.lnum + colon.pnum quotedblx seven.alt G.alt @@ -696,7 +696,7 @@ seven.onum nine.onum zero.onum - seven.lnum + seven.pnum b.ss06 c.ss06 d.ss06 diff --git a/src/v2/Roboto_Thin.vfb b/src/v2/Roboto_Thin.vfb index c026476..d3cf141 100644 Binary files a/src/v2/Roboto_Thin.vfb and b/src/v2/Roboto_Thin.vfb differ -- cgit v1.2.3