diff options
author | Karl Berry <karl@freefriends.org> | 2014-01-22 00:37:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-01-22 00:37:42 +0000 |
commit | aed84d3dacda585be994298bcd449fdb99fa01ab (patch) | |
tree | 96ccd99c854627d113512e2cd09322b4158d3fbf /Master/texmf-dist | |
parent | 0f30826573bc8345b0cb2c635d74c0a6b7e084a0 (diff) |
fontools (21jan14)
git-svn-id: svn://tug.org/texlive/trunk@32749 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf | bin | 7034 -> 7034 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/autoinst.1 | 68 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/autoinst.man1.pdf | bin | 30837 -> 30602 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf | bin | 7754 -> 7754 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/support/fontools/README | 6 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/fontools/autoinst | 129 |
6 files changed, 111 insertions, 92 deletions
diff --git a/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf b/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf Binary files differindex 1485775f917..e1066b0fec2 100644 --- a/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/autoinst.1 b/Master/texmf-dist/doc/man/man1/autoinst.1 index ebdf80dfa6c..a666eecc921 100644 --- a/Master/texmf-dist/doc/man/man1/autoinst.1 +++ b/Master/texmf-dist/doc/man/man1/autoinst.1 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "AUTOINST 1" -.TH AUTOINST 1 "2014-01-03" "fontools" "Marc Penninga" +.TH AUTOINST 1 "2014-01-21" "fontools" "Marc Penninga" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -162,35 +162,34 @@ Four text families (with lining and oldstyle digits, in both tabular and proportional variants), each with the following shapes: .RS 3 .RS 2 -.IP "\fIn\fR" 6 +.IP "\fIn\fR" 8 .IX Item "n" Roman text -.IP "\fIit\fR" 6 -.IX Item "it" -Italic (or oblique) text -.IP "\fIsc\fR" 6 +.IP "\fIit\fR, \fIsl\fR" 8 +.IX Item "it, sl" +Italic and slanted (sometimes called oblique) text +.IP "\fIsc\fR" 8 .IX Item "sc" Small caps -.IP "\fIsw\fR" 6 +.IP "\fIsw\fR" 8 .IX Item "sw" Swash -.IP "\fItl\fR" 6 +.IP "\fItl\fR" 8 .IX Item "tl" Titling shape. Meant for all-caps text only (even though it sometimes contains lowercase glyphs as well), where letterspacing and the positioning of punctuation characters have been adjusted to suit all-caps text. (This shape is only generated for the families with lining digits, since old-style digits make no sense with all-caps text.) -.IP "\fIscit\fR" 6 -.IX Item "scit" -Italic small caps -.IP "\fInw\fR" 6 +.IP "\fIscit\fR, \fIscsl\fR" 8 +.IX Item "scit, scsl" +Italic and slanted small caps +.IP "\fInw\fR" 8 .IX Item "nw" -\&\*(L"Upright swash\*(R"; usually normal text with some \*(L"oldstyle\*(R" ligatures, -such as ct, sp and st. -.IP "\fItlit\fR" 6 -.IX Item "tlit" -Italic titling +\&\*(L"Upright swash\*(R"; usually normal text with \*(L"oldstyle\*(R" ligatures such as ct, sp and st. +.IP "\fItlit\fR, \fItlsl\fR" 8 +.IX Item "tlit, tlsl" +Italic and slanted titling text .RE .RS 2 .RE @@ -199,18 +198,18 @@ Italic titling .RE .IP "\-" 3 For each text family: a family of TS1\-encoded symbol fonts, -in roman and italic shapes. +in roman, italic and slanted shapes. .IP "\-" 3 Four families with superiors, inferiors, numerators and denominators, -in roman and italic shapes. +in roman, italic and slanted shapes. .IP "\-" 3 -An ornament family, in roman and italic shapes. +An ornament family, in roman, italic and slanted shapes. .RE .RS 2 .RE .PP -Of course, if the fonts don't contain oldstyle digits, small caps etc., -the corresponding shapes and families are not created. +Of course, if the fonts don't contain italics, oldstyle digits, small caps +etc., the corresponding shapes and families are not created. Furthermore, the creation of most families and shapes can be controlled by command-line options (see \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below). .PP @@ -400,8 +399,9 @@ with many widths and weights. \& Roman, Upright n [2] \& Italic it \& Cursive, Kursiv it -\& Oblique, Slanted it [3] -\& Incline(d) it [3] +\& Oblique sl [3] +\& Slanted sl [3] +\& Incline(d) sl [3] .Ve .PP \fINotes:\fR @@ -415,10 +415,7 @@ Adobe Silentium Pro contains two \*(L"Roman\*(R" shapes (\*(L"RomanI\*(R" and \* the first of these is mapped to \*(L"n\*(R", the second one to \*(L"it\*(R". .IP "[3]" 4 .IX Item "[3]" -Mapping the \*(L"Slanted\*(R", \*(L"Oblique\*(R" or \*(L"Inclined\*(R" shape to \*(L"it\*(R" instead of \*(L"sl\*(R" -simplifies \fBautoinst\fR. Since font families with both italic and slanted -shapes do \- to the best of my knowledge \- not exist -(apart from Computer Modern), this shouldn't cause problems. +New in release 2014\-01\-21; before that, slanted fonts were mapped to \*(L"it\*(R". .SS "A note for MiKTeX users" .IX Subsection "A note for MiKTeX users" Automatically installing the fonts into a suitable \s-1TEXMF\s0 tree @@ -613,7 +610,7 @@ or Strawberry Perl (\fIhttp://strawberryperl.com\fR). .PP The \fBFontPro\fR project (\fIhttps://github.com/sebschub/FontPro\fR) offers very complete LaTeX support for Adobe's Minion Pro and Myriad Pro -(including math), and is currently working on Cronos Pro as well. +(including math), and is currently working on Cronos Pro. .PP \&\fBXeTeX\fR (\fIhttp://www.tug.org/xetex\fR) and \fBLuaTeX\fR (\fIhttp://www.luatex.org\fR) are TeX engines that can use fonts in many formats @@ -649,6 +646,11 @@ but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of .SH "RECENT CHANGES" .IX Header "RECENT CHANGES" (See the source code for the rest of the story.) +.IP "\fI2014\-01\-21\fR" 12 +.IX Item "2014-01-21" +\&\*(L"Oblique\*(R" or \*(L"slanted\*(R" fonts are now mapped to \s-1NFSS\s0 code \*(L"sl\*(R" instead +of \*(L"it\*(R"; added \*(L"ssub\*(R" rules to the <fd> files to substitute slanted fonts +for italic ones if the latter are missing. Fixed a few bugs. .IP "\fI2014\-01\-03\fR" 12 .IX Item "2014-01-03" Added the \fI\-dryrun\fR and \fI\-logfile\fR options; changed which info is logged. @@ -668,11 +670,3 @@ command line options. The generated \fIsty\fR files now use the \fImweights\fR package instead of redefining \f(CW\*(C`\emddefault\*(C'\fR and \f(CW\*(C`\ebfdefault\*(C'\fR. Added \f(CW\*(C`scale\*(C'\fR as an alias for the package option \f(CW\*(C`scaled\*(C'\fR. -.IP "\fI2013\-02\-06\fR" 12 -.IX Item "2013-02-06" -Bugfix: the directory names for map and encoding files contained -the \*(L"vendor\*(R" instead of the \*(L"typeface\*(R". -.IP "\fI2013\-01\-03\fR" 12 -.IX Item "2013-01-03" -Added extra \*(L"ssub\*(R" rules to the \fIfd\fR files that substitute \*(L"b\*(R" for \*(L"bx\*(R". -Verbose mode now also prints all generated commands before they're executed. diff --git a/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf b/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf Binary files differindex a1463eb0121..8950f9d3cf2 100644 --- a/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/autoinst.man1.pdf diff --git a/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf b/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf Binary files differindex b6881222e42..d86e083a750 100644 --- a/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf diff --git a/Master/texmf-dist/doc/support/fontools/README b/Master/texmf-dist/doc/support/fontools/README index 096ae5953f6..e212f685129 100644 --- a/Master/texmf-dist/doc/support/fontools/README +++ b/Master/texmf-dist/doc/support/fontools/README @@ -60,9 +60,9 @@ See the GNU General Public License for more details. LICENSE & COPYRIGHT ------------------- -This software is copyright (C) 2005-2013 Marc Penninga. It is released under -the terms of the GNU General Public Licence. See the file GPLv2.txt for +This software is copyright (C) 2005-2014 Marc Penninga. It is released under +the terms of the GNU General Public Licence; see the file GPLv2.txt for the license conditions. - Marc Penninga, 2014/01/03 + Marc Penninga, 2014/01/21 diff --git a/Master/texmf-dist/scripts/fontools/autoinst b/Master/texmf-dist/scripts/fontools/autoinst index 99d44f96a67..5510ee8b31c 100755 --- a/Master/texmf-dist/scripts/fontools/autoinst +++ b/Master/texmf-dist/scripts/fontools/autoinst @@ -53,11 +53,6 @@ my $TODAY = sprintf "%04d/%02d/%02d", $y + 1900, $m + 1, $d; weight and width are combined into the NFSS series (unless *both* are 'regular', but we deal with that case separately). - The 'oblique' (aka 'slanted') shape is mapped to 'it' to make things - easier for ourselves. This means the program will fail for - font families that have both italic and oblique shapes, but I doubt - whether these exist (apart from Computer Modern, of course). - =end Comment =cut @@ -112,11 +107,11 @@ my %FD_SHAPE = ( it => 'it', cursive => 'it', kursiv => 'it', - inclined => 'it', - incline => 'it', - oblique => 'it', - slanted => 'it', - slant => 'it', + inclined => 'sl', + incline => 'sl', + oblique => 'sl', + slanted => 'sl', + slant => 'sl', romani => 'n', # Adobe Silentium Pro has two roman shapes; romanii => 'it', # we map the second one to 'it' ); @@ -124,7 +119,7 @@ my %FD_SHAPE = ( =begin Comment The next table is used to generate extra DeclareFontShape rules - in the .fd files that map slanted shapes to italic. + in the .fd files to map missing slanted shapes to italic or vice versa. =end Comment @@ -134,6 +129,9 @@ my %FD_SSUB = ( sl => 'it', scsl => 'scit', tlsl => 'tlit', + it => 'sl', + scit => 'scsl', + tlit => 'tlsl', ); =begin Comment @@ -276,13 +274,15 @@ my %STYLE_DEFAULTS = ( Each key in this table names a shape; the corresponding value is an anonymous hash with several key/value pairs: - code An anonymous hash with two possible keys: + code An anonymous hash with three possible keys: 'n' -> the NFSS code to use for this variant shape if the 'basic shape' is upright; 'it' -> the NFSS code to use for this variant shape - if the 'basic shape' is italic, slanted or oblique; - If the 'n' or 'it' entry is missing, the upright or italic - version of this variant shape will not be built. + if the 'basic shape' is italic + 'sl' -> the NFSS code to use for this variant shape + if the 'basic shape' is slanted (aka oblique); + If any entry is missing, the corresponding version + of this variant shape will not be built. reqd A list of required OpenType features; this shape is built if the font supports at least *one* of these features. @@ -302,21 +302,21 @@ my %STYLE_DEFAULTS = ( my %SHAPE = ( normal => { - code => { n => 'n', it => 'it' }, + code => { n => 'n', it => 'it', sl => 'sl' }, reqd => [], nice => ['kern', 'liga'], extra => '', name => '', }, smallcaps => { - code => { n => 'sc', it => 'scit' }, + code => { n => 'sc', it => 'scit', sl => 'scsl' }, reqd => ['smcp'], nice => ['kern', 'liga'], extra => '--unicoding="germandbls =: SSsmall"', name => 'sc', }, # '--feature=aalt' is in 'extra' instead of 'nice' because 'extra' - # comes last in the command line and hence overrides earlier options + # comes last in the command line; else 'aalt' might be overridden swash => { code => { n => 'nw', it => 'sw' }, reqd => ['swsh', 'dlig'], @@ -325,14 +325,14 @@ my %SHAPE = ( name => 'swash', }, titling => { - code => { n => 'tl', it => 'tlit' }, + code => { n => 'tl', it => 'tlit', sl => 'tlsl' }, reqd => ['titl', 'case', 'cpsp'], nice => ['kern', 'liga'], extra => '', name => 'titling', }, textcomp => { - code => { n => 'n', it => 'it' }, + code => { n => 'n', it => 'it', sl => 'sl' }, reqd => [], nice => ['onum'], extra => '', @@ -437,7 +437,7 @@ sub expand_shapes { sub has_reqd_shape { my ($font, $target) = @_; - return 0 unless defined $target; + return 0 unless defined $target->{code}{$font->{basicshape}}; return 1 unless @{$target->{reqd}}; return grep { $font->{feature}{$_} } @{$target->{reqd}}; } @@ -988,9 +988,30 @@ sub parse_basicinfo { } } -# $data{subfamily} =~ s/$info->{width}//xmsi; -# $data{subfamily} =~ s/$info->{weight}//xmsi; -# $data{subfamily} =~ s/$info->{shape}//xmsi; + # If font data parsing fails, we may end up with several fonts + # having the same values for all NFSS parameters. + # In that case, we divide the family into subfamilies and try again; + # hopefully, the NFSS paramaters in each subfamily will be unique. + # In many font families, each font is in a subfamily of its own; + # the 'subfamily'-strategy would then lead to a proliferation of + # subfamilies. To avoid this, we remove width, weight and shape + # from the font's 'subfamily' value. + my $subst; + $subst = join '|', + mqrs(grep { $FD_WIDTH{$_} eq $FD_WIDTH{$info->{width}} } + keys %FD_WIDTH); + $data{subfamily} =~ s/$subst//xmsi; + + $subst = join '|', + mqrs(grep { $FD_WEIGHT{$_} eq $FD_WEIGHT{$info->{weight}} } + keys %FD_WEIGHT); + $data{subfamily} =~ s/$subst//xmsi; + + $subst = join '|', + mqrs(grep { $FD_SHAPE{$_} eq $FD_SHAPE{$info->{shape}} } + keys %FD_SHAPE); + $data{subfamily} =~ s/$subst//xmsi; + $info->{name} = $data{postscriptname}; $info->{family} = $data{family}; @@ -1257,6 +1278,7 @@ END_STY_FONTAXES_START \let\texttitling\texttl \fa@naming@exception{shape}{{n}{tl}}{tl} \fa@naming@exception{shape}{{it}{tl}}{tlit} + \fa@naming@exception{shape}{{sl}{tl}}{tlsl} END_STY_FONTAXES_TL } @@ -1551,15 +1573,15 @@ and proportional variants), each with the following shapes: =over 2 -=over 6 +=over 8 =item I<n> Roman text -=item I<it> +=item I<it>, I<sl> -Italic (or oblique) text +Italic and slanted (sometimes called oblique) text =item I<sc> @@ -1577,18 +1599,17 @@ punctuation characters have been adjusted to suit all-caps text. (This shape is only generated for the families with lining digits, since old-style digits make no sense with all-caps text.) -=item I<scit> +=item I<scit>, I<scsl> -Italic small caps +Italic and slanted small caps =item I<nw> -"Upright swash"; usually normal text with some "oldstyle" ligatures, -such as ct, sp and st. +"Upright swash"; usually normal text with "oldstyle" ligatures such as ct, sp and st. -=item I<tlit> +=item I<tlit>, I<tlsl> -Italic titling +Italic and slanted titling text =back @@ -1597,23 +1618,23 @@ Italic titling =item - For each text family: a family of TS1-encoded symbol fonts, -in roman and italic shapes. +in roman, italic and slanted shapes. =item - Four families with superiors, inferiors, numerators and denominators, -in roman and italic shapes. +in roman, italic and slanted shapes. =item - -An ornament family, in roman and italic shapes. +An ornament family, in roman, italic and slanted shapes. =back =back -Of course, if the fonts don't contain oldstyle digits, small caps etc., -the corresponding shapes and families are not created. +Of course, if the fonts don't contain italics, oldstyle digits, small caps +etc., the corresponding shapes and families are not created. Furthermore, the creation of most families and shapes can be controlled by command-line options (see L</"COMMAND-LINE OPTIONS"> below). @@ -1829,8 +1850,9 @@ with many widths and weights. Roman, Upright n [2] Italic it Cursive, Kursiv it - Oblique, Slanted it [3] - Incline(d) it [3] + Oblique sl [3] + Slanted sl [3] + Incline(d) sl [3] =head3 Notes: @@ -1848,10 +1870,7 @@ the first of these is mapped to "n", the second one to "it". =item [3] -Mapping the "Slanted", "Oblique" or "Inclined" shape to "it" instead of "sl" -simplifies B<autoinst>. Since font families with both italic and slanted -shapes do - to the best of my knowledge - not exist -(apart from Computer Modern), this shouldn't cause problems. +New in release 2014-01-21; before that, slanted fonts were mapped to "it". =back @@ -2083,7 +2102,7 @@ or Strawberry Perl (F<http://strawberryperl.com>). The B<FontPro> project (F<https://github.com/sebschub/FontPro>) offers very complete LaTeX support for Adobe's Minion Pro and Myriad Pro -(including math), and is currently working on Cronos Pro as well. +(including math), and is currently working on Cronos Pro. B<XeTeX> (F<http://www.tug.org/xetex>) and B<LuaTeX> (F<http://www.luatex.org>) are TeX engines that can use fonts in many formats @@ -2133,6 +2152,12 @@ GNU General Public License for more details. =over 12 +=item I<2014-01-21> + +"Oblique" or "slanted" fonts are now mapped to NFSS code "sl" instead +of "it"; added "ssub" rules to the <fd> files to substitute slanted fonts +for italic ones if the latter are missing. Fixed a few bugs. + =item I<2014-01-03> Added the I<-dryrun> and I<-logfile> options; changed which info is logged. @@ -2156,6 +2181,13 @@ The generated F<sty> files now use the I<mweights> package instead of redefining C<\mddefault> and C<\bfdefault>. Added C<scale> as an alias for the package option C<scaled>. +=back + + +=begin Really_old_history + +=over 12 + =item I<2013-02-06> Bugfix: the directory names for map and encoding files contained @@ -2166,13 +2198,6 @@ the "vendor" instead of the "typeface". Added extra "ssub" rules to the F<fd> files that substitute "b" for "bx". Verbose mode now also prints all generated commands before they're executed. -=back - - -=begin Really_old_history - -=over 12 - =item I<2012-10-25> Added extra "ssub" rules to the F<fd> files that substitute italic |