diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex | 135 |
1 files changed, 104 insertions, 31 deletions
diff --git a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex index 1d4fc5e4aac..5cdaf757695 100644 --- a/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex +++ b/Master/texmf-dist/doc/latex/polyglossia/polyglossia.tex @@ -23,8 +23,10 @@ ]{hyperref} \usepackage{array} \usepackage{metalogo} -\let\XeTeX\undefined -\let\XeLaTeX\undefined +\ifxetex + \let\XeTeX\undefined + \let\XeLaTeX\undefined +\fi \usepackage[babelshorthands]{polyglossia} \usepackage{farsical} % @@ -124,15 +126,23 @@ \usepackage[osf]{libertine} % Monospace: Package dejavu-otf \setmonofont[Scale=MatchLowercase]{DejaVuSansMono} -% Libertine includes Hebrew, but we load it separately since -% osf is not supported with this script and we want to avoid the -% respective warnings -\newfontfamily\hebrewfont[Script=Hebrew]{Linux Libertine O} +% Package culmus +\newfontfamily\hebrewfont[Script=Hebrew]{DavidCLM}[ + UprightFont = *-Medium, + BoldFont = *-Bold, + Extension = .otf, + ItalicFont = *-MediumItalic, + BoldItalicFont = *-BoldItalic] % Package dejavu-otf \newfontfamily\armenianfont[Script=Armenian,Scale=MatchLowercase]{DejaVuSans} \newfontfamily\georgianfont[Scale=MatchLowercase]{DejaVuSerif} % Package amiri -\newfontfamily\arabicfont[Script=Arabic]{Amiri-Regular} +\newfontfamily\arabicfont[Script=Arabic]{Amiri}[% + UprightFont = *-Regular, + BoldFont = *-Bold, + Extension = .ttf, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic] % No Syriac otf/ttf font seems available on CTAN % This one, from the Syriac Institute, is included on Linux % in the x11-fonts set and can be downloaded from @@ -159,7 +169,7 @@ \title{{\textgreek{\xpgtitlefont\color{lightblue}\MakeUppercase{Πολυγλωσσία}}} \\[16pt] \color{xpgblue}Polyglossia: Modern multilingual typesetting with \XeLaTeX\ and \LuaLaTeX} -\author{\TA{François Charette} \and \TA{Arthur Reutenauer}\thanks{Current maintainer} +\author{\TA{François Charette} \and \TA{Arthur Reutenauer} \and \TA{Udi Fogiel} \and \TA{Bastien Roucariès} \and \TA{Jürgen Spitzmüller}} \date{\filedate \qquad \fileversion\thanks{Please report bugs to \url{http://github.com/reutenauer/polyglossia/issues}}\\ \footnotesize (\textsc{pdf} file generated on \today)} @@ -279,6 +289,9 @@ that are explained in section \ref{specific} below. \end{table} +\paragraph{Nota bene} Support for Chinese and Japanese is experimental. This particularly concerns the line breaking mechanism which is a proof of concept. +Please use with care and report any issues and unexpected output you encounter. + \paragraph{Version Notes} The support for Amharic\new{1.0.1} should be considered an experimental attempt to port the package \pkg{ethiop}; feedback is welcome. Version 1.1.1\new{1.1.1} added support for Asturian, %\footnote{ Provided by Kevin Godby and Xuacu Saturio.}, @@ -457,7 +470,7 @@ Table~\ref{tab:BCP47-polyglossia} lists the currently supported tags. dv & divehi & \tabularnewline el & greek & \tabularnewline el-monoton & greek & variant=monotonic [\emph{default}] \tabularnewline - el-polyton & greek & varant=polytonic \tabularnewline + el-polyton & greek & variant=polytonic \tabularnewline en & english & \tabularnewline en-AU & english & variant=australian \tabularnewline en-CA & english & variant=canadian \tabularnewline @@ -771,13 +784,25 @@ see sec.~\ref{sec:langtags}). \section{Font setup} -With polyglossia it is possible to associate a specific font with any script or language +With \pkg{polyglossia} it is possible to associate a specific font with any script or language that occurs in the document. That font should always be defined as -\cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}. +\cmd{\⟨script⟩font}\ or \cmd{\⟨language⟩font}. Note that ¦⟨language⟩¦ points to the \pkg{polyglossia} +language name, ¦⟨script⟩¦ might point either to an OpenType script name as defined by \pkg{fontspec} +(\eg ¦Latin¦) \new{2.2}or a BCP-47 script tag (\eg ¦Latn¦), though the script is fully lower-cased +in the \cmd{\⟨script⟩font}\ command. + For instance, if the default font defined by \cmd\setmainfont\ does not support Greek, then one can define the font used to display Greek with:\\ -\centerline{ \cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}. } -Note that polyglossia will use the font defined as is, so assure to do all necessary settings +\centerline{\cmd\newfontfamily\cmd{\greekfont[Script=Greek,\meta{…}]\marg{font}}} +% +If you want to setup a blackletter font specifically for the German blackletter script variant, +you might do so by:\\ +\centerline{\cmd\newfontfamily\cmd{\latffont[\meta{…}]\marg{font}}} +% +Setting up a font specifically for traditional Chinese is possible via:\\ +\centerline{\cmd\newfontfamily\cmd{\hantfont[Script=CJK,\meta{…}]\marg{font}}} +% +Note that \pkg{polyglossia} will use the font defined as is, so assure to do all necessary settings (please refer to the \pkg{fontspec} documentation for details). For instance, if \cmd\arabicfont\ is explicitly defined, then the option ¦Script=Arabic¦ should be included in that definition. @@ -787,10 +812,12 @@ it can be defined by means of \new{1.2.0} \cmd{\⟨script⟩fontsf} or \cmd{\⟨language⟩fontsf} and \cmd{\⟨script⟩fonttt} or \cmd{\⟨language⟩fonttt}, respectively. Whenever a new language is activated, \pkg{polyglossia} will first check whether -a font has been defined for that language or – for languages in non-Latin scripts – -for the script it uses. If it is not defined, it will use the currently active font -and – in the case of OpenType fonts – will attempt to turn on the appropriate -OpenType tags for the script and language used, in case these are available in +a font has been defined for that language. If this is not the case, it will check whether a font associated +with the BCP-47 script tag of the current language is defined. If this also isn't the case, \pkg{polyglossia} +will finally check (but this only for languages in non-Latin scripts) whether there is a font associated +with the OpenType script tag. If none of these fonts is defined, \pkg{polyglossia} will use the currently +active font as defined by ¦\setmainfont¦, ¦\setsansfont¦ or ¦\setmonofont¦ and – in the case of OpenType fonts – +will attempt to turn on the appropriate OpenType tags for the script and language used, in case these are available in the font, by means of \pkg{fontspec}’s \cmd\addfontfeature. If the current font does not appear to support the script of that language, an error message is displayed. @@ -804,21 +831,24 @@ which override the hyphenation patterns for specified words. The command takes a list of words where hyphenation points are marked by a dash (if no dash is used, the respective word is not hyphenated at all): \begin{quote} -\begin{minipage}{.7\textwidth} \begin{verbatim} \hyphenation{% po-ly-glos-sia LaTeX } \end{verbatim} -\end{minipage} \end{quote} % -These exceptions, however, apply to all languages. In addition to this, \pkg{polyglossia} provides +These exceptions, however, apply only to the currently active language. + +In addition to this, \pkg{polyglossia} provides the command\new{1.45} \displaycmd{\pghyphenation\oarg{options}\marg{lang}\marg{exceptions}}{\pghyphenation} which can be used to define exceptions that only apply to a specific language or language variant, -respectively. +respectively.\footnote{More precisely, it applies to all languages or varieties that share the +same hyphenation patterns. Hence, for instance, all variants of \xpgoption{german} with +\xpgoption{spelling=new} will share the same exceptions, as opposed to \xpgoption{spelling=old} +which uses different patterns.} \subsection{Hyphenation thresholds} @@ -1585,7 +1615,7 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \end{table} \item \xpgchoicekey[1.46]{hyphenation}{\xpgvalue{classic}, \xpgvalue{modern}, or \xpgvalue{liturgical}} There are three different sets of hyphenation patterns for Latin. Separate - documention for them is available on the + documentation for them is available on the Internet.\footnote{Refer to \url{https://github.com/gregorio-project/hyphen-la/blob/master/doc/README.md\#hyphenation-styles}} Each of the four variants mentioned above has its default set of hyphenation patterns as indicated by table \ref{tab:latin-hyphenation}. Use the @@ -1657,7 +1687,7 @@ and that passing \xpgvalue{babelshorthands} (without value) is equivalent to pas \item[¦'AE¦] for Ǽ (AE ligature with acute), also available for \'Œ \end{shorthands} \item \xpgboolkeyfalse[1.46]{prosodicshorthands} - Enable shorthands for prosodic marks (macrons and breves) very similiar to + Enable shorthands for prosodic marks (macrons and breves) very similar to those provided by \pkg{babel-latin} using the ¦withprosodicmarks¦ modifier. Note that the active ¦=¦ character used for macrons will cause problems with @@ -2300,14 +2330,15 @@ Ukrainian mathematical symbols. \meta{lang} is activated locally via \cmd\text\meta{lang} command \item \Cmd{\noextras@\meta{lang}} stores macros that are to be executed when the language \meta{lang} is closed + \item \Cmd{\nestedextras@\meta{lang}}\new{2.3} stores macros that are to be executed when a nested language + is closed and \meta{lang} is the active language again. This is useful + for settings that are only possible on global scale. \end{itemize} % -In order to redefine internal macros, we recommend to use the command \cmd\gappto. -For compatibility with \pkg{babel} the command \cmd\addto\ is also available -to the same effect. For instance, to change the \cmd\chaptername\ for language ¦lingua¦, -you can do this: +In order to redefine internal macros, we recommend to use the command \cmd\addto. +For instance, to change the \cmd\chaptername\ for language ¦lingua¦, you can do this: \begin{verbatim} -\gappto\captionslingua{\def\chaptername{Caput}} +\addto\captionslingua{\def\chaptername{Caput}} \end{verbatim} % Note that this needs to be done after the respective language has been loaded with @@ -2563,7 +2594,7 @@ in Hebrew script or in roman transliteration). \subsection{Islamic calendar (hijrical.sty)}\label{sec:hijrical} This package computes dates in the lunar Islamic (Hijra) calendar.\footnote{ % It makes use of the arithmetical algorithm in chapter 6 of - Reingold \& Gershowitz, \textit{Calendrical calculation: the Millenium edition} + Reingold \& Gershowitz, \textit{Calendrical calculation: the Millennium edition} (Cambridge University Press, 2001).\label{reingold}} It provides two macros for the end-user. The command @@ -2698,6 +2729,48 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta \bgroup\footnotesize +\subsection*{2.3 (2024/09/23)} + +\subsubsection*{Bug fixes} +\begin{itemize} + \item Line-breaking for Japanese and Chinese has been implemented. This is still + considered experimental, please test and report any issues (\TXI{635}). + \item Prevent the Latin gloss from writing undefined commands + to the aux file (\TXI{643}). + \item Fix use of \cmd\pghyphenation\ in preamble (\TXI{654}). + \item Fix handling of current language options in lists of figures/tables (\TXI{657}). + \item Fix definition of \cmd\cyrdash\ so that no linebreak is added when it is used at + paragraph begin. + \item Fix test for KOMA class in Hungarian and Russian glosses (\TXP{447}). + \item Fix display of font name in package error. + \item Remove spurious spaces from Korean, Sanskrit, and Serbian glosses (\TXI{659}, \TXI{660}) +\end{itemize} + +\subsection*{2.2 (2024/07/15)} + +\subsubsection*{Bug fixes} +\begin{itemize} + \item Fix \texttt{lang} environment (\TXI{633}). + \item Fix first number of Maghrib abjad numbering for Algeria, Morocco and + Tunisia (\TXI{640}). + \item Fix some captions strings in Bulgarian, Chinese, Esperanto, Estonian, Hindi, + Latvian, and Slovak (\TXP{651}) + \item Improve performance with multilingual documents that have a TOC (\TXI{641}). +\end{itemize} + +\subsubsection*{New Features} +\begin{itemize} + \item Add possibility to associate a font to a language/variant with reference to + a BCP-47 script tag (\TXI{636}). +\end{itemize} + +\subsubsection*{Internal work} +\begin{itemize} + \item The major rewrite of the package code has been finished. More code has been cleaned up, + and \pkg{polyglossia} employs modern concepts (\pkg{latex3} and modern \LaTeXe). + All key-val handling uses \pkg{l3keys} now rather than \pkg{xkeyval}. +\end{itemize} + \subsection*{2.1 (2024/03/07)} \subsubsection*{Bug fixes} @@ -3756,7 +3829,7 @@ where \meta{type} is a supported language id type (such as ¦bcp-47¦) and \meta \section{Acknowledgements (by François Charette)} \pkg{Polyglossia} is notable for being a recycle box of previous contributions by other people. I take this opportunity to thank the following individuals, -whose splendid work has made my task almost trivial in comparision: \TA{Johannes +whose splendid work has made my task almost trivial in comparison: \TA{Johannes Braams} and the numerous contributors to the \pkg{babel} package (in particular \TA{Boris Lavva} and others for its Hebrew support), \TA{Alexej Kryukov} (\pkg{antomega}), \TA{Will Robertson} (\pkg{fontspec}), \TA{Apostolos Syropoulos} (\pkg{xgreek}), \TA{Youssef Jabri} @@ -3783,7 +3856,7 @@ Many thanks to all the people who have contributed bugfixes and new features to since we took over. In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Matthew Bertucci}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz}, \TA{Ashok Das}, \TA{Oleg Domanov}, user \TA{fakhriaunur}, \TA{Philipp Gesang}, \TA{Kevin Godby}, -\TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, +\TA{Enrico Gregorio}, \TA{Khaled Hosny}, \TA{Stephen Huan}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov}, \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{Gyula Magyarkuti}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson}, \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Marcin Serwin}, \TA{Arvinder Singh}, \TA{Avisek Jena}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Takuji Tanaka}, |