summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/poltawski
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-10-13 00:01:05 +0000
committerKarl Berry <karl@freefriends.org>2010-10-13 00:01:05 +0000
commit7e05d28a6598ad3b7d70ab1b23854fc43a9a9753 (patch)
tree17e239c0cedb89bb02686677e7ee2766f4e74f5e /Master/texmf-dist/doc/fonts/poltawski
parent818bf5570a44805150dfd9d69a3435cacdfa05e1 (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')
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/MANIFEST-Antykwa-Poltawskiego.txt4
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/README-Antykwa-Poltawskiego.txt9
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpb10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpb12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpb17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpb6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpb8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpbi10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpbi12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpbi17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpbi6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpbi8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpl10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpl12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpl17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpl6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpl8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpli10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpli12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpli17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpli6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpli8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpm10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpm12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpm17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpm6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpm8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpmi10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpmi12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpmi17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpmi6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpmi8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpr10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpr12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpr17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpr6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpr8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpri10.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpri12.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpri17.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpri6.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/antpri8.fea209
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/ap-hist.txt10
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/ap-info.pdfbin690384 -> 694443 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdfbin313930 -> 313930 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdfbin279268 -> 279268 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdfbin279319 -> 279319 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdfbin278802 -> 278802 bytes
-rw-r--r--Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdfbin296665 -> 296665 bytes
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
index ddd5497b167..f157e16eaa3 100644
--- a/Master/texmf-dist/doc/fonts/poltawski/ap-info.pdf
+++ b/Master/texmf-dist/doc/fonts/poltawski/ap-info.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf
index b85fa90c843..09c5da181fe 100644
--- a/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf
+++ b/Master/texmf-dist/doc/fonts/poltawski/tstapot1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf
index 37b2f138813..623d4511b39 100644
--- a/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf
+++ b/Master/texmf-dist/doc/fonts/poltawski/tstapot4.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf
index ef3d7aed22a..e527403bd01 100644
--- a/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf
+++ b/Master/texmf-dist/doc/fonts/poltawski/tstapqx.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf
index 3f5b342df88..b89f45c6d93 100644
--- a/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf
+++ b/Master/texmf-dist/doc/fonts/poltawski/tstapt1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf b/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf
index 20c8b217e45..8f365f83560 100644
--- a/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf
+++ b/Master/texmf-dist/doc/fonts/poltawski/tstapts1.pdf
Binary files differ