diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/fontspec/README.md')
-rw-r--r-- | Master/texmf-dist/doc/latex/fontspec/README.md | 410 |
1 files changed, 410 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/fontspec/README.md b/Master/texmf-dist/doc/latex/fontspec/README.md new file mode 100644 index 00000000000..636f48ffe7e --- /dev/null +++ b/Master/texmf-dist/doc/latex/fontspec/README.md @@ -0,0 +1,410 @@ + +THE FONTSPEC PACKAGE +==================== + +The fontspec package provides an automatic and unified interface for loading +fonts in LaTeX. XeTeX and LuaTeX (the latter through the `luaotfload` package) +allows a direct interface to fonts which may be loaded by their name rather +than filename, so no manual font installation is required. + +This package also provides access to the large number of font features +available with AAT and OpenType fonts, including upper and lower case numbers, +proportional and monospaced numbers, swash letters, ligature control, and many +others. + +See the documentation `fontspec.pdf` for full information. + +Release versions of fontspec are available from CTAN: + <http://www.ctan.org/pkg/fontspec> + +Development and historical versions are available from Github: + <http://github.com/wspr/fontspec> + +Please offer suggestions and file bug reports in the issue tracker: + <http://github.com/wspr/fontspec/issues> + + +Requirements +------------ + +The `fontspec` package requires an up-to-date TeX Live or MiKTeX installation, +including the most recent version of the `l3kernel` package which provides +the LaTeX3 programming interface known as `expl3`. + + +Summary of user commands +------------------------ + +Font families may be selected individually with the command + + \fontspec{<font name>}[<font options>] + +Commands for selecting fonts efficiently through a document are created with + + \newfontfamily\myfamily{<font name>}[<font options>] + \newfontface\myfont{<font name>}[<font options>] + +Default document fonts are selected with + + \setmainfont{<font name>}[<font options>] + \setsansfont{<font name>}[<font options>] + \setmonofont{<font name>}[<font options>] + +Features to be used for every subsequently defined font are specified with + + \defaultfontfeatures{<default font options>} + \defaultfontfeatures+{<add to default font options>} + \defaultfontfeatures[<font name>]{<default font options for "font name">} + \defaultfontfeatures+[<font name>]{<add to default font options for "font name">} + +Features may be added to the font currently in use with + + \addfontfeatures{<font options to add>} + \addfontfeature{<...>} does the same thing + + + +Change history +-------------- + +- v2.5 (2016/01/30) "TL2016 release" + + * Provide a new Unicode font encoding ("TU") to replace EU1/EU2 and xunicode. If this causes problems, load fontspec with the `[euenc]` option to revert to the old behaviour. + * New command `\emfontdeclare` for defining font shapes when arbitrarily nesting the `\emph` command. + * Allow slanted small caps and better internal methods for "combining" font shapes; this fixes a few bugs. + * Incorporate "new" font script tags for Indic fonts. E.g., when selecting `Script=Bengali`, fontspec will first query the font for the `bng2` OpenType script, and if not found select `beng`. + * Restrict some font features from being able to be used within `\addfontfeatures` that were causing some font-loading confusion. + * Fixed behaviour in which `\baselineskip` and `\f@size` would (possibly) change values after loading the packge. + * Remove copy of `fixltx2e`'s code for footnote symbols; handled by LaTeX2e now. + * Deprecate `ExternalLocation` for the simpler (and identical) `Path` option. + * Improvement to some warnings/info messages. + * Improve structure of code. + +- v2.4e (2015/09/24) + + * Allow `[Path=...]` to be specified for individual font faces. + * Continue to normalise naming with expl3. (Ongoing.) + +- v2.4d (2015/07/22) + + * Rename an internal expl3 function or two. + +- v2.4c (2015/03/14) + + * v2.4b was never released, sorry! + * This time *really* fix `\@fnsymbol` and avoid overwriting it if already fixed. + * Fix "`Renderer=Graphite`" (off-by-one error). + * Fix some edge cases for `\aliasfontfeature`. + +- v2.4b (2014/08/23) + + * Improve backwards compatibility w.r.t. recent argument order change; + specifically, if an optional argument is presented before the font name + then avoid looking for one afterwards. + * Fix \@fnsymbol; it was defined as a \protected macro, where in fact its internal text-or-math switch needed to be instead. + * No longer lowercase fontnames internally; this fixes a bug with loading + mixed-case ".fontspec" files. + * Fixed some documentation typos/inconsistencies related to recent changes. + +- v2.4a (2014/06/21) + + * No longer load fixltx2e.sty -- this package should really be loaded before \documentclass. + * Avoid deprecated l3fp code. + * A couple of bugs introduced with v2.4 fixed. + +- v2.4 (2014/06/01) + + * Significant change to the user interface: instead of `\setmainfont[features]{font}`, you now write `\setmainfont{font}[features]`. + Backwards compatibility is of course preserved. + + The reason for this change is to improve the visual comprehension of the font loading syntax with large numbers of font features. + + * Defaults for symbolic font families like this can now be specified with + + \defaultfontfeatures[\rmfamily]{...} + + or + + \defaultfontfeatures[\headingsfont]{...} + \newfontfamily\headingsfont{...} + + * New `PunctuationSpace=WordSpace` and `PunctuationSpace=TwiceWordSpace` settings, intended for monospaced fonts; these force the space after a period to be exactly one or two spaces wide, respectively, which preserves character alignment across lines. + + * The features above now allow changes to the default settings: + + * `Ligatures=TeX` is enabled by default with `\setmainfont` and `\setsansfont`. + * `WordSpace={1,0,0}` and `PunctuationSpace=WordSpace` are now enabled by default for `\setmonofont` to produce better monospaced results. + * (These can be adjusted by created your own `fontspec.cfg` file.) + + * `SizeFeatures` can now be nested inside `ItalicFeatures` (etc.) and behaves correctly. This has been a very long overdue bug! + + * New feature `NFSSFamily=ABC` to set the NFSS family of a font to “`ABC`”. Useful + when other packages use the `\fontfamily{ABC}\selectfont` interface. + + * New feature `FontFace = {series}{shape}{font}` allows a font face to be loaded with a specific NFSS font series and font shape. + A more verbose syntax allows arbitrary font features as well (and this also plays nicely with `SizeFeatures`): + + \fontspec{myfont.otf}[ + FontFace = {b}{ui}{Font = myfont-bui.otf, <features>} , + ] + + The code above, for example, will allow a bold upright italic font to be selected using the standard NFSS interface: `\fontseries{b}\fontshape{ui}\selectfont`. + + * `\defaultfontfeatures+` (note the `+`) can now be used to append to the default font feature set. + + * Setting the `SmallCapsFont` using the `*`-replacement notation has been improved/fixed. + +- v2.3c (2013/05/20) + + * Compatbility with luaotfload 2013/05/20 2.2c, support for older version + removed. + +- v2.3b (2013/05/12) + + * Compatibility with new (and future) version of luaotfload + +- v2.3a (2013/03/16) + + * Bug fix update to retain compatibility with new expl3 + +- v2.3 (2013/02/25) + + * Add support for per-font options in `\defaultfontfeatures` + * Add support for `<fontname>.fontspec` per-font configuration files + * Keep up-to-date with expl3 changes + +- v2.2b (2012/05/06) "TL2012 version" + + * Fix error with AutoFakeSlant/Bold (#113) and when used with external fonts (#128) + * Add warning when using FakeBold in LuaLaTeX, where it's not supported + * Fix slshape misassignment introduced in v2.2 + * Allow fontspec to be loaded before \documentclass + (or rather fix the regression that broke this) + * Avoid using the calc package now that it's no longer loaded by expl3 + * Allow multiple values to StylisticSet and Alternate font options + +- v2.2a (2011/09/14) + + * Bug fix: improve backwards compatibility for packages that use old + fontspec internals such as mathspec. + +- v2.2 (2011/09/13) + + * Support alternate selections in CharacterVariant (cvxx in OpenType) + using new syntax `[CharacterVariant=5:2]`. + * Add `fontspec`-compatible `\oldstylenums` and `\liningnums` commands. + * New programmer's function `\fontspec_set_fontface:NNnn` (for use when + `\zf@basefont` might previously have been queried). + * Log file output is slightly tidier. + * Some old lingering bugs squashed: + - Small caps font selection was broken in some cases. + (Thanks Enrico Gregorio.) + - Fonts loaded by filename with under-specified shapes threw an error + (e.g., asking explicitly for bold but not italic). + (Thanks Vafa Khalighi.) + * Documentation improvements largely due to Markus Böhning. + * Many internal changes, among which: + - `xkeyval` package no longer used for option processing; + `expl3`'s `l3keys` used instead. + This allows `fontspec` to be loaded before `\documentclass` + (thanks Heiko Oberdiek for reporting the issue) + and fixes a potential conflict with the `preview` package + (thanks again Vafa). + - Internal names changed; avoid "\zf@basefont", "\zf@family", etc. + from now on -- there are public interfaces now to get access to the + same information + - Update `expl3` support to latest CTAN version. + +- v2.1g (2011/08/02) + + * No longer uses the binhex package, avoiding some name clashes with TIPA + +- v2.1f (2011/02/26) + + * Finally add a real error message when a font cannot be found! + * Add "Letters=Random" feature. + * Fix bug in which "Unknown feature `'..." warnings + were shown in the log file. + * Some small documentation improvements. + +- v2.1e (2010/11/17) + + * Internal changes for luatexbase v0.3. + +- v2.1d (2010/11/07) + + * Bug fix when \itdefault is "sl" rather than "it". + E.g., when using the "slides" class. + * Minor internal changes, including merging some code from unicode-math. + +- v2.1c (2010/10/13) + + * New documentation for defining custom kerning and ligatures + when using LuaLaTeX. + * Fix bug when defining bold italic fonts by filename. + * Avoid infinite loop when the Latin script is requested for a font + that does not contain it. TODO: a suitable fallback script should be + chosen; right now we just ignore the script selection. + +- v2.1b (2010/09/29) + + * Fix for bug introduced in the last release: + small caps weren't being automatically selected correctly + +- v2.1a (2010/09/27) + + * Fix for colours bug introduced in the last update + * Fix for for bad interaction with LuaLaTeX and fallback fonts + (such as using \slshape when no slanted font specified) + * Behaviour/messaging improvement when scripts/languages are requested + that do not exist in the font + * Fix bug with detecting font features/scripts in some cases with: + + - `\fontspec_if_feature:n(TF)` + - `\fontspec_if_language:n(TF)` + - `\fontspec_if_current_script:n(TF)` + - `\fontspec_if_current_language:n(TF)` + + * Some messages in the log file are improved + * Code for "visible space" fixed for LuaLaTeX use + * Lots of internal changes to bring the implementation closer + to being "native expl3". + +- v2.1 (2010/09/19) + + * Now load xunicode internally for consistent behaviour in + XeLaTeX and LuaLaTeX. + * Font commands now include \fontencoding internally, easing their + use together with legacy TeX fonts. + * Colour & Opacity now behave a little better. + * Nested emphasis with \emph now also occurs inside a "slanted" shape. + * Some compatibility commands/options added that were removed. + in the transition to v2. + * Bug fix for a problem triggered after counters got too high. + +- v2.0c (2010/08/01) + Bug fix and documentation tune-up. + + * Significant bug fix reported simultaneously by Enrico Gregorio and + Don Hosek. + * Many documentation improvements and additions due to David Perry. + * Documentation typo thanks to John McChesney-Young + +- v2.0b (2010/07/14) + *Actually* the final release before TeX Live 2010. + + * Improved examples in the documentation, with fewer proprietary fonts + * All font examples are included as separate images on CTAN, so the + manual can be compiled (with pdfLaTeX) by anyone, anywhere + * LuaLaTeX fixes for the StylisticSet and Annotation features + * New OpenType feature `CharacterVariant` now supported + * Minor change: `Ligatures=Historical` is now `Ligatures=Historic` for consistency + +- v2.0a (2010/07/11) + Final release before TeX Live 2010. + + * Bug fix for the Language setting being ignored + * Add programmer's command `\fontspec_glyph_if_exist:NnTF` + * Many documentation improvements, especially for LuaTeX features + `FeatureFile=...` and `Numbers=Arabic`. + * Add `Parsi` and `Persian` synonyms for `Language=Farsi` + + +Installation +------------ + +If you are running TeX Live 2010, you can get the latest version +of this package by running + + tlmgr install fontspec + + * * * + +If you wish to download the latest release version from CTAN, get +the pre-built TDS package and extract it into your local texmf tree: + + http://mirror.ctan.org/install/macros/latex/contrib/fontspec.tds.zip + + * * * + +If you wish to use the latest development version from Github, +either use git to obtain the bleeding edge version with + + git clone git://github.com/wspr/fontspec.git + +or if you don't have git you can download it from + + http://github.com/wspr/fontspec/zipball/master + +Having obtained the package from Github, run + + tex fontspec.dtx + +to extract the source then and move the necessary files into your +local texmf tree. The documentation can be compiled by running + + pdflatex fontspec.dtx + +These steps are automated in the Makefile; run + + make install + +to compile the documentation and install all necessary files in your +local texmf tree. Depending how your TeX distribution is configured +you may then need to update the filename database with `texhash`. + + +Test suite +---------- + +Towards the end of the development process of version 2, we started +to add a test suite to ensure stability with any future changes. The +output of each test is included in the distributed documentation file +`fontspec-testsuite.pdf`. + +There aren't many tests yet, but we'll slowly add to them in time. +If you would like to help put some tests together, contributions are +gladly accepted! + + +Manifest +-------- + +Source files: + fontspec.dtx single file source & doc for the package + Makefile script for extracting and installing + +Derived files: + fontspec.pdf documentation + fontspec.sty LaTeX style file + fontspec.lua Lua functions for LuaTeX + fontspec-patches.sty redefinitions of various LaTeX internals + fontspec.cfg default configuration file + fontspec-xetex.tex example file for XeTeX + fontspec-luatex.tex example file for LuaTeX + fontspec-testsuite.tex test suite documentation file + +Test suite: (within testsuite/) + testsuite.cls class file for each test + testsuite-listing.tex listing of each test in the suite + L*.ltx LuaLaTeX test file + X*.ltx XeLaTeX test file + F*.ltx Test file for both engines + +Documentation sources: + doc/*.pdf These are pre-generated example outputs for + direct inclusion in the documentation + +License +------- + +Copyright 2004--2010 Will Robertson <wspr81@gmail.com> +Copyright 2009--2010 Khaled Hosny <khaledhosny@eglug.org> + +Distributable under the LaTeX Project Public License, +version 1.3c or higher (your choice). The latest version of +this license is at: http://www.latex-project.org/lppl.txt + +This work is "maintained" (as per LPPL maintenance status) +by Will Robertson. + |