diff options
author | Karl Berry <karl@freefriends.org> | 2010-10-13 00:01:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-10-13 00:01:05 +0000 |
commit | 7e05d28a6598ad3b7d70ab1b23854fc43a9a9753 (patch) | |
tree | 17e239c0cedb89bb02686677e7ee2766f4e74f5e /Master/texmf-dist/doc/fonts/poltawski | |
parent | 818bf5570a44805150dfd9d69a3435cacdfa05e1 (diff) |
poltawski (12oct10)
git-svn-id: svn://tug.org/texlive/trunk@20075 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/fonts/poltawski')
49 files changed, 6695 insertions, 1688 deletions
diff --git a/Master/texmf-dist/doc/fonts/poltawski/MANIFEST-Antykwa-Poltawskiego.txt b/Master/texmf-dist/doc/fonts/poltawski/MANIFEST-Antykwa-Poltawskiego.txt index d60f90ff787..3fd1a40ceb1 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/MANIFEST-Antykwa-Poltawskiego.txt +++ b/Master/texmf-dist/doc/fonts/poltawski/MANIFEST-Antykwa-Poltawskiego.txt @@ -4,8 +4,8 @@ Font: Antykwa Poltawskiego Authors: Bogus\l{}aw Jackowski and Janusz M. Nowacki -Version: 1.10 -Date: 9 IX 2010 +Version: 1.101 +Date: 9 X 2010 Downloads: http://www.gust.org.pl/projects/e-foundry/poltawski/ License: diff --git a/Master/texmf-dist/doc/fonts/poltawski/README-Antykwa-Poltawskiego.txt b/Master/texmf-dist/doc/fonts/poltawski/README-Antykwa-Poltawskiego.txt index b3290d31a72..5aff30a34aa 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/README-Antykwa-Poltawskiego.txt +++ b/Master/texmf-dist/doc/fonts/poltawski/README-Antykwa-Poltawskiego.txt @@ -4,8 +4,8 @@ Font: Antykwa Poltawskiego Authors: Bogus\l{}aw Jackowski and Janusz M. Nowacki -Version: 1.10 -Date: 9 IX 2010 +Version: 1.101 +Date: 9 X 2010 Downloads: http://www.gust.org.pl/projects/e-foundry/poltawski/ License: @@ -98,8 +98,9 @@ Altogether, the collection comprises 40 font files, i.e.: The OTF fonts are equipped with the following "features": - cpsp, dlig, dnom, frac, kern, liga, lnum, locl, numr, - onum, pnum, sinf, size, subs, sups, tnum, zero + c2sc, cpsp, dlig, dnom, frac, kern, liga, lnum, locl, + numr, onum, pnum, salt, sinf, size, smcp, ss01, ss02, + ss03, ss04, subs, sups, tnum, zero The collection may be freely used and distributed under the GUST Font License (see above) which is actually an instance of the LaTeX Project diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpb10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpb10.fea index 107821e6d45..7049e9bbb13 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpb10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpb10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpb12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpb12.fea index f3fb7f2d2c6..283baf699b3 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpb12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpb12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpb17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpb17.fea index 29134bd2117..20f15de17bb 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpb17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpb17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpb6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpb6.fea index c2c91edff57..e6acec8a3c4 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpb6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpb6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpb8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpb8.fea index 31f7c9d2873..c5a4d6e499d 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpb8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpb8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpbi10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpbi10.fea index 1e1361e54de..2e99e3069b8 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpbi10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpbi10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpbi12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpbi12.fea index 2114b9db4ec..f1f7501985b 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpbi12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpbi12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpbi17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpbi17.fea index c7e54e75346..c9232e66145 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpbi17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpbi17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpbi6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpbi6.fea index 0d3872a849e..96781558a26 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpbi6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpbi6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpbi8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpbi8.fea index 09bbeda6ae5..f959bd1ff3f 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpbi8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpbi8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpl10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpl10.fea index f4f669a9bcd..26c2f181206 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpl10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpl10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpl12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpl12.fea index 5b756e84884..623d5215594 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpl12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpl12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpl17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpl17.fea index de6c119d21d..fdfef2fc922 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpl17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpl17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpl6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpl6.fea index a71a49e90e8..6f64ecc7ac8 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpl6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpl6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpl8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpl8.fea index 3b7b0f0e442..398ddae508f 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpl8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpl8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpli10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpli10.fea index 65cc336cb3d..f66e54b95d4 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpli10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpli10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpli12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpli12.fea index 028b712a36b..1497a76e647 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpli12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpli12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpli17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpli17.fea index d94efbac854..6c6725c8368 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpli17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpli17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpli6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpli6.fea index 024cf9630a9..3c84205b671 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpli6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpli6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpli8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpli8.fea index 63eb076879b..70877fe3163 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpli8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpli8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpm10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpm10.fea index 639331f9553..7d2f8cb30b4 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpm10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpm10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpm12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpm12.fea index 1ecf33fd57c..919ffb8942b 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpm12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpm12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpm17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpm17.fea index 8752ef4d3fb..30808f7b9f3 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpm17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpm17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpm6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpm6.fea index e416286c385..a15a51425f6 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpm6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpm6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpm8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpm8.fea index 7985b29e230..09fdb385ecb 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpm8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpm8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpmi10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpmi10.fea index 423ba089484..cbebfd1ffea 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpmi10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpmi10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpmi12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpmi12.fea index fbbf8ef83ba..56db4243c4b 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpmi12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpmi12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpmi17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpmi17.fea index 9b854364a83..c4d329ab5ce 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpmi17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpmi17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpmi6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpmi6.fea index 6e760b4edae..9b7cd855022 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpmi6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpmi6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpmi8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpmi8.fea index b2ceff7b8c5..b14fc0127a4 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpmi8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpmi8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpr10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpr10.fea index 592e3c38376..e9dbfd234fb 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpr10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpr10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpr12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpr12.fea index 9fb542b01b3..0c8d2a4270c 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpr12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpr12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpr17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpr17.fea index 70dd1a8fda6..2285ceef35b 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpr17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpr17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpr6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpr6.fea index b89b3aa0df4..71efeda292a 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpr6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpr6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpr8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpr8.fea index bdc284b7065..d34ce83b832 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpr8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpr8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpri10.fea b/Master/texmf-dist/doc/fonts/poltawski/antpri10.fea index e8bb8819066..64c51ed16e1 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpri10.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpri10.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpri12.fea b/Master/texmf-dist/doc/fonts/poltawski/antpri12.fea index 41201a12f09..41d7d67ef78 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpri12.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpri12.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpri17.fea b/Master/texmf-dist/doc/fonts/poltawski/antpri17.fea index 3ea8c73c6b5..8fc516f82fd 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpri17.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpri17.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpri6.fea b/Master/texmf-dist/doc/fonts/poltawski/antpri6.fea index 33e582ed55f..15ba91716d0 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpri6.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpri6.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/antpri8.fea b/Master/texmf-dist/doc/fonts/poltawski/antpri8.fea index f75abfafd26..61bd738d31e 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/antpri8.fea +++ b/Master/texmf-dist/doc/fonts/poltawski/antpri8.fea @@ -11,9 +11,36 @@ languagesystem cyrl dflt; # complete features table head{ -FontRevision 1.100; +FontRevision 1.101; } head; +@altsrc1=[# all alternates +at copyright fraction paragraph registered +epsilon mu pi phi rho theta +macron macron.cap Imacron imacron imacron.sc]; +# +@altsrc2=[# "genuine" alternates +at copyright fraction paragraph registered]; +# +@altsrc3=[# "Greek" alternates +epsilon mu pi phi rho theta]; +# +@altsrc4=[# "Idris" alternates +macron macron.cap Imacron imacron imacron.sc]; + +@altres1=[# all alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1 +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; +# +@altres2=[# "genuine" alternates +at.alt copyright.alt fraction.alt paragraph.alt registered.alt]; +@altres3=[# "Greek" alternates +epsilon.alt mu.greek uni03D6 uni03D5 rho.alt uni03D1]; +# +@altres4=[# "Idris" alternates +macron.alt macron.cap.alt Imacron.alt imacron.alt imacron.alt.sc]; + @othbas=[ampersand cent dollar]; @othold=[ampersand # ampersand.oldstyle in the future? @@ -48,12 +75,13 @@ nine.dnom]; four.numr five.numr six.numr seven.numr eight.numr nine.numr]; -@nzfignumr=[one.numr two.numr three.numr -four.numr five.numr six.numr seven.numr eight.numr -nine.numr]; +@allzeros=[zero zero.prop zero.taboldstyle zero.oldstyle zero.inferior +zero.superior zero.dnom zero.numr zero.slash]; # but perthousandzero, just because @letcapbas=[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]; @letsmabas=[a b c d e f g h i j k l m n o p q r s t u v w x y z]; +@letcscbas=[a.sc b.sc c.sc d.sc e.sc f.sc g.sc h.sc i.sc j.sc k.sc l.sc m.sc +n.sc o.sc p.sc q.sc r.sc s.sc t.sc u.sc v.sc w.sc x.sc y.sc z.sc]; @letcapoth=[Aacute Abreve Abreveacute Abrevedotbelow Abrevegrave Abrevehookabove Abrevetilde Acircumflex Acircumflexacute Acircumflexdotbelow @@ -121,8 +149,56 @@ uhorntilde uhungarumlaut umacron uogonek uring utilde wacute wcircumflex wdieresis wgrave yacute ycircumflex ydieresis ydotbelow ygrave yhookabove ytilde zacute zcaron zdotaccent zdotbelow]; +@letcscoth=[aacute.sc abreve.sc abreveacute.sc abrevedotbelow.sc +abrevegrave.sc abrevehookabove.sc abrevetilde.sc acircumflex.sc +acircumflexacute.sc acircumflexdotbelow.sc acircumflexgrave.sc +acircumflexhookabove.sc acircumflextilde.sc adblgrave.sc adieresis.sc +adotbelow.sc ae.sc aeacute.sc agrave.sc ahookabove.sc amacron.sc aogonek.sc +aogonekacute.sc aring.sc aringacute.sc atilde.sc cacute.sc ccaron.sc + ccedilla.sc ccircumflex.sc cdotaccent.sc dcaron.sc dcroat.sc ddotbelow.sc +dlinebelow.sc eacute.sc ebreve.sc ecaron.sc ecircumflex.sc +ecircumflexacute.sc ecircumflexdotbelow.sc ecircumflexgrave.sc +ecircumflexhookabove.sc ecircumflextilde.sc edblgrave.sc edieresis.sc +edotaccent.sc edotbelow.sc egrave.sc ehookabove.sc emacron.sc eng.sc +eogonek.sc eogonekacute.sc ereversed.sc eth.sc etilde.sc gacute.sc gbreve.sc +gcaron.sc gcircumflex.sc gcommaaccent.sc gdotaccent.sc germandbls.sc hbar.sc +hbrevebelow.sc hcircumflex.sc hdieresis.sc hdotbelow.sc + h_uni0303.sc # htilde.sc + i_j.sc iacute.sc ibreve.sc icircumflex.sc idblgrave.sc idieresis.sc +idotbelow.sc igrave.sc ihookabove.sc imacron.sc imacron.alt.sc iogonek.sc +iogonekacute.sc itilde.sc jacute.sc jcircumflex.sc kcommaaccent.sc lacute.sc +lcaron.sc lcommaaccent.sc ldot.sc ldotbelow.sc ldotbelowmacron.sc lslash.sc + l_uni0303.sc # ltilde.sc + mdotbelow.sc nacute.sc ncaron.sc ncommaaccent.sc ndotaccent.sc ndotbelow.sc +ntilde.sc oacute.sc obreve.sc ocircumflex.sc ocircumflexacute.sc +ocircumflexdotbelow.sc ocircumflexgrave.sc ocircumflexhookabove.sc +ocircumflextilde.sc odblgrave.sc odieresis.sc odotbelow.sc oe.sc ograve.sc +ohookabove.sc ohorn.sc ohornacute.sc ohorndotbelow.sc ohorngrave.sc +ohornhookabove.sc ohorntilde.sc ohungarumlaut.sc omacron.sc oogonek.sc +oogonekacute.sc oslash.sc oslashacute.sc otilde.sc racute.sc rcaron.sc +rcommaaccent.sc rdblgrave.sc rdotaccent.sc rdotbelow.sc rdotbelowmacron.sc +sacute.sc scaron.sc scedilla.sc scircumflex.sc + uni0219.sc # scommaaccent.sc + sdotbelow.sc tcaron.sc tcedilla.sc + uni021B.sc # tcommaaccent.sc + tdieresis.sc tdotbelow.sc thorn.sc tlinebelow.sc + t_uni0303.sc # ttilde.sc + uacute.sc ubreve.sc ubrevebelowinverted.sc ucircumflex.sc udblgrave.sc +udieresis.sc udotbelow.sc ugrave.sc uhookabove.sc uhorn.sc uhornacute.sc +uhorndotbelow.sc uhorngrave.sc uhornhookabove.sc uhorntilde.sc +uhungarumlaut.sc umacron.sc uogonek.sc uring.sc utilde.sc wacute.sc +wcircumflex.sc wdieresis.sc wgrave.sc yacute.sc ycircumflex.sc ydieresis.sc +ydotbelow.sc ygrave.sc yhookabove.sc ytilde.sc zacute.sc zcaron.sc +zdotaccent.sc zdotbelow.sc]; + +@c2sc1=[@letcapbas @letcapoth]; +@c2sc2=[@letcscbas @letcscoth]; + @cpsp1=[@letcapbas @letcapoth]; +@smcp1=[@letsmabas @letsmaoth]; +@smcp2=[@letcscbas @letcscoth]; + @figprop=[@figlinprop @figoldprop @othbas]; @figtab=[@figlintab @figoldtab @othbas]; @@ -153,6 +229,13 @@ feature aalt{ feature dnum; # denominators # feature liga; # standard ligatures # feature dlig; # discretionary ligatures + feature smcp; # Small Capitals + feature c2sc; # Small Capitals From Capitals + feature salt; # Stylistic Alternates + feature ss01; # Stylistic Set 1 = Stylistic Alternates + feature ss02; # Stylistic Set 2 + feature ss03; # Stylistic Set 3 + feature ss04; # Stylistic Set 4 feature zero; # slashed zero } aalt; @@ -172,6 +255,10 @@ feature cpsp { # Capital Spacing pos @cpsp1 <7 0 14 0>; } cpsp; +feature smcp { # Small Capitals + sub @smcp1 by @smcp2; +} smcp; + feature onum { # Old Style Figures sub @onum1 by @onum2; } onum; @@ -198,21 +285,31 @@ feature sups { } sups; feature numr { - sub @figlintab by @fignumr; - sub @figlinprop by @fignumr; - sub @figoldtab by @fignumr; - sub @figoldprop by @fignumr; - sub @figsupr by @fignumr; - sub @figinfr by @fignumr; + lookup numr1 { + sub @figlintab by @fignumr; + sub @figlinprop by @fignumr; + sub @figoldtab by @fignumr; + sub @figoldprop by @fignumr; + sub @figsupr by @fignumr; + sub @figinfr by @fignumr; + } numr1; + lookup numr2 { + sub @fignumr slash' by fraction; + } numr2; } numr; feature dnom { - sub @figlintab by @figdnom; - sub @figlinprop by @figdnom; - sub @figoldtab by @figdnom; - sub @figoldprop by @figdnom; - sub @figsupr by @figdnom; - sub @figinfr by @figdnom; + lookup dnom1 { + sub @figlintab by @figdnom; + sub @figlinprop by @figdnom; + sub @figoldtab by @figdnom; + sub @figoldprop by @figdnom; + sub @figsupr by @figdnom; + sub @figinfr by @figdnom; + } dnom1; + lookup dnom2 { + sub slash' @figdnom by fraction; + } dnom2; } dnom; feature subs { @@ -235,7 +332,7 @@ feature sinf { feature frac { - lookup fra1 { + lookup frac1 { sub @figlintab by @fignumr; sub @figlinprop by @fignumr; sub @figoldtab by @fignumr; @@ -243,31 +340,13 @@ feature frac { sub @figinfr by @fignumr; sub @figsupr by @fignumr; sub @figdnom by @fignumr; - } fra1; + } frac1; - lookup fra2 { + lookup frac2 { sub @fignumr slash' @fignumr by fraction; - } fra2; - - lookup fra3 { - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' zero.numr' @nzfignumr; - ignore sub @fignumr zero.numr' fraction' zero.numr'; - ignore sub zero.numr' fraction' zero.numr' @nzfignumr; - sub zero.numr' fraction' zero.numr' zero.numr' zero.numr' by permyriad; - sub zero.numr' fraction' zero.numr' zero.numr' by perthousand; - sub zero.numr' fraction' zero.numr' by percent; - } fra3; - - lookup fra4 { - sub percent zero.numr zero.numr by permyriad; - sub percent zero.numr by perthousand; - sub perthousand zero.numr by permyriad; - } fra4; - - lookup fra5 { + } frac2; + + lookup frac3 { sub one.numr fraction two.numr by onehalf; # sub one.numr fraction three.numr by onethird; # sub two.numr fraction three.numr by twothirds; @@ -283,9 +362,8 @@ feature frac { # sub three.numr fraction eight.numr by threeeighths; # sub five.numr fraction eight.numr by fiveeighths; # sub seven.numr fraction eight.numr by seveneighths; - } fra5; + } frac3; - sub [permyriad perthousandzero] zero.numr' by perthousandzero; sub [fraction slash onehalf onequarter @figdnom threequarters] @fignumr' by @figdnom; } frac; @@ -349,8 +427,55 @@ feature dlig { # Discretionary Ligatures # AFDKO places grave at the slot 96 (ANSI / Mac) sub exclam grave by exclamdown; sub question grave by questiondown; +# BOP's idiosyncrasy (?) + lookup perc_etc1 { + sub percent @allzeros by perthousand; + sub percent perthousandzero by perthousand; # imperceptible ligature + } perc_etc1; + lookup perc_etc2 { + sub perthousand @allzeros by permyriad; + sub perthousand perthousandzero by permyriad; # imperceptible ligature + } perc_etc2; + lookup perc_etc3 { + # @allzeros' cannot be used, hence enumeration + sub [permyriad perthousandzero] zero' by perthousandzero; + sub [permyriad perthousandzero] zero.prop' by perthousandzero; + sub [permyriad perthousandzero] zero.taboldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.oldstyle' by perthousandzero; + sub [permyriad perthousandzero] zero.inferior' by perthousandzero; + sub [permyriad perthousandzero] zero.superior' by perthousandzero; + sub [permyriad perthousandzero] zero.dnom' by perthousandzero; + sub [permyriad perthousandzero] zero.numr' by perthousandzero; + sub [permyriad perthousandzero] zero.slash' by perthousandzero; + } perc_etc3; } dlig; +feature c2sc { # Small Capitals From Capitals + sub @c2sc1 by @c2sc2; +} c2sc; + +feature salt { # Stylistic Alternates + sub @altsrc1 by @altres1; +} salt; + +feature ss01 { # Stylistic Set 1 = Stylistic Alternates + # see http://www.typophile.com/node/32399 and + # http://www.typotheque.com/fonts/opentype_feature_support/ + sub @altsrc1 by @altres1; +} ss01; + +feature ss02 { # Stylistic Set 2 + sub @altsrc2 by @altres2; +} ss02; + +feature ss03 { # Stylistic Set 3 + sub @altsrc3 by @altres3; +} ss03; + +feature ss04 { # Stylistic Set 4 + sub @altsrc4 by @altres4; +} ss04; + feature zero { # Slashed Zero sub zero by zero.slash; } zero; diff --git a/Master/texmf-dist/doc/fonts/poltawski/ap-hist.txt b/Master/texmf-dist/doc/fonts/poltawski/ap-hist.txt index df57cb3761f..6e8bae2ca95 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/ap-hist.txt +++ b/Master/texmf-dist/doc/fonts/poltawski/ap-hist.txt @@ -5,11 +5,17 @@ For the most recent version of this license see http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt or http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt -Ver 1.00: 30.07.2010 +Ver 1.000: 30.07.2010 first unofficial release of the enhanced Antykwa Poltawskiego collection of fonts (including fonts in the OTF format) -Ver 1.10: 09.09.2010 +Ver 1.100: 09.09.2010 first official release of the enhanced Antykwa Poltawskiego; thus, the preliminary version of Antykwa Poltawskiego (antp package) released in 2000 becomes obsolete + +Ver 1.101: 09.10.2010 + mistakenly missing `smcp' (small caps) feature and stylistic alternatives + added in OTF files; altered implementation of the `numr', `dnom', `frac', + and `dlig' features; other font files remained essentially intact (only + version number changed).
\ No newline at end of file diff --git a/Master/texmf-dist/doc/fonts/poltawski/ap-info.pdf b/Master/texmf-dist/doc/fonts/poltawski/ap-info.pdf Binary files differindex ddd5497b167..f157e16eaa3 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/ap-info.pdf +++ b/Master/texmf-dist/doc/fonts/poltawski/ap-info.pdf diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf Binary files differindex b85fa90c843..09c5da181fe 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf +++ b/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf Binary files differindex 37b2f138813..623d4511b39 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf +++ b/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf Binary files differindex ef3d7aed22a..e527403bd01 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf +++ b/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf Binary files differindex 3f5b342df88..b89f45c6d93 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf +++ b/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf Binary files differindex 20c8b217e45..8f365f83560 100644 --- a/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf +++ b/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf |