diff options
author | Karl Berry <karl@freefriends.org> | 2017-06-17 23:47:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-06-17 23:47:12 +0000 |
commit | 536a7489973eccaff138ee09ae1cbb4f1a43563a (patch) | |
tree | 51054b07720c5248f9165a567bd082642791935f /Master | |
parent | a70c3b1833479b4409e5b938d82f0dbb3539f4c4 (diff) |
fontools (17jun17
git-svn-id: svn://tug.org/texlive/trunk@44626 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/man/man1/afm2afm.man1.pdf | bin | 9958 -> 9958 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/autoinst.1 | 238 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/autoinst.man1.pdf | bin | 37080 -> 36930 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/ot2kpx.man1.pdf | bin | 9463 -> 9463 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/support/fontools/README | 4 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/fontools/autoinst | 302 |
6 files changed, 265 insertions, 279 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 502d8585be3..2a573de6587 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 ce17295f5bd..918e252a0d7 100644 --- a/Master/texmf-dist/doc/man/man1/autoinst.1 +++ b/Master/texmf-dist/doc/man/man1/autoinst.1 @@ -129,14 +129,14 @@ .\" ======================================================================== .\" .IX Title "AUTOINST 1" -.TH AUTOINST 1 "2017-03-21" "fontools" "Marc Penninga" +.TH AUTOINST 1 "2017-06-16" "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 .nh .SH "NAME" autoinst \- wrapper around the LCDF TypeTools, -for installing OpenType fonts in LaTeX. +for installing and using OpenType fonts in (La)TeX. .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBautoinst\fR [\fIoptions\fR] \fBfontfile(s)\fR @@ -154,8 +154,8 @@ Given a family of font files (in \fIotf\fR or \fIttf\fR format), \&\fBautoinst\fR will create several LaTeX font families: .RS 2 .IP "\-" 3 -Four text families (with lining and oldstyle digits, in both tabular -and proportional variants), each with the following shapes: +Four text families (with lining and oldstyle digits, each in both tabular +and proportional variants), all with the following shapes: .RS 3 .RS 2 .IP "\fIn\fR" 8 @@ -182,7 +182,8 @@ since old-style digits make no sense with all-caps text.) Italic and slanted small caps .IP "\fInw\fR" 8 .IX Item "nw" -\&\*(L"Upright swash\*(R"; usually normal text with \*(L"oldstyle\*(R" ligatures such as ct, sp and st. +\&\*(L"Upright swash\*(R"; usually roman text with a few \*(L"oldstyle\*(R" ligatures +like ct, sp and st. .IP "\fItlit\fR, \fItlsl\fR" 8 .IX Item "tlit, tlsl" Italic and slanted titling text @@ -193,10 +194,10 @@ Italic and slanted titling text .RS 3 .RE .IP "\-" 3 -For each text family: a family of TS1\-encoded symbol fonts, +For each T1\-encoded text family: a family of TS1\-encoded symbol fonts, in roman, italic and slanted shapes. .IP "\-" 3 -Four families with superiors, inferiors, numerators and denominators, +Families with superiors, inferiors, numerators and denominators, in roman, italic and slanted shapes. .IP "\-" 3 An ornament family, in roman, italic and slanted shapes. @@ -206,8 +207,8 @@ An ornament family, in roman, italic and slanted shapes. .PP 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). +In addition, the creation of most families and shapes can be controlled +by options (see \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below). .PP These families use the \fIFontPro\fR project's naming scheme: \&\fI<FontFamily>\-<Suffix>\fR, where \fI<Suffix>\fR is: @@ -225,8 +226,8 @@ proportional oldstyle figures tabular oldstyle figures .IP "\fISup\fR" 8 .IX Item "Sup" -superior characters (many fonts have only an incomplete set of superior -characters: digits, some punctuation and the letters \fIabdeilmnorst\fR; +superior characters (note that most fonts have only an incomplete set of +superior characters: digits, some punctuation and the letters \fIabdeilmnorst\fR; normal forms are used for other characters) .IP "\fIInf\fR" 8 .IX Item "Inf" @@ -245,22 +246,22 @@ denominators The generated fonts are named \fI<FontName>\-<suffix>\-<shape>\-<enc>\fR, where \fI<suffix>\fR is the same as above (but in lowercase), \&\fI<shape>\fR is either empty, \*(L"sc\*(R", \*(L"swash\*(R" or \*(L"titling\*(R", -and \fI<enc>\fR is the encoding. -A typical name in this scheme is \*(L"LinLibertineO\-osf\-sc\-ly1\*(R". +and \fI<enc>\fR is the encoding (also in lowercase). +A typical name in this scheme would be \*(L"FiraSans\-Light\-osf\-sc\-ly1\*(R". .SS "On the choice of text encoding" .IX Subsection "On the choice of text encoding" By default, \fBautoinst\fR generates text fonts with \s-1OT1, T1\s0 and \s-1LY1\s0 encodings, and the generated style files use \s-1LY1\s0 as the default text encoding. -\&\s-1LY1\s0 has been chosen over T1 because it has some empty slots to accomodate +\&\s-1LY1\s0 has been chosen over T1 because it has some empty slots to accommodate the additional ligatures provided by many OpenType fonts. -Different encodings can be chosen using the \fI\-encoding\fR command-line option +Other encodings can be chosen using the \fI\-encoding\fR option (see \*(L"COMMAND-LINE \s-1OPTIONS\*(R"\s0 below). .SS "Using the fonts in your LaTeX documents" .IX Subsection "Using the fonts in your LaTeX documents" \&\fBautoinst\fR generates a style file for using the font in LaTeX documents, named \fI<FontFamily>.sty\fR. This style file also takes care of loading the \&\fIfontenc\fR and \fItextcomp\fR packages. -To use the font, simply put \f(CW\*(C`\eusepackage{\f(CI<FontFamily>\f(CW}\*(C'\fR +To use the font, put the command \f(CW\*(C`\eusepackage{\f(CI<FontFamily>\f(CW}\*(C'\fR in the preamble of your document. .PP This style file defines a number of options: @@ -273,30 +274,32 @@ The defaults are \*(L"oldstyle\*(R" and \*(L"proportional\*(R" (if available). .el .IP "\f(CWscale=\f(CI<number>\f(CW\fR" 4 .IX Item "scale=<number>" Scale the font by a factor of \fI<number>\fR. -For example: to increase the size of the font by 5%, use +E.g., to increase the size of the font by 5%, use \&\f(CW\*(C`\eusepackage[scale=1.05]{\f(CI<FontFamily>\f(CW}\*(C'\fR. May also be spelled \f(CW\*(C`scaled\*(C'\fR. .Sp This option is only available when you have the \fIxkeyval\fR package installed. -.ie n .IP """ultrablack"", ""ultrabold"", ""heavy"", ""extrablack"", ""black"", ""extrabold"", ""demibold"", ""semibold"", ""bold""" 4 -.el .IP "\f(CWultrablack\fR, \f(CWultrabold\fR, \f(CWheavy\fR, \f(CWextrablack\fR, \f(CWblack\fR, \f(CWextrabold\fR, \f(CWdemibold\fR, \f(CWsemibold\fR, \f(CWbold\fR" 4 -.IX Item "ultrablack, ultrabold, heavy, extrablack, black, extrabold, demibold, semibold, bold" -Choose the weight that LaTeX will use for the \*(L"bold\*(R" weight. .ie n .IP """light"", ""medium"", ""regular""" 4 .el .IP "\f(CWlight\fR, \f(CWmedium\fR, \f(CWregular\fR" 4 .IX Item "light, medium, regular" -Choose the weight that LaTeX will use for the \*(L"regular\*(R" weight. +Select the weight that LaTeX will use as the \*(L"regular\*(R" weight; +the default is \f(CW\*(C`regular\*(C'\fR. +.ie n .IP """ultrablack"", ""ultrabold"", ""heavy"", ""extrablack"", ""black"", ""extrabold"", ""demibold"", ""semibold"", ""bold""" 4 +.el .IP "\f(CWultrablack\fR, \f(CWultrabold\fR, \f(CWheavy\fR, \f(CWextrablack\fR, \f(CWblack\fR, \f(CWextrabold\fR, \f(CWdemibold\fR, \f(CWsemibold\fR, \f(CWbold\fR" 4 +.IX Item "ultrablack, ultrabold, heavy, extrablack, black, extrabold, demibold, semibold, bold" +Select the weight that LaTeX will use as the \*(L"bold\*(R" weight; +the default is \f(CW\*(C`bold\*(C'\fR. .PP -These last two groups of options will only work if +The previous two groups of options will only work if you have the \fImweights\fR package installed. .PP The style file will also try to load the \fIfontaxes\fR package -(available on \s-1CTAN\s0), -which gives easy access to various font shapes and styles. +(available on \s-1CTAN\s0), which gives easy access to various font shapes and styles. Using the machinery set up by \fIfontaxes\fR, the generated style file defines a number of commands (which take the text to be typeset as argument) and declarations (which don't take arguments, but affect all text up to -the end of the current group) of its own: +the end of the current group) to access titling, superior and inferior +characters: .PP .Vb 1 \& DECLARATION COMMAND SHORT FORM OF COMMAND @@ -308,7 +311,7 @@ the end of the current group) of its own: .PP In addition, the \f(CW\*(C`\eswshape\*(C'\fR and \f(CW\*(C`\etextsw\*(C'\fR commands are redefined to place swash on the secondary shape axis (\fIfontaxes\fR places it on the primary -shape axis); this makes these commands behave properly when nested, so that +shape axis) to make them behave properly when nested, so that \&\f(CW\*(C`\eswshape\eupshape\*(C'\fR will give upright swash. .PP There are no commands for accessing the numerator and denominator @@ -330,23 +333,22 @@ encoding vector, e.g. if your fonts use non-standard glyph names for ornaments. .PP These commands are only generated for existing shapes and number styles; no commands are generated for shapes and styles that don't exist, -or whose generation has been turned off using command-line options. -Also: these commands are built on top of \fIfontaxes\fR; -if that package cannot be found, you're limited to using the -lower-level commands from standard \s-1NFSS \s0(\f(CW\*(C`\efontfamily\*(C'\fR, \f(CW\*(C`\efontseries\*(C'\fR, -\&\f(CW\*(C`\efontshape\*(C'\fR etc.). +or whose generation was turned off by the user. +Also these commands are built on top of \fIfontaxes\fR, so if that package +cannot be found, you're limited to using the lower-level commands from +standard \s-1NFSS \s0(\f(CW\*(C`\efontfamily\*(C'\fR, \f(CW\*(C`\efontseries\*(C'\fR, \f(CW\*(C`\efontshape\*(C'\fR etc.). .SS "Using multiple font families in one document" .IX Subsection "Using multiple font families in one document" Style files generated by versions of \fBautoinst\fR older dan 2013\-07\-25 redefined \f(CW\*(C`\emddefault\*(C'\fR and \f(CW\*(C`\ebfdefault\*(C'\fR, whereas newer style files -use the \fImweights\fR package instead. +build on the facilities of the \fImweights\fR package instead. If you use multiple \fBautoinst\fR\-generated font familes in the same document, -it is best if all style files are generated by the same version of +it might be best if all style files are generated by the same version of \&\fBautoinst\fR; re-generate the older families if necessary. .SS "\s-1NFSS\s0 codes" .IX Subsection "NFSS codes" -\&\s-1NFSS\s0 identifies fonts by a combination of family, series (weight plus width), -shape and size. +\&\s-1NFSS\s0 identifies fonts by a combination of family, series +(the concatenation of weight and width), shape and size. \&\fBautoinst\fR parses the output of \f(CW\*(C`otfinfo \-\-info\*(C'\fR to determine these parameters. When this fails (e.g., because the font family contains uncommon widths or weights), @@ -361,15 +363,14 @@ this strategy is only used as a last resort.) If such a proliferation of font families is unwanted, either run \fBautoinst\fR on a smaller set of fonts or add the missing widths, weights and shapes to the tables \f(CW%FD_WIDTH\fR, -\&\f(CW%FD_WEIGHT\fR and \f(CW%FD_SHAPE\fR, at the top of the source code. +\&\f(CW%FD_WEIGHT\fR and \f(CW%FD_SHAPE\fR, at the beginning of the source code. Please also send a bug report (see \s-1AUTHOR\s0 below). .PP \&\fBautoinst\fR maps widths, weights and shapes to \s-1NFSS\s0 codes using -the following tables. These are based as much as possible -on the standard \fIFontname\fR scheme and Philipp Lehman's -\&\fIFont Installation Guide\fR, -but some changes were made to avoid name clashes in font families -with many widths and weights. +the following tables. These are based on the standard \fIFontname\fR scheme +and Philipp Lehman's \fIFont Installation Guide\fR, but some changes were made +to avoid name clashes in font families with many different widths and weights, +such as Helvetica Neue. .PP .Vb 1 \& WEIGHT WIDTH @@ -400,8 +401,8 @@ with many widths and weights. \& Incline(d) sl [3] .Ve .PP -\fINotes:\fR -.IX Subsection "Notes:" +\fINotes\fR +.IX Subsection "Notes" .IP "[1]" 4 .IX Item "[1]" When \fIboth\fR weight and width are empty, the \*(L"series\*(R" attribute becomes \*(L"m\*(R". @@ -411,11 +412,11 @@ 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]" -New in release 2014\-01\-21; before that, slanted fonts were mapped to \*(L"it\*(R". +Since release 2014\-01\-21; before that, slanted shapes 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 -(as \fBautoinst\fR does by default) requires a TeX-installation that uses +(as \fBautoinst\fR tries to do by default) requires a TeX-installation that uses the \fIkpathsea\fR library; with TeX distributions that implement their own directory searching (such as MiKTeX), \fBautoinst\fR will complain that it cannot find the \fIkpsewhich\fR program and install all generated files @@ -427,35 +428,35 @@ to their correct destinations by hand, or use the \fI\-target\fR option Also, some OpenType fonts may lead to \fIpl\fR and \fIvpl\fR files that are too big for MiKTeX's \fIpltotf\fR and \fIvptovf\fR; the versions that come with W32TeX (\fIhttp://www.w32tex.org\fR) -and TeXLive (\fIhttp://tug.org/texlive\fR) don't have this problem. +and TeXLive (\fIhttp://tug.org/texlive\fR) don't seem to have this problem. .SH "COMMAND-LINE OPTIONS" .IX Header "COMMAND-LINE OPTIONS" \&\fBautoinst\fR tries hard to do The Right Thing (\s-1TM\s0) by default, so in many cases you won't need these options; -but most aspects of its operation can be changed if you want to. +but most aspects of its operation can be fine-tuned if you want to. .PP You may use either one or two dashes before options, and option names may be shortened to a unique prefix (e.g., \fB\-encoding\fR may be abbreviated to \fB\-enc\fR or even \fB\-en\fR, -but \fB\-e\fR is ambiguous (\fB\-encoding\fR, \fB\-extra\fR). +but \fB\-e\fR is ambiguous (it may mean either \fB\-encoding\fR or \fB\-extra\fR)). .IP "\fB\-dryrun\fR" 4 .IX Item "-dryrun" -Don't actually generate any fonts and files, only create a logfile -showing which fonts would be generated. -By default, this information is written to \fIautoinst.log\fR; -use the \fB\-logfile\fR option to specify a different filename. +Don't actually do anything, only create the logfile \fIautoinst.log\fR +showing which fonts would have been generated. .IP "\fB\-encoding\fR=\fIencoding[,encoding]\fR" 4 .IX Item "-encoding=encoding[,encoding]" -Generate the specified encoding(s) for the text fonts. The default is \*(L"\s-1OT1,T1,LY1\*(R".\s0 -For each encoding, a file \fI<encoding>.enc\fR (\fIlowercase\fR) +Generate the specified encoding(s) for the text fonts. The default is +\&\*(L"\s-1OT1,T1,LY1\*(R".\s0 +For each encoding, a file \fI<encoding>.enc\fR (in all \fIlowercase\fR!) should be somewhere where \fIotftotfm\fR can find it. Suitable encoding files for \s-1OT1, T1/TS1\s0 and \s-1LY1\s0 come with \fBautoinst\fR. (These files are called \fIfontools_ot1.enc\fR etc. to avoid name clashes with other packages; the \*(L"fontools_\*(R" prefix may be omitted.) .Sp Multiple text encodings can be specified as a comma-separated list: -\&\f(CW\*(C`\-encoding=OT1,T1\*(C'\fR. The encodings are passed to \fIfontenc\fR in the order -specified, so the last one will be the default text encoding. +\&\f(CW\*(C`\-encoding=OT1,T1\*(C'\fR (without spaces!). The generated style file passes these encodings +to \fIfontenc\fR in the specified order, so the last one will become +the default text encoding for your documents. .IP "\fB\-ts1\fR / \fB\-nots1\fR" 4 .IX Item "-ts1 / -nots1" Control the creation of TS1\-encoded fonts. The default is \fB\-ts1\fR @@ -502,10 +503,20 @@ Control the creation of titling fonts. The default is \fB\-titling\fR. .IX Item "-superiors / -nosuperiors" Control the creation of fonts with superior characters. The default is \fB\-superiors\fR. -.IP "\fB\-inferiors\fR / \fB\-noinferiors\fR" 4 -.IX Item "-inferiors / -noinferiors" -Control the creation of fonts with inferior digits. -The default is \fB\-noinferiors\fR. +.IP "\fB\-inferiors\fR=[ \fBsinf\fR | \fBsubs\fR | \fBdnom\fR ]" 4 +.IX Item "-inferiors=[ sinf | subs | dnom ]" +The OpenType standard defines several kinds of digits that might be used +as inferiors or subscripts: \*(L"Scientific Inferiors\*(R" +(OpenType feature \*(L"sinf\*(R"), \*(L"Subscripts\*(R" (\*(L"subs\*(R") and \*(L"Denominators\*(R" (\*(L"dnom\*(R"). +This option allows the user to determine which of these styles \fBautoinst\fR +should use for the inferior characters. The default is not to create fonts +with inferior characters. +.Sp +Note that many fonts contain only one (or even none) of these types +of inferior characters. If you specify a style of inferiors that isn't +actually present in the font, \fBautoinst\fR silently falls back to its default +of not creating fonts with inferiors; it doesn't try to substitute one of +the other features. .IP "\fB\-fractions\fR / \fB\-nofractions\fR" 4 .IX Item "-fractions / -nofractions" Control the creation of fonts with numerators and denominators. @@ -513,15 +524,6 @@ The default is \fB\-nofractions\fR. .IP "\fB\-ornaments\fR / \fB\-noornaments\fR" 4 .IX Item "-ornaments / -noornaments" Control the creation of ornament fonts. The default is \fB\-ornaments\fR. -.IP "\fB\-verbose\fR" 4 -.IX Item "-verbose" -Verbose mode; print detailed information about which fonts \fBautoinst\fR -is generating. By default, this information is written to \fIautoinst.log\fR; -a different filename can be specified using the \fB\-logfile\fR option. -Repeat this option for even more detailed information. -.IP "\fB\-logfile\fR=\fI\s-1LOGFILE\s0\fR" 4 -.IX Item "-logfile=LOGFILE" -Write the logging information to \fI\s-1LOGFILE\s0\fR instead of \fIautoinst.log\fR. .IP "\fB\-defaultlining\fR / \fB\-defaultoldstyle\fR" 4 .IX Item "-defaultlining / -defaultoldstyle" .PD 0 @@ -531,44 +533,43 @@ Write the logging information to \fI\s-1LOGFILE\s0\fR instead of \fIautoinst.log Tell \fBautoinst\fR which figure style is the current font family's default (i.e., which figures you get when you don't specify any OpenType features). .Sp -\&\fIDon't use these options unless you are certain you need them! +\&\fIDon't use these options unless you are certain you need them!\fR They are only needed for fonts that don't provide OpenType features for their default figure style; and even in that case, -the default values (\f(BI\-defaultlining\fI and \f(BI\-defaulttabular\fI) -are usually correct.\fR -.IP "\fB\-figurekern\fR / \fB\-nofigurekern\fR" 4 -.IX Item "-figurekern / -nofigurekern" +\&\fBautoinst\fR's default values (\fB\-defaultlining\fR and \fB\-defaulttabular\fR) +are usually correct. +.IP "\fB\-nofigurekern\fR" 4 +.IX Item "-nofigurekern" Some fonts provide kerning pairs for tabular figures. This is very probably not what you want (e.g., numbers in tables won't line up exactly). -The option \fB\-nofigurekern\fR adds extra \fI \-\-ligkern\fR options -to the commands for \fIotftotfm\fR to suppress such kerns -(but of course only for the families with tabular figures). -Since this leads to very long commands (one hundred such options in total!) -and the problem only occurs in very few fonts, -the default is \fB\-figurekern\fR. +This option adds extra \fI \-\-ligkern\fR options +to the commands for \fIotftotfm\fR to suppress such kerns. +Note that this option leads to very long commands (it adds +one hundred \fI \-\-ligkern\fR options), which may cause problems on some systems. .IP "\fB\-extra\fR=\fItext\fR" 4 .IX Item "-extra=text" -Add \fItext\fR to the command line to \fIotftotfm\fR. To prevent \fItext\fR from -accidentily being interpreted as options to \fBautoinst\fR, it should be -properly quoted. +Append \fItext\fR as extra options to the command lines for \fIotftotfm\fR. +To prevent \fItext\fR from accidentily being interpreted as options to \fBautoinst\fR, +it should be properly quoted. .IP "\fB\-manual\fR" 4 .IX Item "-manual" -Manual mode. By default, \fBautoinst\fR executes all \fIotftotfm\fR +Manual mode. By default, \fBautoinst\fR immediately executes all \fIotftotfm\fR commands it generates; with the \fB\-manual\fR option, these commands are instead written to a file \fIautoinst.bat\fR. -Also, the generated \fIotftotfm\fR commands specify the \fI \-\-pl\fR option +Furthermore it adds the \fI \-\-pl\fR option (which tells \fIotftotfm\fR to generate human readable/editable \fIpl\fR and \fIvpl\fR files instead of the default \fItfm\fR and \fIvf\fR files) -and omit the \fI \-\-automatic\fR option (which causes \fIotftotfm\fR to +and omits the \fI \-\-automatic\fR option (which causes \fIotftotfm\fR to leave all generated files in the current directory, rather than install -them into your \s-1TEXMF\s0 tree). +them into your \s-1TEXMF\s0 tree). Manual mode is meant to enable tweaking +the generated commands and post-processing the generated files. .Sp -When using this option, you should run \fIpltotf\fR and \fIvptovf\fR after -executing all commands, -to convert the \fIpl\fR and \fIvf\fR files to \fItfm\fR and \fIvf\fR format. +When using this option, run \fIpltotf\fR and \fIvptovf\fR after executing +the commands (to convert the \fIpl\fR and \fIvf\fR files to \fItfm\fR and \fIvf\fR format) +and move all generated files to their proper destinations. .PP -The following options are only meaningful in automatic mode, +All following options are only meaningful in automatic mode, and hence ignored in manual mode: .IP "\fB\-target\fR=\fI\s-1DIRECTORY\s0\fR" 4 .IX Item "-target=DIRECTORY" @@ -599,18 +600,18 @@ The default is \fB\-updmap\fR. .IX Header "SEE ALSO" Eddie Kohler's \fBTypeTools\fR (\fIhttp://www.lcdf.org/type\fR). .PP -\&\fBPerl\fR can be downloaded from \fIhttp://www.perl.org\fR; it is -pre-installed on many Linux distributions. +\&\fBPerl\fR can be obtained from \fIhttp://www.perl.org\fR; +it is a standard part of many Linux distributions. For Windows, try ActivePerl (\fIhttp://www.activestate.com\fR) 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. -.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 -(including both flavours of OpenType) without TeX-specific support files. +are Unicode-aware TeX engines that can use OpenType fonts directly, +without the need for any (La)TeX\-specific support files. +.PP +The \fBFontPro\fR project (\fIhttps://github.com/sebschub/FontPro\fR) +offers very complete LaTeX support (including math) for Adobe's Minion Pro, +Myriad Pro and Cronos Pro font families. .PP John Owens' \fBotfinst\fR (available from \s-1CTAN\s0) is another wrapper around \fIotftotfm\fR. @@ -619,9 +620,10 @@ around \fIotftotfm\fR. Marc Penninga <marcpenninga@gmail.com> .PP When sending a bug report, please give as much relevant information as -possible; this includes at least (but may not be limited to) the output -from running \fBautoinst\fR with the \fI\-verbose\fR option. -Please include all (if any) error messages as well. +possible; this includes at least (but may not be limited to) +the log file \fIautoinst.log\fR. +If you see any error messages (either from \fBautoinst\fR itself, from Perl or +from the \s-1OS\s0), please include these \fIverbatim\fR as well; don't paraphrase them. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2005\-2017 Marc Penninga. @@ -641,27 +643,13 @@ but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1GNU\s0 General Public License for more details. .SH "RECENT CHANGES" .IX Header "RECENT CHANGES" -(See the source code for the rest of the story.) +(See the source for the full story, all the way back to 2005.) +.IP "\fI2017\-06\-16\fR" 12 +.IX Item "2017-06-16" +Changed the \fI\-inferiors\fR option from a binary yes-or-no choice to allow +the user to choose one of the \*(L"sinf\*(R", \*(L"subs\*(R" and \*(L"dnom\*(R" features. +\&\fBautoinst\fR now always creates a log file. .IP "\fI2017\-03\-21\fR" 12 .IX Item "2017-03-21" -Updated the \fIfontools_ot1.enc\fR encoding file to include the Lslash and lslash glyphs (thanks to Bob Tennent). -.IP "\fI2015\-11\-22\fR" 12 -.IX Item "2015-11-22" -Bugfix: Latex doesn't like command names with dashes in it. -.IP "\fI2015\-05\-13\fR" 12 -.IX Item "2015-05-13" -Fixed an error message that mixed up width and weight. -.IP "\fI2014\-04\-04\fR" 12 -.IX Item "2014-04-04" -Fixed a bug in the font info parsing code. -.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 \fIfd\fR 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. -Added the \fI\-lining\fR, \fI\-oldstyle\fR, \fI\-tabular\fR and \fI\-proportional\fR -options; the old options with those names have been renamed to -\&\fI\-defaultlining\fR, \fI\-defaultoldstyle\fR etc. +Updated the \fIfontools_ot1.enc\fR encoding file to include the \*(L"Lslash\*(R" +and \*(L"lslash\*(R" glyphs (thanks to Bob Tennent). 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 c284b69f756..90a493a8c7e 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 6bcf226c812..d8ea9629da3 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 e78049bad4f..1307cad6d85 100644 --- a/Master/texmf-dist/doc/support/fontools/README +++ b/Master/texmf-dist/doc/support/fontools/README @@ -45,7 +45,7 @@ Kpathsea Other The encoding files in the "share" directory should be installed - somewhere where otftotfm can find them. + in a standard location where otftotfm can find them. DISCLAIMER @@ -65,4 +65,4 @@ the terms of the GNU General Public Licence; see the file GPLv2.txt for the license conditions. - Marc Penninga, 2017/03/21 + Marc Penninga, 2017/06/16 diff --git a/Master/texmf-dist/scripts/fontools/autoinst b/Master/texmf-dist/scripts/fontools/autoinst index ffbe7211c3d..963bb89b2fc 100755 --- a/Master/texmf-dist/scripts/fontools/autoinst +++ b/Master/texmf-dist/scripts/fontools/autoinst @@ -118,8 +118,8 @@ my %FD_SHAPE = ( =begin Comment - The next table is used to generate extra DeclareFontShape rules - in the .fd files to map missing slanted shapes to italic or vice versa. + The next table is used to generate extra DeclareFontShape rules in + the .fd files to map missing slanted shapes to italic or vice versa. =end Comment @@ -154,6 +154,9 @@ my %FD_SSUB = ( The 'reqd' and 'nice' subtables for the TLF, LF, TOsF and OsF styles are empty; these are filled in at run time, depending on which figure style is default for the current font. + + The 'reqd' subtable for the Inf style is also empty; this may be filled + with either 'sinf' or 'subs' depending on the -inferiors options. Ornaments are treated as a separate 'figure style'. This may seem a bit weird, but that's the easiest way to handle them. @@ -194,7 +197,7 @@ my %STYLE = ( shapes => ['normal'], }, Inf => { - reqd => ['sinf'], + reqd => [], nice => [], extra => '--ligkern="* {KL} *"', shapes => ['normal'], @@ -369,9 +372,7 @@ sub main { [ $minsize, $maxsize, $item->{fontname} ]; } - if ($ARGV{verbose}) { - create_logfile(@worklist); - } + create_logfile(@worklist); if (!$ARGV{dryrun}) { # Create the LaTeX support files @@ -546,18 +547,16 @@ I'm using the following options: swash: @{[ $ARGV{swash} ? 'yes' : 'no' ]} titling: @{[ $ARGV{titling} ? 'yes' : 'no' ]} superiors: @{[ $ARGV{superiors} ? 'yes' : 'no' ]} - inferiors: @{[ $ARGV{inferiors} ? 'yes' : 'no' ]} + inferiors: $ARGV{inferiors} ornaments: @{[ $ARGV{ornaments} ? 'yes' : 'no' ]} fractions: @{[ $ARGV{fractions} ? 'yes' : 'no' ]} - verbosity level: $ARGV{verbose} - - dryrun: @{[ $ARGV{dryrun} ? 'true' : 'false' ]} - auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]} + dry run/real: @{[ $ARGV{dryrun} ? 'dry run' : 'real' ]} + auto/manual: @{[ $ARGV{manual} ? 'manual' : 'auto' ]} target: $ARGV{target} extra: @{[ $ARGV{extra} || '<empty>' ]} - figurekern: @{[ $ARGV{figurekern} ? 'keep' : 'discard' ]} + figurekern: @{[ $ARGV{figurekern} ? 'no action' : 'remove' ]} font files: @@ -569,7 +568,7 @@ END_ARGUMENTS my @cmds; for my $item (@worklist) { if ($prevfn ne $item->{font}{filename}) { - push @cmds, "\n" . '*' x 76 . "\n"; + push @cmds, "\n" . '*' x 76; print {$LOG} <<"END_FONTINFO"; @@ -610,14 +609,8 @@ END_FONTINFO push @cmds, $item->{cmdline}; } - if ($ARGV{verbose} >= 2) { - print {$LOG} <<"END_COMMANDS"; - - @{[ join "\n\n ", @cmds ]} - -END_COMMANDS - } - + print {$LOG} join "\n\n", @cmds; + print {$LOG} "\n"; close $LOG; } @@ -640,7 +633,7 @@ sub make_commands { } else { if (grep { system $_ } @commands) { - warn "[WARNING] 'otftotfm' returned non-zero; something's wrong!"; + warn "[WARNING] 'otftotfm' returned non-zero; something's wrong!\n"; } } @@ -743,7 +736,7 @@ Possible options: -(no)swash Toggle creation of swash shape -(no)titling Toggle creation of titling shape -(no)superiors Toggle creation of fonts with superior characters - -(no)inferiors Toggle creation of fonts with inferior characters + -inferiors=[sinf|subs] Use this style for subscripts (see docs) -(no)ornaments Toggle creation of ornament fonts -(no)fractions Toggle creation of fonts with digits for fractions @@ -766,11 +759,7 @@ Possible options: -help Print this text and exit -doc Print the complete documentation and exit - -verbose Show info about which fonts are generated - (repeat for even more detailed info) - -logfile="LOGFILE" Print info to LOGFILE (default: autoinst.log) -dryrun Don't generate fonts, only log what would be done - (implies -verbose) font[s] The fonts (.otf or .ttf format) to install. @@ -789,7 +778,7 @@ END_USAGE swash => '1', # 0 = no, 1 = yes titling => '1', # 0 = no, 1 = yes superiors => '1', # 0 = no, 1 = yes - inferiors => '0', # 0 = no, 1 = yes + inferiors => '', # possible values: '', 'sinf', 'subs', 'dnom' ornaments => '1', # 0 = no, 1 = yes fractions => '0', # 0 = no, 1 = yes nfss => 'rm', @@ -802,7 +791,6 @@ END_USAGE updmap => '1', # 0 = no, 1 = yes manual => '0', # 0 = no, 1 = yes dryrun => '0', # 0 = no, 1 = yes - verbose => '0', # 0 = no, 1 = yes logfile => 'autoinst.log', figurekern => '1', # 0 = no, 1 = yes ); @@ -811,7 +799,7 @@ END_USAGE # Process command-line arguments #----------------------------------------------------------------------- sub parse_options { - $ARGV{cmdline} = "$0 " . join ' ', @ARGV; + $ARGV{cmdline} = join ' ', ($0, @ARGV); Getopt::Long::GetOptions( 'help|?' => sub { print $USAGE; exit; }, @@ -826,7 +814,7 @@ sub parse_options { 'swash!' => \$ARGV{swash}, 'titling!' => \$ARGV{titling}, 'superiors!' => \$ARGV{superiors}, - 'inferiors!' => \$ARGV{inferiors}, + 'inferiors=s' => \$ARGV{inferiors}, 'ornaments!' => \$ARGV{ornaments}, 'fractions!' => \$ARGV{fractions}, 'sanserif' => sub { $ARGV{nfss} = 'sf' }, @@ -843,8 +831,7 @@ sub parse_options { 'dryrun' => \$ARGV{dryrun}, 'manual' => \$ARGV{manual}, 'figurekern!' => \$ARGV{figurekern}, - 'verbose+' => \$ARGV{verbose}, - 'logfile=s' => \$ARGV{logfile}, + 'verbose+' => sub {}, ) or die "$USAGE"; @@ -855,9 +842,17 @@ sub parse_options { delete $SHAPE{titling} unless $ARGV{titling}; delete $STYLE{Sup} unless $ARGV{superiors}; - delete $STYLE{Inf} unless $ARGV{inferiors}; delete $STYLE{Orn} unless $ARGV{ornaments}; delete @STYLE{qw(Numr Dnom)} unless $ARGV{fractions}; + if ($ARGV{inferiors} eq 'sinf') { $STYLE{Inf}{reqd} = ['sinf'] } + elsif ($ARGV{inferiors} eq 'subs') { $STYLE{Inf}{reqd} = ['subs'] } + elsif ($ARGV{inferiors} eq 'dnom') { $STYLE{Inf}{reqd} = ['dnom'] } + else { + warn "[WARNING] unknown value -inferiors=$ARGV{inferiors} ignored!\n" + if $ARGV{inferiors}; + $ARGV{inferiors} = 'no'; + delete $STYLE{Inf} + } $ARGV{encoding} =~ s/\s+//xmsg; my @textencodings = grep { $_ ne 'TS1' } @@ -884,7 +879,7 @@ sub parse_options { delete @STYLE{qw(TLF TOsF)} unless $ARGV{tabular}; if ($ARGV{manual}) { - warn "[WARNING] option '--target' overridden by '--manual'!" + warn "[WARNING] option '-target' overridden by '-manual'!\n" if $ARGV{target}; $ARGV{target} = File::Spec->curdir(); } @@ -907,10 +902,6 @@ sub parse_options { $STYLE{TLF}{extra} = $tkern; $STYLE{TOsF}{extra} = $tkern; } - - if ($ARGV{dryrun} && $ARGV{verbose} == 0) { - $ARGV{verbose} = 1; - } } @@ -1546,7 +1537,7 @@ __END__ =head1 NAME autoinst - wrapper around the F<LCDF TypeTools>, -for installing OpenType fonts in LaTeX. +for installing and using OpenType fonts in (La)TeX. =head1 SYNOPSIS @@ -1573,8 +1564,8 @@ B<autoinst> will create several LaTeX font families: =item - -Four text families (with lining and oldstyle digits, in both tabular -and proportional variants), each with the following shapes: +Four text families (with lining and oldstyle digits, each in both tabular +and proportional variants), all with the following shapes: =over 2 @@ -1610,7 +1601,8 @@ Italic and slanted small caps =item I<nw> -"Upright swash"; usually normal text with "oldstyle" ligatures such as ct, sp and st. +"Upright swash"; usually roman text with a few "oldstyle" ligatures +like ct, sp and st. =item I<tlit>, I<tlsl> @@ -1622,12 +1614,12 @@ Italic and slanted titling text =item - -For each text family: a family of TS1-encoded symbol fonts, +For each T1-encoded text family: a family of TS1-encoded symbol fonts, in roman, italic and slanted shapes. =item - -Four families with superiors, inferiors, numerators and denominators, +Families with superiors, inferiors, numerators and denominators, in roman, italic and slanted shapes. =item - @@ -1640,8 +1632,8 @@ An ornament family, in roman, italic and slanted shapes. 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). +In addition, the creation of most families and shapes can be controlled +by options (see L</"COMMAND-LINE OPTIONS"> below). These families use the I<FontPro> project's naming scheme: I<< <FontFamily>-<Suffix> >>, where I<< <Suffix> >> is: @@ -1666,8 +1658,8 @@ tabular oldstyle figures =item I<Sup> -superior characters (many fonts have only an incomplete set of superior -characters: digits, some punctuation and the letters I<abdeilmnorst>; +superior characters (note that most fonts have only an incomplete set of +superior characters: digits, some punctuation and the letters I<abdeilmnorst>; normal forms are used for other characters) =item I<Inf> @@ -1692,17 +1684,17 @@ denominators The generated fonts are named I<< <FontName>-<suffix>-<shape>-<enc> >>, where I<< <suffix> >> is the same as above (but in lowercase), I<< <shape> >> is either empty, "sc", "swash" or "titling", -and I<< <enc> >> is the encoding. -A typical name in this scheme is "LinLibertineO-osf-sc-ly1". +and I<< <enc> >> is the encoding (also in lowercase). +A typical name in this scheme would be "FiraSans-Light-osf-sc-ly1". =head2 On the choice of text encoding By default, B<autoinst> generates text fonts with OT1, T1 and LY1 encodings, and the generated style files use LY1 as the default text encoding. -LY1 has been chosen over T1 because it has some empty slots to accomodate +LY1 has been chosen over T1 because it has some empty slots to accommodate the additional ligatures provided by many OpenType fonts. -Different encodings can be chosen using the I<-encoding> command-line option +Other encodings can be chosen using the I<-encoding> option (see L</"COMMAND-LINE OPTIONS"> below). @@ -1711,7 +1703,7 @@ Different encodings can be chosen using the I<-encoding> command-line option B<autoinst> generates a style file for using the font in LaTeX documents, named F<< <FontFamily>.sty >>. This style file also takes care of loading the F<fontenc> and F<textcomp> packages. -To use the font, simply put C<<< \usepackage{I<< <FontFamily> >>} >>> +To use the font, put the command C<<< \usepackage{I<< <FontFamily> >>} >>> in the preamble of your document. This style file defines a number of options: @@ -1726,33 +1718,35 @@ The defaults are "oldstyle" and "proportional" (if available). =item C<<< scale=I<< <number> >> >>> Scale the font by a factor of I<< <number> >>. -For example: to increase the size of the font by 5%, use +E.g., to increase the size of the font by 5%, use C<<< \usepackage[scale=1.05]{I<< <FontFamily> >>} >>>. May also be spelled C<scaled>. This option is only available when you have the F<xkeyval> package installed. -=item C<ultrablack>, C<ultrabold>, C<heavy>, C<extrablack>, C<black>, - C<extrabold>, C<demibold>, C<semibold>, C<bold> +=item C<light>, C<medium>, C<regular> -Choose the weight that LaTeX will use for the "bold" weight. +Select the weight that LaTeX will use as the "regular" weight; +the default is C<regular>. -=item C<light>, C<medium>, C<regular> +=item C<ultrablack>, C<ultrabold>, C<heavy>, C<extrablack>, C<black>, + C<extrabold>, C<demibold>, C<semibold>, C<bold> -Choose the weight that LaTeX will use for the "regular" weight. +Select the weight that LaTeX will use as the "bold" weight; +the default is C<bold>. =back -These last two groups of options will only work if +The previous two groups of options will only work if you have the F<mweights> package installed. The style file will also try to load the F<fontaxes> package -(available on CTAN), -which gives easy access to various font shapes and styles. +(available on CTAN), which gives easy access to various font shapes and styles. Using the machinery set up by F<fontaxes>, the generated style file defines a number of commands (which take the text to be typeset as argument) and declarations (which don't take arguments, but affect all text up to -the end of the current group) of its own: +the end of the current group) to access titling, superior and inferior +characters: DECLARATION COMMAND SHORT FORM OF COMMAND @@ -1764,7 +1758,7 @@ the end of the current group) of its own: In addition, the C<\swshape> and C<\textsw> commands are redefined to place swash on the secondary shape axis (F<fontaxes> places it on the primary -shape axis); this makes these commands behave properly when nested, so that +shape axis) to make them behave properly when nested, so that C<\swshape\upshape> will give upright swash. There are no commands for accessing the numerator and denominator @@ -1786,27 +1780,26 @@ encoding vector, e.g. if your fonts use non-standard glyph names for ornaments. These commands are only generated for existing shapes and number styles; no commands are generated for shapes and styles that don't exist, -or whose generation has been turned off using command-line options. -Also: these commands are built on top of F<fontaxes>; -if that package cannot be found, you're limited to using the -lower-level commands from standard NFSS (C<\fontfamily>, C<\fontseries>, -C<\fontshape> etc.). +or whose generation was turned off by the user. +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 +standard NFSS (C<\fontfamily>, C<\fontseries>, C<\fontshape> etc.). =head2 Using multiple font families in one document Style files generated by versions of B<autoinst> older dan 2013-07-25 redefined C<\mddefault> and C<\bfdefault>, whereas newer style files -use the F<mweights> package instead. +build on the facilities of the F<mweights> package instead. If you use multiple B<autoinst>-generated font familes in the same document, -it is best if all style files are generated by the same version of +it might be best if all style files are generated by the same version of B<autoinst>; re-generate the older families if necessary. =head2 NFSS codes -NFSS identifies fonts by a combination of family, series (weight plus width), -shape and size. +NFSS identifies fonts by a combination of family, series +(the concatenation of weight and width), shape and size. B<autoinst> parses the output of C<otfinfo --info> to determine these parameters. When this fails (e.g., because the font family contains uncommon widths or weights), @@ -1821,15 +1814,14 @@ this strategy is only used as a last resort.) If such a proliferation of font families is unwanted, either run B<autoinst> on a smaller set of fonts or add the missing widths, weights and shapes to the tables C<%FD_WIDTH>, -C<%FD_WEIGHT> and C<%FD_SHAPE>, at the top of the source code. +C<%FD_WEIGHT> and C<%FD_SHAPE>, at the beginning of the source code. Please also send a bug report (see L<AUTHOR> below). B<autoinst> maps widths, weights and shapes to NFSS codes using -the following tables. These are based as much as possible -on the standard I<Fontname> scheme and Philipp Lehman's -F<Font Installation Guide>, -but some changes were made to avoid name clashes in font families -with many widths and weights. +the following tables. These are based on the standard I<Fontname> scheme +and Philipp Lehman's F<Font Installation Guide>, but some changes were made +to avoid name clashes in font families with many different widths and weights, +such as Helvetica Neue. WEIGHT WIDTH @@ -1860,7 +1852,7 @@ with many widths and weights. Incline(d) sl [3] -=head3 Notes: +=head3 Notes =over 4 @@ -1875,7 +1867,7 @@ the first of these is mapped to "n", the second one to "it". =item [3] -New in release 2014-01-21; before that, slanted fonts were mapped to "it". +Since release 2014-01-21; before that, slanted shapes were mapped to "it". =back @@ -1883,7 +1875,7 @@ New in release 2014-01-21; before that, slanted fonts were mapped to "it". =head2 A note for MiKTeX users Automatically installing the fonts into a suitable TEXMF tree -(as B<autoinst> does by default) requires a TeX-installation that uses +(as B<autoinst> tries to do by default) requires a TeX-installation that uses the F<kpathsea> library; with TeX distributions that implement their own directory searching (such as MiKTeX), B<autoinst> will complain that it cannot find the F<kpsewhich> program and install all generated files @@ -1895,41 +1887,41 @@ to their correct destinations by hand, or use the I<-target> option Also, some OpenType fonts may lead to F<pl> and F<vpl> files that are too big for MiKTeX's F<pltotf> and F<vptovf>; the versions that come with W32TeX (F<http://www.w32tex.org>) -and TeXLive (F<http://tug.org/texlive>) don't have this problem. +and TeXLive (F<http://tug.org/texlive>) don't seem to have this problem. =head1 COMMAND-LINE OPTIONS B<autoinst> tries hard to do The Right Thing (TM) by default, so in many cases you won't need these options; -but most aspects of its operation can be changed if you want to. +but most aspects of its operation can be fine-tuned if you want to. You may use either one or two dashes before options, and option names may be shortened to a unique prefix (e.g., B<-encoding> may be abbreviated to B<-enc> or even B<-en>, -but B<-e> is ambiguous (B<-encoding>, B<-extra>). +but B<-e> is ambiguous (it may mean either B<-encoding> or B<-extra>)). =over 4 =item B<-dryrun> -Don't actually generate any fonts and files, only create a logfile -showing which fonts would be generated. -By default, this information is written to F<autoinst.log>; -use the B<-logfile> option to specify a different filename. +Don't actually do anything, only create the logfile F<autoinst.log> +showing which fonts would have been generated. =item B<-encoding>=I<encoding[,encoding]> -Generate the specified encoding(s) for the text fonts. The default is "OT1,T1,LY1". -For each encoding, a file F<< <encoding>.enc >> (I<lowercase>) +Generate the specified encoding(s) for the text fonts. The default is +"OT1,T1,LY1". +For each encoding, a file F<< <encoding>.enc >> (in all I<lowercase>!) should be somewhere where F<otftotfm> can find it. Suitable encoding files for OT1, T1/TS1 and LY1 come with B<autoinst>. (These files are called F<fontools_ot1.enc> etc. to avoid name clashes with other packages; the "fontools_" prefix may be omitted.) Multiple text encodings can be specified as a comma-separated list: -C<-encoding=OT1,T1>. The encodings are passed to F<fontenc> in the order -specified, so the last one will be the default text encoding. +C<-encoding=OT1,T1> (without spaces!). The generated style file passes these encodings +to F<fontenc> in the specified order, so the last one will become +the default text encoding for your documents. =item B<-ts1> / B<-nots1> @@ -1988,10 +1980,20 @@ Control the creation of titling fonts. The default is B<-titling>. Control the creation of fonts with superior characters. The default is B<-superiors>. -=item B<-inferiors> / B<-noinferiors> +=item B<-inferiors>=[ B<sinf> | B<subs> | B<dnom> ] + +The OpenType standard defines several kinds of digits that might be used +as inferiors or subscripts: "Scientific Inferiors" +(OpenType feature "sinf"), "Subscripts" ("subs") and "Denominators" ("dnom"). +This option allows the user to determine which of these styles B<autoinst> +should use for the inferior characters. The default is not to create fonts +with inferior characters. -Control the creation of fonts with inferior digits. -The default is B<-noinferiors>. +Note that many fonts contain only one (or even none) of these types +of inferior characters. If you specify a style of inferiors that isn't +actually present in the font, B<autoinst> silently falls back to its default +of not creating fonts with inferiors; it doesn't try to substitute one of +the other features. =item B<-fractions> / B<-nofractions> @@ -2002,17 +2004,6 @@ The default is B<-nofractions>. Control the creation of ornament fonts. The default is B<-ornaments>. -=item B<-verbose> - -Verbose mode; print detailed information about which fonts B<autoinst> -is generating. By default, this information is written to F<autoinst.log>; -a different filename can be specified using the B<-logfile> option. -Repeat this option for even more detailed information. - -=item B<-logfile>=I<LOGFILE> - -Write the logging information to F<LOGFILE> instead of F<autoinst.log>. - =item B<-defaultlining> / B<-defaultoldstyle> =item B<-defaulttabular> / B<-defaultproportional> @@ -2020,49 +2011,48 @@ Write the logging information to F<LOGFILE> instead of F<autoinst.log>. Tell B<autoinst> which figure style is the current font family's default (i.e., which figures you get when you don't specify any OpenType features). -I<< Don't use these options unless you are certain you need them! +I<Don't use these options unless you are certain you need them!> They are only needed for fonts that don't provide OpenType features for their default figure style; and even in that case, -the default values (B<-defaultlining> and B<-defaulttabular>) -are usually correct. >> +B<autoinst>'s default values (B<-defaultlining> and B<-defaulttabular>) +are usually correct. -=item B<-figurekern> / B<-nofigurekern> +=item B<-nofigurekern> Some fonts provide kerning pairs for tabular figures. This is very probably not what you want (e.g., numbers in tables won't line up exactly). -The option B<-nofigurekern> adds extra I< --ligkern> options -to the commands for I<otftotfm> to suppress such kerns -(but of course only for the families with tabular figures). -Since this leads to very long commands (one hundred such options in total!) -and the problem only occurs in very few fonts, -the default is B<-figurekern>. +This option adds extra I< --ligkern> options +to the commands for I<otftotfm> to suppress such kerns. +Note that this option leads to very long commands (it adds +one hundred I< --ligkern> options), which may cause problems on some systems. =item B<-extra>=I<text> -Add I<text> to the command line to I<otftotfm>. To prevent I<text> from -accidentily being interpreted as options to B<autoinst>, it should be -properly quoted. +Append I<text> as extra options to the command lines for I<otftotfm>. +To prevent I<text> from accidentily being interpreted as options to B<autoinst>, +it should be properly quoted. =item B<-manual> -Manual mode. By default, B<autoinst> executes all F<otftotfm> +Manual mode. By default, B<autoinst> immediately executes all F<otftotfm> commands it generates; with the B<-manual> option, these commands are instead written to a file F<autoinst.bat>. -Also, the generated F<otftotfm> commands specify the I< --pl> option +Furthermore it adds the I< --pl> option (which tells F<otftotfm> to generate human readable/editable F<pl> and F<vpl> files instead of the default F<tfm> and F<vf> files) -and omit the I< --automatic> option (which causes F<otftotfm> to +and omits the I< --automatic> option (which causes F<otftotfm> to leave all generated files in the current directory, rather than install -them into your TEXMF tree). +them into your TEXMF tree). Manual mode is meant to enable tweaking +the generated commands and post-processing the generated files. -When using this option, you should run F<pltotf> and F<vptovf> after -executing all commands, -to convert the F<pl> and F<vf> files to F<tfm> and F<vf> format. +When using this option, run F<pltotf> and F<vptovf> after executing +the commands (to convert the F<pl> and F<vf> files to F<tfm> and F<vf> format) +and move all generated files to their proper destinations. =back -The following options are only meaningful in automatic mode, +All following options are only meaningful in automatic mode, and hence ignored in manual mode: =over 4 @@ -2100,18 +2090,18 @@ The default is B<-updmap>. Eddie Kohler's B<TypeTools> (F<http://www.lcdf.org/type>). -B<Perl> can be downloaded from F<http://www.perl.org>; it is -pre-installed on many Linux distributions. +B<Perl> can be obtained from F<http://www.perl.org>; +it is a standard part of many Linux distributions. For Windows, try ActivePerl (F<http://www.activestate.com>) 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. - 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 -(including both flavours of OpenType) without TeX-specific support files. +are Unicode-aware TeX engines that can use OpenType fonts directly, +without the need for any (La)TeX-specific support files. + +The B<FontPro> project (F<https://github.com/sebschub/FontPro>) +offers very complete LaTeX support (including math) for Adobe's Minion Pro, +Myriad Pro and Cronos Pro font families. John Owens' B<otfinst> (available from CTAN) is another wrapper around F<otftotfm>. @@ -2122,9 +2112,10 @@ around F<otftotfm>. Marc Penninga <marcpenninga@gmail.com> When sending a bug report, please give as much relevant information as -possible; this includes at least (but may not be limited to) the output -from running B<autoinst> with the I<-verbose> option. -Please include all (if any) error messages as well. +possible; this includes at least (but may not be limited to) +the log file F<autoinst.log>. +If you see any error messages (either from B<autoinst> itself, from Perl or +from the OS), please include these I<verbatim> as well; don't paraphrase them. =head1 COPYRIGHT @@ -2153,13 +2144,27 @@ GNU General Public License for more details. =head1 RECENT CHANGES -(See the source code for the rest of the story.) +(See the source for the full story, all the way back to 2005.) =over 12 +=item I<2017-06-16> + +Changed the I<-inferiors> option from a binary yes-or-no choice to allow +the user to choose one of the "sinf", "subs" and "dnom" features. +B<autoinst> now always creates a log file. + =item I<2017-03-21> -Updated the F<fontools_ot1.enc> encoding file to include the Lslash and lslash glyphs (thanks to Bob Tennent). +Updated the F<fontools_ot1.enc> encoding file to include the "Lslash" +and "lslash" glyphs (thanks to Bob Tennent). + +=back + + +=begin Really_old_history + +=over 12 =item I<2015-11-22> @@ -2186,13 +2191,6 @@ Added the I<-lining>, I<-oldstyle>, I<-tabular> and I<-proportional> options; the old options with those names have been renamed to I<-defaultlining>, I<-defaultoldstyle> etc. -=back - - -=begin Really_old_history - -=over 12 - =item I<2013-10-31> The previous change required Perl v5.14 or newer; @@ -2368,8 +2366,8 @@ Also elaborated the documentation somewhat and fixed a small bug. =item I<2005-09-22> Added check to see if filename parsing succeeded; -updated the filename parsing code to cater for GaramondPremier, Silentium -and some non-Adobe fonts; +updated the filename parsing code to cater for GaramondPremier Pro, +Silentium Pro and some non-Adobe fonts; added the I<-sanserif> and I<-typewriter> options and hacked the style files to support using several different font families in one document. @@ -2383,7 +2381,7 @@ and improved the layout of the generated files. =item I<2005-08-11> -The generated commands weren't actually executed, only printed.... +The generated commands weren't actually executed, only printed... Also added a small hack to cater for fonts (such as some recent versions of MinionPro) that contain swash characters but don't provide a "swsh" feature. |