summaryrefslogtreecommitdiff
path: root/fonts/utilities/fontools
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/utilities/fontools')
-rw-r--r--fonts/utilities/fontools/README2
-rwxr-xr-xfonts/utilities/fontools/bin/afm2afm8
-rwxr-xr-xfonts/utilities/fontools/bin/autoinst442
-rwxr-xr-xfonts/utilities/fontools/bin/ot2kpx8
-rwxr-xr-xfonts/utilities/fontools/bin/splitttc8
-rw-r--r--fonts/utilities/fontools/doc/afm2afm.pdfbin27066 -> 26775 bytes
-rw-r--r--fonts/utilities/fontools/doc/autoinst.pdfbin71042 -> 71157 bytes
-rw-r--r--fonts/utilities/fontools/doc/ot2kpx.pdfbin27441 -> 27149 bytes
-rw-r--r--fonts/utilities/fontools/doc/splitttc.pdfbin20585 -> 20367 bytes
-rw-r--r--fonts/utilities/fontools/share/fontools_cs.enc309
-rw-r--r--fonts/utilities/fontools/share/fontools_l7x.enc306
-rw-r--r--fonts/utilities/fontools/share/fontools_lgr.enc587
-rw-r--r--fonts/utilities/fontools/share/fontools_ly1.enc514
-rw-r--r--fonts/utilities/fontools/share/fontools_oml.enc524
-rw-r--r--fonts/utilities/fontools/share/fontools_ot1.enc518
-rw-r--r--fonts/utilities/fontools/share/fontools_qx.enc310
-rw-r--r--fonts/utilities/fontools/share/fontools_t1.enc518
-rw-r--r--fonts/utilities/fontools/share/fontools_t2a.enc515
-rw-r--r--fonts/utilities/fontools/share/fontools_t2b.enc515
-rw-r--r--fonts/utilities/fontools/share/fontools_t2c.enc515
-rw-r--r--fonts/utilities/fontools/share/fontools_t3.enc522
-rw-r--r--fonts/utilities/fontools/share/fontools_t4.enc309
-rw-r--r--fonts/utilities/fontools/share/fontools_t5.enc305
-rw-r--r--fonts/utilities/fontools/share/fontools_ts1.enc512
-rw-r--r--fonts/utilities/fontools/share/fontools_ts3.enc522
25 files changed, 4763 insertions, 3006 deletions
diff --git a/fonts/utilities/fontools/README b/fonts/utilities/fontools/README
index 684b0fdda6..a7edc5d48e 100644
--- a/fonts/utilities/fontools/README
+++ b/fonts/utilities/fontools/README
@@ -79,6 +79,6 @@ See the GNU General Public License for more details.
LICENSE & COPYRIGHT
===================
-This software is copyright (C) 2005-2022 Marc Penninga.
+This software is copyright (C) 2005-2023 Marc Penninga.
It is released under the terms of the GNU General Public Licence;
see the file GPLv2.txt for the license conditions.
diff --git a/fonts/utilities/fontools/bin/afm2afm b/fonts/utilities/fontools/bin/afm2afm
index 894764918e..37ddbb679a 100755
--- a/fonts/utilities/fontools/bin/afm2afm
+++ b/fonts/utilities/fontools/bin/afm2afm
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2005-2022 Marc Penninga.
+ Copyright (C) 2005-2023 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -37,7 +37,7 @@ use File::Basename;
use Getopt::Long;
use Pod::Usage;
-my $VERSION = "20220124";
+my $VERSION = "20230201";
parse_commandline();
@@ -398,7 +398,7 @@ Marc Penninga <marcpenninga@gmail.com>
=head1 COPYRIGHT
-Copyright (C) 2005-2022 Marc Penninga.
+Copyright (C) 2005-2023 Marc Penninga.
=head1 LICENSE
@@ -421,7 +421,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<afm2afm> version 20220124.
+This document describes B<afm2afm> version 20230201.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/bin/autoinst b/fonts/utilities/fontools/bin/autoinst
index e52391452f..5f3a71c1df 100755
--- a/fonts/utilities/fontools/bin/autoinst
+++ b/fonts/utilities/fontools/bin/autoinst
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2005-2022 Marc Penninga.
+ Copyright (C) 2005-2023 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -41,7 +41,7 @@ use Getopt::Long ();
use Pod::Usage ();
use POSIX ();
-my $VERSION = '20220124';
+my $VERSION = '20230201';
my ($d, $m, $y) = (localtime time)[3 .. 5];
my $TODAY = sprintf "%04d/%02d/%02d", $y + 1900, $m + 1, $d;
@@ -129,15 +129,17 @@ sub main {
LaTeX::create_support_files(\@workitems, $family, $to_nfss);
Otftotfm::run_commands(\@commands, $family, $log);
- if ($ARGV{t1suffix}) {
- Work::modify_fontnames($family, $fontlist);
- }
+ if (!$ARGV{manual}) {
+ if ($ARGV{t1suffix}) {
+ Work::modify_fontnames($family, $fontlist);
+ }
- print <<"END_MESSAGE_UPDMAP";
+ print <<"END_MESSAGE_UPDMAP";
[INFO] Done generating fonts!
Please update TeX's databases (by calling 'texhash' and 'updmap'
or their equivalents on your system) before using these fonts.
END_MESSAGE_UPDMAP
+ }
}
$log->close();
@@ -587,6 +589,7 @@ sub parse {
my $metadata = _get_metadata($filename);
$self->_parse_metadata($metadata)
+ ->_parse_cffdata()
->_parse_os2data()
->_parse_featuredata()
->_parse_sizedata()
@@ -631,6 +634,15 @@ sub _parse_metadata {
$data->{$key} =~ s/\s+//xmsg;
}
+ for my $item (qw(family subfamily fullname)) {
+ if (!$data->{$item}) {
+ die <<"END_ERR_METADATA_MISSING"
+[ERROR] Parsing font metadata failed for $self->{filename}:
+ could not find '$item' metadata item
+END_ERR_METADATA_MISSING
+ }
+ }
+
$data->{family} = $data->{preferredfamily} || $data->{family};
$data->{subfamily} = $data->{preferredsubfamily} || $data->{subfamily};
$data->{fullname} =~ s/\A$data->{family}//xms;
@@ -638,7 +650,7 @@ sub _parse_metadata {
# clean up family name (it's used in LaTeX command names)
my @DIGITS = qw(Zero One Two Three Four Five Six Seven Eight Nine);
- $data->{family} =~ s/(?: LT | MT)(?: Std | Pro )\z//xms;
+ $data->{family} =~ s/(?: LT | MT)(?: Std | Pro )//xms;
$data->{family} =~ s/(\d)/$DIGITS[$1]/xmsge;
$data->{family} =~ s/[^A-Za-z]+//xmsg;
@@ -791,6 +803,47 @@ sub _parse_metadata {
# --------------------------------------------------------------------------
+# Reads the 'Name INDEX' entry from the CFF table, if that exists.
+#
+# We need this entry only because cfftot1 uses it instead of
+# --------------------------------------------------------------------------
+sub _parse_cffdata {
+ my $self = shift;
+
+ my $tables;
+ eval {
+ my $cmd = qq(otfinfo --tables "$self->{filename}");
+ open my $otfinfo, '-|:raw', $cmd
+ or die "could not fork(): $!";
+ $tables = do { local $/; <$otfinfo> };
+ close $otfinfo
+ or die "'$cmd' failed";
+ } or warn "[WARNING] $@";
+
+ if (index($tables, 'CFF') == -1) {
+ $self->{cff_name} = $self->{name};
+ return $self;
+ }
+
+ my $cff_table;
+ eval {
+ my $cmd = qq(otfinfo --dump-table "CFF" "$self->{filename}");
+ open my $otfinfo, '-|:raw', $cmd
+ or die "could not fork(): $!";
+ $cff_table = do { local $/; <$otfinfo> };
+ close $otfinfo
+ or die "'$cmd' failed";
+ } or warn "[WARNING] $@";
+
+ my ($name_index) = unpack '@8C/Z', $cff_table;
+
+ $self->{cff_name} = $name_index;
+
+ return $self;
+}
+
+
+# --------------------------------------------------------------------------
# Parses usWeightClass and usWidthClass from the OS/2 table.
# --------------------------------------------------------------------------
sub _parse_os2data {
@@ -1098,37 +1151,37 @@ END_STY_HEADER
END_STY_XKEYVAL
+ my ($figurestyle_default, $figurealign_default);
if ($seen{LF} or $seen{TLF}) {
print {$STY}
"\\DeclareOptionX{lining}{\\edef\\$fam\@figurestyle{LF}}\n";
+ $figurestyle_default = 'LF';
}
if ($seen{OsF} or $seen{TOsF}) {
print {$STY}
"\\DeclareOptionX{oldstyle}{\\edef\\$fam\@figurestyle{OsF}}\n";
+ $figurestyle_default = 'OsF';
}
if ($seen{TLF} or $seen{TOsF}) {
print {$STY}
"\\DeclareOptionX{tabular}{\\edef\\$fam\@figurealign{T}}\n";
+ $figurealign_default = 'T';
}
if ($seen{LF} or $seen{OsF}) {
print {$STY}
"\\DeclareOptionX{proportional}{\\edef\\$fam\@figurealign{}}\n";
+ $figurealign_default = '';
}
print {$STY} <<"END_STY_MAINFONT";
+\\edef\\$fam\@figurestyle{$figurestyle_default}
+\\edef\\$fam\@figurealign{$figurealign_default}
+
\\DeclareOptionX{mainfont}{
\\renewcommand{\\familydefault}{\\$ARGV{nfss}default}
}
END_STY_MAINFONT
- my $defaults
- = $seen{OsF} ? 'oldstyle,proportional'
- : $seen{TOsF} ? 'oldstyle,tabular'
- : $seen{LF} ? 'lining,proportional'
- : $seen{TLF} ? 'lining,tabular'
- : die "[ERROR] Internal bug, please report!"
- ;
-
for my $series (qw(heavy black extrabold demibold semibold bold)) {
if ( $seen{$series} ) {
print {$STY}
@@ -1144,6 +1197,7 @@ END_STY_MAINFONT
"{$series}}\n";
}
}
+ print {$STY} "\n";
if ($ARGV{math}) {
print {$STY} <<"END_STY_MATHOPTION";
@@ -1160,24 +1214,32 @@ END_STY_MAINFONT
END_STY_MATHOPTION
- if ($seen{LF} or $seen{TLF}) {
- print {$STY} "\\newcommand*{\\$fam\@mathfigurestyle}{LF}\n";
- }
- elsif ($seen{OsF} or $seen{TOsF}) {
- print {$STY} "\\newcommand*{\\$fam\@mathfigurestyle}{OsF}\n";
- }
-
+ my ($mathfigurestyle_default, $mathfigurealign_default);
if ($seen{OsF} or $seen{TOsF}) {
print {$STY}
- "\\DeclareOptionX{matholdstyle}\n",
- " {\\renewcommand*{\\$fam\@mathfigurestyle}{OsF}}\n";
+ "\\DeclareOptionX{matholdstyle}{\\edef\\$fam\@mathfigurestyle{OsF}}\n";
+ $mathfigurestyle_default = 'OsF';
}
if ($seen{LF} or $seen{TLF}) {
print {$STY}
- "\\DeclareOptionX{mathlining}\n",
- " {\\renewcommand{\\$fam\@mathfigurestyle}{LF}}\n";
+ "\\DeclareOptionX{mathlining}{\\edef\\$fam\@mathfigurestyle{LF}}\n";
+ $mathfigurestyle_default = 'LF';
+ }
+ if ($seen{LF} or $seen{OsF}) {
+ print {$STY}
+ "\\DeclareOptionX{mathproportional}{\\edef\\$fam\@mathfigurealign{}}\n";
+ $mathfigurealign_default = '';
}
- print {$STY} "\n";
+ if ($seen{TLF} or $seen{TOsF}) {
+ print {$STY}
+ "\\DeclareOptionX{mathtabular}{\\edef\\$fam\@mathfigurealign{T}}\n";
+ $mathfigurealign_default = 'T';
+ }
+ print {$STY} <<"END_STY_MATHDEFAULTS";
+\\edef\\$fam\@mathfigurestyle{$mathfigurestyle_default}
+\\edef\\$fam\@mathfigurealign{$mathfigurealign_default}
+
+END_STY_MATHDEFAULTS
if ($seen{sw}) {
print {$STY} <<"END_STY_MATHCALOPTION";
@@ -1189,17 +1251,15 @@ END_STY_MATHCALOPTION
}
print {$STY} <<"END_STY_PROCESSOPTIONS";
-\\ExecuteOptionsX{$defaults}
\\ProcessOptionsX\\relax
END_STY_PROCESSOPTIONS
- print {$STY} <<"END_STY_PACKAGES";
-\\RequirePackage{@{[ $seen{TS1} ? "fontenc,textcomp" : "fontenc" ]}}
-\\RequirePackage{ifthen}
-\\RequirePackage{mweights}
-
-END_STY_PACKAGES
+ print {$STY} "\\RequirePackage[@{[ join ',', grep { $_ ne 'OT1' } @{$ARGV{encoding}} ]}]{fontenc}\n";
+ print {$STY} "\\RequirePackage{textcomp}\n" if $seen{TS1};
+ print {$STY} "\\RequirePackage{ifthen}\n";
+ print {$STY} "\\RequirePackage{mweights}\n";
+ print {$STY} "\n";
print {$STY} <<'END_STY_FONTAXES_START';
\IfFileExists{fontaxes.sty}{
@@ -1226,6 +1286,13 @@ END_STY_FONTAXES_SW
\DeclareTextFontCommand{\textsup}{\supfigures}
\let\textsu\textsup
\let\textsuperior\textsup
+ \let\@oldtextsuperscript\textsuperscript
+ \def\textsuperscript{\@ifstar\@oldtextsuperscript\textsup}
+ \def\@makefnmark{%
+ \mbox{\footnotemarkfont\textsuperscript{\@thefnmark}}}
+ \@ifundefined{ftntm@font}%
+ {\let\footnotemarkfont\normalfont}%
+ {\let\footnotemarkfont\ftntm@font}
END_STY_FONTAXES_SUP
}
@@ -1240,6 +1307,8 @@ END_STY_FONTAXES_SUP
\DeclareTextFontCommand{\textinf}{\inffigures}
\let\textin\textinf
\let\textinferior\textinf
+ \let\@oldtextsubscript\textsubscript
+ \def\textsubscript{\@ifstar\@oldtextsubscript\textinf}
END_STY_FONTAXES_INF
}
@@ -1340,27 +1409,44 @@ END_STYLE_REST
if ($ARGV{math}) {
print {$STY} <<"END_STY_MATH";
+% Logically these definitions belong inside the \\if$fam\@math,
+% but somehow Latex doesn't like that.
\\newif\\if$fam\@mathLATINup\\$fam\@mathLATINupfalse
\\newif\\if$fam\@mathlatinup\\$fam\@mathlatinupfalse
\\newif\\if$fam\@mathGREEKup\\$fam\@mathGREEKupfalse
\\newif\\if$fam\@mathgreekup\\$fam\@mathgreekupfalse
\\if$fam\@math
- \\DeclareSymbolFont{newoperators} {OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{n}
- \\SetSymbolFont{newoperators}{bold}{OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
+ \\ifthenelse{\\equal{\\$fam\@mathstyle}{TeX}}
+ {\\$fam\@mathGREEKuptrue}
+ {}
+ \\ifthenelse{\\equal{\\$fam\@mathstyle}{french}}
+ {\\$fam\@mathLATINuptrue
+ \\$fam\@mathGREEKuptrue
+ \\$fam\@mathgreekuptrue}
+ {}
+ \\ifthenelse{\\equal{\\$fam\@mathstyle}{upright}}
+ {\\$fam\@mathLATINuptrue
+ \\$fam\@mathlatinuptrue
+ \\$fam\@mathGREEKuptrue
+ \\$fam\@mathgreekuptrue}
+ {}
- \\DeclareSymbolFont{newletters} {OML}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{it}
- \\SetSymbolFont{newletters}{bold}{OML}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{it}
+ \\DeclareSymbolFont{newoperators} {OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{n}
+ \\SetSymbolFont{newoperators}{bold}{OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
+
+ \\DeclareSymbolFont{newletters} {OML}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{it}
+ \\SetSymbolFont{newletters}{bold}{OML}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{it}
\\DeclareSymbolFontAlphabet{\\mathrm}{newoperators}
\\DeclareSymbolFontAlphabet{\\mathnormal}{newletters}
\\def\\operator\@font{\\mathgroup\\symnewoperators}
- \\SetMathAlphabet{\\mathit}{normal}{OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{it}
- \\SetMathAlphabet{\\mathit}{bold} {OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{it}
+ \\SetMathAlphabet{\\mathit}{normal}{OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{it}
+ \\SetMathAlphabet{\\mathit}{bold} {OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{it}
- \\SetMathAlphabet{\\mathbf}{normal}{OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
- \\SetMathAlphabet{\\mathbf}{bold} {OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
+ \\SetMathAlphabet{\\mathbf}{normal}{OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
+ \\SetMathAlphabet{\\mathbf}{bold} {OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
\\def\\re\@DeclareMathSymbol#1#2#3#4{%
\\if\\relax\\noexpand#1\\let#1=\\undefined\\fi
@@ -1439,8 +1525,10 @@ END_STYLE_REST
\\re\@DeclareMathSymbol{Y}{\\mathalpha}{newletters}{`Y}
\\re\@DeclareMathSymbol{Z}{\\mathalpha}{newletters}{`Z}
- \\re\@DeclareMathSymbol{\\imath}{\\mathord}{newletters}{"7B}
- \\re\@DeclareMathSymbol{\\jmath}{\\mathord}{newletters}{"7C}
+ \\re\@DeclareMathSymbol{\\partial}{\\mathord}{newletters}{"40}
+ \\re\@DeclareMathSymbol{\\ell} {\\mathord}{newletters}{"60}
+ \\re\@DeclareMathSymbol{\\imath} {\\mathord}{newletters}{"7B}
+ \\re\@DeclareMathSymbol{\\jmath} {\\mathord}{newletters}{"7C}
%
% A number of math symbol declarations have been commented out,
@@ -1528,21 +1616,6 @@ END_STYLE_REST
\\re\@DeclareMathSymbol{\\varphi} {\\mathord}{newletters}{"27}
\\fi
- \\ifthenelse{\\equal{\\$fam\@mathstyle}{TeX}}
- {\\$fam\@mathGREEKuptrue}
- {}
- \\ifthenelse{\\equal{\\$fam\@mathstyle}{french}}
- {\\$fam\@mathLATINuptrue
- \\$fam\@mathGREEKuptrue
- \\$fam\@mathgreekuptrue}
- {}
- \\ifthenelse{\\equal{\\$fam\@mathstyle}{upright}}
- {\\$fam\@mathLATINuptrue
- \\$fam\@mathlatinuptrue
- \\$fam\@mathGREEKuptrue
- \\$fam\@mathgreekuptrue}
- {}
-
\\if$fam\@mathLATINup
\\re\@DeclareMathSymbol{A}{\\mathalpha}{newoperators}{`A}
\\re\@DeclareMathSymbol{B}{\\mathalpha}{newoperators}{`B}
@@ -1573,8 +1646,8 @@ END_STYLE_REST
\\fi
\\if$fam\@mathlatinup
- \\DeclareSymbolFont{upletters} {OML}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{n}
- \\SetSymbolFont{upletters}{bold}{OML}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
+ \\DeclareSymbolFont{upletters} {OML}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{n}
+ \\SetSymbolFont{upletters}{bold}{OML}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
\\re\@DeclareMathSymbol{a}{\\mathord}{upletters}{`a}
\\re\@DeclareMathSymbol{b}{\\mathord}{upletters}{`b}
@@ -1624,8 +1697,8 @@ END_STYLE_REST
\\fi
\\if$fam\@mathgreekup
- \\DeclareSymbolFont{upletters} {OML}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{n}
- \\SetSymbolFont{upletters}{bold}{OML}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
+ \\DeclareSymbolFont{upletters} {OML}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{n}
+ \\SetSymbolFont{upletters}{bold}{OML}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{n}
\\re\@DeclareMathSymbol{\\alpha} {\\mathord}{upletters}{"0B}
\\re\@DeclareMathSymbol{\\beta} {\\mathord}{upletters}{"0C}
@@ -1665,8 +1738,8 @@ END_STY_MATH
if ($seen{sw}) {
print {$STY} <<"END_STY_MATHCAL";
\\if$fam\@mathcal
- \\SetMathAlphabet{\\mathcal}{normal}{OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{sw}
- \\SetMathAlphabet{\\mathcal}{bold} {OT1}{$fam-\\$fam\@figurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{sw}
+ \\SetMathAlphabet{\\mathcal}{normal}{OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\mdseries\@$ARGV{nfss}}{sw}
+ \\SetMathAlphabet{\\mathcal}{bold} {OT1}{$fam-\\$fam\@mathfigurealign\\$fam\@mathfigurestyle}{\\bfseries\@$ARGV{nfss}}{sw}
\\fi
END_STY_MATHCAL
@@ -1907,6 +1980,7 @@ I'm using the following options:
math: @{[ $ARGV{math} ? 'yes' : 'no' ]}
mathspacing: $ARGV{mathspacing}
+ auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]}
fontname suffix: @{[ $ARGV{t1suffix} || '(none)' ]}
END_ARGUMENTS
@@ -2097,6 +2171,7 @@ Possible options:
-math Generate basic math fonts
-mathspacing=AMOUNT Letterspace the math fonts by AMOUNT/1000 em
+ -manual Manual mode (see documentation)
-t1suffix=SUFFIX Add SUFFIX to name of generated pfb fonts
font[s] The fonts (.otf or .ttf format) to install.
@@ -2127,6 +2202,7 @@ END_USAGE
target => '',
vendor => 'lcdftools',
typeface => '',
+ manual => '0', # 0 = no, 1 = yes
dryrun => '0', # 0 = no, 1 = yes
logfile => '',
figurekern => '1', # 0 = no, 1 = yes
@@ -2175,6 +2251,7 @@ sub parse_options {
'target=s' => \$ARGV{target},
'vendor=s' => \$ARGV{vendor},
'typeface=s' => \$ARGV{typeface},
+ 'manual' => \$ARGV{manual},
'dryrun' => \$ARGV{dryrun},
'figurekern!' => \$ARGV{figurekern},
'logfile=s' => \$ARGV{logfile},
@@ -2287,7 +2364,7 @@ sub create_command {
|| Util::any( map { $_ eq 'liga' } @{$workitem->{features}} );
return join q( ), 'otftotfm',
- '--automatic',
+ ($ARGV{manual} ? '--pl' : '--automatic'),
"--encoding=$workitem->{enc_file}",
$targetdirs,
'--no-updmap',
@@ -2313,44 +2390,52 @@ sub create_command {
# --------------------------------------------------------------------------
-# Executes all commands.
+# Executes (or saves to file, when $ARGV{manual} is true) all commands.
# --------------------------------------------------------------------------
sub run_commands {
my ($commandlist, $family, $log) = @_;
- my $n_cmds = scalar @{$commandlist};
- my ($log_ncmds, $ceil) = (1, 10);
- while ($n_cmds >= $ceil) {
- $log_ncmds++;
- $ceil *= 10;
- }
- my $template = sprintf "%%%dd of %%%dd", $log_ncmds, $log_ncmds;
- my $l_template = 4 + 2 * $log_ncmds;
- $| = 1; # autoflush
- print "[INFO] Generating fonts for $family: ", " " x $l_template;
-
- my $i_cmd = 1;
- my $oops = 0;
- for my $command (@{$commandlist}) {
- print "\b" x $l_template;
- printf $template, $i_cmd++, $n_cmds;
- open my $otftotfm, '-|', "$command 2>&1"
- or die "could not fork(): $!";
- my $msgs = do { local $/; <$otftotfm> };
- close $otftotfm
- or do {
- warn "\n$command\n\n$msgs\n";
- $log->log("\n$command\n\n$msgs\n");
- $oops = 1;
- };
+ if ($ARGV{manual}) {
+ open my $BAT, '>', 'autoinst.bat'
+ or die "[ERROR] Can't create 'autoinst.bat': $!";
+ print {$BAT} "$_\n" for @{$commandlist};
+ close $BAT;
}
- print "\n";
- $| = 0;
- if ($oops) {
- warn <<"END_OTFTOTFM_WARNING";
+ else {
+ my $n_cmds = scalar @{$commandlist};
+ my ($log_ncmds, $ceil) = (1, 10);
+ while ($n_cmds >= $ceil) {
+ $log_ncmds++;
+ $ceil *= 10;
+ }
+ my $template = sprintf "%%%dd of %%%dd", $log_ncmds, $log_ncmds;
+ my $l_template = 4 + 2 * $log_ncmds;
+ $| = 1; # autoflush
+ print "[INFO] Generating fonts for $family: ", " " x $l_template;
+
+ my $i_cmd = 1;
+ my $oops = 0;
+ for my $command (@{$commandlist}) {
+ print "\b" x $l_template;
+ printf $template, $i_cmd++, $n_cmds;
+ open my $otftotfm, '-|', "$command 2>&1"
+ or die "could not fork(): $!";
+ my $msgs = do { local $/; <$otftotfm> };
+ close $otftotfm
+ or do {
+ warn "\n$command\n\n$msgs\n";
+ $log->log("\n$command\n\n$msgs\n");
+ $oops = 1;
+ };
+ }
+ print "\n";
+ $| = 0;
+ if ($oops) {
+ warn <<"END_OTFTOTFM_WARNING";
[ERROR] One or more calls to 'otftotfm' returned a non-zero status code;
please check the messages above and in the log file.
END_OTFTOTFM_WARNING
+ }
}
return;
@@ -2705,7 +2790,7 @@ sub process_encoding_options {
# or have an accompanying .enc file in the current directory.
my @encodings = split /,/, $ARGV{encoding};
for my $enc (@encodings) {
- if ($enc !~ m/\A(OT1|T1|TS1|LY1|LGR|T2[ABC]|T3|TS3)\z/xmsi) {
+ if ($enc !~ m/\A(OT1|T[1345]|T2[ABC]|TS[13]|LY1|LGR|CS|L7X|QX)\z/xmsi) {
my $try = $enc;
$try .= '.enc' if $try !~ m/[.]enc\z/xmsi;
if (!-e $try) {
@@ -2753,7 +2838,12 @@ sub process_encoding_options {
sub process_target_options{
my $localtarget = File::Spec->catdir( Cwd::getcwd(), 'autoinst_output' );
- if (!$ARGV{target}) {
+ if ($ARGV{manual}) {
+ warn "[WARNING] Option '-target' overridden by '-manual'!\n"
+ if $ARGV{target};
+ $ARGV{target} = $localtarget;
+ }
+ elsif (!$ARGV{target}) {
my $is_windows_os = ( $^O =~ /^MSWin/i );
my $kpsepath = $is_windows_os
? eval { qx( kpsewhich -expand-var=\$TEXMFLOCAL;\$TEXMFHOME ) }
@@ -3086,7 +3176,7 @@ sub cleanup {
}
else {
($workitem->{enc_file} = $workitem->{encoding})
- =~ s{ \A (OT1|OML|T1|TS1|LY1|LGR|T2[ABC]|T3|TS3) \z }
+ =~ s{ \A (OT1|OML|T[1345]|T2[ABC]|TS[13]|LY1|LGR|CS|L7X|QX) \z }
{fontools_\L$1\E}xmsi;
}
@@ -3144,6 +3234,9 @@ sub modify_fontnames {
# The otftotfm-generated map file refers to the original otf files;
# we need to change this to use our name-modified Type1 fonts instead.
+ # Note that cfftot1 uses the Name INDEX from the CFF table,
+ # not the PostScript name from the name table. These two names are
+ # usually equal, but not necessarily (sec 5.4.2 in OpenType spec).
my $mapfile = File::Spec->catfile(
$ARGV{target},
'fonts',
@@ -3178,17 +3271,23 @@ sub modify_fontnames {
}
my $newfullfam = $full_family . q( ) . $ARGV{t1suffix};
- my $newname = $font->{name};
- if ($newname =~ m/$family/xms) {
- $newname =~ s/$family/$newfam/xms;
+ my $newname;
+ if ($font->{cff_name} =~ m/$family/xms) {
+ ($newname = $font->{cff_name}) =~ s/$family/$newfam/xms;
}
else {
- $newname =~ s/(.+?)(-|\z)/$1$ARGV{t1suffix$2}/xms;
+ (my $dashfam = $font->{originalfamily}) =~ s/[ ]/-/xmsg;
+ if ($font->{cff_name} =~ m/$dashfam(.+)/xms) {
+ $newname = $dashfam . '-' . $ARGV{t1suffix} . $1;
+ }
+ else {
+ $newname = $font->{cff_name} . $ARGV{t1suffix};
+ }
}
for my $suffix (q(), q(LCDFJ)) {
my $oldfn = File::Spec->catfile(
- $pfb_dir, $font->{name} . $suffix . '.pfb');
+ $pfb_dir, $font->{cff_name} . $suffix . '.pfb');
my $newfn = File::Spec->catfile(
$pfb_dir, $newname . $suffix . '.pfb');
@@ -3207,7 +3306,7 @@ sub modify_fontnames {
for (@pfbdata) {
if (m/%!PS-AdobeFont-1.0:[ ] | \/FontName[ ]/xms) {
- s/$font->{name}/$newname/;
+ s/$font->{cff_name}/$newname/;
}
if (m/\/Notice[ ]/xms) {
s/[(]/($NOTICE/xms;
@@ -3227,7 +3326,7 @@ sub modify_fontnames {
unlink $oldfn unless $oldfn eq $newfn;
- $mapdata =~ s/$font->{name}$suffix.pfb/$newname$suffix.pfb/g;
+ $mapdata =~ s/$font->{cff_name}$suffix(?!-)/$newname$suffix/g;
}
}
@@ -3345,10 +3444,10 @@ in roman, italic and slanted shapes.
=item -
Families with "Titling" characters;
-these "... replace the default glyphs
+these I<"... replace the default glyphs
with corresponding forms designed specifically for titling.
These may be all-capital and/or larger on the body,
-and adjusted for viewing at larger sizes"
+and adjusted for viewing at larger sizes">
(according to the OpenType Specification).
=item -
@@ -3443,16 +3542,16 @@ yourself.
Choose which figure style to use.
The defaults are "oldstyle" and "proportional" (if available).
-=item C<<< scale=I<< <number> >> >>>, C<scale=MatchLowercase>
+=item C<<< scale=I<< <factor> >> >>>, C<scale=MatchLowercase>
-Scale the font by a factor of I<< <number> >>.
-E.g., to increase the size of the font by 5%, use
-C<<< \usepackage[scale=1.05]{I<< <FontFamily> >>} >>>.
+Scale the font by I<< <factor> >>;
+as an example, C<<< \usepackage[scale=1.05]{I<< <FontFamily> >>} >>>
+will increase the font's size by 5%.
The special value C<MatchLowercase> may be used to scale the font
so that its x-height matches that of the current main font
(which is usually Computer Modern Roman, unless you have loaded
another font package before this one).
-The name C<scaled> may be used as a synonym for C<scale>.
+The word "scale" may also be spelled as "scaled".
=item C<medium>, C<book>, C<text>, C<normal>, C<regular>
@@ -3490,15 +3589,21 @@ to place swash on F<fontaxes>' secondary shape axis (F<fontaxes> places it
on the primary shape axis) to make them behave properly when nested, so that
C<\swshape\upshape> will give upright swash.
+Finally, the style file redefines Latex's C<\textsuperscript> and
+C<\textsubscript> commands to use the fonts' superior and inferior figures,
+and modifies Latex's footnote mechanism to use C<\textsuperscript>
+instead of reduced-size numerals from the regular text font.
+The old versions of these commands are still available as
+C<\textsuperscript*> and C<\textsubscript*>.
+
There are no commands for accessing the numerator and denominator
fonts; these can be selected using F<fontaxes>' standard commands,
e.g., C<\fontfigurestyle{numerator}\selectfont>.
-These commands are only generated for existing shapes and number styles;
-no commands are generated for shapes and styles that are missing from
-your fonts.
-Also these commands are built on top of F<fontaxes>, so if that package
-cannot be found, you're limited to using the lower-level commands from
+Once again: all these commands are only generated for existing shapes and number styles;
+no commands are generated for shapes and styles that are missing from your fonts.
+Note that all these commands are built on top of F<fontaxes>; if that package
+cannot be found, you're limited to using lower-level commands from
standard NFSS (C<\fontfamily>, C<\fontseries>, C<\fontshape> etc.).
By default, B<autoinst> generates text fonts with OT1, LY1 and T1
@@ -3524,14 +3629,14 @@ to access these math fonts:
Use these fonts for the maths in your document.
-=item C<mathlining>, C<matholdstyle>
+=item C<mathlining>, C<matholdstyle>, C<mathtabular>, C<mathproportional>
-Choose which figure style to use in maths.
-The default is "mathlining".
+Choose which figure style and alignment to use in maths.
+The defaults are "mathlining" and "mathtabular".
=item C<mathcal>
-Use the swash characters from your fonts as the C<\mathcal> alphabet.
+Use the swash characters from these fonts as the C<\mathcal> alphabet.
(This option will only exist if your fonts actually contain swash characters,
plus a C<swsh> feature to access them).
@@ -3559,7 +3664,7 @@ before loading the B<autoinst>-generated style file.
Finally, note that B<autoinst> doesn't check if your fonts actually contains
all of the required characters;
it just assumes that they do and sets up the style file accordingly.
-Even if your fonts contain greek, characters such as C<\varepsilon>
+Even if your fonts do contain greek, characters such as C<\varepsilon>
may be missing.
You may also find that some glyphs I<are> present in your fonts,
but don't work well in equations or don't match with other symbols;
@@ -3658,14 +3763,17 @@ are not compatible with files generated by newer versions.
Since F<pdfTeX> cannot subset otf-flavoured OpenType fonts,
I<otftotfm> will convert such fonts to Type1 (pfb) format.
However, many fonts (at least those licensed under the SIL Open Font License)
-do not allow distributing such converted versions under their original name.
+do not allow redistributing such converted versions under their original name.
-To meet these licensing requirements, B<autoinst> provides
-a I<-t1suffix> command-line option that appends
-a user-defined suffix to the names
+In order to try to meet such licensing requirements, B<autoinst> provides
+a I<-t1suffix> command-line option that appends a suffix to the names
(both the filename and the internal font name)
of all generated Type1 fonts; see L</COMMAND-LINE OPTIONS> below.
+Please note that I am not a lawyer and do not guarantee that
+this suffix is sufficient to meet the license's requirements.
+When in doubt, consult a real lawyer!
+
=head2 Sorry, LIGTABLE too long for me to handle
@@ -3673,10 +3781,15 @@ The LIGTABLE in TeX's F<tfm> files, which contains a font's ligatures
and kerning pairs, is limited to about 32,500 entries (2^15 - 256).
If the number of ligatures plus kerns in a font is higher than that limit,
I<pltotf> and I<vptovf> will complain loudly and ignore the excess entries.
-This happens at least with Adobe's Source Serif 4 and Minion 3.
+This happens at least with Adobe's Source Serif 4 and Minion 3 font families.
+Even when I<pltotf> and I<vptovf> don't warn about the LIGTABLE's size,
+you may still find that I<pdftex> crashes with a
+C<Bad metric (TFM) file> error.
The best way to handle this situation is to use B<autoinst>'s C<-extra> option
to raise F<otftotfm>'s value for the C<--min-kern> parameter, which causes it
-to ignore small kerning pairs: C<-extra='--min-kern=5.0'>.
+to ignore small kerning pairs: C<-extra='--min-kern=6.0'>.
+Finding the correct value for the C<--min-kern> parameter may require some
+trial and error.
=head2 A note for MiKTeX users
@@ -3763,8 +3876,8 @@ For each encoding argument, B<autoinst> will first check if it is
the filename of an encoding file, and if found it will use that;
otherwise the argument is assumed to be the name of one of
the built-in encodings.
-Currently B<autoinst> comes with built-in support for the OT1, T1/TS1, LY1, LGR,
-T2A/B/C and T3/TS3 encodings.
+Currently B<autoinst> comes with built-in support for the OT1, T1/TS1, LY1,
+T2A/B/C, T3/TS3, T4, T5, LGR, CS, L7X and QX encodings.
(These files are called F<fontools_ot1.enc> etc. to avoid name clashes
with other packages; the F<fontools_> prefix may be omitted.)
@@ -3970,6 +4083,38 @@ Pass I<extra options> to the commands for I<otftotfm>.
To prevent I<extra options> from accidentily being interpreted as
options to B<autoinst>, they should be properly quoted.
+=item B<-manual>
+
+Manual mode; for users who want to post-process the generated files
+and commands. By default, B<autoinst> immediately executes all
+F<otftotfm> commands it generates;
+in manual mode, these are instead written to a file F<autoinst.bat>.
+Furthermore it tells F<otftotfm> to generate human readable (and editable)
+F<pl/vpl> files instead of the default F<tfm/vf> ones,
+and to place all generated files in a subdirectory C<./autoinst_output/>
+of the current directory, rather than install them into your TeX installation.
+
+When using this option, you need to execute the following manual steps after
+B<autoinst> has finished:
+
+=over 2
+
+=item - run F<pltotf> and F<vptovf> on the generated F<pl> and F<vf> files,
+to convert them to F<tfm/vf> format;
+
+=item - move all generated files to a proper TEXMF tree,
+and, if necessary, update the filename database;
+
+=item - tell TeX about the new F<map> file
+(usually by running C<updmap> or similar).
+
+=back
+
+Note that some options (I<-target>, I<-vendor> and I<-typeface>)
+are meaningless, and hence ignored, in manual mode.
+
+Also note that font name modification doesn't happen in manual mode.
+
=item B<-nofigurekern>
Some fonts provide kerning pairs for tabular figures.
@@ -4016,7 +4161,7 @@ don't paraphase.
=head1 COPYRIGHT
-Copyright (C) 2005-2022 Marc Penninga.
+Copyright (C) 2005-2023 Marc Penninga.
=head1 LICENSE
@@ -4039,7 +4184,7 @@ GNU General Public License for more details.
=head1 VERSION
-This document describes B<autoinst> version 20220124.
+This document describes B<autoinst> version 20230201.
=head1 RECENT CHANGES
@@ -4048,6 +4193,21 @@ This document describes B<autoinst> version 20220124.
=over 12
+=item I<2023-02-01>
+
+Added support for the T4, T5, CS, L7X and QX encodings.
+
+=item I<2023-01-31>
+
+If the fonts contain superior and/or inferior figures,
+the generated style file now redefines the C<\textsuperscript>
+and C<\textsubscript> commands, and patches Latex's footnote
+mechanism to use these figures
+(inspired by the F<realscripts> package).
+Fixed a few bugs in metadata parsing, style file generation
+and the C<-t1suffix> option, so that the latter also works
+for dvips and dvipdfmx.
+
=item I<2021-11-15>
Bugfix: font info parsing now works for Adobe Source Serif 4.
@@ -4078,6 +4238,13 @@ The I<-encoding> option now also accepts filenames of encoding files
in directories other than the current directory.
Directory names containing spaces do (or at least should) also work.
+=back
+
+
+=begin Really_old_history
+
+=over 12
+
=item I<2020-12-18>
Fixed a problem with files not being found on Windows.
@@ -4129,13 +4296,6 @@ an argument to I<-inferiors>.
Don't create empty subdirectories in the target TEXMF tree.
-=back
-
-
-=begin Really_old_history
-
-=over 12
-
=item I<2019-11-18>
Fine-tuned calling of F<kpsewhich> on Windows (patch by Akira Kakuto).
@@ -4258,7 +4418,7 @@ Fine-tuned the decision where to put generated files;
in particular, create $TEXMFHOME if it doesn't already exist
and $TEXMFLOCAL isn't user-writable.
-When we can't find a user-writable TEXMF tree,
+In manual mode, or when we can't find a user-writable TEXMF tree,
put all generated files into a subdirectory C<./autoinst_output/>
instead of all over the current working directory.
diff --git a/fonts/utilities/fontools/bin/ot2kpx b/fonts/utilities/fontools/bin/ot2kpx
index 88ce76fc30..04c9f8d47e 100755
--- a/fonts/utilities/fontools/bin/ot2kpx
+++ b/fonts/utilities/fontools/bin/ot2kpx
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2005-2022 Marc Penninga.
+ Copyright (C) 2005-2023 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -38,7 +38,7 @@ use Getopt::Long ();
use List::Util @List::Util::EXPORT_OK;
use Pod::Usage;
-my $VERSION = "20220124";
+my $VERSION = "20230201";
our ($NUM_GLYPHS, $UNITS_PER_EM, %kern);
@@ -835,7 +835,7 @@ Marc Penninga <marcpenninga@gmail.com>
=head1 COPYRIGHT
-Copyright (C) 2005-2022 Marc Penninga.
+Copyright (C) 2005-2023 Marc Penninga.
=head1 LICENSE
@@ -858,7 +858,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<ot2kpx> version 20220124.
+This document describes B<ot2kpx> version 20230201.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/bin/splitttc b/fonts/utilities/fontools/bin/splitttc
index 52aaf42fba..fdf359a1e5 100755
--- a/fonts/utilities/fontools/bin/splitttc
+++ b/fonts/utilities/fontools/bin/splitttc
@@ -4,7 +4,7 @@
----------------------------------------------------------------------------
- Copyright (C) 2022 Marc Penninga.
+ Copyright (C) 2023 Marc Penninga.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -38,7 +38,7 @@ use File::Basename;
use Getopt::Long;
use Pod::Usage;
-my $VERSION = "20220124";
+my $VERSION = "20230201";
parse_commandline();
@@ -280,7 +280,7 @@ Marc Penninga <marcpenninga@gmail.com>
=head1 COPYRIGHT
-Copyright (C) 2019-2022 Marc Penninga.
+Copyright (C) 2019-2023 Marc Penninga.
=head1 LICENSE
@@ -303,7 +303,7 @@ See the GNU General Public License for more details.
=head1 VERSION
-This document describes B<splitttc> version 20220124.
+This document describes B<splitttc> version 20230201.
=head1 RECENT CHANGES
diff --git a/fonts/utilities/fontools/doc/afm2afm.pdf b/fonts/utilities/fontools/doc/afm2afm.pdf
index 55d7d916f1..2bd3fca2f8 100644
--- a/fonts/utilities/fontools/doc/afm2afm.pdf
+++ b/fonts/utilities/fontools/doc/afm2afm.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/autoinst.pdf b/fonts/utilities/fontools/doc/autoinst.pdf
index ace0e43d01..949f4eac26 100644
--- a/fonts/utilities/fontools/doc/autoinst.pdf
+++ b/fonts/utilities/fontools/doc/autoinst.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/ot2kpx.pdf b/fonts/utilities/fontools/doc/ot2kpx.pdf
index 9b0f6182ce..7d2f0a7020 100644
--- a/fonts/utilities/fontools/doc/ot2kpx.pdf
+++ b/fonts/utilities/fontools/doc/ot2kpx.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/doc/splitttc.pdf b/fonts/utilities/fontools/doc/splitttc.pdf
index e5fe6aa849..f46df562e3 100644
--- a/fonts/utilities/fontools/doc/splitttc.pdf
+++ b/fonts/utilities/fontools/doc/splitttc.pdf
Binary files differ
diff --git a/fonts/utilities/fontools/share/fontools_cs.enc b/fonts/utilities/fontools/share/fontools_cs.enc
new file mode 100644
index 0000000000..b405db28aa
--- /dev/null
+++ b/fonts/utilities/fontools/share/fontools_cs.enc
@@ -0,0 +1,309 @@
+% A version of the CS encoding, intended for use with otftotfm.
+% Based on the file lm-cs.enc from the Latin Modern package
+/otftotfmCSEncoding [
+% 0x00
+ /Gamma
+ /Delta
+ /Theta
+ /Lambda
+ /Xi
+ /Pi
+ /Sigma
+ /Upsilon
+% 0x08
+ /Phi
+ /Psi
+ /Omega
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
+% 0x10
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
+% 0x18
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
+% 0x20
+ /space
+ /exclam
+ /quotedblright
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+% 0x28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+% 0x30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+% 0x38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /exclamdown
+ /equal
+ /questiondown
+ /question
+% 0x40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+% 0x48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+% 0x50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+% 0x58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /circumflex
+ /dotaccent
+% 0x60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+% 0x6a
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+% 0x70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+% 0x78
+ /x
+ /y
+ /z
+ /endash
+ /emdash
+ /hungarumlaut
+ /tilde
+ /dieresis
+% 0x80
+ /ellipsis
+ /dagger
+ /daggerdbl
+ /bullet
+ /sterling
+ /paragraph
+ /Euro
+ /.notdef
+% 0x88
+ /trademark
+ /copyright
+ /registered
+ /.notdef
+ /.notdef
+ /perthousand
+ /guilsinglleft
+ /guilsinglright
+% 0x90
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /longs
+ /.notdef
+ /florin
+% 0x98
+ /Agrave
+ /.notdef
+ /quotesinglbase
+ /.notdef
+ /hyphen.alt
+ /ogonek
+ /guillemotleft
+ /guillemotright
+% 0xA0
+ /.notdef
+ /Aogonek
+ /.notdef
+ /Lslash
+ /currency
+ /Lcaron
+ /Sacute
+ /section
+% 0xA8
+ /.notdef
+ /Scaron
+ /Scommaaccent
+ /Tcaron
+ /Zacute
+ /.notdef
+ /Zcaron
+ /Zdotaccent
+% 0xB0
+ /degree
+ /aogonek
+ /.notdef
+ /lslash
+ /.notdef
+ /lcaron
+ /sacute
+ /.notdef
+% 0xB8
+ /agrave
+ /scaron
+ /scommaaccent
+ /tcaron
+ /zacute
+ /tcommaaccent
+ /zcaron
+ /zdotaccent
+% 0xC0
+ /Racute
+ /Aacute
+ /Acircumflex
+ /Abreve
+ /Adieresis
+ /Lacute
+ /Cacute
+ /Ccedilla
+% 0xC8
+ /Ccaron
+ /Eacute
+ /Eogonek
+ /Edieresis
+ /Ecaron
+ /Iacute
+ /Icircumflex
+ /Dcaron
+% 0xD0
+ /Eth
+ /Nacute
+ /Ncaron
+ /Oacute
+ /Ocircumflex
+ /Ohungarumlaut
+ /Odieresis
+ /multiply
+% 0xD8
+ /Rcaron
+ /Uring
+ /Uacute
+ /Uhungarumlaut
+ /Udieresis
+ /Yacute
+ /Tcommaaccent
+ /.notdef
+% 0xE0
+ /racute
+ /aacute
+ /acircumflex
+ /abreve
+ /adieresis
+ /lacute
+ /cacute
+ /ccedilla
+% 0xE8
+ /ccaron
+ /eacute
+ /eogonek
+ /edieresis
+ /ecaron
+ /iacute
+ /icircumflex
+ /dcaron
+% 0xF0
+ /eth
+ /nacute
+ /ncaron
+ /oacute
+ /ocircumflex
+ /ohungarumlaut
+ /odieresis
+ /divide
+% 0xF8
+ /rcaron
+ /uring
+ /uacute
+ /uhungarumlaut
+ /udieresis
+ /yacute
+ /quotedblbase
+ /quotedblleft
+] def
+%
+% UNICODING Delta =: Deltagreek Delta;
+% UNICODING Omega =: Omegagreek Omega;
+%
+% LIGKERN question quoteleft =: questiondown;
+% LIGKERN exclam quoteleft =: exclamdown;
+% LIGKERN hyphen hyphen =: endash;
+% LIGKERN endash hyphen =: emdash;
+% LIGKERN quoteleft quoteleft =: quotedblleft;
+% LIGKERN quoteright quoteright =: quotedblright;
+% LIGKERN comma comma =: quotedblbase;
+% LIGKERN less less =: guillemotleft;
+% LIGKERN greater greater =: guillemotright;
+%
+% LIGKERN || = 32;
+%
+% UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ;
diff --git a/fonts/utilities/fontools/share/fontools_l7x.enc b/fonts/utilities/fontools/share/fontools_l7x.enc
new file mode 100644
index 0000000000..e9da67217d
--- /dev/null
+++ b/fonts/utilities/fontools/share/fontools_l7x.enc
@@ -0,0 +1,306 @@
+% A version of the L7X encoding, intended for use with otftotfm.
+% Based on the file lm-l7x.enc from the Latin Modern package
+/otftotfmL7XEncoding [
+% 0x00
+ /grave
+ /acute
+ /circumflex
+ /tilde
+ /dieresis
+ /hungarumlaut
+ /ring
+ /caron
+% 0x08
+ /breve
+ /macron
+ /dotaccent
+ /cedilla
+ /ogonek
+ /quotesinglbase
+ /guilsinglleft
+ /guilsinglright
+% 0x10
+ /quotedblleft
+ /quotedblright
+ /quotedblbase
+ /guillemotleft
+ /guillemotright
+ /endash
+ /emdash
+ /cwm
+% 0x18
+ /perthousandzero
+ /dotlessi
+ /dotlessj
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
+% 0x20
+ /space
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+% 0x28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+% 0x30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+% 0x38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
+% 0x40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+% 0x48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+% 0x50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+% 0x58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /asciicircum
+ /underscore
+% 0x60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+% 0x68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+% 0x70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+% 0x78
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /asciitilde
+ /.notdef
+% 0x80
+ /Euro
+ /.notdef
+ /.notdef
+ /florin
+ /.notdef
+ /ellipsis
+ /dagger
+ /daggerdbl
+% 0x88
+ /.notdef
+ /perthousand
+ /.notdef
+ /.notdef
+ /OE
+ /.notdef
+ /.notdef
+ /.notdef
+% 0x90
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /bullet
+ /.notdef
+ /.notdef
+% 0x98
+ /.notdef
+ /trademark
+ /.notdef
+ /.notdef
+ /oe
+ /.notdef
+ /.notdef
+ /.notdef
+% 0xA0
+ /nbspace
+ /.notdef
+ /cent
+ /sterling
+ /currency
+ /.notdef
+ /brokenbar
+ /section
+% 0xA8
+ /Oslash
+ /copyright
+ /Rcommaaccent
+ /.notdef
+ /logicalnot
+ /hyphen.alt
+ /registered
+ /AE
+% 0xB0
+ /degree
+ /plusminus
+ /twosuperior
+ /threesuperior
+ /.notdef
+ /mu
+ /paragraph
+ /periodcentered
+% 0xB8
+ /oslash
+ /onesuperior
+ /rcommaaccent
+ /.notdef
+ /onequarter
+ /onehalf
+ /threequarters
+ /ae
+% 0xC0
+ /Aogonek
+ /Iogonek
+ /Amacron
+ /Cacute
+ /Adieresis
+ /Aring
+ /Eogonek
+ /Emacron
+% 0xC8
+ /Ccaron
+ /Eacute
+ /Zacute
+ /Edotaccent
+ /Gcommaaccent
+ /Kcommaaccent
+ /Imacron
+ /Lcommaaccent
+% 0xD0
+ /Scaron
+ /Nacute
+ /Ncommaaccent
+ /Oacute
+ /Omacron
+ /Otilde
+ /Odieresis
+ /multiply
+% 0xD8
+ /Uogonek
+ /Lslash
+ /Sacute
+ /Umacron
+ /Udieresis
+ /Zdotaccent
+ /Zcaron
+ /germandbls
+% 0xE0
+ /aogonek
+ /iogonek
+ /amacron
+ /cacute
+ /adieresis
+ /aring
+ /eogonek
+ /emacron
+% 0xE8
+ /ccaron
+ /eacute
+ /zacute
+ /edotaccent
+ /gcommaaccent
+ /kcommaaccent
+ /imacron
+ /lcommaaccent
+% 0xF0
+ /scaron
+ /nacute
+ /ncommaaccent
+ /oacute
+ /omacron
+ /otilde
+ /odieresis
+ /divide
+% 0xF8
+ /uogonek
+ /lslash
+ /sacute
+ /umacron
+ /udieresis
+ /zdotaccent
+ /zcaron
+ /.notdef
+] def
+%
+% UNICODING perthousandzero =: perthousandzero zeroinferior emptyslot;
+%
+% LIGKERN hyphen hyphen =: endash;
+% LIGKERN endash hyphen =: emdash;
+% LIGKERN quoteleft quoteleft =: quotedblleft;
+% LIGKERN quoteright quoteright =: quotedblright;
+% LIGKERN comma comma =: quotedblbase;
+% LIGKERN less less =: guillemotleft;
+% LIGKERN greater greater =: guillemotright;
+%
+% LIGKERN || = 32;
+%
+% UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ;
diff --git a/fonts/utilities/fontools/share/fontools_lgr.enc b/fonts/utilities/fontools/share/fontools_lgr.enc
index 8732270bbb..dd5525991f 100644
--- a/fonts/utilities/fontools/share/fontools_lgr.enc
+++ b/fonts/utilities/fontools/share/fontools_lgr.enc
@@ -1,318 +1,325 @@
-% A version of the T1 encoding, intended for use with otftotfm.
-% CODINGSCHEME GREEK FONT ENCODING - LGR
+% A version of the LGR encoding, intended for use with otftotfm.
+% Based on the file CB.enc from the cbgreek-complete package
/otftotfmLGREncoding [
% 0x00
-/endash
-/uni032F
-/u10144
-/u10145
-/u10146
-/u10147
-/uni03DB
-/uni03DB.alt
+ /endash
+ /breveinvertedbelowcmb
+ /u10144 % GREEK ACROPHONIC ATTIC FIFTY
+ /u10145 % GREEK ACROPHONIC ATTIC FIVE HUNDRED
+ /u10146 % GREEK ACROPHONIC ATTIC FIVE THOUSAND
+ /u10147 % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+ /uni03DB % GREEK SMALL LETTER STIGMA
+ /uni03DB.var % variant; exists only in cbgreek?
% 0x08
-/uni1FBE
-/uni1FBC
-/uni1FCC
-/uni1FFC
-/Alpha
-/Upsilondieresis
-/alpha
-/upsilondieresis
+ /uni1FBE % GREEK PROSGEGRAMMENI
+ /uni1FBC % GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+ /uni1FCC % GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+ /uni1FFC % GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+ /uni0391.alt % cm-unicode has /Alpharightphantomdiaeresis
+ /uni03AB.alt % cm-unicode has /Upsilondiaeresisshifted
+ /uni03B1.alt % cm-unicode has /alpharightphantomdiaeresis
+ /uni03CB.alt % cm-unicode has /upsilondiaeresisshifted
% 0x10
-/uni0316
-/uni0317
-/uni03DF
-/uni03D9
-/uni032E
-/uni03D8
-/uni03DA
-/uni03E0
+ /acutelowmod
+ /gravelowmod
+ /uni03DF % GREEK SMALL LETTER KOPPA
+ /uni03D9 % GREEK SMALL LETTER ARCHAIC KOPPA
+ /brevebelowcmb
+ /uni03D8 % GREEK LETTER ARCHAIC KOPPA
+ /uni03DA.var % GREEK LETTER STIGMA (variant)
+ /Sampigreek
% 0x18
-/Euro
-/perthousand
-/uni0259
-/uni03E1
-/quoteleft
-/quoteright
-/breve
-/macron
+ /Euro
+ /perthousand
+ /schwa
+ /uni03E1 % GREEK SMALL LETTER SAMPI
+ /quoteleft
+ /quoteright
+ /breve
+ /macron
% 0x20
-/uni1FC1
-/exclam
-/dieresis
-/dieresistonos
-/uni1FED
-/percent
-/periodcentered
-/tonos
+ /uni1FC1 % GREEK DIALYTIKA AND PERISPOMENI
+ /exclam
+ /dieresis
+ /dieresistonos
+ /uni1FED % GREEK DIALYTIKA AND VARIA
+ /percent
+ /periodcentered
+ /tonos
% 0x28
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/colon
-/anoteleia
-/uni1FFE
-/equal
-/uni1FBF
-/semicolon
+ /eight
+ /nine
+ /colon
+ /anoteleia
+ /uni1FFE % GREEK DASIA
+ /equal
+ /uni1FBF % GREEK PSILI
+ /questiongreek
% 0x40
-/uni1FDF
-/Alpha
-/Beta
-/uni1FDD
-/Delta
-/Epsilon
-/Phi
-/Gamma
+ /uni1FDF % GREEK DASIA AND PERISPOMENI
+ /Alpha
+ /Beta
+ /uni1FDD % GREEK DASIA AND VARIA
+ /Delta
+ /Epsilon
+ /Phi
+ /Gamma
% 0x48
-/Eta
-/Iota
-/Theta
-/Kappa
-/Lambda
-/Mu
-/Nu
-/Omicron
+ /Eta
+ /Iota
+ /Theta
+ /Kappa
+ /Lambda
+ /Mu
+ /Nu
+ /Omicron
% 0x50
-/Pi
-/Chi
-/Rho
-/Sigma
-/Tau
-/Upsilon
-/uni1FDE
-/Omega
+ /Pi
+ /Chi
+ /Rho
+ /Sigma
+ /Tau
+ /Upsilon
+ /uni1FDE % GREEK DASIA AND OXIA
+ /Omega
% 0x58
-/Xi
-/Psi
-/Zeta
-/bracketleft
-/uni1FCF
-/bracketright
-/uni1FCE
-/uni1FCD
+ /Xi
+ /Psi
+ /Zeta
+ /bracketleft
+ /uni1FCF % GREEK PSILI AND PERISPOMENI
+ /bracketright
+ /uni1FCE % GREEK PSILI AND OXIA
+ /uni1FCD % GREEK PSILI AND VARIA
% 0x60
-/uni1FEF
-/alpha
-/beta
-/sigma1
-/delta
-/epsilon
-/phi
-/gamma
+ /uni1FEF % GREEK VARIA
+ /alpha
+ /beta
+ /sigma1
+ /delta
+ /epsilon
+ /phi
+ /gamma
% 0x68
-/eta
-/iota
-/theta
-/kappa
-/lambda
-/mu
-/nu
-/omicron
+ /eta
+ /iota
+ /theta
+ /kappa
+ /lambda
+ /mu
+ /nu
+ /omicron
% 0x70
-/pi
-/chi
-/rho
-/sigma
-/tau
-/upsilon
-/cwm
-/omega
+ /pi
+ /chi
+ /rho
+ /sigma
+ /tau
+ /upsilon
+ /cwm
+ /omega
% 0x78
-/xi
-/psi
-/zeta
-/guillemotleft
-/uni037A
-/guillemotright
-/uni1FC0
-/emdash
+ /xi
+ /psi
+ /zeta
+ /guillemotleft
+ /ypogegrammeni
+ /guillemotright
+ /perispomenigreekcmb
+ /emdash
% 0x80
-/uni1F70
-/uni1F01
-/uni1F00
-/uni1F03
-/uni1FB2
-/uni1F81
-/uni1F80
-/uni1F83
+ /uni1F70 % GREEK SMALL LETTER ALPHA WITH VARIA
+ /uni1F01 % GREEK SMALL LETTER ALPHA WITH DASIA
+ /uni1F00 % GREEK SMALL LETTER ALPHA WITH PSILI
+ /uni1F03 % GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+ /uni1FB2 % GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+ /uni1F81 % GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+ /uni1F80 % GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+ /uni1F83 % GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
% 0x88
-/alphatonos
-/uni1F05
-/uni1F04
-/uni1F02
-/uni1FB4
-/uni1F85
-/uni1F84
-/uni1F82
+ /alphatonos
+ /uni1F05 % GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+ /uni1F04 % GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+ /uni1F02 % GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+ /uni1FB4 % GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+ /uni1F85 % GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+ /uni1F84 % GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+ /uni1F82 % GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
% 0x90
-/uni1FB6
-/uni1F07
-/uni1F06
-/uni03DD
-/uni1FB7
-/uni1F87
-/uni1F86
-/.notdef
+ /uni1FB6 % GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+ /uni1F07 % GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+ /uni1F06 % GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+ /uni03DD % GREEK SMALL LETTER DIGAMMA
+ /uni1FB7 % GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+ /uni1F87 % GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+ /uni1F86 % GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+ /uni035D % SPACE + COMBINING DOUBLE BREVE?
% 0x98
-/uni1F74
-/uni1F21
-/uni1F20
-/.notdef
-/uni1FC2
-/uni1F91
-/uni1F90
-/.notdef
+ /uni1F74 % GREEK SMALL LETTER ETA WITH VARIA
+ /uni1F21 % GREEK SMALL LETTER ETA WITH DASIA
+ /uni1F20 % GREEK SMALL LETTER ETA WITH PSILI
+ /.notdef
+ /uni1FC2 % GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+ /uni1F91 % GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+ /uni1F90 % GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+ /.notdef
% 0xA0
-/etatonos
-/uni1F25
-/uni1F24
-/uni1F23
-/uni1FC4
-/uni1F95
-/uni1F94
-/uni1F93
+ /etatonos
+ /uni1F25 % GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+ /uni1F24 % GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+ /uni1F23 % GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+ /uni1FC4 % GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+ /uni1F95 % GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+ /uni1F94 % GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+ /uni1F93 % GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
% 0xA8
-/uni1FC6
-/uni1F27
-/uni1F26
-/uni1F22
-/uni1FC7
-/uni1F97
-/uni1F96
-/uni1F92
+ /uni1FC6 % GREEK SMALL LETTER ETA WITH PERISPOMENI
+ /uni1F27 % GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+ /uni1F26 % GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+ /uni1F22 % GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+ /uni1FC7 % GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+ /uni1F97 % GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+ /uni1F96 % GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+ /uni1F92 % GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
% 0xB0
-/uni1F7C
-/uni1F61
-/uni1F60
-/uni1F63
-/uni1FF2
-/uni1FA1
-/uni1FA0
-/uni1FA3
+ /uni1F7C % GREEK SMALL LETTER OMEGA WITH VARIA
+ /uni1F61 % GREEK SMALL LETTER OMEGA WITH DASIA
+ /uni1F60 % GREEK SMALL LETTER OMEGA WITH PSILI
+ /uni1F63 % GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+ /uni1FF2 % GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+ /uni1FA1 % GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+ /uni1FA0 % GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+ /uni1FA3 % GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
% 0xB8
-/omegatonos
-/uni1F65
-/uni1F64
-/uni1F62
-/uni1FF4
-/uni1FA5
-/uni1FA4
-/uni1FA2
+ /omegatonos
+ /uni1F65 % GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+ /uni1F64 % GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+ /uni1F62 % GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+ /uni1FF4 % GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+ /uni1FA5 % GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+ /uni1FA4 % GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+ /uni1FA2 % GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
% 0xC0
-/uni1FF6
-/uni1F67
-/uni1F66
-/uni03DC
-/uni1FF7
-/uni1FA7
-/uni1FA6
-/.notdef
+ /uni1FF6 % GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+ /uni1F67 % GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+ /uni1F66 % GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+ /Digammagreek
+ /uni1FF7 % GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+ /uni1FA7 % GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+ /uni1FA6 % GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+ /.notdef
% 0xC8
-/uni1F76
-/uni1F31
-/uni1F30
-/uni1F33
-/uni1F7A
-/uni1F51
-/uni1F50
-/uni1F53
+ /uni1F76 % GREEK SMALL LETTER IOTA WITH VARIA
+ /uni1F31 % GREEK SMALL LETTER IOTA WITH DASIA
+ /uni1F30 % GREEK SMALL LETTER IOTA WITH PSILI
+ /uni1F33 % GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+ /uni1F7A % GREEK SMALL LETTER UPSILON WITH VARIA
+ /uni1F51 % GREEK SMALL LETTER UPSILON WITH DASIA
+ /uni1F50 % GREEK SMALL LETTER UPSILON WITH PSILI
+ /uni1F53 % GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
% 0xD0
-/iotatonos
-/uni1F35
-/uni1F34
-/uni1F32
-/upsilontonos
-/uni1F55
-/uni1F54
-/uni1F52
+ /iotatonos
+ /uni1F35 % GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+ /uni1F34 % GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+ /uni1F32 % GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+ /upsilontonos
+ /uni1F55 % GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+ /uni1F54 % GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+ /uni1F52 % GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
% 0xD8
-/uni1FD6
-/uni1F37
-/uni1F36
-/Iotadieresis
-/uni1FE6
-/uni1F57
-/uni1F56
-/Upsilondieresis
+ /uni1FD6 % GREEK SMALL LETTER IOTA WITH PERISPOMENI
+ /uni1F37 % GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+ /uni1F36 % GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+ /Iotadieresis
+ /uni1FE6 % GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+ /uni1F57 % GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+ /uni1F56 % GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+ /Upsilondieresis
% 0xE0
-/uni1F72
-/uni1F11
-/uni1F10
-/uni1F13
-/uni1F78
-/uni1F41
-/uni1F40
-/uni1F43
+ /uni1F72 % GREEK SMALL LETTER EPSILON WITH VARIA
+ /uni1F11 % GREEK SMALL LETTER EPSILON WITH DASIA
+ /uni1F10 % GREEK SMALL LETTER EPSILON WITH PSILI
+ /uni1F13 % GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+ /uni1F78 % GREEK SMALL LETTER OMICRON WITH VARIA
+ /uni1F41 % GREEK SMALL LETTER OMICRON WITH DASIA
+ /uni1F40 % GREEK SMALL LETTER OMICRON WITH PSILI
+ /uni1F43 % GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
% 0xE8
-/epsilontonos
-/uni1F15
-/uni1F14
-/uni1F12
-/omicrontonos
-/uni1F45
-/uni1F44
-/uni1F42
+ /epsilontonos
+ /uni1F15 % GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+ /uni1F14 % GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+ /uni1F12 % GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+ /omicrontonos
+ /uni1F45 % GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+ /uni1F44 % GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+ /uni1F42 % GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
% 0xF0
-/iotadieresis
-/uni1FD2
-/iotadieresistonos
-/uni1FD7
-/upsilondieresis
-/uni1FE2
-/upsilondieresistonos
-/uni1FE7
+ /iotadieresis
+ /uni1FD2 % GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+ /iotadieresistonos
+ /uni1FD7 % GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+ /upsilondieresis
+ /uni1FE2 % GREEK SMALL LETTER UPSILON WITH DAILYTIKA AND VARIA
+ /upsilondieresistonos
+ /uni1FE7 % GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
% 0xF8
-/uni1FB3
-/uni1FC3
-/uni1FF3
-/uni1FE5
-/uni1FE4
-/.notdef
-/uni0374
-/uni0375
+ /uni1FB3 % GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+ /uni1FC3 % GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+ /uni1FF3 % GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+ /uni1FE5 % GREEK SMALL LETTER RHO WITH DASIA
+ /uni1FE4 % GREEK SMALL LETTER RHO WITH PSILI
+ /cwm
+ /numeralsigngreek
+ /numeralsignlowergreek
] def
-% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
-% LIGKERN parenleft parenleft =: guillemotleft ;
-% LIGKERN parenright parenright =: guillemotright ;
+%
+% UNICODING Delta =: Deltagreek Delta;
+% UNICODING Omega =: Omegagreek Omega;
+% UNICODING mu =: mugreek mu;
+% UNICODING questiongreek =: questiongreek semicolon;
+% UNICODING perispomenigreekcmb =: uni1FC0 perispomenigreekcmb;
+%
+% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+% LIGKERN parenleft parenleft =: guillemotleft ;
+% LIGKERN parenright parenright =: guillemotright ;
% LIGKERN dieresis tonos =: dieresistonos
% LIGKERN tonos dieresis =: dieresistonos
% LIGKERN tonos alpha =: alphatonos ;
% LIGKERN tonos epsilon =: epsilontonos ;
-% LIGKERN tonos eta =: etatonos ;
-% LIGKERN tonos iota =: iotatonos ;
+% LIGKERN tonos eta =: etatonos ;
+% LIGKERN tonos iota =: iotatonos ;
% LIGKERN tonos omicron =: omicrontonos ;
% LIGKERN tonos upsilon =: upsilontonos ;
% LIGKERN tonos omega =: omegatonos ;
% LIGKERN tonos Alpha =: Alphatonos ;
% LIGKERN tonos Epsilon =: Epsilontonos ;
-% LIGKERN tonos Eta =: Etatonos ;
-% LIGKERN tonos Iota =: Iotatonos ;
+% LIGKERN tonos Eta =: Etatonos ;
+% LIGKERN tonos Iota =: Iotatonos ;
% LIGKERN tonos Omicron =: Omicrontonos ;
% LIGKERN tonos Upsilon =: Upsilontonos ;
% LIGKERN tonos Omega =: Omegatonos ;
% LIGKERN dieresis iota =: iotadieresis ; dieresis Iota =: Iotadieresis ;
% LIGKERN dieresis upsilon =: upsilondieresis ;
% LIGKERN dieresis Upsilon =: Upsilondieresis ;
-% LIGKERN dieresistonos iota =: iotadieresistonos ;
+% LIGKERN dieresistonos iota =: iotadieresistonos ;
% LIGKERN dieresistonos upsilon =: upsilondieresistonos ;
% LIGKERN tonos tonos =: quoteright ; uni1FEF uni1FEF =: quoteleft ;
% LIGKERN uni1FBF tonos =: uni1FCE ; uni1FBF uni1FEF =: uni1FCD ;
@@ -323,28 +330,28 @@
% LIGKERN dieresis uni1FEF =: uni1FED ; uni1FEF dieresis =: uni1FED ;
% LIGKERN uni1FCE alpha =: uni1F04 ; uni1FCF alpha =: uni1F06 ; uni1FBF alpha =: uni1F00 ;
% LIGKERN uni1FCD alpha =: uni1F02 ; uni1FDF alpha =: uni1F07 ; uni1FFE alpha =: uni1F01 ;
-% LIGKERN uni1FDE alpha =: uni1F05 ; uni1FEF alpha =: uni1F70 ;
+% LIGKERN uni1FDE alpha =: uni1F05 ; uni1FEF alpha =: uni1F70 ;
% LIGKERN uni1FDD alpha =: uni1F03 ; uni1FC0 alpha =: uni1FB6 ;
-% LIGKERN alpha uni037A =: uni1FB3 ; alphatonos uni037A =: uni1FB4 ;
-% LIGKERN uni1F00 uni037A =: uni1F80 ; uni1F01 uni037A =: uni1F81 ;
-% LIGKERN uni1F02 uni037A =: uni1F82 ; uni1F03 uni037A =: uni1F83 ;
-% LIGKERN uni1F04 uni037A =: uni1F84 ; uni1F05 uni037A =: uni1F85 ;
-% LIGKERN uni1F06 uni037A =: uni1F86 ; uni1F07 uni037A =: uni1F87 ;
-% LIGKERN uni1F70 uni037A =: uni1FB2 ; uni1FB6 uni037A =: uni1FB7 ;
+% LIGKERN alpha ypogegrammeni =: uni1FB3 ; alphatonos ypogegrammeni =: uni1FB4 ;
+% LIGKERN uni1F00 ypogegrammeni =: uni1F80 ; uni1F01 ypogegrammeni =: uni1F81 ;
+% LIGKERN uni1F02 ypogegrammeni =: uni1F82 ; uni1F03 ypogegrammeni =: uni1F83 ;
+% LIGKERN uni1F04 ypogegrammeni =: uni1F84 ; uni1F05 ypogegrammeni =: uni1F85 ;
+% LIGKERN uni1F06 ypogegrammeni =: uni1F86 ; uni1F07 ypogegrammeni =: uni1F87 ;
+% LIGKERN uni1F70 ypogegrammeni =: uni1FB2 ; uni1FB6 ypogegrammeni =: uni1FB7 ;
% LIGKERN uni1FCE epsilon =: uni1F14 ; uni1FBF epsilon =: uni1F10 ;
% LIGKERN uni1FCD epsilon =: uni1F12 ; uni1FFE epsilon =: uni1F11 ;
-% LIGKERN uni1FDE epsilon =: uni1F15 ; uni1FEF epsilon =: uni1F72 ;
+% LIGKERN uni1FDE epsilon =: uni1F15 ; uni1FEF epsilon =: uni1F72 ;
% LIGKERN uni1FDD epsilon =: uni1F13 ;
% LIGKERN uni1FCE eta =: uni1F24 ; uni1FCF eta =: uni1F26 ; uni1FBF eta =: uni1F20 ;
% LIGKERN uni1FCD eta =: uni1F22 ; uni1FDF eta =: uni1F27 ; uni1FFE eta =: uni1F21 ;
-% LIGKERN uni1FDE eta =: uni1F25 ; uni1FEF eta =: uni1F74 ;
+% LIGKERN uni1FDE eta =: uni1F25 ; uni1FEF eta =: uni1F74 ;
% LIGKERN uni1FDD eta =: uni1F23 ; uni1FC0 eta =: uni1FC6 ;
-% LIGKERN eta uni037A =: uni1FC3 ; etatonos uni037A =: uni1FC4 ;
-% LIGKERN uni1F20 uni037A =: uni1F90 ; uni1F21 uni037A =: uni1F91 ;
-% LIGKERN uni1F22 uni037A =: uni1F92 ; uni1F23 uni037A =: uni1F93 ;
-% LIGKERN uni1F24 uni037A =: uni1F94 ; uni1F25 uni037A =: uni1F95 ;
-% LIGKERN uni1F26 uni037A =: uni1F96 ; uni1F27 uni037A =: uni1F97 ;
-% LIGKERN uni1F74 uni037A =: uni1FC2 ; uni1FC6 uni037A =: uni1FC7 ;
+% LIGKERN eta ypogegrammeni =: uni1FC3 ; etatonos ypogegrammeni =: uni1FC4 ;
+% LIGKERN uni1F20 ypogegrammeni =: uni1F90 ; uni1F21 ypogegrammeni =: uni1F91 ;
+% LIGKERN uni1F22 ypogegrammeni =: uni1F92 ; uni1F23 ypogegrammeni =: uni1F93 ;
+% LIGKERN uni1F24 ypogegrammeni =: uni1F94 ; uni1F25 ypogegrammeni =: uni1F95 ;
+% LIGKERN uni1F26 ypogegrammeni =: uni1F96 ; uni1F27 ypogegrammeni =: uni1F97 ;
+% LIGKERN uni1F74 ypogegrammeni =: uni1FC2 ; uni1FC6 ypogegrammeni =: uni1FC7 ;
% LIGKERN uni1FCE iota =: uni1F34 ; uni1FBF iota =: uni1F30 ;
% LIGKERN uni1FCD iota =: uni1F32 ; uni1FFE iota =: uni1F31 ;
% LIGKERN uni1FDE iota =: uni1F35 ; uni1FEF iota =: uni1F76 ;
@@ -353,7 +360,7 @@
% LIGKERN uni1FCF iota =: uni1F36 ; uni1FDF iota =: uni1F37 ;
% LIGKERN uni1FCE omicron =: uni1F44 ; uni1FBF omicron =: uni1F40 ;
% LIGKERN uni1FCD omicron =: uni1F42 ; uni1FFE omicron =: uni1F41 ;
-% LIGKERN uni1FDE omicron =: uni1F45 ; uni1FEF omicron =: uni1F78 ;
+% LIGKERN uni1FDE omicron =: uni1F45 ; uni1FEF omicron =: uni1F78 ;
% LIGKERN uni1FDD omicron =: uni1F43 ;
% LIGKERN uni1FCE upsilon =: uni1F54 ; uni1FBF upsilon =: uni1F50 ;
% LIGKERN uni1FCD upsilon =: uni1F52 ; uni1FFE upsilon =: uni1F51 ;
@@ -363,18 +370,18 @@
% LIGKERN uni1FCF upsilon =: uni1F56 ; uni1FDF upsilon =: uni1F57 ;
% LIGKERN uni1FCE omega =: uni1F64 ; uni1FCF omega =: uni1F66 ; uni1FBF omega =: uni1F60 ;
% LIGKERN uni1FCD omega =: uni1F62 ; uni1FDF omega =: uni1F67 ; uni1FFE omega =: uni1F61 ;
-% LIGKERN uni1FDE omega =: uni1F65 ; uni1FEF omega =: uni1F7C ;
+% LIGKERN uni1FDE omega =: uni1F65 ; uni1FEF omega =: uni1F7C ;
% LIGKERN uni1FDD omega =: uni1F63 ; uni1FC0 omega =: uni1FF6 ;
-% LIGKERN omega uni037A =: uni1FF3 ; omegatonos uni037A =: uni1FF4 ;
-% LIGKERN uni1F60 uni037A =: uni1FA0 ; uni1F61 uni037A =: uni1FA1 ;
-% LIGKERN uni1F62 uni037A =: uni1FA2 ; uni1F63 uni037A =: uni1FA3 ;
-% LIGKERN uni1F64 uni037A =: uni1FA4 ; uni1F65 uni037A =: uni1FA5 ;
-% LIGKERN uni1F66 uni037A =: uni1FA6 ; uni1F67 uni037A =: uni1FA7 ;
-% LIGKERN uni1F7C uni037A =: uni1FF2 ; uni1FF6 uni037A =: uni1FF7 ;
+% LIGKERN omega ypogegrammeni =: uni1FF3 ; omegatonos ypogegrammeni =: uni1FF4 ;
+% LIGKERN uni1F60 ypogegrammeni =: uni1FA0 ; uni1F61 ypogegrammeni =: uni1FA1 ;
+% LIGKERN uni1F62 ypogegrammeni =: uni1FA2 ; uni1F63 ypogegrammeni =: uni1FA3 ;
+% LIGKERN uni1F64 ypogegrammeni =: uni1FA4 ; uni1F65 ypogegrammeni =: uni1FA5 ;
+% LIGKERN uni1F66 ypogegrammeni =: uni1FA6 ; uni1F67 ypogegrammeni =: uni1FA7 ;
+% LIGKERN uni1F7C ypogegrammeni =: uni1FF2 ; uni1FF6 ypogegrammeni =: uni1FF7 ;
% LIGKERN uni1FBF rho =: uni1FE4 ; uni1FFE rho =: uni1FE5 ;
% LIGKERN || = 01 ; sigma || =:| sigma1 ; sigma guillemotright =:| sigma1 ;
% LIGKERN sigma parenright =:| sigma1 ; sigma period =:| sigma1 ;
-% LIGKERN sigma comma =:| sigma1 ; sigma exclam =:| sigma1 ;
+% LIGKERN sigma comma =:| sigma1 ; sigma exclam =:| sigma1 ;
% LIGKERN sigma semicolon =:| sigma1 ; sigma anoteleia =:| sigma1 ;
% LIGKERN Alpha uni1FBE =: uni1FBC ;
% LIGKERN Eta uni1FBE =: uni1FCC ;
diff --git a/fonts/utilities/fontools/share/fontools_ly1.enc b/fonts/utilities/fontools/share/fontools_ly1.enc
index 70133cc9c0..45ab6e9142 100644
--- a/fonts/utilities/fontools/share/fontools_ly1.enc
+++ b/fonts/utilities/fontools/share/fontools_ly1.enc
@@ -2,293 +2,293 @@
% CODINGSCHEME TEX TYPEWRITER AND WINDOWS ANSI
/otftotfmLY1Encoding [
% 0x00
-/.notdef
-/Euro
-/.notdef
-/.notdef
-/fraction
-/dotaccent
-/hungarumlaut
-/ogonek
+ /.notdef
+ /Euro
+ /.notdef
+ /.notdef
+ /fraction
+ /dotaccent
+ /hungarumlaut
+ /ogonek
% 0x08
-/.notdef
-/.notdef
-/cwm
-/ff
-/fi
-/fl
-/ffi
-/ffl
+ /fl
+ /.notdef
+ /cwm
+ /ff
+ /fi
+ /.notdef
+ /ffi
+ /ffl
% 0x10
-/dotlessi
-/dotlessj
-/grave
-/acute
-/caron
-/breve
-/macron
-/ring
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
% 0x18
-/cedilla
-/germandbls
-/ae
-/oe
-/oslash
-/AE
-/OE
-/Oslash
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
% 0x20
-/space
-/exclam
-/quotedbl
-/numbersign
-/dollar
-/percent
-/ampersand
-/quoteright
+ /space
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
% 0x28
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/colon
-/semicolon
-/less
-/equal
-/greater
-/question
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
% 0x40
-/at
-/A
-/B
-/C
-/D
-/E
-/F
-/G
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
% 0x48
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
% 0x58
-/X
-/Y
-/Z
-/bracketleft
-/backslash
-/bracketright
-/circumflex
-/underscore
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /circumflex
+ /underscore
% 0x60
-/quoteleft
-/a
-/b
-/c
-/d
-/e
-/f
-/g
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
% 0x68
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
% 0x78
-/x
-/y
-/z
-/braceleft
-/bar
-/braceright
-/tilde
-/dieresis
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /tilde
+ /dieresis
% 0x80
-/Lslash
-/quotesingle
-/quotesinglbase
-/florin
-/quotedblbase
-/ellipsis
-/dagger
-/daggerdbl
+ /Lslash
+ /quotesingle
+ /quotesinglbase
+ /florin
+ /quotedblbase
+ /ellipsis
+ /dagger
+ /daggerdbl
% 0x88
-/circumflex
-/perthousand
-/Scaron
-/guilsinglleft
-/OE
-/Zcaron
-/asciicircum
-/minus
+ /circumflex
+ /perthousand
+ /Scaron
+ /guilsinglleft
+ /OE
+ /Zcaron
+ /asciicircum
+ /minus
% 0x90
-/lslash
-/quoteleft
-/quoteright
-/quotedblleft
-/quotedblright
-/bullet
-/endash
-/emdash
+ /lslash
+ /quoteleft
+ /quoteright
+ /quotedblleft
+ /quotedblright
+ /bullet
+ /endash
+ /emdash
% 0x98
-/tilde
-/trademark
-/scaron
-/guilsinglright
-/oe
-/zcaron
-/asciitilde
-/Ydieresis
+ /tilde
+ /trademark
+ /scaron
+ /guilsinglright
+ /oe
+ /zcaron
+ /asciitilde
+ /Ydieresis
% 0xA0
-/cwm
-/exclamdown
-/cent
-/sterling
-/currency
-/yen
-/brokenbar
-/section
+ /cwm
+ /exclamdown
+ /cent
+ /sterling
+ /currency
+ /yen
+ /brokenbar
+ /section
% 0xA8
-/dieresis
-/copyright
-/ordfeminine
-/guillemotleft
-/logicalnot
-/sfthyphen
-/registered
-/macron
+ /dieresis
+ /copyright
+ /ordfeminine
+ /guillemotleft
+ /logicalnot
+ /sfthyphen
+ /registered
+ /macron
% 0xB0
-/degree
-/plusminus
-/twosuperior
-/threesuperior
-/acute
-/mu
-/paragraph
-/periodcentered
+ /degree
+ /plusminus
+ /twosuperior
+ /threesuperior
+ /acute
+ /mu
+ /paragraph
+ /periodcentered
% 0xB8
-/cedilla
-/onesuperior
-/ordmasculine
-/guillemotright
-/onequarter
-/onehalf
-/threequarters
-/questiondown
+ /cedilla
+ /onesuperior
+ /ordmasculine
+ /guillemotright
+ /onequarter
+ /onehalf
+ /threequarters
+ /questiondown
% 0xC0
-/Agrave
-/Aacute
-/Acircumflex
-/Atilde
-/Adieresis
-/Aring
-/AE
-/Ccedilla
+ /Agrave
+ /Aacute
+ /Acircumflex
+ /Atilde
+ /Adieresis
+ /Aring
+ /AE
+ /Ccedilla
% 0xC8
-/Egrave
-/Eacute
-/Ecircumflex
-/Edieresis
-/Igrave
-/Iacute
-/Icircumflex
-/Idieresis
+ /Egrave
+ /Eacute
+ /Ecircumflex
+ /Edieresis
+ /Igrave
+ /Iacute
+ /Icircumflex
+ /Idieresis
% 0xD0
-/Eth
-/Ntilde
-/Ograve
-/Oacute
-/Ocircumflex
-/Otilde
-/Odieresis
-/multiply
+ /Eth
+ /Ntilde
+ /Ograve
+ /Oacute
+ /Ocircumflex
+ /Otilde
+ /Odieresis
+ /multiply
% 0xD8
-/Oslash
-/Ugrave
-/Uacute
-/Ucircumflex
-/Udieresis
-/Yacute
-/Thorn
-/germandbls
+ /Oslash
+ /Ugrave
+ /Uacute
+ /Ucircumflex
+ /Udieresis
+ /Yacute
+ /Thorn
+ /germandbls
% 0xE0
-/agrave
-/aacute
-/acircumflex
-/atilde
-/adieresis
-/aring
-/ae
-/ccedilla
+ /agrave
+ /aacute
+ /acircumflex
+ /atilde
+ /adieresis
+ /aring
+ /ae
+ /ccedilla
% 0xE8
-/egrave
-/eacute
-/ecircumflex
-/edieresis
-/igrave
-/iacute
-/icircumflex
-/idieresis
+ /egrave
+ /eacute
+ /ecircumflex
+ /edieresis
+ /igrave
+ /iacute
+ /icircumflex
+ /idieresis
% 0xF0
-/eth
-/ntilde
-/ograve
-/oacute
-/ocircumflex
-/otilde
-/odieresis
-/divide
+ /eth
+ /ntilde
+ /ograve
+ /oacute
+ /ocircumflex
+ /otilde
+ /odieresis
+ /divide
% 0xF8
-/oslash
-/ugrave
-/uacute
-/ucircumflex
-/udieresis
-/yacute
-/thorn
-/ydieresis
+ /oslash
+ /ugrave
+ /uacute
+ /ucircumflex
+ /udieresis
+ /yacute
+ /thorn
+ /ydieresis
] def
%
% LIGKERN question quoteleft =: questiondown;
@@ -297,7 +297,7 @@
% LIGKERN endash hyphen =: emdash;
% LIGKERN quoteleft quoteleft =: quotedblleft;
% LIGKERN quoteright quoteright =: quotedblright;
-% LIGKERN comma comma =: quotedblbase;
+% LIGKERN comma comma =: quotedblbase;
% LIGKERN less less =: guillemotleft;
% LIGKERN greater greater =: guillemotright;
%
diff --git a/fonts/utilities/fontools/share/fontools_oml.enc b/fonts/utilities/fontools/share/fontools_oml.enc
index d67d3460e6..8db5c77b6b 100644
--- a/fonts/utilities/fontools/share/fontools_oml.enc
+++ b/fonts/utilities/fontools/share/fontools_oml.enc
@@ -2,291 +2,303 @@
% CODINGSCHEME TEX MATH ITALIC
/otftotfmOMLEncoding [
% 0x00
-/Gamma
-/Delta
-/Theta
-/Lambda
-/Xi
-/Pi
-/Sigma
-/Upsilon
+ /Gamma
+ /Delta
+ /Theta
+ /Lambda
+ /Xi
+ /Pi
+ /Sigma
+ /Upsilon
% 0x08
-/Phi
-/Psi
-/Omega
-/alpha
-/beta
-/gamma
-/delta
-/epsilon1
+ /Phi
+ /Psi
+ /Omega
+ /alpha
+ /beta
+ /gamma
+ /delta
+ /epsilon1
% 0x10
-/zeta
-/eta
-/theta
-/iota
-/kappa
-/lambda
-/mu
-/nu
+ /zeta
+ /eta
+ /theta
+ /iota
+ /kappa
+ /lambda
+ /mu
+ /nu
% 0x18
-/xi
-/pi
-/rho
-/sigma
-/tau
-/upsilon
-/phi
-/chi
+ /xi
+ /pi
+ /rho
+ /sigma
+ /tau
+ /upsilon
+ /phi
+ /chi
% 0x20
-/psi
-/omega
-/epsilon
-/theta1
-/pi1
-/rho1
-/sigma1
-/phi1
+ /psi
+ /omega
+ /epsilon
+ /theta1
+ /pi1
+ /rho1
+ /sigma1
+ /phi1
% 0x28
-/harpoonleftup
-/harpoonleftdown
-/harpoonrightup
-/harpoonrightdown
-/hookrightchar
-/hookleftchar
-/triangleright
-/triangleleft
+ /harpoonleftup
+ /harpoonleftdown
+ /harpoonrightup
+ /harpoonrightdown
+ /hookrightchar
+ /hookleftchar
+ /triangleright
+ /triangleleft
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/period
-/comma
-/less
-/slash
-/greater
-/star
+ /eight
+ /nine
+ /period
+ /comma
+ /less
+ /slash
+ /greater
+ /star
% 0x40
-/partialdiff
-/A
-/B
-/C
-/D
-/E
-/F
-/G
+ /partialdiff
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
% 0x48
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
% 0x58
-/X
-/Y
-/Z
-/flat
-/natural
-/sharp
-/slurbelow
-/slurabove
+ /X
+ /Y
+ /Z
+ /flat
+ /natural
+ /sharp
+ /slurbelow
+ /slurabove
% 0x60
-/lscript
-/a
-/b
-/c
-/d
-/e
-/f
-/g
+ /lscript
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
% 0x68
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
% 0x78
-/x
-/y
-/z
-/dotlessi
-/dotlessj
-/weierstrass
-/vector
-/tie
+ /x
+ /y
+ /z
+ /dotlessi
+ /dotlessj
+ /weierstrass
+ /vector
+ /tie
% 0x80
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x88
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x90
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x98
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xA0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xA8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xB0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xB8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xC0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xC8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xD0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xD8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xE0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xE8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xF0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xF8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
] def
+%
+% UNICODING Delta =: Deltagreek Delta;
+% UNICODING Omega =: Omegagreek Omega;
+% UNICODING mu =: mugreek mu;
+% UNICODING harpoonleftup =: harpoonleftup arrowlefttophalf;;
+% UNICODING harpoonleftdown =: harpoonleftdown arrowleftbothalf
+% UNICODING harpoonrightup =: harpoonrightup arrowrighttophalf;
+% UNICODING harpoonrightdown =: harpoonrightdown arrowrightbothalf;
+% UNICODING hookrightchar =: hookrightchar arrowhookleft;
+% UNICODING hookleftchar =: hookleftchar arrowhookright;
+% UNICODING star =: star asteriskcentered;
+% UNICODING tie =: tie uni0311;
diff --git a/fonts/utilities/fontools/share/fontools_ot1.enc b/fonts/utilities/fontools/share/fontools_ot1.enc
index 59bf94c87c..0cb0d1901d 100644
--- a/fonts/utilities/fontools/share/fontools_ot1.enc
+++ b/fonts/utilities/fontools/share/fontools_ot1.enc
@@ -2,301 +2,307 @@
% CODINGSCHEME TEX TEXT
/otftotfmOT1Encoding [
% 0x00
-/Gamma
-/Delta
-/Theta
-/Lambda
-/Xi
-/Pi
-/Sigma
-/Upsilon
+ /Gamma
+ /Delta
+ /Theta
+ /Lambda
+ /Xi
+ /Pi
+ /Sigma
+ /Upsilon
% 0x08
-/Phi
-/Psi
-/Omega
-/ff
-/fi
-/fl
-/ffi
-/ffl
+ /Phi
+ /Psi
+ /Omega
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
% 0x10
-/dotlessi
-/dotlessj
-/grave
-/acute
-/caron
-/breve
-/macron
-/ring
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
% 0x18
-/cedilla
-/germandbls
-/ae
-/oe
-/oslash
-/AE
-/OE
-/Oslash
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
% 0x20
-/uni2423
-/exclam
-/quotedblright
-/numbersign
-/dollar
-/percent
-/ampersand
-/quoteright
+ /lslashslash
+ /exclam
+ /quotedblright
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
% 0x28
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/colon
-/semicolon
-/exclamdown
-/equal
-/questiondown
-/question
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /exclamdown
+ /equal
+ /questiondown
+ /question
% 0x40
-/at
-/A
-/B
-/C
-/D
-/E
-/F
-/G
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
% 0x48
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
% 0x58
-/X
-/Y
-/Z
-/bracketleft
-/quotedblleft
-/bracketright
-/circumflex
-/dotaccent
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /quotedblleft
+ /bracketright
+ /circumflex
+ /dotaccent
% 0x60
-/quoteleft
-/a
-/b
-/c
-/d
-/e
-/f
-/g
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
% 0x68
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
% 0x78
-/x
-/y
-/z
-/endash
-/emdash
-/hungarumlaut
-/tilde
-/dieresis
+ /x
+ /y
+ /z
+ /endash
+ /emdash
+ /hungarumlaut
+ /tilde
+ /dieresis
% 0x80
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x88
-/.notdef
-/.notdef
-/Lslash
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /Lslash
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x90
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x98
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xA0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xA8
-/.notdef
-/.notdef
-/lslash
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /lslash
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xB0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xB8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xC0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xC8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xD0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xD8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xE0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xE8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xF0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xF8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
] def
%
+% UNICODING Delta =: Deltagreek Delta;
+% UNICODING Omega =: Omegagreek Omega;
+% UNICODING lslashslash =: lslashslash solidusshortoverlaycmb;
+%
% LIGKERN question quoteleft =: questiondown;
% LIGKERN exclam quoteleft =: exclamdown;
% LIGKERN hyphen hyphen =: endash;
% LIGKERN endash hyphen =: emdash;
% LIGKERN quoteleft quoteleft =: quotedblleft;
% LIGKERN quoteright quoteright =: quotedblright;
+% LIGKERN lslashslash L =: Lslash;
+% LIGKERN lslashslash l =: lslash;
%
% LIGKERN || = 32;
%
diff --git a/fonts/utilities/fontools/share/fontools_qx.enc b/fonts/utilities/fontools/share/fontools_qx.enc
new file mode 100644
index 0000000000..b62b305dfa
--- /dev/null
+++ b/fonts/utilities/fontools/share/fontools_qx.enc
@@ -0,0 +1,310 @@
+% A version of the QX encoding, intended for use with otftotfm.
+% Based on the file qx.enc from the dvips package
+/otftotfmQXEncoding [
+% 0x00
+ /alpha
+ /Delta
+ /beta
+ /delta
+ /pi
+ /Pi
+ /Sigma
+ /mu
+% 0x08
+ /ellipsis
+ /f_k
+ /Omega
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
+% 0x10
+ /dotlessi
+ /dotlessj
+ /grave
+ /acute
+ /caron
+ /breve
+ /macron
+ /ring
+% 0x18
+ /cedilla
+ /germandbls
+ /ae
+ /oe
+ /oslash
+ /AE
+ /OE
+ /Oslash
+% 0x20
+ /space
+ /exclam
+ /quotedblright
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+% 0x28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+% 0x30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+% 0x38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /exclamdown
+ /equal
+ /questiondown
+ /question
+% 0x40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+% 0x48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+% 0x50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+% 0x58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /quotedblleft
+ /bracketright
+ /circumflex
+ /dotaccent
+% 0x60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+% 0x68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+% 0x70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+% 0x78
+ /x
+ /y
+ /z
+ /endash
+ /emdash
+ /hungarumlaut
+ /tilde
+ /dieresis
+% 0x80
+ /Euro
+ /Aogonek
+ /Cacute
+ /greater
+ /greaterequal
+ /approxequal
+ /Eogonek
+ /Iogonek
+% 0x88
+ /less
+ /lessequal
+ /Lslash
+ /Nacute
+ /asciitilde
+ /asciicircum
+ /ell
+ /dagger
+% 0x90
+ /daggerdbl
+ /Sacute
+ /Scaron
+ /Scommaaccent
+ /degree
+ /Tcommaaccent
+ /ogonek
+ /Uogonek
+% 0x98
+ /Ydieresis
+ /Zacute
+ /Zcaron
+ /Zdotaccent
+ /IJ
+ /braceleft
+ /braceright
+ /section
+% 0xA0
+ /.notdef
+ /aogonek
+ /cacute
+ /registered
+ /copyright
+ /divide
+ /eogonek
+ /iogonek
+% 0xA8
+ /minus
+ /multiply
+ /lslash
+ /nacute
+ /plusminus
+ /infinity
+ /guillemotleft
+ /guillemotright
+% 0xB0
+ /paragraph
+ /sacute
+ /scaron
+ /scommaaccent
+ /bullet
+ /tcommaaccent
+ /threequartersemdash
+ /uogonek
+% 0xB8
+ /ydieresis
+ /zacute
+ /zcaron
+ /zdotaccent
+ /ij
+ /periodcentered
+ /quotedbl
+ /quotesingle
+% 0xC0
+ /Agrave
+ /Aacute
+ /Acircumflex
+ /Atilde
+ /Adieresis
+ /Aring
+ /backslash
+ /Ccedilla
+% 0xC8
+ /Egrave
+ /Eacute
+ /Ecircumflex
+ /Edieresis
+ /Igrave
+ /Iacute
+ /Icircumflex
+ /Idieresis
+% 0xD0
+ /Eth
+ /Ntilde
+ /Ograve
+ /Oacute
+ /Ocircumflex
+ /Otilde
+ /Odieresis
+ /currency
+% 0xD8
+ /perthousand
+ /Ugrave
+ /Uacute
+ /Ucircumflex
+ /Udieresis
+ /Yacute
+ /Thorn
+ /bar
+% 0xE0
+ /agrave
+ /aacute
+ /acircumflex
+ /atilde
+ /adieresis
+ /aring
+ /underscore
+ /ccedilla
+% 0xE8
+ /egrave
+ /eacute
+ /ecircumflex
+ /edieresis
+ /igrave
+ /iacute
+ /icircumflex
+ /idieresis
+% 0xF0
+ /eth
+ /ntilde
+ /ograve
+ /oacute
+ /ocircumflex
+ /otilde
+ /odieresis
+ /anglearc
+% 0xF8
+ /diameter
+ /ugrave
+ /uacute
+ /ucircumflex
+ /udieresis
+ /yacute
+ /thorn
+ /quotedblbase
+] def
+%
+% UNICODING Delta =: Deltagreek Delta;
+% UNICODING Omega =: Omegagreek Omega;
+% UNICODING mu =: mugreek mu;
+%
+% LIGKERN question quoteleft =: questiondown;
+% LIGKERN exclam quoteleft =: exclamdown;
+% LIGKERN hyphen hyphen =: endash;
+% LIGKERN endash hyphen =: emdash;
+% LIGKERN quoteleft quoteleft =: quotedblleft;
+% LIGKERN quoteright quoteright =: quotedblright;
+% LIGKERN comma comma =: quotedblbase;
+% LIGKERN less less =: guillemotleft;
+% LIGKERN greater greater =: guillemotright;
+%
+% LIGKERN || = 32;
+%
+% UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ;
diff --git a/fonts/utilities/fontools/share/fontools_t1.enc b/fonts/utilities/fontools/share/fontools_t1.enc
index f6f9e412a3..59caada7de 100644
--- a/fonts/utilities/fontools/share/fontools_t1.enc
+++ b/fonts/utilities/fontools/share/fontools_t1.enc
@@ -2,295 +2,299 @@
% CODINGSCHEME EXTENDED TEX FONT ENCODING - LATIN
/otftotfmT1Encoding [
% 0x00
-/grave
-/acute
-/circumflex
-/tilde
-/dieresis
-/hungarumlaut
-/ring
-/caron
+ /grave
+ /acute
+ /circumflex
+ /tilde
+ /dieresis
+ /hungarumlaut
+ /ring
+ /caron
% 0x08
-/breve
-/macron
-/dotaccent
-/cedilla
-/ogonek
-/quotesinglbase
-/guilsinglleft
-/guilsinglright
+ /breve
+ /macron
+ /dotaccent
+ /cedilla
+ /ogonek
+ /quotesinglbase
+ /guilsinglleft
+ /guilsinglright
% 0x10
-/quotedblleft
-/quotedblright
-/quotedblbase
-/guillemotleft
-/guillemotright
-/endash
-/emdash
-/cwm
+ /quotedblleft
+ /quotedblright
+ /quotedblbase
+ /guillemotleft
+ /guillemotright
+ /endash
+ /emdash
+ /cwm
% 0x18
-/perthousandzero
-/dotlessi
-/dotlessj
-/ff
-/fi
-/fl
-/ffi
-/ffl
+ /perthousandzero
+ /dotlessi
+ /dotlessj
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
% 0x20
-/uni2423
-/exclam
-/quotedbl
-/numbersign
-/dollar
-/percent
-/ampersand
-/quoteright
+ /visualspace
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
% 0x28
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/colon
-/semicolon
-/less
-/equal
-/greater
-/question
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
% 0x40
-/at
-/A
-/B
-/C
-/D
-/E
-/F
-/G
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
% 0x48
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
% 0x58
-/X
-/Y
-/Z
-/bracketleft
-/backslash
-/bracketright
-/asciicircum
-/underscore
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /asciicircum
+ /underscore
% 0x60
-/quoteleft
-/a
-/b
-/c
-/d
-/e
-/f
-/g
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
% 0x68
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
% 0x78
-/x
-/y
-/z
-/braceleft
-/bar
-/braceright
-/asciitilde
-/hyphenchar
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /asciitilde
+ /hyphenchar
% 0x80
-/Abreve
-/Aogonek
-/Cacute
-/Ccaron
-/Dcaron
-/Ecaron
-/Eogonek
-/Gbreve
+ /Abreve
+ /Aogonek
+ /Cacute
+ /Ccaron
+ /Dcaron
+ /Ecaron
+ /Eogonek
+ /Gbreve
% 0x88
-/Lacute
-/Lcaron
-/Lslash
-/Nacute
-/Ncaron
-/Eng
-/Ohungarumlaut
-/Racute
+ /Lacute
+ /Lcaron
+ /Lslash
+ /Nacute
+ /Ncaron
+ /Eng
+ /Ohungarumlaut
+ /Racute
% 0x90
-/Rcaron
-/Sacute
-/Scaron
-/Scedilla
-/Tcaron
-/Tcedilla
-/Uhungarumlaut
-/Uring
+ /Rcaron
+ /Sacute
+ /Scaron
+ /Scedilla
+ /Tcaron
+ /Tcedilla
+ /Uhungarumlaut
+ /Uring
% 0x98
-/Ydieresis
-/Zacute
-/Zcaron
-/Zdotaccent
-/IJ
-/Idotaccent
-/dbar
-/section
+ /Ydieresis
+ /Zacute
+ /Zcaron
+ /Zdotaccent
+ /IJ
+ /Idotaccent
+ /dbar
+ /section
% 0xA0
-/abreve
-/aogonek
-/cacute
-/ccaron
-/dcaron
-/ecaron
-/eogonek
-/gbreve
+ /abreve
+ /aogonek
+ /cacute
+ /ccaron
+ /dcaron
+ /ecaron
+ /eogonek
+ /gbreve
% 0xA8
-/lacute
-/lcaron
-/lslash
-/nacute
-/ncaron
-/eng
-/ohungarumlaut
-/racute
+ /lacute
+ /lcaron
+ /lslash
+ /nacute
+ /ncaron
+ /eng
+ /ohungarumlaut
+ /racute
% 0xB0
-/rcaron
-/sacute
-/scaron
-/scedilla
-/tcaron
-/tcedilla
-/uhungarumlaut
-/uring
+ /rcaron
+ /sacute
+ /scaron
+ /scedilla
+ /tcaron
+ /tcedilla
+ /uhungarumlaut
+ /uring
% 0xB8
-/ydieresis
-/zacute
-/zcaron
-/zdotaccent
-/ij
-/exclamdown
-/questiondown
-/sterling
+ /ydieresis
+ /zacute
+ /zcaron
+ /zdotaccent
+ /ij
+ /exclamdown
+ /questiondown
+ /sterling
% 0xC0
-/Agrave
-/Aacute
-/Acircumflex
-/Atilde
-/Adieresis
-/Aring
-/AE
-/Ccedilla
+ /Agrave
+ /Aacute
+ /Acircumflex
+ /Atilde
+ /Adieresis
+ /Aring
+ /AE
+ /Ccedilla
% 0xC8
-/Egrave
-/Eacute
-/Ecircumflex
-/Edieresis
-/Igrave
-/Iacute
-/Icircumflex
-/Idieresis
+ /Egrave
+ /Eacute
+ /Ecircumflex
+ /Edieresis
+ /Igrave
+ /Iacute
+ /Icircumflex
+ /Idieresis
% 0xD0
-/Eth
-/Ntilde
-/Ograve
-/Oacute
-/Ocircumflex
-/Otilde
-/Odieresis
-/OE
+ /Eth
+ /Ntilde
+ /Ograve
+ /Oacute
+ /Ocircumflex
+ /Otilde
+ /Odieresis
+ /OE
% 0xD8
-/Oslash
-/Ugrave
-/Uacute
-/Ucircumflex
-/Udieresis
-/Yacute
-/Thorn
-/SS
+ /Oslash
+ /Ugrave
+ /Uacute
+ /Ucircumflex
+ /Udieresis
+ /Yacute
+ /Thorn
+ /SS
% 0xE0
-/agrave
-/aacute
-/acircumflex
-/atilde
-/adieresis
-/aring
-/ae
-/ccedilla
+ /agrave
+ /aacute
+ /acircumflex
+ /atilde
+ /adieresis
+ /aring
+ /ae
+ /ccedilla
% 0xE8
-/egrave
-/eacute
-/ecircumflex
-/edieresis
-/igrave
-/iacute
-/icircumflex
-/idieresis
+ /egrave
+ /eacute
+ /ecircumflex
+ /edieresis
+ /igrave
+ /iacute
+ /icircumflex
+ /idieresis
% 0xF0
-/eth
-/ntilde
-/ograve
-/oacute
-/ocircumflex
-/otilde
-/odieresis
-/oe
+ /eth
+ /ntilde
+ /ograve
+ /oacute
+ /ocircumflex
+ /otilde
+ /odieresis
+ /oe
% 0xF8
-/oslash
-/ugrave
-/uacute
-/ucircumflex
-/udieresis
-/yacute
-/thorn
-/germandbls
+ /oslash
+ /ugrave
+ /uacute
+ /ucircumflex
+ /udieresis
+ /yacute
+ /thorn
+ /germandbls
] def
%
+% UNICODING perthousandzero =: perthousandzero zeroinferior emptyslot;
+% UNICODING visualspace =: uni2423 uni02FD;
+% UNICODING SS =: uni1E9E SS;
+%
% LIGKERN question quoteleft =: questiondown;
% LIGKERN exclam quoteleft =: exclamdown;
% LIGKERN hyphen hyphen =: endash;
@@ -301,6 +305,6 @@
% LIGKERN less less =: guillemotleft;
% LIGKERN greater greater =: guillemotright;
%
-% LIGKERN || = 32 ;
+% LIGKERN || = 32;
%
% UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ;
diff --git a/fonts/utilities/fontools/share/fontools_t2a.enc b/fonts/utilities/fontools/share/fontools_t2a.enc
index 1932d4c560..ae553fdda9 100644
--- a/fonts/utilities/fontools/share/fontools_t2a.enc
+++ b/fonts/utilities/fontools/share/fontools_t2a.enc
@@ -2,295 +2,298 @@
% CODINGSCHEME TEX CYRILLIC FONT ENCODING - T2A
/otftotfmT2AEncoding [
% 0x00
-/grave
-/acute
-/circumflex
-/tilde
-/dieresis
-/hungarumlaut
-/ring
-/caron
+ /grave
+ /acute
+ /circumflex
+ /tilde
+ /dieresis
+ /hungarumlaut
+ /ring
+ /caron
% 0x08
-/breve
-/macron
-/dotaccent
-/cedilla
-/ogonek
-/uni04C0
-/angleleft
-/angleright
+ /breve
+ /macron
+ /dotaccent
+ /cedilla
+ /ogonek
+ /uni04C0
+ /angleleft
+ /angleright
% 0x10
-/quotedblleft
-/quotedblright
-/cyrflex
-/dblgrave
-/cyrbreve
-/endash
-/emdash
-/.notdef
+ /quotedblleft
+ /quotedblright
+ /cyrflex
+ /dblgrave
+ /cyrbreve
+ /endash
+ /emdash
+ /.notdef
% 0x18
-/perthousandzero
-/dotlessi
-/dotlessj
-/ff
-/fi
-/fl
-/ffi
-/ffl
+ /perthousandzero
+ /dotlessi
+ /dotlessj
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
% 0x20
-/uni2423
-/exclam
-/quotedbl
-/numbersign
-/dollar
-/percent
-/ampersand
-/quoteright
+ /visualspace
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
% 0x28
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/colon
-/semicolon
-/less
-/equal
-/greater
-/question
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
% 0x40
-/at
-/A
-/B
-/C
-/D
-/E
-/F
-/G
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
% 0x48
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
% 0x58
-/X
-/Y
-/Z
-/bracketleft
-/backslash
-/bracketright
-/asciicircum
-/underscore
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /asciicircum
+ /underscore
% 0x60
-/quoteleft
-/a
-/b
-/c
-/d
-/e
-/f
-/g
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
% 0x68
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
% 0x78
-/x
-/y
-/z
-/braceleft
-/bar
-/braceright
-/asciitilde
-/hyphen
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /asciitilde
+ /hyphen
% 0x80
-/afii10050
-/uni0492
-/afii10051
-/afii10060
-/uni04BA
-/uni0496
-/uni0498
-/afii10058
+ /afii10050
+ /uni0492
+ /afii10051
+ /afii10060
+ /uni04BA
+ /uni0496
+ /uni0498
+ /afii10058
% 0x88
-/afii10056
-/uni049A
-/uni04A0
-/uni049C
-/uni04D4
-/uni04A2
-/uni04A4
-/afii10054
+ /afii10056
+ /uni049A
+ /uni04A0
+ /uni049C
+ /uni04D4
+ /uni04A2
+ /uni04A4
+ /afii10054
% 0x90
-/uni04E8
-/uni04AA
-/afii10062
-/uni04AE
-/uni04B0
-/uni04B2
-/afii10145
-/uni04B8
+ /uni04E8
+ /uni04AA
+ /afii10062
+ /uni04AE
+ /uni04B0
+ /uni04B2
+ /afii10145
+ /uni04B8
% 0x98
-/uni04B6
-/afii10053
-/uni04D8
-/afii10059
-/afii10023
-/afii61352
-/currency
-/section
+ /uni04B6
+ /afii10053
+ /uni04D8
+ /afii10059
+ /afii10023
+ /afii61352
+ /currency
+ /section
% 0xA0
-/afii10098
-/uni0493
-/afii10099
-/afii10108
-/uni04BB
-/uni0497
-/uni0499
-/afii10106
+ /afii10098
+ /uni0493
+ /afii10099
+ /afii10108
+ /uni04BB
+ /uni0497
+ /uni0499
+ /afii10106
% 0xA8
-/afii10104
-/uni049B
-/uni04A1
-/uni049D
-/uni04D5
-/uni04A3
-/uni04A5
-/afii10102
+ /afii10104
+ /uni049B
+ /uni04A1
+ /uni049D
+ /uni04D5
+ /uni04A3
+ /uni04A5
+ /afii10102
% 0xB0
-/uni04E9
-/uni04AB
-/afii10110
-/uni04AF
-/uni04B1
-/uni04B3
-/afii10193
-/uni04B9
+ /uni04E9
+ /uni04AB
+ /afii10110
+ /uni04AF
+ /uni04B1
+ /uni04B3
+ /afii10193
+ /uni04B9
% 0xB8
-/uni04B7
-/afii10101
-/afii10846
-/afii10107
-/afii10071
-/quotedblbase
-/guillemotleft
-/guillemotright
+ /uni04B7
+ /afii10101
+ /afii10846
+ /afii10107
+ /afii10071
+ /quotedblbase
+ /guillemotleft
+ /guillemotright
% 0xC0
-/afii10017
-/afii10018
-/afii10019
-/afii10020
-/afii10021
-/afii10022
-/afii10024
-/afii10025
+ /afii10017
+ /afii10018
+ /afii10019
+ /afii10020
+ /afii10021
+ /afii10022
+ /afii10024
+ /afii10025
% 0xC8
-/afii10026
-/afii10027
-/afii10028
-/afii10029
-/afii10030
-/afii10031
-/afii10032
-/afii10033
+ /afii10026
+ /afii10027
+ /afii10028
+ /afii10029
+ /afii10030
+ /afii10031
+ /afii10032
+ /afii10033
% 0xD0
-/afii10034
-/afii10035
-/afii10036
-/afii10037
-/afii10038
-/afii10039
-/afii10040
-/afii10041
+ /afii10034
+ /afii10035
+ /afii10036
+ /afii10037
+ /afii10038
+ /afii10039
+ /afii10040
+ /afii10041
% 0xD8
-/afii10042
-/afii10043
-/afii10044
-/afii10045
-/afii10046
-/afii10047
-/afii10048
-/afii10049
+ /afii10042
+ /afii10043
+ /afii10044
+ /afii10045
+ /afii10046
+ /afii10047
+ /afii10048
+ /afii10049
% 0xE0
-/afii10065
-/afii10066
-/afii10067
-/afii10068
-/afii10069
-/afii10070
-/afii10072
-/afii10073
+ /afii10065
+ /afii10066
+ /afii10067
+ /afii10068
+ /afii10069
+ /afii10070
+ /afii10072
+ /afii10073
% 0xE8
-/afii10074
-/afii10075
-/afii10076
-/afii10077
-/afii10078
-/afii10079
-/afii10080
-/afii10081
+ /afii10074
+ /afii10075
+ /afii10076
+ /afii10077
+ /afii10078
+ /afii10079
+ /afii10080
+ /afii10081
% 0xF0
-/afii10082
-/afii10083
-/afii10084
-/afii10085
-/afii10086
-/afii10087
-/afii10088
-/afii10089
+ /afii10082
+ /afii10083
+ /afii10084
+ /afii10085
+ /afii10086
+ /afii10087
+ /afii10088
+ /afii10089
% 0xF8
-/afii10090
-/afii10091
-/afii10092
-/afii10093
-/afii10094
-/afii10095
-/afii10096
-/afii10097
+ /afii10090
+ /afii10091
+ /afii10092
+ /afii10093
+ /afii10094
+ /afii10095
+ /afii10096
+ /afii10097
] def
%
+% UNICODING perthousandzero =: perthousandzero zeroinferior emptyslot;
+% UNICODING visualspace =: uni2423 uni02FD;
+%
% LIGKERN hyphen hyphen =: endash;
% LIGKERN endash hyphen =: emdash;
% LIGKERN quoteleft quoteleft =: quotedblleft;
diff --git a/fonts/utilities/fontools/share/fontools_t2b.enc b/fonts/utilities/fontools/share/fontools_t2b.enc
index 3ec4a3b8ff..7fc55400aa 100644
--- a/fonts/utilities/fontools/share/fontools_t2b.enc
+++ b/fonts/utilities/fontools/share/fontools_t2b.enc
@@ -2,295 +2,298 @@
% CODINGSCHEME TEX CYRILLIC FONT ENCODING - T2B
/otftotfmT2BEncoding [
% 0x00
-/grave
-/acute
-/circumflex
-/tilde
-/dieresis
-/hungarumlaut
-/ring
-/caron
+ /grave
+ /acute
+ /circumflex
+ /tilde
+ /dieresis
+ /hungarumlaut
+ /ring
+ /caron
% 0x08
-/breve
-/macron
-/dotaccent
-/cedilla
-/ogonek
-/uni04C0
-/angleleft
-/angleright
+ /breve
+ /macron
+ /dotaccent
+ /cedilla
+ /ogonek
+ /uni04C0
+ /angleleft
+ /angleright
% 0x10
-/quotedblleft
-/quotedblright
-/cyrflex
-/dblgrave
-/cyrbreve
-/endash
-/emdash
-/.notdef
+ /quotedblleft
+ /quotedblright
+ /cyrflex
+ /dblgrave
+ /cyrbreve
+ /endash
+ /emdash
+ /.notdef
% 0x18
-/perthousandzero
-/dotlessi
-/dotlessj
-/ff
-/fi
-/fl
-/ffi
-/ffl
+ /perthousandzero
+ /dotlessi
+ /dotlessj
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
% 0x20
-/uni2423
-/exclam
-/quotedbl
-/numbersign
-/dollar
-/percent
-/ampersand
-/quoteright
+ /visualspace
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
% 0x28
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/colon
-/semicolon
-/less
-/equal
-/greater
-/question
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
% 0x40
-/at
-/A
-/B
-/C
-/D
-/E
-/F
-/G
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
% 0x48
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
% 0x58
-/X
-/Y
-/Z
-/bracketleft
-/backslash
-/bracketright
-/asciicircum
-/underscore
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /asciicircum
+ /underscore
% 0x60
-/quoteleft
-/a
-/b
-/c
-/d
-/e
-/f
-/g
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
% 0x68
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
% 0x78
-/x
-/y
-/z
-/braceleft
-/bar
-/braceright
-/asciitilde
-/hyphen
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /asciitilde
+ /hyphen
% 0x80
-/CYRGDSCHCRS % CYRILLIC CAPITAL LETTER GHE WITH STROKE AND DESCENDER
-/uni0492
-/CYRGDSC % CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-/uni0494
-/uni04BA
-/uni0496
-/CYRDELTA % CYRILLIC CAPITAL LETTER DELTA
-/uni04E0
+ /CYRGDSCHCRS % CYRILLIC CAPITAL LETTER GHE WITH STROKE AND DESCENDER
+ /uni0492
+ /CYRGDSC % CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+ /uni0494
+ /uni04BA
+ /uni0496
+ /CYRDELTA % CYRILLIC CAPITAL LETTER DELTA
+ /uni04E0
% 0x88
-/afii10058
-/uni049A
-/CYRLDSC % CYRILLIC CAPITAL LETTER EL WITH DESCENDER
-/uni04C3
-/CYRLHK % CYRILLIC CAPITAL LETTER EL WITH HOOK
-/uni04A2
-/uni04A4
-/uni04C7
+ /afii10058
+ /uni049A
+ /CYRLDSC % CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+ /uni04C3
+ /CYRLHK % CYRILLIC CAPITAL LETTER EL WITH HOOK
+ /uni04A2
+ /uni04A4
+ /uni04C7
% 0x90
-/uni04E8
-/CYRSACRS % CYRILLIC CAPITAL LETTER ES WITH STROKE
-/afii10062
-/uni04AE
-/CYRHHCRS % CYRILLIC CAPITAL LETTER HA WITH STROKE
-/uni04B2
-/CYRHHK % CYRILLIC CAPITAL LETTER HA WITH HOOK
-/uni04CB
+ /uni04E8
+ /CYRSACRS % CYRILLIC CAPITAL LETTER ES WITH STROKE
+ /afii10062
+ /uni04AE
+ /CYRHHCRS % CYRILLIC CAPITAL LETTER HA WITH STROKE
+ /uni04B2
+ /CYRHHK % CYRILLIC CAPITAL LETTER HA WITH HOOK
+ /uni04CB
% 0x98
-/uni04B6
-/afii10059
-/uni04D8
-/CYREPS % CYRILLIC CAPITAL LETTER EPSILON
-/afii10023
-/afii61352
-/currency
-/section
+ /uni04B6
+ /afii10059
+ /uni04D8
+ /CYREPS % CYRILLIC CAPITAL LETTER EPSILON
+ /afii10023
+ /afii61352
+ /currency
+ /section
% 0xA0
-/cyrgdschcrs % CYRILLIC SMALL LETTER GHE WITH STROKE AND DESCENDER
-/uni0493
-/cyrgdsc % CYRILLIC SMALL LETTER GHE WITH DESCENDER
-/uni0495
-/uni04BB
-/uni0497
-/cyrdelta % CYRILLIC SMALL LETTER DELTA
-/uni04E1
+ /cyrgdschcrs % CYRILLIC SMALL LETTER GHE WITH STROKE AND DESCENDER
+ /uni0493
+ /cyrgdsc % CYRILLIC SMALL LETTER GHE WITH DESCENDER
+ /uni0495
+ /uni04BB
+ /uni0497
+ /cyrdelta % CYRILLIC SMALL LETTER DELTA
+ /uni04E1
% 0xA8
-/afii10106
-/uni049B
-/cyrldsc % CYRILLIC SMALL LETTER EL WITH DESCENDER
-/uni04C4
-/cyrlhk % CYRILLIC SMALL LETTER EL WITH HOOK
-/uni04A3
-/uni04A5
-/uni04C8
+ /afii10106
+ /uni049B
+ /cyrldsc % CYRILLIC SMALL LETTER EL WITH DESCENDER
+ /uni04C4
+ /cyrlhk % CYRILLIC SMALL LETTER EL WITH HOOK
+ /uni04A3
+ /uni04A5
+ /uni04C8
% 0xB0
-/uni04E9
-/cyrsacrs % CYRILLIC SMALL LETTER ES WITH STROKE
-/afii10110
-/uni04AF
-/cyrhhcrs % CYRILLIC SMALL LETTER HA WITH STROKE
-/uni04B3
-/cyrhhk % CYRILLIC SMALL LETTER HA WITH HOOK
-/uni04CC
+ /uni04E9
+ /cyrsacrs % CYRILLIC SMALL LETTER ES WITH STROKE
+ /afii10110
+ /uni04AF
+ /cyrhhcrs % CYRILLIC SMALL LETTER HA WITH STROKE
+ /uni04B3
+ /cyrhhk % CYRILLIC SMALL LETTER HA WITH HOOK
+ /uni04CC
% 0xB8
-/uni04B7
-/afii10107
-/afii10846
-/cyreps % CYRILLIC SMALL LETTER EPSILON
-/afii10071
-/quotedblbase
-/guillemotleft
-/guillemotright
+ /uni04B7
+ /afii10107
+ /afii10846
+ /cyreps % CYRILLIC SMALL LETTER EPSILON
+ /afii10071
+ /quotedblbase
+ /guillemotleft
+ /guillemotright
% 0xC0
-/afii10017
-/afii10018
-/afii10019
-/afii10020
-/afii10021
-/afii10022
-/afii10024
-/afii10025
+ /afii10017
+ /afii10018
+ /afii10019
+ /afii10020
+ /afii10021
+ /afii10022
+ /afii10024
+ /afii10025
% 0xC8
-/afii10026
-/afii10027
-/afii10028
-/afii10029
-/afii10030
-/afii10031
-/afii10032
-/afii10033
+ /afii10026
+ /afii10027
+ /afii10028
+ /afii10029
+ /afii10030
+ /afii10031
+ /afii10032
+ /afii10033
% 0xD0
-/afii10034
-/afii10035
-/afii10036
-/afii10037
-/afii10038
-/afii10039
-/afii10040
-/afii10041
+ /afii10034
+ /afii10035
+ /afii10036
+ /afii10037
+ /afii10038
+ /afii10039
+ /afii10040
+ /afii10041
% 0xD8
-/afii10042
-/afii10043
-/afii10044
-/afii10045
-/afii10046
-/afii10047
-/afii10048
-/afii10049
+ /afii10042
+ /afii10043
+ /afii10044
+ /afii10045
+ /afii10046
+ /afii10047
+ /afii10048
+ /afii10049
% 0xE0
-/afii10065
-/afii10066
-/afii10067
-/afii10068
-/afii10069
-/afii10070
-/afii10072
-/afii10073
+ /afii10065
+ /afii10066
+ /afii10067
+ /afii10068
+ /afii10069
+ /afii10070
+ /afii10072
+ /afii10073
% 0xE8
-/afii10074
-/afii10075
-/afii10076
-/afii10077
-/afii10078
-/afii10079
-/afii10080
-/afii10081
+ /afii10074
+ /afii10075
+ /afii10076
+ /afii10077
+ /afii10078
+ /afii10079
+ /afii10080
+ /afii10081
% 0xF0
-/afii10082
-/afii10083
-/afii10084
-/afii10085
-/afii10086
-/afii10087
-/afii10088
-/afii10089
+ /afii10082
+ /afii10083
+ /afii10084
+ /afii10085
+ /afii10086
+ /afii10087
+ /afii10088
+ /afii10089
% 0xF8
-/afii10090
-/afii10091
-/afii10092
-/afii10093
-/afii10094
-/afii10095
-/afii10096
-/afii10097
+ /afii10090
+ /afii10091
+ /afii10092
+ /afii10093
+ /afii10094
+ /afii10095
+ /afii10096
+ /afii10097
] def
%
+% UNICODING perthousandzero =: perthousandzero zeroinferior emptyslot;
+% UNICODING visualspace =: uni2423 uni02FD;
+%
% LIGKERN hyphen hyphen =: endash;
% LIGKERN endash hyphen =: emdash;
% LIGKERN quoteleft quoteleft =: quotedblleft;
diff --git a/fonts/utilities/fontools/share/fontools_t2c.enc b/fonts/utilities/fontools/share/fontools_t2c.enc
index 753c851a36..888bd03110 100644
--- a/fonts/utilities/fontools/share/fontools_t2c.enc
+++ b/fonts/utilities/fontools/share/fontools_t2c.enc
@@ -2,295 +2,298 @@
% CODINGSCHEME TEX CYRILLIC FONT ENCODING - T2C
/otftotfmT2CEncoding [
% 0x00
-/grave
-/acute
-/circumflex
-/tilde
-/dieresis
-/hungarumlaut
-/ring
-/caron
+ /grave
+ /acute
+ /circumflex
+ /tilde
+ /dieresis
+ /hungarumlaut
+ /ring
+ /caron
% 0x08
-/breve
-/macron
-/dotaccent
-/cedilla
-/ogonek
-/uni04C0
-/angleleft
-/angleright
+ /breve
+ /macron
+ /dotaccent
+ /cedilla
+ /ogonek
+ /uni04C0
+ /angleleft
+ /angleright
% 0x10
-/quotedblleft
-/quotedblright
-/cyrflex
-/dblgrave
-/cyrbreve
-/endash
-/emdash
-/.notdef
+ /quotedblleft
+ /quotedblright
+ /cyrflex
+ /dblgrave
+ /cyrbreve
+ /endash
+ /emdash
+ /.notdef
% 0x10
-/perthousandzero
-/dotlessi
-/dotlessj
-/ff
-/fi
-/fl
-/ffi
-/ffl
+ /perthousandzero
+ /dotlessi
+ /dotlessj
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
% 0x20
-/uni2423
-/exclam
-/quotedbl
-/numbersign
-/dollar
-/percent
-/ampersand
-/quoteright
+ /visualspace
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
% 0x28
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/zero
-/one
-/two
-/three
-/four
-/five
-/six
-/seven
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
% 0x38
-/eight
-/nine
-/colon
-/semicolon
-/less
-/equal
-/greater
-/question
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
% 0x40
-/at
-/A
-/B
-/C
-/D
-/E
-/F
-/G
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
% 0x48
-/H
-/I
-/J
-/K
-/L
-/M
-/N
-/O
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
% 0x50
-/P
-/Q
-/R
-/S
-/T
-/U
-/V
-/W
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
% 0x58
-/X
-/Y
-/Z
-/bracketleft
-/backslash
-/bracketright
-/asciicircum
-/underscore
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /asciicircum
+ /underscore
% 0x60
-/quoteleft
-/a
-/b
-/c
-/d
-/e
-/f
-/g
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
% 0x68
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
% 0x78
-/x
-/y
-/z
-/braceleft
-/bar
-/braceright
-/asciitilde
-/hyphen
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /asciitilde
+ /hyphen
% 0x80
-/uni04A6
-/uni04B4
-/uni04AC
-/uni0494
-/uni04BA
-/CYRRDSC % CYRILLIC CAPITAL LETTER ER WITH DESCENDER
-/uni048E
-/uni04E0
+ /uni04A6
+ /uni04B4
+ /uni04AC
+ /uni0494
+ /uni04BA
+ /CYRRDSC % CYRILLIC CAPITAL LETTER ER WITH DESCENDER
+ /uni048E
+ /uni04E0
% 0x88
-/CYRMDSC % CYRILLIC CAPITAL LETTER EM WITH DESCENDER
-/uni049A
-/CYRLDSC % CYRILLIC CAPITAL LETTER EL WITH DESCENDER
-/uni049E
-/CYRLHK % CYRILLIC CAPITAL LETTER EL WITH HOOK
-/uni04A2
-/CYRMHK % CYRILLIC CAPITAL LETTER EM WITH HOOK
-/uni04C7
+ /CYRMDSC % CYRILLIC CAPITAL LETTER EM WITH DESCENDER
+ /uni049A
+ /CYRLDSC % CYRILLIC CAPITAL LETTER EL WITH DESCENDER
+ /uni049E
+ /CYRLHK % CYRILLIC CAPITAL LETTER EL WITH HOOK
+ /uni04A2
+ /CYRMHK % CYRILLIC CAPITAL LETTER EM WITH HOOK
+ /uni04C7
% 0x90
-/uni04E8
-/uni04BC
-/uni04BE
-/uni048C
-/CYRISHRTDSC % CYRILLIC CAPITAL LETTER SHORT I WITH DESCENDER
-/uni04B2
-/afii10145
-/uni04A8
+ /uni04E8
+ /uni04BC
+ /uni04BE
+ /uni048C
+ /CYRISHRTDSC % CYRILLIC CAPITAL LETTER SHORT I WITH DESCENDER
+ /uni04B2
+ /afii10145
+ /uni04A8
% 0x98
-/uni04B6
-/CYRNLHK % CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
-/uni04D8
-/CYRRHK % CYRILLIC CAPITAL LETTER ER WITH HOOK
-/afii10023
-/afii61352
-/currency
-/section
+ /uni04B6
+ /CYRNLHK % CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK
+ /uni04D8
+ /CYRRHK % CYRILLIC CAPITAL LETTER ER WITH HOOK
+ /afii10023
+ /afii61352
+ /currency
+ /section
% 0xA0
-/uni04A7
-/uni04B5
-/uni04AD
-/uni0495
-/uni04BB
-/cyrrdsc % CYRILLIC SMALL LETTER ER WITH DESCENDER
-/uni048F
-/uni04E1
+ /uni04A7
+ /uni04B5
+ /uni04AD
+ /uni0495
+ /uni04BB
+ /cyrrdsc % CYRILLIC SMALL LETTER ER WITH DESCENDER
+ /uni048F
+ /uni04E1
% 0xA8
-/cyrmdsc % CYRILLIC SMALL LETTER EM WITH DESCENDER
-/uni049B
-/cyrldsc % CYRILLIC SMALL LETTER EL WITH DESCENDER
-/uni049F
-/cyrlhk % CYRILLIC SMALL LETTER EL WITH HOOK
-/uni04A3
-/cyrmhk % CYRILLIC SMALL LETTER EM WITH HOOK
-/uni04C8
+ /cyrmdsc % CYRILLIC SMALL LETTER EM WITH DESCENDER
+ /uni049B
+ /cyrldsc % CYRILLIC SMALL LETTER EL WITH DESCENDER
+ /uni049F
+ /cyrlhk % CYRILLIC SMALL LETTER EL WITH HOOK
+ /uni04A3
+ /cyrmhk % CYRILLIC SMALL LETTER EM WITH HOOK
+ /uni04C8
% 0xB0
-/uni04E9
-/uni04BD
-/uni04BF
-/uni048D
-/cyrishrtdsc % CYRILLIC SMALL LETTER SHORT I WITH DESCENDER
-/uni04B3
-/afii10193
-/uni04A9
+ /uni04E9
+ /uni04BD
+ /uni04BF
+ /uni048D
+ /cyrishrtdsc % CYRILLIC SMALL LETTER SHORT I WITH DESCENDER
+ /uni04B3
+ /afii10193
+ /uni04A9
% 0xB8
-/uni04B7
-/cyrnlhk % CYRILLIC SMALL LETTER EN WITH LEFT HOOK
-/afii10846
-/cyrrhk % CYRILLIC SMALL LETTER ER WITH HOOK
-/afii10071
-/quotedblbase
-/guillemotleft
-/guillemotright
+ /uni04B7
+ /cyrnlhk % CYRILLIC SMALL LETTER EN WITH LEFT HOOK
+ /afii10846
+ /cyrrhk % CYRILLIC SMALL LETTER ER WITH HOOK
+ /afii10071
+ /quotedblbase
+ /guillemotleft
+ /guillemotright
% 0xC0
-/afii10017
-/afii10018
-/afii10019
-/afii10020
-/afii10021
-/afii10022
-/afii10024
-/afii10025
+ /afii10017
+ /afii10018
+ /afii10019
+ /afii10020
+ /afii10021
+ /afii10022
+ /afii10024
+ /afii10025
% 0xC8
-/afii10026
-/afii10027
-/afii10028
-/afii10029
-/afii10030
-/afii10031
-/afii10032
-/afii10033
+ /afii10026
+ /afii10027
+ /afii10028
+ /afii10029
+ /afii10030
+ /afii10031
+ /afii10032
+ /afii10033
% 0xD0
-/afii10034
-/afii10035
-/afii10036
-/afii10037
-/afii10038
-/afii10039
-/afii10040
-/afii10041
+ /afii10034
+ /afii10035
+ /afii10036
+ /afii10037
+ /afii10038
+ /afii10039
+ /afii10040
+ /afii10041
% 0xD8
-/afii10042
-/afii10043
-/afii10044
-/afii10045
-/afii10046
-/afii10047
-/afii10048
-/afii10049
+ /afii10042
+ /afii10043
+ /afii10044
+ /afii10045
+ /afii10046
+ /afii10047
+ /afii10048
+ /afii10049
% 0xE0
-/afii10065
-/afii10066
-/afii10067
-/afii10068
-/afii10069
-/afii10070
-/afii10072
-/afii10073
+ /afii10065
+ /afii10066
+ /afii10067
+ /afii10068
+ /afii10069
+ /afii10070
+ /afii10072
+ /afii10073
% 0xE8
-/afii10074
-/afii10075
-/afii10076
-/afii10077
-/afii10078
-/afii10079
-/afii10080
-/afii10081
+ /afii10074
+ /afii10075
+ /afii10076
+ /afii10077
+ /afii10078
+ /afii10079
+ /afii10080
+ /afii10081
% 0xF0
-/afii10082
-/afii10083
-/afii10084
-/afii10085
-/afii10086
-/afii10087
-/afii10088
-/afii10089
+ /afii10082
+ /afii10083
+ /afii10084
+ /afii10085
+ /afii10086
+ /afii10087
+ /afii10088
+ /afii10089
% 0xF8
-/afii10090
-/afii10091
-/afii10092
-/afii10093
-/afii10094
-/afii10095
-/afii10096
-/afii10097
+ /afii10090
+ /afii10091
+ /afii10092
+ /afii10093
+ /afii10094
+ /afii10095
+ /afii10096
+ /afii10097
] def
%
+% UNICODING perthousandzero =: perthousandzero zeroinferior emptyslot;
+% UNICODING visualspace =: uni2423 uni02FD;
+%
% LIGKERN hyphen hyphen =: endash;
% LIGKERN endash hyphen =: emdash;
% LIGKERN quoteleft quoteleft =: quotedblleft;
diff --git a/fonts/utilities/fontools/share/fontools_t3.enc b/fonts/utilities/fontools/share/fontools_t3.enc
index 443073dcdf..6826ae15eb 100644
--- a/fonts/utilities/fontools/share/fontools_t3.enc
+++ b/fonts/utilities/fontools/share/fontools_t3.enc
@@ -1,276 +1,286 @@
% A version of the T3 encoding, intended for use with otftotfm.
+%
+% I don't remember where I found this; but it contains many
+% non-standard glyph names (i.e., missing from glyphlist.txt),
+% so that otftotfm won't use those slots.
+%
+% TODO: we should try and find these glyphs in the Unicode standard
+% and replace the non-standard names with /uni.... codes.
+%
% CODINGSCHEME IPA ENCODING
/otftotfmT3Encoding [
% 0x00
-/uni02CB
-/uni02CA
-/uni02C6
-/uni02DC
-/dieresis
-/uni02BA
-/uni02DA
-/uni02C7
-/uni02D8
-/uni02C9
-/uni02D9
-/cedilla
-/uni02DB
-/space_uni030F
-/subgrave
-/subacute
+ /uni02CB
+ /uni02CA
+ /uni02C6
+ /uni02DC
+ /dieresis
+ /uni02BA
+ /uni02DA
+ /uni02C7
+ /uni02D8
+ /uni02C9
+ /uni02D9
+ /cedilla
+ /uni02DB
+ /uni030F % was /space_uni030F
+ /uni0316 % was /subgrave
+ /uni0317 % was /subacute
% 0x10
-/space_uni0311
-/space_uni032A
-/space_uni033A
-/space_uni033B
-/uni02BE
-/uni02BF
-/space_uni032B
-/space_uni033C
-/uni02DF
-/dotlessi
-/dotlessj
-/uni02D6
-/uni02D4
-/uni02D5
-/advancing
-/retracting
+ /uni0311 % was /space_uni0311
+ /uni032A % was /space_uni032A
+ /uni033A % was /space_uni033A
+ /uni033B % was /space_uni033B
+ /uni02BE
+ /uni02BF
+ /uni032B % was /space_uni032B
+ /uni033C % was /space_uni033C
+ /uni02DF
+ /dotlessi
+ /dotlessj
+ /uni02D6
+ /uni02D4
+ /uni02D5
+ /advancing % unknown glyph name, so won't be used
+ /retracting % unknown glyph name, so won't be used
% 0x20
-/celpal
-/uni01C3
-/uni02C8
-/hooktop
-/space_uni0322
-/space_uni0321
-/uni0360
-/quoteright
-/parenleft
-/parenright
-/asterisk
-/plus
-/comma
-/hyphen
-/period
-/slash
+ /uni02B9 % was /celpal
+ /uni01C3
+ /uni02C8
+ /hooktop
+ /uni0322 % was /space_uni0322
+ /uni0321 % was /space_uni0321
+ /uni0360
+ /quoteright
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
% 0x30
-/uni0289
-/uni0268
-/uni028C
-/uni025C
-/uni0265
-/uni0250
-/uni0252
-/uni0264
-/uni0275
-/uni0258
-/uni02D0
-/uni02D1
-/uni203F
-/equal
-/uni2322
-/question
+ /uni0289
+ /uni0268
+ /uni028C
+ /uni025C
+ /uni0265
+ /uni0250
+ /uni0252
+ /uni0264
+ /uni0275
+ /uni0258
+ /uni02D0
+ /uni02D1
+ /uni203F
+ /equal
+ /uni2322
+ /question
% 0x40
-/uni0259
-/uni0251
-/beta.ipa
-/uni0255
-/eth
-/uni025B
-/uni0278
-/uni0263
-/uni0266
-/uni026A
-/uni029D
-/uni0281
-/uni028E
-/uni0271
-/eng.ipa
-/uni0254
+ /uni0259
+ /uni0251
+ /beta.ipa
+ /uni0255
+ /eth
+ /uni025B
+ /uni0278
+ /uni0263
+ /uni0266
+ /uni026A
+ /uni029D
+ /uni0281
+ /uni028E
+ /uni0271
+ /eng.ipa
+ /uni0254
% 0x50
-/uni0294
-/uni0295
-/uni027E
-/uni0283
-/theta.ipa
-/uni028A
-/uni028B
-/uni026F
-/chi.ipa
-/uni028F
-/uni0292
-/bracketleft
-/uni02BD
-/bracketright
-/uni02FA
-/uni02F9
+ /uni0294
+ /uni0295
+ /uni027E
+ /uni0283
+ /theta.ipa
+ /uni028A
+ /uni028B
+ /uni026F
+ /chi.ipa
+ /uni028F
+ /uni0292
+ /bracketleft
+ /uni02BD
+ /bracketright
+ /uni02FA
+ /uni02F9
% 0x60
-/uni02BB
-/a
-/b
-/c
-/d
-/e
-/f
-/uni0261
-/h
-/i
-/j
-/k
-/l
-/m
-/n
-/o
+ /uni02BB
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /uni0261
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
% 0x70
-/p
-/q
-/r
-/s
-/t
-/u
-/v
-/w
-/x
-/y
-/z
-/uni01C1
-/uni01C0
-/uni01C2
-/uni02DE
-/uni02CC
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+ /x
+ /y
+ /z
+ /uni01C1
+ /uni01C0
+ /uni01C2
+ /uni02DE
+ /uni02CC
% 0x80
-/longleveltone
-/longfallingtone1
-/longfallingtone2
-/longfallingtone3
-/longfallingtone4
-/longrisingtone1
-/longrisingtone2
-/longrisingtone3
-/longrisingtone4
-/shortleveltone
-/shortfallingtone1
-/shortfallingtone2
-/shortfallingtone3
-/shortfallingtone4
-/shortrisingtone1
-/shortrisingtone2
+ /longleveltone % unknown glyph name, so won't be used
+ /longfallingtone1 % unknown glyph name, so won't be used
+ /longfallingtone2 % unknown glyph name, so won't be used
+ /longfallingtone3 % unknown glyph name, so won't be used
+ /longfallingtone4 % unknown glyph name, so won't be used
+ /longrisingtone1 % unknown glyph name, so won't be used
+ /longrisingtone2 % unknown glyph name, so won't be used
+ /longrisingtone3 % unknown glyph name, so won't be used
+ /longrisingtone4 % unknown glyph name, so won't be used
+ /shortleveltone % unknown glyph name, so won't be used
+ /shortfallingtone1 % unknown glyph name, so won't be used
+ /shortfallingtone2 % unknown glyph name, so won't be used
+ /shortfallingtone3 % unknown glyph name, so won't be used
+ /shortfallingtone4 % unknown glyph name, so won't be used
+ /shortrisingtone1 % unknown glyph name, so won't be used
+ /shortrisingtone2 % unknown glyph name, so won't be used
% 0x90
-/shortrisingtone3
-/shortrisingtone4
-/uni2502
-/uni2551
-/uniA71C
-/uniA71B
-/uni2197
-/uni2198
-/uni1DC4
-/uni1DC5
-/uni1DC8
-/uni1DC9
-/space_uni030D
-/space_uni030E
-/gravedot
-/dotacute
+ /shortrisingtone3 % unknown glyph name, so won't be used
+ /shortrisingtone4 % unknown glyph name, so won't be used
+ /uni2502
+ /uni2551
+ /uniA71C
+ /uniA71B
+ /uni2197
+ /uni2198
+ /uni1DC4
+ /uni1DC5
+ /uni1DC8
+ /uni1DC9
+ /uni030D % was /space_uni030D
+ /uni030E % was /space_uni030E
+ /gravedot % unknown glyph name, so won't be used
+ /dotacute % unknown glyph name, so won't be used
% 0xa0
-/uni0180
-/uni0111
-/uni0221
-/uni1D91
-/uni1D07
-/g
-/longilefthook
-/uni0285
-/uni1D0A
-/uni029E
-/uni019A
-/lambda.ipa
-/uni019b
-/lyogh.old
-/uni0235
-/turnce
+ /uni0180
+ /uni0111
+ /uni0221
+ /uni1D91
+ /uni1D07
+ /g
+ /longilefthook % unknown glyph name, so won't be used
+ /uni0285
+ /uni1D0A
+ /uni029E
+ /uni019A
+ /lambda.ipa
+ /uni019b
+ /lyogh.old % unknown glyph name, so won't be used
+ /uni0235
+ /turnce % unknown glyph name, so won't be used
% 0xb0
-/omega.ipa
-/omega.sc.ipa
-/uni0286
-/uni01AB
-/uni0236
-/uni02A6
-/uni02AE
-/uni02AF
-/uni0293
-/uni01B9
-/afii10094
-/afii10092
-/uni02C0
-/uni02C2
-/uni02C3
-/pipe.var
+ /omega.ipa
+ /omega.sc.ipa
+ /uni0286
+ /uni01AB
+ /uni0236
+ /uni02A6
+ /uni02AE
+ /uni02AF
+ /uni0293
+ /uni01B9
+ /afii10094
+ /afii10092
+ /uni02C0
+ /uni02C2
+ /uni02C3
+ /bar % was /pipe.var
% 0xc0
-/uni1D00
-/uni0188
-/uni0297
-/uni02A4
-/uni025A
-/uni029A
-/uni025E
-/uni025D
-/babygamma.old
-/uni029B
-/uni0267
-/uni029C
-/uni0269
-/bardotlessjold
-/uni0199
-/uni029F
+ /uni1D00
+ /uni0188
+ /uni0297
+ /uni02A4
+ /uni025A
+ /uni029A
+ /uni025E
+ /uni025D
+ /babygamma.old % unknown glyph name, so won't be used
+ /uni029B
+ /uni0267
+ /uni029C
+ /uni0269
+ /bardotlessjold % unknown glyph name, so won't be used
+ /uni0199
+ /uni029F
% 0xd0
-/uni026E
-/uni0277
-/uni01A5
-/uni02A0
-/uni027C
-/uni027A
-/uni01AD
-/uni0276
-/uni0287
-/uni02A7
-/uni1D1C
-/uni0296
-/uni02A1
-/uni02A2
-/uni0225
-/uni01BF
+ /uni026E
+ /uni0277
+ /uni01A5
+ /uni02A0
+ /uni027C
+ /uni027A
+ /uni01AD
+ /uni0276
+ /uni0287
+ /uni02A7
+ /uni1D1C
+ /uni0296
+ /uni02A1
+ /uni02A2
+ /uni0225
+ /uni01BF
% 0xe0
-/uni0299
-/uni0253
-/uni0257
-/uni0256
-/uni0260
-/uni0262
-/uni00E6
-/uni00E7
-/uni0127
-/uni025F
-/uni0284
-/uni026B
-/uni026C
-/uni026D
-/uni0270
-/uni0273
+ /uni0299
+ /uni0253
+ /uni0257
+ /uni0256
+ /uni0260
+ /uni0262
+ /uni00E6
+ /uni00E7
+ /uni0127
+ /uni025F
+ /uni0284
+ /uni026B
+ /uni026C
+ /uni026D
+ /uni0270
+ /uni0273
% 0xf0
-/uni0274
-/uni0272
-/uni0298
-/uni027D
-/uni0279
-/uni027B
-/uni0280
-/uni0153
-/uni00F8
-/uni0282
-/uni0288
-/uni028D
-/uni0290
-/uni0291
-/uni00FE
-/uni0195
+ /uni0274
+ /uni0272
+ /uni0298
+ /uni027D
+ /uni0279
+ /uni027B
+ /uni0280
+ /uni0153
+ /uni00F8
+ /uni0282
+ /uni0288
+ /uni028D
+ /uni0290
+ /uni0291
+ /uni00FE
+ /uni0195
] def
+%
+% LIGKERN * {L} *;
diff --git a/fonts/utilities/fontools/share/fontools_t4.enc b/fonts/utilities/fontools/share/fontools_t4.enc
new file mode 100644
index 0000000000..77664a3976
--- /dev/null
+++ b/fonts/utilities/fontools/share/fontools_t4.enc
@@ -0,0 +1,309 @@
+% Encoding file for the T4 encoding, intended for use with otftotfm.
+% Based on the file fc.rme fromnt the fc fonts package
+/otftotfmT4Encoding [
+% 0x00
+ /grave
+ /acute
+ /circumflex
+ /tilde
+ /dieresis
+ /hungarumlaut
+ /ring
+ /caron
+% 0x08
+ /breve
+ /macron
+ /dotaccent
+ /cedilla
+ /ogonek
+ /quotesinglbase
+ /guilsinglleft
+ /guilsinglright
+% 0x10
+ /quotedblleft
+ /quotedblright
+ /quotedblbase
+ /guillemotleft
+ /guillemotright
+ /endash
+ /emdash
+ /cwm
+% 0x18
+ /perthousandzero
+ /dotlessi
+ /dotlessj
+ /ff
+ /fi
+ /fl
+ /ffi
+ /ffl
+% 0x20
+ /visualspace
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+% 0x28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+% 0x30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+% 0x38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
+% 0x40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+% 0x48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+% 0x50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+% 0x58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /asciicircum
+ /underscore
+% 0x60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+% 0x68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+% 0x70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+% 0x78
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /asciitilde
+ /hyphenchar
+% 0x80
+ /Bhook
+ /Dhook
+ /Eopen
+ /Ereversed
+ /Fhook
+ /Ecaron
+ /Gammaafrican
+ /Hbar
+% 0x88
+ /Khook
+ /Nhookleft
+ /Oopen
+ /Nacute
+ /Esh
+ /Eng
+ /Vhook
+ /Yhook
+% 0x90
+ /Chook
+ /Phook
+ /Scaron
+ /Ndotaccent
+ /Nlinebelow
+ /Sdotbelow
+ /Ezh
+ /Tbar
+% 0x98
+ /Edot
+ /Edotbelow
+ /Thook
+ /Tretroflexhook
+ /tesh
+ /f_j %fj
+ /dcroat
+ /dblgravecmb
+% 0xA0
+ /bhook
+ /dhook
+ /eopen
+ /eturned
+ /uni0192
+ /ecaron
+ /gammalatinsmall
+ /hbar
+% 0xA8
+ /khook
+ /nhookleft
+ /oopen
+ /nacute
+ /esh
+ /eng
+ /vhook
+ /yhook
+% 0xB0
+ /chook
+ /phook
+ /scaron
+ /ndotaccent
+ /nlinebelow
+ /sdotbelow
+ /ezh
+ /tbar
+% 0xB8
+ /edot
+ /edotbelow
+ /thook
+ /tretroflexhook
+ /dblverticallineabovecmb
+ /exclamdown
+ /questiondown
+ /verticallineabovecmb
+% 0xC0
+ /Iotaafrican
+ /Idotbelow
+ /Eopentilde % not in Unicode
+ /Atilde
+ /Macute
+ /Oopentilde % not in Unicode
+ /AE
+ /Ccedilla
+% 0xC8
+ /Egrave
+ /Eacute
+ /Ecaron
+ /Edieresis
+ /Elinebelow % not in Unicode
+ /Emacron
+ /Etilde
+ /Itilde
+% 0xD0
+ /Dafrican
+ /Ntilde
+ /Ograve
+ /uni022E
+ /Ocircumflex
+ /Otilde
+ /Odieresis
+ /OE
+% 0xD8
+ /Oslash
+ /Odotbelow
+ /Olinebelow % not in Unicode
+ /Omacron
+ /Ocaron
+ /Udotbelow
+ /Utilde
+ /solidusshortoverlaycmb
+% 0xE0
+ /iotalatin
+ /idotbelow
+ /eopentilde % not in Unicode
+ /atilde
+ /macute
+ /oopentilde % not in Unicode
+ /ae
+ /ccedilla
+% 0xE8
+ /egrave
+ /eacute
+ /ecaron
+ /edieresis
+ /elinebelow % not in Unicode
+ /emacron
+ /etilde
+ /itilde
+% 0xF0
+ /dtail
+ /ntilde
+ /ograve
+ /uni022F
+ /ocircumflex
+ /otilde
+ /odieresis
+ /oe
+% 0xF8
+ /oslash
+ /odotbelow
+ /olinebelow % not in Unicode
+ /omacron
+ /ocaron
+ /udotbelow
+ /utilde
+ /germandbls
+] def
+%
+% UNICODING perthousandzero =: perthousandzero zeroinferior emptyslot;
+% UNICODING visualspace =: uni2423 uni02FD;
+%
+% LIGKERN question quoteleft =: questiondown;
+% LIGKERN exclam quoteleft =: exclamdown;
+% LIGKERN hyphen hyphen =: endash;
+% LIGKERN endash hyphen =: emdash;
+% LIGKERN quoteleft quoteleft =: quotedblleft;
+% LIGKERN quoteright quoteright =: quotedblright;
+% LIGKERN comma comma =: quotedblbase;
+% LIGKERN less less =: guillemotleft;
+% LIGKERN greater greater =: guillemotright;
+%
+% LIGKERN || = 32;
+%
+% UNICODING ff =: ; fi =: ; fl =: ; ffi =: ; ffl =: ;
diff --git a/fonts/utilities/fontools/share/fontools_t5.enc b/fonts/utilities/fontools/share/fontools_t5.enc
new file mode 100644
index 0000000000..9129472d4a
--- /dev/null
+++ b/fonts/utilities/fontools/share/fontools_t5.enc
@@ -0,0 +1,305 @@
+% Encoding file for the T5 encoding, intended for use with otftotfm.
+% Based on the file t5.enc from the vntex package
+/otftotfmT5Encoding [
+% 0x00
+ /grave
+ /acute
+ /circumflex
+ /tilde
+ /dieresis
+ /dotbelowcomb
+ /ring
+ /caron
+% 0x08
+ /breve
+ /macron
+ /dotaccent
+ /cedilla
+ /hookabovecomb
+ /quotesinglbase
+ /guilsinglleft
+ /guilsinglright
+% 0x10
+ /quotedblleft
+ /quotedblright
+ /quotedblbase
+ /guillemotleft
+ /guillemotright
+ /endash
+ /emdash
+ /cwm
+% 0x18
+ /perthousandzero
+ /dotlessi
+ /Yhookabove
+ /yhookabove
+ /Ydotbelow
+ /ydotbelow
+ /Dcroat
+ /dcroat
+% 0x20
+ /visualspace
+ /exclam
+ /quotedbl
+ /numbersign
+ /dollar
+ /percent
+ /ampersand
+ /quoteright
+% 0x28
+ /parenleft
+ /parenright
+ /asterisk
+ /plus
+ /comma
+ /hyphen
+ /period
+ /slash
+% 0x30
+ /zero
+ /one
+ /two
+ /three
+ /four
+ /five
+ /six
+ /seven
+% 0x38
+ /eight
+ /nine
+ /colon
+ /semicolon
+ /less
+ /equal
+ /greater
+ /question
+% 0x40
+ /at
+ /A
+ /B
+ /C
+ /D
+ /E
+ /F
+ /G
+% 0x48
+ /H
+ /I
+ /J
+ /K
+ /L
+ /M
+ /N
+ /O
+% 0x50
+ /P
+ /Q
+ /R
+ /S
+ /T
+ /U
+ /V
+ /W
+% 0x58
+ /X
+ /Y
+ /Z
+ /bracketleft
+ /backslash
+ /bracketright
+ /asciicircum
+ /underscore
+% 0x60
+ /quoteleft
+ /a
+ /b
+ /c
+ /d
+ /e
+ /f
+ /g
+% 0x68
+ /h
+ /i
+ /j
+ /k
+ /l
+ /m
+ /n
+ /o
+% 0x70
+ /p
+ /q
+ /r
+ /s
+ /t
+ /u
+ /v
+ /w
+% 0x78
+ /x
+ /y
+ /z
+ /braceleft
+ /bar
+ /braceright
+ /asciitilde
+ /sfthyphen
+% 0x80
+ /Agrave
+ /Aacute
+ /Atilde
+ /Ahookabove
+ /Adotbelow
+ /Acircumflex
+ /Acircumflexgrave
+ /Acircumflexacute
+% 0x88
+ /Acircumflextilde
+ /Acircumflexhookabove
+ /Acircumflexdotbelow
+ /Abreve
+ /Abrevegrave
+ /Abreveacute
+ /Abrevetilde
+ /Abrevehookabove
+% 0x90
+ /Abrevedotbelow
+ /Egrave
+ /Eacute
+ /Etilde
+ /Ehookabove
+ /Edotbelow
+ /Ecircumflex
+ /Ecircumflexgrave
+% 0x98
+ /Ecircumflexacute
+ /Ecircumflextilde
+ /Ecircumflexhookabove
+ /Ecircumflexdotbelow
+ /Igrave
+ /Iacute
+ /Itilde
+ /Ihookabove
+% 0xA0
+ /agrave
+ /aacute
+ /atilde
+ /ahookabove
+ /adotbelow
+ /acircumflex
+ /acircumflexgrave
+ /acircumflexacute
+% 0xA8
+ /acircumflextilde
+ /acircumflexhookabove
+ /acircumflexdotbelow
+ /abreve
+ /abrevegrave
+ /abreveacute
+ /abrevetilde
+ /abrevehookabove
+% 0xB0
+ /abrevedotbelow
+ /egrave
+ /eacute
+ /etilde
+ /ehookabove
+ /edotbelow
+ /ecircumflex
+ /ecircumflexgrave
+% 0xB8
+ /ecircumflexacute
+ /ecircumflextilde
+ /ecircumflexhookabove
+ /ecircumflexdotbelow
+ /igrave
+ /iacute
+ /itilde
+ /ihookabove
+% 0xC0
+ /Idotbelow
+ /Ograve
+ /Oacute
+ /Otilde
+ /Ohookabove
+ /Odotbelow
+ /Ocircumflex
+ /Ocircumflexgrave
+% 0xC8
+ /Ocircumflexacute
+ /Ocircumflextilde
+ /Ocircumflexhookabove
+ /Ocircumflexdotbelow
+ /Ohorn
+ /Ohorngrave
+ /Ohornacute
+ /Ohorntilde
+% 0xD0
+ /Ohornhookabove
+ /Ohorndotbelow
+ /Ugrave
+ /Uacute
+ /Utilde
+ /Uhookabove
+ /Udotbelow
+ /Uhorn
+% 0xD8
+ /Uhorngrave
+ /Uhornacute
+ /Uhorntilde
+ /Uhornhookabove
+ /Uhorndotbelow
+ /Ygrave
+ /Yacute
+ /Ytilde
+% 0xE0
+ /idotbelow
+ /ograve
+ /oacute
+ /otilde
+ /ohookabove
+ /odotbelow
+ /ocircumflex
+ /ocircumflexgrave
+% 0xE8
+ /ocircumflexacute
+ /ocircumflextilde
+ /ocircumflexhookabove
+ /ocircumflexdotbelow
+ /ohorn
+ /ohorngrave
+ /ohornacute
+ /ohorntilde
+% 0xF0
+ /ohornhookabove
+ /ohorndotbelow
+ /ugrave
+ /uacute
+ /utilde
+ /uhookabove
+ /udotbelow
+ /uhorn
+% 0xF8
+ /uhorngrave
+ /uhornacute
+ /uhorntilde
+ /uhornhookabove
+ /uhorndotbelow
+ /ygrave
+ /yacute
+ /ytilde
+] def
+%
+% UNICODING perthousandzero =: perthousandzero zeroinferior emptyslot;
+% UNICODING visualspace =: uni2423 uni02FD;
+%
+% LIGKERN hyphen hyphen =: endash;
+% LIGKERN endash hyphen =: emdash;
+% LIGKERN quoteleft quoteleft =: quotedblleft;
+% LIGKERN quoteright quoteright =: quotedblright;
+% LIGKERN comma comma =: quotedblbase;
+% LIGKERN less less =: guillemotleft;
+% LIGKERN greater greater =: guillemotright;
+%
+% LIGKERN || = 32;
diff --git a/fonts/utilities/fontools/share/fontools_ts1.enc b/fonts/utilities/fontools/share/fontools_ts1.enc
index 6905d2ff60..2ca5e6d098 100644
--- a/fonts/utilities/fontools/share/fontools_ts1.enc
+++ b/fonts/utilities/fontools/share/fontools_ts1.enc
@@ -2,292 +2,292 @@
% CODINGSCHEME TEX TEXT COMPANION SYMBOLS 1---TS1
/otftotfmTS1Encoding [
% 0x00
-/capitalgrave
-/capitalacute
-/capitalcircumflex
-/capitaltilde
-/capitaldieresis
-/capitalhungarumlaut
-/capitalring
-/capitalcaron
+ /capitalgrave
+ /capitalacute
+ /capitalcircumflex
+ /capitaltilde
+ /capitaldieresis
+ /capitalhungarumlaut
+ /capitalring
+ /capitalcaron
% 0x08
-/capitalbreve
-/capitalmacron
-/capitaldotaccent
-/cedilla
-/ogonek
-/quotesinglbase
-/.notdef
-/.notdef
+ /capitalbreve
+ /capitalmacron
+ /capitaldotaccent
+ /cedilla
+ /ogonek
+ /quotesinglbase
+ /.notdef
+ /.notdef
% 0x10
-/.notdef
-/.notdef
-/quotedblbase
-/.notdef
-/.notdef
-/twelveudash
-/threequartersemdash
-/capitalcompwordmark
+ /.notdef
+ /.notdef
+ /quotedblbase
+ /.notdef
+ /.notdef
+ /twelveudash
+ /threequartersemdash
+ /capitalcompwordmark
% 0x18
-/arrowleft
-/arrowright
-/tieaccentlowercase
-/tieaccentcapital
-/newtieaccentlowercase
-/newtieaccentcapital
-/.notdef
-/ascendercompwordmark
+ /arrowleft
+ /arrowright
+ /tieaccentlowercase
+ /tieaccentcapital
+ /newtieaccentlowercase
+ /newtieaccentcapital
+ /.notdef
+ /ascendercompwordmark
% 0x20
-/blank
-/.notdef
-/.notdef
-/.notdef
-/dollar
-/.notdef
-/.notdef
-/quotesingle
+ /blank
+ /.notdef
+ /.notdef
+ /.notdef
+ /dollar
+ /.notdef
+ /.notdef
+ /quotesingle
% 0x28
-/.notdef
-/.notdef
-/asteriskcentered
-/.notdef
-/comma
-/hyphendbl
-/period
-/fraction
+ /.notdef
+ /.notdef
+ /asteriskcentered
+ /.notdef
+ /comma
+ /hyphendbl
+ /period
+ /fraction
% 0x30
-/zerooldstyle
-/oneoldstyle
-/twooldstyle
-/threeoldstyle
-/fouroldstyle
-/fiveoldstyle
-/sixoldstyle
-/sevenoldstyle
+ /zerooldstyle
+ /oneoldstyle
+ /twooldstyle
+ /threeoldstyle
+ /fouroldstyle
+ /fiveoldstyle
+ /sixoldstyle
+ /sevenoldstyle
% 0x38
-/eightoldstyle
-/nineoldstyle
-/.notdef
-/.notdef
-/angbracketleft
-/minus
-/angbracketright
-/.notdef
+ /eightoldstyle
+ /nineoldstyle
+ /.notdef
+ /.notdef
+ /angbracketleft
+ /minus
+ /angbracketright
+ /.notdef
% 0x40
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x48
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/Omegainv
-/.notdef
-/bigcircle
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /Omegainv
+ /.notdef
+ /bigcircle
% 0x50
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/Omega
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /Omega
% 0x58
-/.notdef
-/.notdef
-/.notdef
-/openbracketleft
-/.notdef
-/openbracketright
-/arrowup
-/arrowdown
+ /.notdef
+ /.notdef
+ /.notdef
+ /openbracketleft
+ /.notdef
+ /openbracketright
+ /arrowup
+ /arrowdown
% 0x60
-/asciigrave
-/.notdef
-/born
-/divorced
-/died
-/.notdef
-/.notdef
-/.notdef
+ /asciigrave
+ /.notdef
+ /born
+ /divorced
+ /died
+ /.notdef
+ /.notdef
+ /.notdef
% 0x68
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/leaf
-/married
-/musicalnote
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /leaf
+ /married
+ /musicalnote
+ /.notdef
% 0x70
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x78
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/tildelow
-/hyphendblchar
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /tildelow
+ /hyphendblchar
% 0x80
-/asciibreve
-/asciicaron
-/asciiacutedbl
-/asciigravedbl
-/dagger
-/daggerdbl
-/bardbl
-/perthousand
+ /asciibreve
+ /asciicaron
+ /asciiacutedbl
+ /asciigravedbl
+ /dagger
+ /daggerdbl
+ /bardbl
+ /perthousand
% 0x88
-/bullet
-/centigrade
-/dollaroldstyle
-/centoldstyle
-/florin
-/colonmonetary
-/won
-/naira
+ /bullet
+ /centigrade
+ /dollaroldstyle
+ /centoldstyle
+ /florin
+ /colonmonetary
+ /won
+ /naira
% 0x90
-/guarani
-/peso
-/lira
-/recipe
-/interrobang
-/interrobangdown
-/dong
-/trademark
+ /guarani
+ /peso
+ /lira
+ /recipe
+ /interrobang
+ /interrobangdown
+ /dong
+ /trademark
% 0x98
-/pertenthousand
-/pilcrow
-/baht
-/numero
-/discount
-/estimated
-/openbullet
-/servicemark
+ /pertenthousand
+ /pilcrow
+ /baht
+ /numero
+ /discount
+ /estimated
+ /openbullet
+ /servicemark
% 0xA0
-/quillbracketleft
-/quillbracketright
-/cent
-/sterling
-/currency
-/yen
-/brokenbar
-/section
+ /quillbracketleft
+ /quillbracketright
+ /cent
+ /sterling
+ /currency
+ /yen
+ /brokenbar
+ /section
% 0xA8
-/asciidieresis
-/copyright
-/ordfeminine
-/copyleft
-/logicalnot
-/circledP
-/registered
-/asciimacron
+ /asciidieresis
+ /copyright
+ /ordfeminine
+ /copyleft
+ /logicalnot
+ /circledP
+ /registered
+ /asciimacron
% 0xB0
-/degree
-/plusminus
-/twosuperior
-/threesuperior
-/asciiacute
-/mu
-/paragraph
-/periodcentered
+ /degree
+ /plusminus
+ /twosuperior
+ /threesuperior
+ /asciiacute
+ /mu
+ /paragraph
+ /periodcentered
% 0xB8
-/referencemark
-/onesuperior
-/ordmasculine
-/radical
-/onequarter
-/onehalf
-/threequarters
-/euro
+ /referencemark
+ /onesuperior
+ /ordmasculine
+ /radical
+ /onequarter
+ /onehalf
+ /threequarters
+ /euro
% 0xC0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xC8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xD0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/multiply
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /multiply
+ /.notdef
% 0xD8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xE0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xE8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xF0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/divide
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /divide
+ /.notdef
% 0xF8
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
] def
diff --git a/fonts/utilities/fontools/share/fontools_ts3.enc b/fonts/utilities/fontools/share/fontools_ts3.enc
index 15ebbb33d0..c272b4f246 100644
--- a/fonts/utilities/fontools/share/fontools_ts3.enc
+++ b/fonts/utilities/fontools/share/fontools_ts3.enc
@@ -1,276 +1,286 @@
% A version of the TS3 encoding, intended for use with otftotfm.
+%
+% I don't remember where I found this; but it contains many
+% non-standard glyph names (i.e., missing from glyphlist.txt),
+% so that otftotfm won't use those slots.
+%
+% TODO: we should try and find these glyphs in the Unicode standard
+% and replace the non-standard names with /uni.... codes.
+%
% CODINGSCHEME IPA SYMBOL ENCODING
/otftotfmTS3Encoding [
% 0x00
-/revpolhook
-/rhooklong
-/palhooklong
-/palhookvar
-/rectanglesuperscript
-/leftarrowsuperscript
-/uni02D7
-/arrowdown.ipa
-/uparrow.ipa
-/uni0362
-/space_uni034D
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /revpolhook % unknown glyph name, so won't be used
+ /rhooklong % unknown glyph name, so won't be used
+ /palhooklong % unknown glyph name, so won't be used
+ /palhookvar % unknown glyph name, so won't be used
+ /rectanglesuperscript % unknown glyph name, so won't be used
+ /leftarrowsuperscript % unknown glyph name, so won't be used
+ /uni02D7
+ /arrowdown.ipa
+ /arrowup.ipa % was /uparrow.ipa
+ /uni0362
+ /uni034D % was /space_uni034D
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x10
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x20
-/uni1D90
-/scriptainverted
-/uniA735
-/uniA72D
-/uni0297.var
-/stretchccurl
-/stretchcvarcurl
-/dfronthook
-/dfronthook.var
-/uni0238
-/uni1D92
-/uni1D93
-/gamma.ipa
-/gammafronttail
-/gammabacktail
-/hhookrtail
+ /uni1D90
+ /scriptainverted % unknown glyph name, so won't be used
+ /uniA735
+ /uniA72D
+ /uni0297.var
+ /stretchccurl % unknown glyph name, so won't be used
+ /stretchcvarcurl % unknown glyph name, so won't be used
+ /dfronthook % unknown glyph name, so won't be used
+ /dfronthook.var % unknown glyph name, so won't be used
+ /uni0238
+ /uni1D92
+ /uni1D93
+ /gamma.ipa
+ /gammafronttail % unknown glyph name, so won't be used
+ /gammabacktail % unknown glyph name, so won't be used
+ /hhookrtail % unknown glyph name, so won't be used
% 0x30
-/uniA727
-/uni027F
-/jcrossedtailvar
-/uni0284.var
-/hm
-/nfrontbar
-/uni019E
-/female
-/uni26B2
-/uni0298.old
-/uni1D97
-/omegainverted
-/plhook
-/uni0239
-/uni01AA
-/tfronthook
+ /uniA727
+ /uni027F
+ /jcrossedtailvar % unknown glyph name, so won't be used
+ /uni0284.var
+ /hm % unknown glyph name, so won't be used
+ /nfrontbar % unknown glyph name, so won't be used
+ /uni019E
+ /female
+ /uni26B2
+ /uni0298.old
+ /uni1D97
+ /omegainverted % unknown glyph name, so won't be used
+ /plhook % unknown glyph name, so won't be used
+ /uni0239
+ /uni01AA
+ /tfronthook % unknown glyph name, so won't be used
% 0x40
-/invertedtcurl
-/twoturned
-/uni01BA
-/threeturned
-/invertedglotstopcurl
-/glotstopturned
-/pipe.var
-/uni01C1.var
-/uni01C2.var
-/lr
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /invertedtcurl % unknown glyph name, so won't be used
+ /twoturned % unknown glyph name, so won't be used
+ /uni01BA
+ /threeturned % unknown glyph name, so won't be used
+ /invertedglotstopcurl % unknown glyph name, so won't be used
+ /glotstopturned % unknown glyph name, so won't be used
+ /bar % was /pipe.var
+ /uni01C1.var
+ /uni01C2.var
+ /lr % unknown glyph name, so won't be used
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x50
-/thorn.var1
-/thorn.var2
-/thorn.var3
-/thorn.var4
-/uni0294.var1
-/uni0294.var2
-/uni0294.var3
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /thorn.var1
+ /thorn.var2
+ /thorn.var3
+ /thorn.var4
+ /uni0294.var1
+ /uni0294.var2
+ /uni0294.var3
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x60
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x70
-/ascinverted
-/ao.sc
-/delta.sc.ipa
-/uniA730
-/uni1D0B
-/kscturned
-/lscreversed
-/uni1D0D
-/uni1D18
-/q.sc.ipa
-/uni1D19
-/uscturned
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /ascinverted % unknown glyph name, so won't be used
+ /ao.sc % unknown glyph name, so won't be used
+ /delta.sc.ipa
+ /uniA730
+ /uni1D0B
+ /kscturned % unknown glyph name, so won't be used
+ /lscreversed % unknown glyph name, so won't be used
+ /uni1D0D
+ /uni1D18
+ /q.sc.ipa
+ /uni1D19
+ /uscturned % unknown glyph name, so won't be used
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x80
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0x90
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xa0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xb0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xc0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xd0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xe0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
% 0xf0
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
-/.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
] def
+%
+% LIGKERN * {L} *;