diff options
Diffstat (limited to 'Master')
57 files changed, 1781 insertions, 368 deletions
diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md index f312923fbae..897bbee2be9 100644 --- a/Master/texmf-dist/doc/latex/babel/README.md +++ b/Master/texmf-dist/doc/latex/babel/README.md @@ -1,4 +1,4 @@ -## Babel 3.38 +## Babel 3.39 This package manages culturally-determined typographical (and other) rules, and hyphenation patterns for a wide range of languages. Many @@ -7,22 +7,15 @@ lualatex out of the box. A few even work with plain formats. The latest stable version is available on <https://ctan.org/pkg/babel>. -Languages are not part of the Babel core any more; in particular, it -shall be no longer necessary to synchronize Babel core releases with -releases of Babel language files. See CONTRIB for further details -about contributing a language. You may also create an ini file or -improve the existing ones -- it's a trivial task (no programming -skills required at all), but don't hesitate to ask for help. +Changes in version 3.39 are described in: + +https://github.com/latex3/babel/wiki/What's-new-in-babel-3.39 Included is a set of ini files for about 200 languages. The best way to install and/or update it is with the help of package managers. -Changes are described in babel.pdf with the label "New <version>". The -manual has been expanded to include some tips and tricks, but it will -be improved in next releases. - ### Reporting Bugs If you wish to report a problem or bug in any of these packages please @@ -51,14 +44,27 @@ respective authors. ### Latest changes ``` +3.39 2020-02-03 + - Languages can now be loaded on the fly (via \babelprovide). + - With \babelposthyphenation captured chars can now be mapped in + the replacement (lua). + - \babelcharproperty can be used to assign specific chars to a + locale (lua). + - Fixes: + - Sichuan Yi: line breaking was not activated (lua). + - Hyphenation was not always applied with onchar (lua). + - bidi=basic-l/basic-r where not activated correctly (xe). + - Thai and turkish raised and error without import in + \babelprovide. + - Cleaned up some ini/tex locale files (de, zh, sa). + 3.38 2020-01-15 - Automatic switching of ids (\language and \localeid), and fonts - based on script blocks (lua).s + based on script blocks (lua). - New macro - \localeinfo, to access the basic data in the ini file loaded by languages. See https://github.com/latex3/babel/wiki/What's-new-in-babel-3.38 - - + 3.37 2019-12-08 - Preliminary code for non-standard hyphenation, like ff -> ff-f (lua). diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf Binary files differindex ee377662ebb..fd66d129fc7 100644 --- a/Master/texmf-dist/doc/latex/babel/babel.pdf +++ b/Master/texmf-dist/doc/latex/babel/babel.pdf diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx index 0d4360f493e..d0a6314f27d 100644 --- a/Master/texmf-dist/source/latex/babel/babel.dtx +++ b/Master/texmf-dist/source/latex/babel/babel.dtx @@ -1,7 +1,7 @@ % \iffalse % This document requires lualatex %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -31,7 +31,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2020/01/15 v3.38 The Babel package] +\ProvidesFile{babel.dtx}[2020/02/03 v3.39 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -235,21 +235,25 @@ Xe\largetex \part{User guide} \begin{itemize} -\item This user guide focuses on \LaTeX. There are also some notes on - its use with Plain \TeX. +\item This user guide focuses on internationalization and localization + with \LaTeX. There are also some notes on its use with Plain \TeX. \item Changes and new features with relation to version 3.8 are - highlighted with \New{X.XX}\hspace{-.5em}. The most recent features + highlighted with \New{X.XX}\hspace{-.5em}, and there are some notes + for the latest versions in + \href{https://github.com/latex3/babel/wiki}{the \babel{} wiki}. + The most recent features could be still unstable. Please, report any issues you find in - \texttt{https://github.com/latex3/babel/issues}, which is better + \href{https://github.com/latex3/babel/issues}{GitHub}, which is better than just complaining on an e-mail list or a web forum. \item If you are interested in the \TeX{} multilingual support, please - join the \textsf{kadingira} list on - \texttt{http://tug.org/mailman/listinfo/kadingira}. You can follow + join the \href{http://tug.org/mailman/listinfo/kadingira}{kadingira + mail list}. You can follow the development of \babel{} in - \texttt{https://github.com/latex3/babel} (which provides some sample - files, too). + \href{https://github.com/latex3/babel}{GitHub} (which provides many + \href{https://github.com/latex3/babel/tree/master/samples}{sample + files}, too). \item See section \ref{contribute} for contributing a language. @@ -492,6 +496,40 @@ _\usepackage[vietnamese,danish]{babel}_ \end{verbatim} \end{example} +\subsection{Mostly monolingual documents} + +\New{3.39} Very often, multilingual documents consist of a main +language with small pieces of text in another languages (words, idioms, +short sentences). Typically, all you need is to set the line breaking +rules and, perhaps, the font. In such a case, \babel{} now does not +require declaring these secondary languages explicitly, because the +basic settings are loaded on the fly when the language is selected (and +also when provided in the optional argument of |\babelfont|, if used.) + +This is particularly useful, too, when there are short texts of this +kind coming from an external source whose contents are not known on +beforehand (for example, titles in a bibliography). At this regard, it +is worth remembering that |\babelfont| does not load any font until +required, so that it can be used just in case. + +\begin{example} + A trivial document is: +\setengine{luatex/xetex} +\begin{verbatim} +\documentclass{article} +\usepackage[english]{babel} + +\babelfont[russian]{rm}{FreeSerif} + +\begin{document} + +English. \foreignlanguage{russian}{Русский}. +\foreignlanguage{spanish}{Español} + +\end{document} +\end{verbatim} +\end{example} + \subsection{Modifiers} \New{3.9c} The basic behavior of some languages can be modified when @@ -541,6 +579,7 @@ modifiers are a more general mechanism. cases, the error vanishes when the document is typeset again, but in more severe ones you will need to remove the |aux| file. \end{itemize} + \subsection{Plain} In Plain, load languages styles with |\input| and then use @@ -1188,9 +1227,17 @@ be the same as the option name as set in |\usepackage|!). \subsection{\texttt{ini} files} -An alternative approach to define a language is by means of an -\texttt{ini} file. Currently \babel{} provides about 200 of these -files containing the basic data required for a language. +An alternative approach to define a language (or, more precisely, a +\textit{locale}) is by means of an \texttt{ini} file. Currently +\babel{} provides about 200 of these files containing the basic data +required for a locale. + +|ini| files are not meant only for \babel, and they has been devised as +a resource for other packages. To easy interoperability between \TeX{} +and other systems, they are identified with the BCP 47 codes as +preferred by the Unicode Common Language Data Repository, which was +used as source for most of the data provided by these files, too (the +main exception being the |\...name| strings). Most of them set the date, and many also the captions (Unicode and LICR). They will be evolving with the time to add more features @@ -1280,6 +1327,19 @@ loads \textsf{luatexja}: \end{description} \end{note} +\begin{note} + Wikipedia defines a \textit{locale} as follows: “In computing, a + locale is a set of parameters that defines the user’s language, + region and any special variant preferences that the user wants to see + in their user interface. Usually a locale identifier consists of at + least a language code and a country/region code.” \Babel{} is moving + gradually from the old and fuzzy concept of \textit{language} to the + more modern of \textit{locale}. Note each locale is by itself a + separate “language”, which explains why there are so many files. This + is on purpose, so that possible variants can be created and/or + redefined easily. +\end{note} + Here is the list (u means Unicode captions, and l means LICR captions): @@ -1891,6 +1951,26 @@ zulu \endgroup \hrule +\bigskip + +\textbf{Modifying and adding values to |ini| files} + +\New{3.39} There is a way to modify the values of |ini| files when they +get loaded with |\babelprovide| and |import|. To set, say, +|digits.native| in the |numbers| section, use something like +|numbers/digits.native=abcdefghij|. Keys may be added, too. Without +|import| you may modify the identification keys. + +This can be used to create private variants easily. All you need is to +import the same |ini| file with a different locale name and different +parameters. + +% \begin{example} +% Let's assume you need only the basic features of `spanish`, so that +% the |ini| file is enough, and also a variant with your own +% hyphenation with +% \end{example} + \subsection{Selecting fonts} \New{3.15} Babel provides a high level interface on top of |fontspec| @@ -1988,22 +2068,18 @@ to select fonts in addition to the three basic families. \babelfont[hindi]{rm}{Shobhika} \end{verbatim} This makes sure the OpenType script for Devanagari is |deva| and not - |dev2| (\luatex{} does not detect automatically the correct - script\footnote{And even with the correct code some fonts could be - rendered incorrectly by \textsf{fontspec}, so double-check the - results. \xetex{} fares better, but some fonts are still - problematic.}). You may also pass some options to \textsf{fontspec}: - with |silent|, the warnings about unavailable scripts or languages - are not shown (they are only really useful when the document format - is being set up). + |dev2|, in case it is not detected correctly. You may also pass some + options to \textsf{fontspec}: with |silent|, the warnings about + unavailable scripts or languages are not shown (they are only really + useful when the document format is being set up). \end{note} \begin{note} Directionality is a property affecting margins, indentation, column - order, etc., not just text. Therefore, it is under the direct - control of the language, which applies both the script and the - direction to the text. As a consequence, there is no need to set - \texttt{Script} when declaring a font (nor \texttt{Language}). In + order, etc., not just text. Therefore, it is under the direct control + of the language, which applies both the script and the direction to + the text. As a consequence, there is no need to set \texttt{Script} + when declaring a font with |\babelfont| (nor \texttt{Language}). In fact, it is even discouraged. \end{note} @@ -2012,10 +2088,10 @@ to select fonts in addition to the three basic families. (|rm|, |sf|, |tt|, and the like). If a language is switched when an \textit{ad hoc} font is active, or you select the font with this command, neither the script nor the language is passed. You must - add them by hand. This is by design, for several reasons (for + add them by hand. This is by design, for several reasons —for example, each font has its own set of features and a generic setting for several of them could be problematic, and also a “lower-level” - font selection is useful). + font selection is useful. \end{note} \begin{note} @@ -2028,53 +2104,45 @@ to select fonts in addition to the three basic families. \end{note} \begin{warning} - Do not use |\set|\textit{xxxx}|font| and |\babelfont| at the same - time. |\babelfont| follows the standard \LaTeX{} conventions to set - the basic families -- define |\|\textit{xx}|default|, and activate - it with |\|\textit{xx}|family|. On the other hand, - |\set|\textit{xxxx}|font| in \textsf{fontspec} takes a different - approach, because |\|\textit{xx}|family| is redefined with the - family name hardcoded (so that |\|\textit{xx}|default| becomes - no-op). Of course, both methods are incompatible, and if you use - |\set|\textit{xxxx}|font|, font switching with |\babelfont| just - does \textit{not} work (nor the standard |\|\textit{xx}|default|, - for that matter). As of \New{3.34} there is an attempt to make them - compatible, but the language system will not be set by \babel and - should be set with |fontspec| if necessary. + Using |\set|\textit{xxxx}|font| and |\babelfont| at the same time is + discouraged, but very often works as expected. However, be aware with + |\set|\textit{xxxx}|font| the language system will not be set by + \babel{} and should be set with |fontspec| if necessary. \end{warning} \begin{troubleshooting} -\trouble{Package fontspec Warning: 'Language 'LANG' not available for -font 'FONT' with script 'SCRIPT' 'Default' language used instead'} -\textit{Package fontspec Warning: 'Language 'LANG' not available for -font 'FONT' with script 'SCRIPT' 'Default' language used instead'}. -\textbf{This is \textit{not} and error.} -This warning is shown by \textsf{fontspec}, not by \babel. It could be -irrelevant for English, but not for many other languages, including -Urdu and Turkish. This is a useful and harmless warning, and if -everything is fine with your document the best thing you can do is just -to ignore it altogether. + \trouble{Package fontspec Warning: 'Language 'LANG' not available for + font 'FONT' with script 'SCRIPT' 'Default' language used instead'} + \textit{Package fontspec Warning: 'Language 'LANG' not available for + font 'FONT' with script 'SCRIPT' 'Default' language used instead'}. + + \textbf{This is \textit{not} and error.} This warning is shown by + \textsf{fontspec}, not by \babel. It could be irrelevant for English, + but not for many other languages, including Urdu and Turkish. This is + a useful and harmless warning, and if everything is fine with your + document the best thing you can do is just to ignore it altogether. \end{troubleshooting} \begin{troubleshooting} -\trouble{Package babel Info: The following fonts are not babel standard families} -\textit{Package babel Info: The following fonts are not babel -standard families}. - -\textbf{This is \textit{not} and error.} \babel{} assumes that if you -are using |\babelfont| for a family, very likely you want to define the -rest of them. If you don't, you can find some inconsistencies between -families. This checking is done at the beginning of the document, at a -point where we cannot know which families will be used. - -Actually, there is no real need to use |\babelfont| in a monolingual -document, if you set the language system in |\setmainfont| (or not, -depending on what you want). - -As the message explains, \textit{there is nothing intrinsically wrong} -with not defining all the families. In fact, there is nothing -intrinsically wrong with not using |\babelfont| at all. But you must be -aware that this may lead to some problems. + \trouble{Package babel Info: The following fonts are not babel + standard families} \textit{Package babel Info: The following fonts + are not babel standard families}. + + \textbf{This is \textit{not} and error.} \babel{} assumes that if you + are using |\babelfont| for a family, very likely you want to define + the rest of them. If you don't, you can find some inconsistencies + between families. This checking is done at the beginning of the + document, at a point where we cannot know which families will be + used. + + Actually, there is no real need to use |\babelfont| in a monolingual + document, if you set the language system in |\setmainfont| (or not, + depending on what you want). + + As the message explains, \textit{there is nothing intrinsically + wrong} with not defining all the families. In fact, there is nothing + intrinsically wrong with not using |\babelfont| at all. But you must + be aware that this may lead to some problems. \end{troubleshooting} \subsection{Modifying a language} @@ -2090,7 +2158,7 @@ sometimes necessary, but not always trivial. } \end{verbatim} As of 3.15, there is no need to hide spaces with \texttt{\%% -} (\babel{} removes them), but it is advisable to do it. +} (\babel{} removes them), but it is advisable to do so. \item The new way, which is found in |bulgarian|, |azerbaijani|, |spanish|, |french|, |turkish|, |icelandic|, |vietnamese| and a few more, as well as in languages created with |\babelprovide| and its @@ -2177,6 +2245,17 @@ In most cases, you will only need to define a few macros. \end{verbatim} \end{example} +\begin{example} + Locales with names based on BCP 47 codes can be created with + something like: +\begin{verbatim} + \babelprovide[import=en-US]{enUS} +\end{verbatim} + Note, however, mixing ways to identify locales can lead to problems. + For example, is \verb|yi| the name of the language spoken by the Yi + people or is it the code for Yiddish? +\end{example} + The main language is not changed (\texttt{danish} in this example). So, you must add |\selectlanguage{arhinish}| or other selectors where necessary. @@ -2206,8 +2285,7 @@ There are about 200 |ini| files, with data taken from the |ldf| files and the CLDR provided by Unicode. Not all languages in the latter are complete, and therefore neither are the |ini| files. A few languages will show a warning about the current lack of suitability of the date -format (\textsf{hindi}, \textsf{french}, \textsf{breton}, and -\textsf{occitan}). +format (\textsf{french}, \textsf{breton}, and \textsf{occitan}). Besides |\today|, this option defines an additional command for dates: |\<language>date|, which takes three arguments, namely, year, month and @@ -2267,23 +2345,25 @@ the script, no matter which language is active. Although somewhat inconsistent, this makes setting a language up easier in most typical cases. +\Describe{onchar=}{\texttt{ids} $\string|$ \texttt{fonts}} +\New{3.38} This option is much like an ‘event’ called with a character +belonging to the script of this locale is found. There are currently +two ‘actions’, which can be used at the same time (separated by a +space): with |ids| the |\language| and the |\localeid| are set to the +values of this locale; with |fonts|, the fonts are changed to those of +the this locale (as set with |\babelfont|). This option is not +compatible with |mapfont|. Characters can be added with +|\babelcharproperty|. + \Describe{mapfont=}{\texttt{direction}} Assigns the font for the writing direction of this language (only with -|bidi=basic|). More precisely, what |mapfont=direction| means is, ‘when -a character has the same direction as the script for the “provided” -language, then change its font to that set for this language’. There -are 3 directions, following the bidi Unicode algorithm, namely, -Arabic-like, Hebrew-like and left to right. So, there should be at most -3 directives of this kind. - -\Describe{onchar=}{\texttt{ids} $\string|$ \texttt{fonts}} -\New{3.38} This options is much like an ‘event’ called with a character -belonging to the script of the current locale is found. There are two -action, which can be used at the same time (separated by a space): with -|ids| the |\language| and the |\localeid| are set to the values of this -locale; with |fonts|, the fonts are changed to those of the current -locale (as set with |\babelfont|). This option is not compatible with -|mapfont|. +|bidi=basic|). Whenever possible, instead of this option use |onchar|, +based on the script, which usually makes more sense. More precisely, +what |mapfont=direction| means is, ‘when a character has the same +direction as the script for the “provided” language, then change its +font to that set for this language’. There are 3 directions, following +the bidi Unicode algorithm, namely, Arabic-like, Hebrew-like and left +to right. So, there should be at most 3 directives of this kind. \Describe{intraspace=}{\meta{base} \meta{shrink} \meta{stretch}} Sets the interword space for the writing system of the language, in em @@ -2393,6 +2473,12 @@ conditions are not met, write |\BabelEnsureInfo|. \subsection{Hyphenation and line breaking} +\Babel{} deals with three kinds of line breaking rules: Western, +typically the LGC group, South East Asian, like Thai, and CJK, but +support depends on the engine: \textsf{pdftex} only deals with the +former, \xetex{} also with the second one, while \luatex{} provides +basic rules for the latter, too. + \Describe{\babelhyphen}{% \colorbox{thegrey}{\ttfamily\hskip-.2em*\hskip-.2em}\marg{type}} \DescribeOther\babelhyphen{% @@ -2515,6 +2601,55 @@ Unicode engines, spacing is based on the ``current'' em unit (the size of the previous char in \luatex, and the font size set by the last |\selectfont| in \xetex). +\Describe{\babelposthyphenation}{\marg{hyphenrules-name}% + \marg{lua-pattern}\marg{replacement}} + +\New{3.37-3.39} With \luatex{} it is now possible to define +non-standard hyphenation rules, like |f-f| $\to$ |ff-f|, repeated +hyphens, ranked ruled (or more precisely, ‘penalized’ hyphenation +points), and so on. No rules are currently provided by default, but +they can be defined as shown in the following example, where |{1}| is +the first captured char (between |()| in the pattern): +\begin{verbatim} +\babelposthyphenation{german}{([fmtrp]) | {1}} +{ + { no = {1}, pre = {1}{1}- }, % Replace first char with disc + remove, % Remove automatic disc (2nd node) + {} % Keep last char, untouched +} +\end{verbatim} + +In the replacements, a captured char may be mapped to another, too. For +example, if the first capture reads |([ΐΰ])|, the replacement could be +\verb+{1|ΐΰ|ίύ}+, which maps \textit{ΐ} to \textit{ί}, and \textit{ΰ} +to \textit{ύ}, so that the diaeresis is removed. + +This feature is activated with the first |\babelposthyphenation|. + +See the \href{https://github.com/latex3/babel/wiki}{\babel\ wiki} for a +more detailed description and some examples. It also describes an +additional replacement type with the key |string|. + +\begin{example} + Although the main purpose of this command is non-standard + hyphenation, it may actually be used for other transformations (after + hyphenation is applied, so you must take discretionaries into + account). For example, you can use the |string| replacement to + replace a character (or series of them) by another character (or + series of them). Thus, to enter \textit{ž} as |zh| and \textit{š} as + |sh| in a newly created locale for transliterated Russian: +\begin{verbatim} +\babelprovide[hyphenrules=+]{russian-latin} % Create locale +\babelposthyphenation{russian-latin}{([sz])h} % Create rule +{ + { string = {1|sz|šž} }, + remove +} +\end{verbatim} + In other words, it is a quite general tool. (A counterpart + |\babelprehyphenation| is on the way.) +\end{example} + \subsection{Selecting scripts} Currently \babel{} provides no standard interface to select @@ -2589,6 +2724,14 @@ differ in the way `weak' numeric characters are ordered (eg, Arabic options described below). \end{warning} +\begin{warning} + If characters to be mirrored are shown without changes with \luatex, + try with the following line: +\begin{verbatim} +\babeladjust{bidi.mirroring=off} +\end{verbatim} +\end{warning} + There are some package options controlling bidi writing. \Describe{bidi=}{\texttt{default} $\string|$ \texttt{basic} @@ -2612,20 +2755,13 @@ consider the intrinsic direction of scripts and weak directionality.) tentative, but it mostly works. For RL documents use the former, and for LR ones use the latter. -\New{3.37} There is some experimental support for \textsf{luahbtex} -(with |lualatex-dev|) and the latest releases of \textsf{luaotfload} -(3.11), with |Renderer = Harfbuzz| in \textsf{fontspec}. Since it is -based on \luatex, the option |basic| mostly works (You may need -deactivate the |rtlm| or the |rtla| font features, or alternatively -deactive mirroring in \babel{} with |\babeladjust|.) - There are samples on GitHub, under \texttt{/required/babel/samples}. See particularly |lua-bidibasic.tex| and |lua-secenum.tex|. \begin{example} The following text comes from the Arabic Wikipedia (article about Arabia). Copy-pasting some text from the Wikipedia is a good way to - test this feature. Remember |basic-r| is available in \luatex{} + test this feature. Remember |basic| is available in \luatex{} only. \begingroup % If you are looking at the code to see how it has been written, you @@ -2638,7 +2774,7 @@ See particularly |lua-bidibasic.tex| and |lua-secenum.tex|. \begin{verbatim} \documentclass{article} -\usepackage[_bidi=basic-r_]{babel} +\usepackage[_bidi=basic_]{babel} _\babelprovide[import, main]{arabic}_ @@ -2676,7 +2812,7 @@ _\babelprovide[import, main]{arabic}_ \usepackage[english, _bidi=basic_]{babel} -\babelprovide[_mapfont=direction_]{arabic} +\babelprovide[_onchar=ids fonts_]{arabic} \babelfont{rm}{Crimson} \babelfont[*arabic]{rm}{FreeSerif} @@ -2691,7 +2827,7 @@ Arabic as @1فصحى العصر@0 \textit{fuṣḥā l-ʻaṣr} (MSA) and \end{document} \end{verbatim} \endgroup - In this example, and thanks to |mapfont=direction|, any Arabic letter + In this example, and thanks to |onchar=ids fonts|, any Arabic letter (because the language is |arabic|) changes its font to that set for this language (here defined via |*arabic|, because Crimson does not provide Arabic letters). @@ -2892,6 +3028,7 @@ command is available always in bidi documents, even without \subsection{Language attributes} \DescribeMacro{\languageattribute} + This is a user-level command, to be used in the preamble of a document (after |\usepackage[...]{babel}|), that declares which attributes are to be used for a given language. It takes two @@ -3088,12 +3225,14 @@ tables, which you can modify with the following macro (for example, to set them for glyphs in the PUA). \Describe{\babelcharproperty}{\marg{char-code}\oarg{to-char-code}% - \marg{propertry}\marg{value}} + \marg{property}\marg{value}} \New{3.32} Here, \marg{char-code} is a number (with \TeX{} syntax). With the optional argument, you can set a range of values. There are three properties (with a short name, taken from Unicode): |direction| -(|bc|), |mirror| (|bmg|), |linebreak| (|lb|). The settings are global. +(|bc|), |mirror| (|bmg|), |linebreak| (|lb|). The settings are global, +and this command is allowed only in vertical mode (the preamble or +between paragraphs). For example: \begin{verbatim} @@ -3102,8 +3241,12 @@ For example: \babelcharproperty{`)}{linebreak}{cl} % or id, op, cl, ns, ex, in, hy \end{verbatim} -This command is allowed only in vertical mode (the preamble or between -paragraphs). +\New{3.39} Another property is |locale|, which adds characters to the +list used by |onchar| in |\babelprovide|, or, if the last argument is +empty, removes them. The last argument is the locale name: +\begin{verbatim} +\babelcharproperty{`,}{locale}{english} +\end{verbatim} \subsection{Tweaking some features} @@ -3243,41 +3386,6 @@ See the code section for |\foreignlanguage*| (a new starred version of |\foreignlanguage|). \medskip -\textbf{Modifying, and adding, values of |ini| files} - -\New{3.37} There is a way to modify the values of |ini| files when they -get loaded with |\babelprovide|. To set, say, |digits.native| in the -|numbers| section, use something like -|numbers..digits.native=abcdefghij| (note the double dot between the -section and the key name). New keys may be added, too. - -\medskip -\textbf{Non-standard hyphenation} - -\New{3.37} With \luatex{} it is now possible to define non-standard -hyohenation rules, like |f-f| $\to$ |ff-f|. No rules are currently -provided by default, but they can be defined as shown in the following -example: -\begin{verbatim} -\babelposthyphenation{ngerman}{([fmtrp]) | {1}} -{ - { no = {1}, pre = {1}{1}-}, % Replace first char with disc - remove, % Remove automatic disc - {} % Keep last char, untouched -} -\end{verbatim} - -This feature must be explicitly activated with: -\begin{verbatim} -\babeladjust{ hyphenation.extra = on } -\end{verbatim} - -See the \babel{} wiki for a more detailed description and some examples: -\begin{verbatim} -https://github.com/latex3/babel/wiki -\end{verbatim} - -\medskip \textbf{Old and deprecated stuff} A couple of tentative macros were provided by \babel{} ($\ge$3.9g) with @@ -4222,8 +4330,8 @@ help from Bernd Raichle, for which I am grateful. % \section{Tools} % % \begin{macrocode} -%<<version=3.38>> -%<<date=2020/01/15>> +%<<version=3.39>> +%<<date=2020/02/03>> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -4715,7 +4823,6 @@ help from Bernd Raichle, for which I am grateful. % % \changes{babel~3.30}{2019/04/22}{Callbacks aren't specific to % bidi any more, so they are moved.} -% \changes{babel~3.32}{2019/05/30}{Consider Harf.} % % \begin{macrocode} \ifx\bbl@languages\@undefined\else @@ -4737,8 +4844,6 @@ help from Bernd Raichle, for which I am grateful. \bbl@languages \fi \ifodd\bbl@engine - % Harftex is evolving, so the callback is not harcoded, just in case - \def\bbl@harfpreline{Harf pre_linebreak_filter callback}% \def\bbl@activate@preotf{% \let\bbl@activate@preotf\relax % only once \directlua{ @@ -4768,23 +4873,14 @@ help from Bernd Raichle, for which I am grateful. Babel.pre_otfload_v, 'Babel.pre_otfload_v', luatexbase.priority_in_callback('pre_linebreak_filter', - '\bbl@harfpreline') - or luatexbase.priority_in_callback('pre_linebreak_filter', - 'luaotfload.node_processor') - or nil) + 'luaotfload.node_processor') or nil) % luatexbase.add_to_callback('hpack_filter', Babel.pre_otfload_h, 'Babel.pre_otfload_h', luatexbase.priority_in_callback('hpack_filter', - '\bbl@harfpreline') - or luatexbase.priority_in_callback('hpack_filter', - 'luaotfload.node_processor') - or nil) - }% - \@ifpackageloaded{harfload}% - {\directlua{ Babel.mirroring_enabled = false }}% - {}} + 'luaotfload.node_processor') or nil) + }} \let\bbl@tempa\relax \@ifpackagewith{babel}{bidi=basic}% {\def\bbl@tempa{basic}}% @@ -6771,20 +6867,8 @@ help from Bernd Raichle, for which I am grateful. \ifx\bbl@known@attribs\@undefined \in@false \else -% \end{macrocode} -% -% Now we need to see if the attribute occurs in the list of -% already selected attributes. -% -% \begin{macrocode} \bbl@xin@{,\bbl@tempc-##1,}{,\bbl@known@attribs,}% \fi -% \end{macrocode} -% -% When the attribute was in the list we issue a warning; this might -% not be the users intention. -% -% \begin{macrocode} \ifin@ \bbl@warning{% You have more than once selected the attribute '##1'\\% @@ -7349,6 +7433,7 @@ help from Bernd Raichle, for which I am grateful. \edef\bbl@L{\zap@space#1 \@empty}% \edef\bbl@G{\zap@space#2 \@empty}% \bbl@startcmds@ii} +\let\bbl@startcommands\StartBabelCommands % \end{macrocode} % % Parse the encoding info to get the label, input, and font parts. @@ -7474,6 +7559,7 @@ help from Bernd Raichle, for which I am grateful. \endgroup \endgroup \bbl@scafter} +\let\bbl@endcommands\EndBabelCommands % \end{macrocode} % % Now we define commands to be used inside |\StartBabelCommands|. @@ -7602,7 +7688,7 @@ help from Bernd Raichle, for which I am grateful. \newcommand\SetHyphenMap[1]{% \bbl@forlang\bbl@tempa{% \expandafter\bbl@stringdef - \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}} + \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}}% %<</Macros local to BabelCommands>> % \end{macrocode} % @@ -8213,7 +8299,7 @@ help from Bernd Raichle, for which I am grateful. \let\bbl@savelangname\languagename \edef\bbl@savelocaleid{\the\localeid}% % Set name and locale id - \def\languagename{#2}% + \edef\languagename{#2}% % \global\@namedef{bbl@lcname@#2}{#2}% \bbl@id@assign \let\bbl@KVP@captions\@nil @@ -8230,7 +8316,7 @@ help from Bernd Raichle, for which I am grateful. \let\bbl@KVP@onchar\@nil \let\bbl@KVP@chargroups\@nil \bbl@forkv{#1}{% TODO - error handling - \in@{..}{##1}% + \in@{/}{##1}% \ifin@ \bbl@renewinikey##1\@@{##2}% \else @@ -8279,8 +8365,10 @@ help from Bernd Raichle, for which I am grateful. \bbl@read@ini{##1}{basic data}% \bbl@exportkey{chrng}{characters.ranges}{}% \bbl@exportkey{dgnat}{numbers.digits.native}{}% + \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% + \endinput \endgroup}% boxed, to avoid extra spaces: {\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}% {}% @@ -8301,10 +8389,15 @@ help from Bernd Raichle, for which I am grateful. Babel.locale_mapped = true Babel.linebreaking.add_before(Babel.locale_map) Babel.loc_to_scr = {} - Babel.chr_to_loc = {} + Babel.chr_to_loc = Babel.chr_to_loc or {} end}% \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}% \ifin@ + \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection + \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}% + \fi + \bbl@exp{\\\bbl@add\\\bbl@starthyphens + {\\\bbl@patterns@lua{\languagename}}}% % TODO - error/warning if no script \directlua{ if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then @@ -8323,7 +8416,7 @@ help from Bernd Raichle, for which I am grateful. if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] - end} + end}% \ifx\bbl@mapselect\@undefined \AtBeginDocument{% \expandafter\bbl@add\csname selectfont \endcsname{{\bbl@mapselect}}% @@ -8343,9 +8436,6 @@ help from Bernd Raichle, for which I am grateful. \fi % TODO - catch non-valid values \fi -% \ifx\bbl@KVP@chargroups\@nil\else -% \bbl@chargroups -% \fi % == mapfont == % For bidi texts, to switch the font based on direction \ifx\bbl@KVP@mapfont\@nil\else @@ -8430,7 +8520,7 @@ help from Bernd Raichle, for which I am grateful. return head end end - }} + }}% \fi \fi % == require.babel in ini == @@ -8497,7 +8587,7 @@ help from Bernd Raichle, for which I am grateful. \@namedef{date#1}{}% marks lang exists - required by \StartBabelCommands \@namedef{extras#1}{}% \@namedef{noextras#1}{}% - \StartBabelCommands*{#1}{captions}% + \bbl@startcommands*{#1}{captions}% \ifx\bbl@KVP@captions\@nil % and also if import, implicit \def\bbl@tempb##1{% elt for \bbl@captionslist \ifx##1\@empty\else @@ -8520,7 +8610,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@savetoday \bbl@savedate \fi - \EndBabelCommands + \bbl@endcommands \bbl@exp{% \def\<#1hyphenmins>{% {\bbl@ifunset{bbl@lfthm@#1}{2}{\@nameuse{bbl@lfthm@#1}}}% @@ -8620,7 +8710,7 @@ help from Bernd Raichle, for which I am grateful. \def\bbl@inipreread##1=##2\@@{% \bbl@trim@def\bbl@tempa{##1}% Redundant below !! % Move trims here ?? - \bbl@ifunset{bbl@KVP@\bbl@section..\bbl@tempa}% + \bbl@ifunset{bbl@KVP@\bbl@section/\bbl@tempa}% {\expandafter\bbl@inireader\bbl@tempa=##2\@@}% {}}% \let\bbl@inireader\bbl@iniskip @@ -8643,6 +8733,7 @@ help from Bernd Raichle, for which I am grateful. \@nameuse{bbl@renew@\bbl@section}% \global\bbl@csarg\let{renew@\bbl@section}\relax \@nameuse{bbl@secpost@\bbl@section}% +% \bbl@csarg\bbl@toglobal{inikeys@\languagename}% \fi} \def\bbl@iniline#1\bbl@iniline{% \@ifnextchar[\bbl@inisec{\@ifnextchar;\bbl@iniskip\bbl@inipreread}#1\@@}% ] @@ -8665,14 +8756,14 @@ help from Bernd Raichle, for which I am grateful. \@nameuse{bbl@secpost@\bbl@section}% ends previous section \def\bbl@section{#1}% starts current section \def\bbl@elt##1##2{% - \@namedef{bbl@KVP@#1..##1}{}}% + \@namedef{bbl@KVP@#1/##1}{}}% \@nameuse{bbl@renew@#1}% \@nameuse{bbl@secpre@#1}% pre-section `hook' \bbl@ifunset{bbl@inikv@#1}% {\let\bbl@inireader\bbl@iniskip}% {\bbl@exp{\let\\\bbl@inireader\<bbl@inikv@#1>}}} \let\bbl@renewlist\@empty -\def\bbl@renewinikey#1..#2\@@#3{% +\def\bbl@renewinikey#1/#2\@@#3{% \bbl@ifunset{bbl@renew@#1}% {\bbl@add@list\bbl@renewlist{#1}}% {}% @@ -8732,6 +8823,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}% \bbl@exportkey{rgthm}{typography.righthyphenmin}{3}% \bbl@exportkey{prehc}{typography.prehyphenchar}{}% + \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% \bbl@exportkey{jstfy}{typography.justify}{w}% @@ -9016,9 +9108,7 @@ help from Bernd Raichle, for which I am grateful. \@namedef{bbl@ADJ@layout.lists@on}{% \bbl@adjust@layout{\let\list\bbl@OL@list}} \@namedef{bbl@ADJ@hyphenation.extra@on}{% - \directlua{ - Babel.linebreaking.add_after(Babel.post_hyphenate_replace) - }} + \bbl@activateposthyphen} % \end{macrocode} % % \section{The kernel of Babel (\texttt{babel.def} for \LaTeX only)} @@ -9851,11 +9941,7 @@ help from Bernd Raichle, for which I am grateful. % and so on, but bidi text does not work out of the box and some % development is necessary. It also provides tools to properly % set left-to-right and right-to-left page layouts. As Lua\TeX-ja -% shows, vertical typesetting is possible, too. Its main drawback -% is font handling is often considered to be less mature than -% \xetex{}, mainly in Indic scripts (but there are steps to make -% HarfBuzz, the \xetex{} font engine, available in \luatex{}; see -% <https://github.com/tatzetwerk/luatex-harfbuzz>). +% shows, vertical typesetting is possible, too. % \end{itemize} % % \changes{babel~3.15}{2017/10/30}{Use an attribute instead of tex language @@ -10014,18 +10100,20 @@ help from Bernd Raichle, for which I am grateful. \newtoks\everypar \everypar=\bbl@severypar \bbl@severypar{\bbl@xeeverypar\the\everypar}} - \@ifpackagewith{babel}{bidi=bidi}% - {\let\bbl@textdir@i\@gobbletwo - \let\bbl@xebidipar\@empty - \AddBabelHook{bidi}{foreign}{% - \def\bbl@tempa{\def\BabelText####1}% - \ifcase\bbl@thetextdir - \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}% - \else - \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}% - \fi} - \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}} - {}% + \def\bbl@tempb{% + \let\bbl@textdir@i\@gobbletwo + \let\bbl@xebidipar\@empty + \AddBabelHook{bidi}{foreign}{% + \def\bbl@tempa{\def\BabelText########1}% + \ifcase\bbl@thetextdir + \expandafter\bbl@tempa\expandafter{\BabelText{\LR{####1}}}% + \else + \expandafter\bbl@tempa\expandafter{\BabelText{\RL{####1}}}% + \fi} + \def\bbl@pardir##1{\ifcase##1\relax\setLR\else\setRL\fi}} + \@ifpackagewith{babel}{bidi=bidi}{\bbl@tempb}{}% + \@ifpackagewith{babel}{bidi=bidi-l}{\bbl@tempb}{}% + \@ifpackagewith{babel}{bidi=bidi-r}{\bbl@tempb}{}% \fi % \end{macrocode} % @@ -10406,7 +10494,6 @@ help from Bernd Raichle, for which I am grateful. \edef\languagename{% \ifnum\escapechar=\expandafter`\string#1\@empty \else\string#1\@empty\fi}% - % \@namedef{bbl@lcname@#1}{#1}% \select@language{\languagename}% % write to auxs \expandafter\ifx\csname date\languagename\endcsname\relax\else @@ -10423,8 +10510,13 @@ help from Bernd Raichle, for which I am grateful. % set name \edef\languagename{#1}% \bbl@fixname\languagename + \expandafter\ifx\csname date\languagename\endcsname\relax + \IfFileExists{babel-\languagename.tex}% + {\babelprovide{\languagename}}% + {}% + \fi \bbl@iflanguage\languagename{% - \expandafter\ifx\csname date\languagename\endcsname\relax + \expandafter\ifx\csname date\languagename\endcsname\relax \bbl@error {Unknown language `#1'. Either you have\\% misspelled its name, it has not been installed,\\% @@ -10725,8 +10817,12 @@ help from Bernd Raichle, for which I am grateful. \def\foreign@language#1{% % set name \edef\languagename{#1}% - % \@namedef{bbl@lcname@#1}{#1}% \bbl@fixname\languagename + \expandafter\ifx\csname date\languagename\endcsname\relax + \IfFileExists{babel-\languagename.tex}% + {\babelprovide{\languagename}}% + {}% + \fi \bbl@iflanguage\languagename{% \expandafter\ifx\csname date\languagename\endcsname\relax \bbl@warning % TODO - why a warning, not an error? @@ -10945,6 +11041,7 @@ help from Bernd Raichle, for which I am grateful. \let\uselocale\setlocale \let\locale\setlocale \let\selectlocale\setlocale +\let\localename\setlocale \let\textlocale\setlocale \let\textlanguage\setlocale \let\languagetext\setlocale @@ -11570,6 +11667,12 @@ help from Bernd Raichle, for which I am grateful. \bbl@trace{Font handling with fontspec} \@onlypreamble\babelfont \newcommand\babelfont[2][]{% 1=langs/scripts 2=fam + \bbl@foreach{#1}{% + \expandafter\ifx\csname date##1\endcsname\relax + \IfFileExists{babel-##1.tex}% + {\babelprovide{##1}}% + {}% + \fi}% \edef\bbl@tempa{#1}% \def\bbl@tempb{#2}% Used by \bbl@bblfont \ifx\fontspec\@undefined @@ -12457,6 +12560,9 @@ help from Bernd Raichle, for which I am grateful. % \changes{babel~3.37}{2019/12/07}{Added code for non-standard % hyphenation.} % +% First, some general code for line breaking, used by +% |\babelposthyphenation|. +% % \textit{In progress.} Replace regular (ie, implicit) discretionaries % by spaceskips, based on the previous glyph (which I think makes % sense, because the hyphen and the previous char go always together). @@ -12641,7 +12747,7 @@ help from Bernd Raichle, for which I am grateful. \def\bbl@provide@intraspace{% \bbl@ifunset{bbl@intsp@\languagename}{}% {\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else - \bbl@xin@{\bbl@cs{sbcp@\languagename}}{Hant,Hans,Jpan,Kore,Kana}% + \bbl@xin@{\bbl@cs{lnbrk@\languagename}}{c}% \ifin@ % cjk \bbl@cjkintraspace \directlua{ @@ -12738,7 +12844,7 @@ Babel.script_blocks = { {0x2B740, 0x2B81F}, {0x2B820, 0x2CEAF}, {0x2CEB0, 0x2EBEF}, {0x2F800, 0x2FA1F}}, ['Hebr'] = {{0x0590, 0x05FF}}, - ['Japa'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF}, + ['Jpan'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF}, {0x4E00, 0x9FAF}, {0xFF00, 0xFFEF}}, ['Khmr'] = {{0x1780, 0x17FF}, {0x19E0, 0x19FF}}, ['Knda'] = {{0x0C80, 0x0CFF}}, @@ -12760,10 +12866,11 @@ Babel.script_blocks = { ['Thai'] = {{0x0E00, 0x0E7F}}, ['Tibt'] = {{0x0F00, 0x0FFF}}, ['Vaii'] = {{0xA500, 0xA63F}}, - ['Yiii']= {{0xA490, 0xA4CF}, {0xA000, 0xA48F}} + ['Yiii'] = {{0xA000, 0xA48F}, {0xA490, 0xA4CF}} } Babel.script_blocks.Hant = Babel.script_blocks.Hans +Babel.script_blocks.Kana = Babel.script_blocks.Jpan function Babel.locale_map(head) if not Babel.locale_mapped then return head end @@ -12789,7 +12896,7 @@ function Babel.locale_map(head) end end % Now, take action - if toloc then + if toloc and toloc > -1 then if Babel.locale_props[toloc].lg then item.lang = Babel.locale_props[toloc].lg node.set_attribute(item, LOCALE, toloc) @@ -12856,6 +12963,12 @@ end Babel.Babel.cjk_characters[\the\count@]['c'] = '#1' }} \let\bbl@chprop@lb\bbl@chprop@linebreak +\def\bbl@chprop@locale#1{% + \directlua{ + Babel.chr_to_loc = Babel.chr_to_loc or {} + Babel.chr_to_loc[\the\count@] = + \bbl@ifblank{#1}{-1000}{\the\@nameuse{bbl@id@@#1}}\space + }} % \end{macrocode} % % Post-handling hyphenation patterns for non-standard rules, like |ff| @@ -13050,13 +13163,40 @@ end return head end - &% Used below + &% The following functions belong to the next macro + + &% This table stores capture maps, numbered consecutively + Babel.capture_maps = {} + function Babel.capture_func(key, cap) local ret = "[[" .. cap:gsub('{([0-9])}', "]]..m[%1]..[[") .. "]]" + ret = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map) ret = ret:gsub("%[%[%]%]%.%.", '') ret = ret:gsub("%.%.%[%[%]%]", '') return key .. [[=function(m) return ]] .. ret .. [[ end]] end + + function Babel.capt_map(from, mapno) + return Babel.capture_maps[mapno][from] or from + end + + &% Handle the {n|abc|ABC} syntax in captures + function Babel.capture_func_map(capno, from, to) + local froms = {} + for s in string.utfcharacters(from) do + table.insert(froms, s) + end + local cnt = 1 + table.insert(Babel.capture_maps, {}) + local mlen = table.getn(Babel.capture_maps) + for s in string.utfcharacters(to) do + Babel.capture_maps[mlen][froms[cnt]] = s + cnt = cnt + 1 + end + return "]]..Babel.capt_map(m[" .. capno .. "]," .. + (mlen) .. ").." .. "[[" + end + } % \end{macrocode} % @@ -13064,7 +13204,10 @@ end % defined above for converting strings to functions returning a string. % These functions handle the |{|\textit{n}|}| syntax. For example, % |pre={1}{1}-| becomes |function(m) return m[1]..m[1]..'-' end|, where -% |m| are the matches returned after applying the pattern. The way it +% |m| are the matches returned after applying the pattern. With a +% mapped capture the functions are similar to +% |function(m) return Babel.capt_map(m[1],1) end|, where the last +% argument identifies the mapping to be applied to |m[1]|. The way it % is carried out is somewhat tricky, but the effect in not dissimilar % to lua |load| – save the code as string in a TeX macro, and expand % this macro at the appropriate place. As |\directlua| does not take @@ -13074,6 +13217,7 @@ end % \begin{macrocode} \catcode`\#=6 \gdef\babelposthyphenation#1#2#3{&% + \bbl@activateposthyphen \begingroup \def\babeltempa{\bbl@add@list\babeltempb}&% \let\babeltempb\@empty @@ -13106,6 +13250,11 @@ end }&% \endgroup} \endgroup +\def\bbl@activateposthyphen{% + \let\bbl@activateposthyphen\relax + \directlua{ + Babel.linebreaking.add_after(Babel.post_hyphenate_replace) + }} % \end{macrocode} % % \subsection{Layout} @@ -19714,12 +19863,6 @@ Babel.fontmap[2] = {} -- al/an Babel.bidi_enabled = true Babel.mirroring_enabled = true --- Temporary: - -if harf then - Babel.mirroring_enabled = false -end - require('babel-data-bidi.lua') local characters = Babel.characters @@ -20010,7 +20153,10 @@ function Babel.bidi(head, ispar, hdir) item = nodes[r][1] -- MIRRORING if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' and characters[item.char] then - item.char = characters[item.char].m or item.char + local font_mode = font.fonts[item.font].properties.mode + if font_mode ~= 'harf' and font_mode ~= 'plug' then + item.char = characters[item.char].m or item.char + end end end first_on = nil @@ -20321,6 +20467,8 @@ Babel.cjk_class = setmetatable ( Babel.cjk_characters, { __index = function(_, k) if (k >= 0xAC00 and k <= 0xD7A3) -- H2/H3 or (k >= 0x2E80 and k <= 0x9FFF) + or (k >= 0xA000 and k <= 0xA48F) -- Yi + or (k >= 0xA490 and k <= 0xA4CF) -- Yi or (k >= 0xF900 and k <= 0xFAFF) or (k >= 0xFE10 and k <= 0xFE1F) or (k >= 0xFE30 and k <= 0xFE6F) diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins index dc9587f35c0..86e70a5fc62 100644 --- a/Master/texmf-dist/source/latex/babel/babel.ins +++ b/Master/texmf-dist/source/latex/babel/babel.ins @@ -26,7 +26,7 @@ %% and covered by LPPL is defined by the unpacking scripts (with %% extension .ins) which are part of the distribution. %% -\def\filedate{2020/01/15} +\def\filedate{2020/02/03} \def\batchfile{babel.ins} \input docstrip.tex diff --git a/Master/texmf-dist/source/latex/babel/bbcompat.dtx b/Master/texmf-dist/source/latex/babel/bbcompat.dtx index b9ca5b9d880..610eb840459 100644 --- a/Master/texmf-dist/source/latex/babel/bbcompat.dtx +++ b/Master/texmf-dist/source/latex/babel/bbcompat.dtx @@ -30,7 +30,7 @@ % % \iffalse %<*dtx> -\ProvidesFile{bbcompat.dtx}[2020/01/15 v3.38] +\ProvidesFile{bbcompat.dtx}[2020/02/03 v3.39] %</dtx> % %% File 'bbcompat.dtx' diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip Binary files differindex c899ace8a8e..8177913f9e8 100644 --- a/Master/texmf-dist/source/latex/babel/locale.zip +++ b/Master/texmf-dist/source/latex/babel/locale.zip diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua index 67377b7517e..3fbb4e83e95 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic-r.lua @@ -7,7 +7,7 @@ -- babel.dtx (with options: `basic-r') -- -- --- Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +-- Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. -- Copyright (C) 1989-2012 Johannes L. Braams and -- any individual authors listed elsewhere in this file. -- All rights reserved. diff --git a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua index f75a2ea9205..8acc02ed6fe 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-bidi-basic.lua @@ -7,7 +7,7 @@ -- babel.dtx (with options: `basic') -- -- --- Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +-- Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. -- Copyright (C) 1989-2012 Johannes L. Braams and -- any individual authors listed elsewhere in this file. -- All rights reserved. @@ -44,12 +44,6 @@ Babel.fontmap[2] = {} -- al/an Babel.bidi_enabled = true Babel.mirroring_enabled = true --- Temporary: - -if harf then - Babel.mirroring_enabled = false -end - require('babel-data-bidi.lua') local characters = Babel.characters @@ -340,7 +334,10 @@ function Babel.bidi(head, ispar, hdir) item = nodes[r][1] -- MIRRORING if Babel.mirroring_enabled and item.id == GLYPH and temp == 'r' and characters[item.char] then - item.char = characters[item.char].m or item.char + local font_mode = font.fonts[item.font].properties.mode + if font_mode ~= 'harf' and font_mode ~= 'plug' then + item.char = characters[item.char].m or item.char + end end end first_on = nil diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua index 7678d8f9088..9e3aefa7990 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua @@ -7,7 +7,7 @@ -- babel.dtx (with options: `bididata') -- -- --- Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +-- Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. -- Copyright (C) 1989-2012 Johannes L. Braams and -- any individual authors listed elsewhere in this file. -- All rights reserved. diff --git a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua index 5c297aa8313..99c356c4a83 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-data-cjk.lua @@ -7,7 +7,7 @@ -- babel.dtx (with options: `cjkdata') -- -- --- Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +-- Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. -- Copyright (C) 1989-2012 Johannes L. Braams and -- any individual authors listed elsewhere in this file. -- All rights reserved. @@ -251,6 +251,8 @@ Babel.cjk_class = setmetatable ( Babel.cjk_characters, { __index = function(_, k) if (k >= 0xAC00 and k <= 0xD7A3) -- H2/H3 or (k >= 0x2E80 and k <= 0x9FFF) + or (k >= 0xA000 and k <= 0xA48F) -- Yi + or (k >= 0xA490 and k <= 0xA4CF) -- Yi or (k >= 0xF900 and k <= 0xFAFF) or (k >= 0xFE10 and k <= 0xFE1F) or (k >= 0xFE30 and k <= 0xFE6F) diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def index 9f8352bbac9..26f38577fd8 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.def +++ b/Master/texmf-dist/tex/generic/babel/babel.def @@ -7,7 +7,7 @@ %% babel.dtx (with options: `core') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -41,7 +41,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{babel.def}[2020/01/15 3.38 Babel common definitions] +\ProvidesFile{babel.def}[2020/02/03 3.39 Babel common definitions] \ifx\AtBeginDocument\@undefined \input plain.def\relax \fi @@ -992,7 +992,7 @@ \newcommand\SetHyphenMap[1]{% \bbl@forlang\bbl@tempa{% \expandafter\bbl@stringdef - \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}} + \csname\bbl@tempa @bbl@hyphenmap\endcsname{##1}}}% \def\bbl@provstring##1##2{% \providecommand##1{##2}% \bbl@toglobal##1}% @@ -1020,6 +1020,7 @@ \edef\bbl@L{\zap@space#1 \@empty}% \edef\bbl@G{\zap@space#2 \@empty}% \bbl@startcmds@ii} +\let\bbl@startcommands\StartBabelCommands \newcommand\bbl@startcmds@ii[1][\@empty]{% \let\SetString\@gobbletwo \let\bbl@stringdef\@gobbletwo @@ -1104,6 +1105,7 @@ \endgroup \endgroup \bbl@scafter} +\let\bbl@endcommands\EndBabelCommands \def\bbl@setstring#1#2{% \bbl@forlang\bbl@tempa{% \edef\bbl@LC{\bbl@tempa\bbl@stripslash#1}% @@ -1373,7 +1375,7 @@ \let\bbl@savelangname\languagename \edef\bbl@savelocaleid{\the\localeid}% % Set name and locale id - \def\languagename{#2}% + \edef\languagename{#2}% % \global\@namedef{bbl@lcname@#2}{#2}% \bbl@id@assign \let\bbl@KVP@captions\@nil @@ -1390,7 +1392,7 @@ \let\bbl@KVP@onchar\@nil \let\bbl@KVP@chargroups\@nil \bbl@forkv{#1}{% TODO - error handling - \in@{..}{##1}% + \in@{/}{##1}% \ifin@ \bbl@renewinikey##1\@@{##2}% \else @@ -1439,8 +1441,10 @@ \bbl@read@ini{##1}{basic data}% \bbl@exportkey{chrng}{characters.ranges}{}% \bbl@exportkey{dgnat}{numbers.digits.native}{}% + \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% + \endinput \endgroup}% boxed, to avoid extra spaces: {\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}% {}% @@ -1461,10 +1465,15 @@ Babel.locale_mapped = true Babel.linebreaking.add_before(Babel.locale_map) Babel.loc_to_scr = {} - Babel.chr_to_loc = {} + Babel.chr_to_loc = Babel.chr_to_loc or {} end}% \bbl@xin@{ ids }{ \bbl@KVP@onchar\space}% \ifin@ + \ifx\bbl@starthyphens\@undefined % Needed if no explicit selection + \AddBabelHook{babel-onchar}{beforestart}{{\bbl@starthyphens}}% + \fi + \bbl@exp{\\\bbl@add\\\bbl@starthyphens + {\\\bbl@patterns@lua{\languagename}}}% % TODO - error/warning if no script \directlua{ if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then @@ -1483,7 +1492,7 @@ if Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] then Babel.loc_to_scr[\the\localeid] = Babel.script_blocks['\bbl@cs{sbcp@\languagename}'] - end} + end}% \ifx\bbl@mapselect\@undefined \AtBeginDocument{% \expandafter\bbl@add\csname selectfont \endcsname{{\bbl@mapselect}}% @@ -1587,7 +1596,7 @@ return head end end - }} + }}% \fi \fi % == require.babel in ini == @@ -1640,7 +1649,7 @@ \@namedef{date#1}{}% marks lang exists - required by \StartBabelCommands \@namedef{extras#1}{}% \@namedef{noextras#1}{}% - \StartBabelCommands*{#1}{captions}% + \bbl@startcommands*{#1}{captions}% \ifx\bbl@KVP@captions\@nil % and also if import, implicit \def\bbl@tempb##1{% elt for \bbl@captionslist \ifx##1\@empty\else @@ -1663,7 +1672,7 @@ \bbl@savetoday \bbl@savedate \fi - \EndBabelCommands + \bbl@endcommands \bbl@exp{% \def\<#1hyphenmins>{% {\bbl@ifunset{bbl@lfthm@#1}{2}{\@nameuse{bbl@lfthm@#1}}}% @@ -1743,7 +1752,7 @@ \def\bbl@inipreread##1=##2\@@{% \bbl@trim@def\bbl@tempa{##1}% Redundant below !! % Move trims here ?? - \bbl@ifunset{bbl@KVP@\bbl@section..\bbl@tempa}% + \bbl@ifunset{bbl@KVP@\bbl@section/\bbl@tempa}% {\expandafter\bbl@inireader\bbl@tempa=##2\@@}% {}}% \let\bbl@inireader\bbl@iniskip @@ -1777,14 +1786,14 @@ \@nameuse{bbl@secpost@\bbl@section}% ends previous section \def\bbl@section{#1}% starts current section \def\bbl@elt##1##2{% - \@namedef{bbl@KVP@#1..##1}{}}% + \@namedef{bbl@KVP@#1/##1}{}}% \@nameuse{bbl@renew@#1}% \@nameuse{bbl@secpre@#1}% pre-section `hook' \bbl@ifunset{bbl@inikv@#1}% {\let\bbl@inireader\bbl@iniskip}% {\bbl@exp{\let\\\bbl@inireader\<bbl@inikv@#1>}}} \let\bbl@renewlist\@empty -\def\bbl@renewinikey#1..#2\@@#3{% +\def\bbl@renewinikey#1/#2\@@#3{% \bbl@ifunset{bbl@renew@#1}% {\bbl@add@list\bbl@renewlist{#1}}% {}% @@ -1820,6 +1829,7 @@ \bbl@exportkey{lfthm}{typography.lefthyphenmin}{2}% \bbl@exportkey{rgthm}{typography.righthyphenmin}{3}% \bbl@exportkey{prehc}{typography.prehyphenchar}{}% + \bbl@exportkey{lnbrk}{typography.linebreaking}{h}% \bbl@exportkey{hyphr}{typography.hyphenrules}{}% \bbl@exportkey{intsp}{typography.intraspace}{}% \bbl@exportkey{jstfy}{typography.justify}{w}% @@ -2025,9 +2035,7 @@ \@namedef{bbl@ADJ@layout.lists@on}{% \bbl@adjust@layout{\let\list\bbl@OL@list}} \@namedef{bbl@ADJ@hyphenation.extra@on}{% - \directlua{ - Babel.linebreaking.add_after(Babel.post_hyphenate_replace) - }} + \bbl@activateposthyphen} {\def\format{lplain} \ifx\fmtname\format \else @@ -2422,18 +2430,20 @@ \newtoks\everypar \everypar=\bbl@severypar \bbl@severypar{\bbl@xeeverypar\the\everypar}} - \@ifpackagewith{babel}{bidi=bidi}% - {\let\bbl@textdir@i\@gobbletwo - \let\bbl@xebidipar\@empty - \AddBabelHook{bidi}{foreign}{% - \def\bbl@tempa{\def\BabelText####1}% - \ifcase\bbl@thetextdir - \expandafter\bbl@tempa\expandafter{\BabelText{\LR{##1}}}% - \else - \expandafter\bbl@tempa\expandafter{\BabelText{\RL{##1}}}% - \fi} - \def\bbl@pardir#1{\ifcase#1\relax\setLR\else\setRL\fi}} - {}% + \def\bbl@tempb{% + \let\bbl@textdir@i\@gobbletwo + \let\bbl@xebidipar\@empty + \AddBabelHook{bidi}{foreign}{% + \def\bbl@tempa{\def\BabelText########1}% + \ifcase\bbl@thetextdir + \expandafter\bbl@tempa\expandafter{\BabelText{\LR{####1}}}% + \else + \expandafter\bbl@tempa\expandafter{\BabelText{\RL{####1}}}% + \fi} + \def\bbl@pardir##1{\ifcase##1\relax\setLR\else\setRL\fi}} + \@ifpackagewith{babel}{bidi=bidi}{\bbl@tempb}{}% + \@ifpackagewith{babel}{bidi=bidi-l}{\bbl@tempb}{}% + \@ifpackagewith{babel}{bidi=bidi-r}{\bbl@tempb}{}% \fi \DeclareRobustCommand\babelsublr[1]{\leavevmode{\bbl@textdir\z@#1}} \AtBeginDocument{% diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty index d7c63b64f62..0e1df6edca9 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.sty +++ b/Master/texmf-dist/tex/generic/babel/babel.sty @@ -7,7 +7,7 @@ %% babel.dtx (with options: `package') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -33,7 +33,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{babel}[2020/01/15 3.38 The Babel package] +\ProvidesPackage{babel}[2020/02/03 3.39 The Babel package] \@ifpackagewith{babel}{debug} {\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}% \let\bbl@debug\@firstofone} @@ -214,8 +214,6 @@ \bbl@languages \fi \ifodd\bbl@engine - % Harftex is evolving, so the callback is not harcoded, just in case - \def\bbl@harfpreline{Harf pre_linebreak_filter callback}% \def\bbl@activate@preotf{% \let\bbl@activate@preotf\relax % only once \directlua{ @@ -245,23 +243,14 @@ Babel.pre_otfload_v, 'Babel.pre_otfload_v', luatexbase.priority_in_callback('pre_linebreak_filter', - '\bbl@harfpreline') - or luatexbase.priority_in_callback('pre_linebreak_filter', - 'luaotfload.node_processor') - or nil) + 'luaotfload.node_processor') or nil) % luatexbase.add_to_callback('hpack_filter', Babel.pre_otfload_h, 'Babel.pre_otfload_h', luatexbase.priority_in_callback('hpack_filter', - '\bbl@harfpreline') - or luatexbase.priority_in_callback('hpack_filter', - 'luaotfload.node_processor') - or nil) - }% - \@ifpackageloaded{harfload}% - {\directlua{ Babel.mirroring_enabled = false }}% - {}} + 'luaotfload.node_processor') or nil) + }} \let\bbl@tempa\relax \@ifpackagewith{babel}{bidi=basic}% {\def\bbl@tempa{basic}}% diff --git a/Master/texmf-dist/tex/generic/babel/blplain.tex b/Master/texmf-dist/tex/generic/babel/blplain.tex index 2031c1e7974..a649c5d17ed 100644 --- a/Master/texmf-dist/tex/generic/babel/blplain.tex +++ b/Master/texmf-dist/tex/generic/babel/blplain.tex @@ -7,7 +7,7 @@ %% babel.dtx (with options: `blplain') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. diff --git a/Master/texmf-dist/tex/generic/babel/bplain.tex b/Master/texmf-dist/tex/generic/babel/bplain.tex index e2a67c88065..67bb6c63ab9 100644 --- a/Master/texmf-dist/tex/generic/babel/bplain.tex +++ b/Master/texmf-dist/tex/generic/babel/bplain.tex @@ -7,7 +7,7 @@ %% babel.dtx (with options: `bplain') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg index d957175cfb3..af0a5726b0c 100644 --- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg +++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg @@ -7,7 +7,7 @@ %% babel.dtx (with options: `patterns') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -37,7 +37,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{hyphen.cfg}[2020/01/15 3.38 Babel hyphens] +\ProvidesFile{hyphen.cfg}[2020/02/03 3.39 Babel hyphens] \xdef\bbl@format{\jobname} \ifx\AtBeginDocument\@undefined \def\@empty{} diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini new file mode 100644 index 00000000000..f2b2878e1fa --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1901.ini @@ -0,0 +1,186 @@ +; This file is part of babel. For further details see: +; https://www.ctan.org/pkg/babel +; Data has been collected mainly from the following sources: +; * babel language styles (license LPPL): +; https://www.ctan.org/pkg/babel-contrib +; * polyglossia language styles (license LPPL) +; https://www.ctan.org/pkg/polyglossia +; * Common Locale Data Repository (license Unicode): +; http://cldr.unicode.org/ +; http://unicode.org/copyright.html + +[identification] +charset = utf8 +version = 1.1 +date = 2020-01-27 +name.local = Deutsch +name.english = German +name.babel = german +tag.bcp47 = de +tag.opentype = DEU +script.name = Latin +script.tag.bcp47 = Latn +script.tag.opentype = latn +level = 1 +encodings = T1 OT1 LY1 +derivate = no + +[captions] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Anlage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe auch +proof = Beweis +glossary = Glossar + +[captions.licr] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Anlage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe\space auch +proof = Beweis +glossary = Glossar + +[date.gregorian] +date.long = [d].[ ][MMMM] [y] +date.short = [dd].[MM].[yy] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = März +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember +months.narrow.1 = J +months.narrow.2 = F +months.narrow.3 = M +months.narrow.4 = A +months.narrow.5 = M +months.narrow.6 = J +months.narrow.7 = J +months.narrow.8 = A +months.narrow.9 = S +months.narrow.10 = O +months.narrow.11 = N +months.narrow.12 = D +days.wide.mon = Montag +days.wide.tue = Dienstag +days.wide.wed = Mittwoch +days.wide.thu = Donnerstag +days.wide.fri = Freitag +days.wide.sat = Samstag +days.wide.sun = Sonntag +days.abbreviated.mon = Mo. +days.abbreviated.tue = Di. +days.abbreviated.wed = Mi. +days.abbreviated.thu = Do. +days.abbreviated.fri = Fr. +days.abbreviated.sat = Sa. +days.abbreviated.sun = So. +days.narrow.mon = M +days.narrow.tue = D +days.narrow.wed = M +days.narrow.thu = D +days.narrow.fri = F +days.narrow.sat = S +days.narrow.sun = S +dayPeriods.abbreviated.am = vorm. +dayPeriods.abbreviated.pm = nachm. +dayPeriods.narrow.am = vm. +dayPeriods.narrow.pm = nm. +dayPeriods.wide.am = vorm. +dayPeriods.wide.pm = nachm. + +[date.gregorian.licr] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = M\"arz +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember + +[time.gregorian] +time.medium = [HH]:[mm]:[ss] +time.short = [HH]:[mm] + +[typography] +frenchspacing = yes +hyphenrules = german +lefthyphenmin = 2 +righthyphenmin = 2 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = +postexhyphenchar = +hyphenationmin = + +[characters] +delimiters.quotes = „“‚‘ +auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ] +exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z] +index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] +punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #] + +[numbers] +defaultNumberingSystem = latn +minimumGroupingDigits = 1 +decimal = , +exponential = E +group = . +infinity = ∞ +list = ; +minusSign = - +nan = NaN +perMille = ‰ +percentSign = % +plusSign = + +superscriptingExponent = · + +[counters] +alph = +Alph = +ordinals = + diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini new file mode 100644 index 00000000000..43c52b7fa6a --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-1996.ini @@ -0,0 +1,186 @@ +; This file is part of babel. For further details see: +; https://www.ctan.org/pkg/babel +; Data has been collected mainly from the following sources: +; * babel language styles (license LPPL): +; https://www.ctan.org/pkg/babel-contrib +; * polyglossia language styles (license LPPL) +; https://www.ctan.org/pkg/polyglossia +; * Common Locale Data Repository (license Unicode): +; http://cldr.unicode.org/ +; http://unicode.org/copyright.html + +[identification] +charset = utf8 +version = 1.1 +date = 2020-01-27 +name.local = Deutsch +name.english = German +name.babel = german +tag.bcp47 = de +tag.opentype = DEU +script.name = Latin +script.tag.bcp47 = Latn +script.tag.opentype = latn +level = 1 +encodings = T1 OT1 LY1 +derivate = no + +[captions] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Anlage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe auch +proof = Beweis +glossary = Glossar + +[captions.licr] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Anlage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe\space auch +proof = Beweis +glossary = Glossar + +[date.gregorian] +date.long = [d].[ ][MMMM] [y] +date.short = [dd].[MM].[yy] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = März +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember +months.narrow.1 = J +months.narrow.2 = F +months.narrow.3 = M +months.narrow.4 = A +months.narrow.5 = M +months.narrow.6 = J +months.narrow.7 = J +months.narrow.8 = A +months.narrow.9 = S +months.narrow.10 = O +months.narrow.11 = N +months.narrow.12 = D +days.wide.mon = Montag +days.wide.tue = Dienstag +days.wide.wed = Mittwoch +days.wide.thu = Donnerstag +days.wide.fri = Freitag +days.wide.sat = Samstag +days.wide.sun = Sonntag +days.abbreviated.mon = Mo. +days.abbreviated.tue = Di. +days.abbreviated.wed = Mi. +days.abbreviated.thu = Do. +days.abbreviated.fri = Fr. +days.abbreviated.sat = Sa. +days.abbreviated.sun = So. +days.narrow.mon = M +days.narrow.tue = D +days.narrow.wed = M +days.narrow.thu = D +days.narrow.fri = F +days.narrow.sat = S +days.narrow.sun = S +dayPeriods.abbreviated.am = vorm. +dayPeriods.abbreviated.pm = nachm. +dayPeriods.narrow.am = vm. +dayPeriods.narrow.pm = nm. +dayPeriods.wide.am = vorm. +dayPeriods.wide.pm = nachm. + +[date.gregorian.licr] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = M\"arz +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember + +[time.gregorian] +time.medium = [HH]:[mm]:[ss] +time.short = [HH]:[mm] + +[typography] +frenchspacing = yes +hyphenrules = ngerman +lefthyphenmin = 2 +righthyphenmin = 2 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = +postexhyphenchar = +hyphenationmin = + +[characters] +delimiters.quotes = „“‚‘ +auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ] +exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z] +index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] +punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #] + +[numbers] +defaultNumberingSystem = latn +minimumGroupingDigits = 1 +decimal = , +exponential = E +group = . +infinity = ∞ +list = ; +minusSign = - +nan = NaN +perMille = ‰ +percentSign = % +plusSign = + +superscriptingExponent = · + +[counters] +alph = +Alph = +ordinals = + diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini new file mode 100644 index 00000000000..009a5861b43 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1901.ini @@ -0,0 +1,191 @@ +; This file is part of babel. For further details see: +; https://www.ctan.org/pkg/babel +; Data has been collected mainly from the following sources: +; * babel language styles (license LPPL): +; https://www.ctan.org/pkg/babel-contrib +; * polyglossia language styles (license LPPL) +; https://www.ctan.org/pkg/polyglossia +; * Common Locale Data Repository (license Unicode): +; http://cldr.unicode.org/ +; http://unicode.org/copyright.html + +[identification] +charset = utf8 +version = 1.1 +date = 2020-01-27 +name.local = Deutsch +name.english = German +name.babel = german-austria +name.babel.A = german-at +name.babel.B = austrian +tag.bcp47 = de +tag.opentype = DEU +region.local = Österreich +region.english = Austria +region.tag.bcp47 = AT +script.name = Latin +script.tag.bcp47 = Latn +script.tag.opentype = latn +level = 1 +encodings = T1 OT1 LY1 +derivate = no + +[captions] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe auch +proof = Beweis +glossary = Glossar + +[captions.licr] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe\space auch +proof = Beweis +glossary = Glossar + +[date.gregorian] +date.long = [d].[ ][MMMM] [y] +date.short = [dd].[MM].[yy] +months.wide.1 = Jänner +months.wide.2 = Februar +months.wide.3 = März +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember +months.narrow.1 = J +months.narrow.2 = F +months.narrow.3 = M +months.narrow.4 = A +months.narrow.5 = M +months.narrow.6 = J +months.narrow.7 = J +months.narrow.8 = A +months.narrow.9 = S +months.narrow.10 = O +months.narrow.11 = N +months.narrow.12 = D +days.wide.mon = Montag +days.wide.tue = Dienstag +days.wide.wed = Mittwoch +days.wide.thu = Donnerstag +days.wide.fri = Freitag +days.wide.sat = Samstag +days.wide.sun = Sonntag +days.abbreviated.mon = Mo. +days.abbreviated.tue = Di. +days.abbreviated.wed = Mi. +days.abbreviated.thu = Do. +days.abbreviated.fri = Fr. +days.abbreviated.sat = Sa. +days.abbreviated.sun = So. +days.narrow.mon = M +days.narrow.tue = D +days.narrow.wed = M +days.narrow.thu = D +days.narrow.fri = F +days.narrow.sat = S +days.narrow.sun = S +dayPeriods.abbreviated.am = vorm. +dayPeriods.abbreviated.pm = nachm. +dayPeriods.narrow.am = vm. +dayPeriods.narrow.pm = nm. +dayPeriods.wide.am = vorm. +dayPeriods.wide.pm = nachm. + +[date.gregorian.licr] +months.wide.1 = J\"anner +months.wide.2 = Februar +months.wide.3 = M\"arz +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember + +[time.gregorian] +time.medium = [HH]:[mm]:[ss] +time.short = [HH]:[mm] + +[typography] +frenchspacing = yes +hyphenrules = german +lefthyphenmin = 2 +righthyphenmin = 2 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = +postexhyphenchar = +hyphenationmin = + +[characters] +delimiters.quotes = „“‚‘ +auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ] +exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z] +index = [A Ä B C D E F G H I J K L M N O Ö P Q R S T U Ü V W X Y Z] +punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #] + +[numbers] +defaultNumberingSystem = latn +minimumGroupingDigits = 1 +decimal = , +exponential = E +group = +infinity = ∞ +list = ; +minusSign = - +nan = NaN +perMille = ‰ +percentSign = % +plusSign = + +superscriptingExponent = · + +[counters] +alph = +Alph = +ordinals = + diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini new file mode 100644 index 00000000000..ea818e04097 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT-1996.ini @@ -0,0 +1,191 @@ +; This file is part of babel. For further details see: +; https://www.ctan.org/pkg/babel +; Data has been collected mainly from the following sources: +; * babel language styles (license LPPL): +; https://www.ctan.org/pkg/babel-contrib +; * polyglossia language styles (license LPPL) +; https://www.ctan.org/pkg/polyglossia +; * Common Locale Data Repository (license Unicode): +; http://cldr.unicode.org/ +; http://unicode.org/copyright.html + +[identification] +charset = utf8 +version = 1.1 +date = 2020-01-27 +name.local = Deutsch +name.english = German +name.babel = german-austria +name.babel.A = german-at +name.babel.B = austrian +tag.bcp47 = de +tag.opentype = DEU +region.local = Österreich +region.english = Austria +region.tag.bcp47 = AT +script.name = Latin +script.tag.bcp47 = Latn +script.tag.opentype = latn +level = 1 +encodings = T1 OT1 LY1 +derivate = no + +[captions] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe auch +proof = Beweis +glossary = Glossar + +[captions.licr] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe\space auch +proof = Beweis +glossary = Glossar + +[date.gregorian] +date.long = [d].[ ][MMMM] [y] +date.short = [dd].[MM].[yy] +months.wide.1 = Jänner +months.wide.2 = Februar +months.wide.3 = März +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember +months.narrow.1 = J +months.narrow.2 = F +months.narrow.3 = M +months.narrow.4 = A +months.narrow.5 = M +months.narrow.6 = J +months.narrow.7 = J +months.narrow.8 = A +months.narrow.9 = S +months.narrow.10 = O +months.narrow.11 = N +months.narrow.12 = D +days.wide.mon = Montag +days.wide.tue = Dienstag +days.wide.wed = Mittwoch +days.wide.thu = Donnerstag +days.wide.fri = Freitag +days.wide.sat = Samstag +days.wide.sun = Sonntag +days.abbreviated.mon = Mo. +days.abbreviated.tue = Di. +days.abbreviated.wed = Mi. +days.abbreviated.thu = Do. +days.abbreviated.fri = Fr. +days.abbreviated.sat = Sa. +days.abbreviated.sun = So. +days.narrow.mon = M +days.narrow.tue = D +days.narrow.wed = M +days.narrow.thu = D +days.narrow.fri = F +days.narrow.sat = S +days.narrow.sun = S +dayPeriods.abbreviated.am = vorm. +dayPeriods.abbreviated.pm = nachm. +dayPeriods.narrow.am = vm. +dayPeriods.narrow.pm = nm. +dayPeriods.wide.am = vorm. +dayPeriods.wide.pm = nachm. + +[date.gregorian.licr] +months.wide.1 = J\"anner +months.wide.2 = Februar +months.wide.3 = M\"arz +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember + +[time.gregorian] +time.medium = [HH]:[mm]:[ss] +time.short = [HH]:[mm] + +[typography] +frenchspacing = yes +hyphenrules = ngerman +lefthyphenmin = 2 +righthyphenmin = 2 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = +postexhyphenchar = +hyphenationmin = + +[characters] +delimiters.quotes = „“‚‘ +auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ú ù ŭ û ū ÿ] +exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s ß t u ü v w x y z] +index = [A Ä B C D E F G H I J K L M N O Ö P Q R S T U Ü V W X Y Z] +punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #] + +[numbers] +defaultNumberingSystem = latn +minimumGroupingDigits = 1 +decimal = , +exponential = E +group = +infinity = ∞ +list = ; +minusSign = - +nan = NaN +perMille = ‰ +percentSign = % +plusSign = + +superscriptingExponent = · + +[counters] +alph = +Alph = +ordinals = + diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini index 8045641b7ee..ea818e04097 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-AT.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2017-09-01 +version = 1.1 +date = 2020-01-27 name.local = Deutsch name.english = German name.babel = german-austria @@ -151,7 +151,7 @@ time.short = [HH]:[mm] [typography] frenchspacing = yes -hyphenrules = german +hyphenrules = ngerman lefthyphenmin = 2 righthyphenmin = 2 hyphenchar = diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini new file mode 100644 index 00000000000..58475ad465c --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1901.ini @@ -0,0 +1,193 @@ +; This file is part of babel. For further details see: +; https://www.ctan.org/pkg/babel +; Data has been collected mainly from the following sources: +; * babel language styles (license LPPL): +; https://www.ctan.org/pkg/babel-contrib +; * polyglossia language styles (license LPPL) +; https://www.ctan.org/pkg/polyglossia +; * Common Locale Data Repository (license Unicode): +; http://cldr.unicode.org/ +; http://unicode.org/copyright.html + +[identification] +charset = utf8 +version = 1.1 +date = 2020-01-27 +name.local = Deutsch +name.english = German +name.babel = german-switzerland +name.babel.A = german-ch +name.babel.B = nswissgerman +; The following conflicts with gsw: +name.babel.C = swissgerman +tag.bcp47 = de +tag.opentype = DEU +region.local = Schweiz +region.english = Switzerland +region.tag.bcp47 = CH +script.name = Latin +script.tag.bcp47 = Latn +script.tag.opentype = latn +level = 1 +encodings = T1 OT1 LY1 +derivate = no + +[captions] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe auch +proof = Beweis +glossary = Glossar + +[captions.licr] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe\space auch +proof = Beweis +glossary = Glossar + +[date.gregorian] +date.long = [d].[ ][MMMM] [y] +date.short = [dd].[MM].[yy] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = März +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember +months.narrow.1 = J +months.narrow.2 = F +months.narrow.3 = M +months.narrow.4 = A +months.narrow.5 = M +months.narrow.6 = J +months.narrow.7 = J +months.narrow.8 = A +months.narrow.9 = S +months.narrow.10 = O +months.narrow.11 = N +months.narrow.12 = D +days.wide.mon = Montag +days.wide.tue = Dienstag +days.wide.wed = Mittwoch +days.wide.thu = Donnerstag +days.wide.fri = Freitag +days.wide.sat = Samstag +days.wide.sun = Sonntag +days.abbreviated.mon = Mo. +days.abbreviated.tue = Di. +days.abbreviated.wed = Mi. +days.abbreviated.thu = Do. +days.abbreviated.fri = Fr. +days.abbreviated.sat = Sa. +days.abbreviated.sun = So. +days.narrow.mon = M +days.narrow.tue = D +days.narrow.wed = M +days.narrow.thu = D +days.narrow.fri = F +days.narrow.sat = S +days.narrow.sun = S +dayPeriods.abbreviated.am = vorm. +dayPeriods.abbreviated.pm = nachm. +dayPeriods.narrow.am = vm. +dayPeriods.narrow.pm = nm. +dayPeriods.wide.am = vorm. +dayPeriods.wide.pm = nachm. + +[date.gregorian.licr] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = M\"arz +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember + +[time.gregorian] +time.medium = [HH]:[mm]:[ss] +time.short = [HH]:[mm] + +[typography] +frenchspacing = yes +hyphenrules = swissgerman +lefthyphenmin = 2 +righthyphenmin = 2 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = +postexhyphenchar = +hyphenationmin = + +[characters] +delimiters.quotes = „“‚‘ +auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ß ú ù ŭ û ū ÿ] +exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s t u ü v w x y z] +index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] +punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #] + +[numbers] +defaultNumberingSystem = latn +minimumGroupingDigits = 1 +decimal = . +exponential = E +group = ' +infinity = ∞ +list = ; +minusSign = - +nan = NaN +perMille = ‰ +percentSign = % +plusSign = + +superscriptingExponent = · + +[counters] +alph = +Alph = +ordinals = + diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini new file mode 100644 index 00000000000..2099d528317 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH-1996.ini @@ -0,0 +1,193 @@ +; This file is part of babel. For further details see: +; https://www.ctan.org/pkg/babel +; Data has been collected mainly from the following sources: +; * babel language styles (license LPPL): +; https://www.ctan.org/pkg/babel-contrib +; * polyglossia language styles (license LPPL) +; https://www.ctan.org/pkg/polyglossia +; * Common Locale Data Repository (license Unicode): +; http://cldr.unicode.org/ +; http://unicode.org/copyright.html + +[identification] +charset = utf8 +version = 1.1 +date = 2020-01-27 +name.local = Deutsch +name.english = German +name.babel = german-switzerland +name.babel.A = german-ch +name.babel.B = nswissgerman +; The following conflicts with gsw: +name.babel.C = swissgerman +tag.bcp47 = de +tag.opentype = DEU +region.local = Schweiz +region.english = Switzerland +region.tag.bcp47 = CH +script.name = Latin +script.tag.bcp47 = Latn +script.tag.opentype = latn +level = 1 +encodings = T1 OT1 LY1 +derivate = no + +[captions] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe auch +proof = Beweis +glossary = Glossar + +[captions.licr] +preface = Vorwort +ref = Literatur +abstract = Zusammenfassung +bib = Literaturverzeichnis +chapter = Kapitel +appendix = Anhang +contents = Inhaltsverzeichnis +listfigure = Abbildungsverzeichnis +listtable = Tabellenverzeichnis +index = Index +figure = Abbildung +table = Tabelle +part = Teil +encl = Beilage(n) +cc = Verteiler +headto = An +page = Seite +see = siehe +also = siehe\space auch +proof = Beweis +glossary = Glossar + +[date.gregorian] +date.long = [d].[ ][MMMM] [y] +date.short = [dd].[MM].[yy] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = März +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember +months.narrow.1 = J +months.narrow.2 = F +months.narrow.3 = M +months.narrow.4 = A +months.narrow.5 = M +months.narrow.6 = J +months.narrow.7 = J +months.narrow.8 = A +months.narrow.9 = S +months.narrow.10 = O +months.narrow.11 = N +months.narrow.12 = D +days.wide.mon = Montag +days.wide.tue = Dienstag +days.wide.wed = Mittwoch +days.wide.thu = Donnerstag +days.wide.fri = Freitag +days.wide.sat = Samstag +days.wide.sun = Sonntag +days.abbreviated.mon = Mo. +days.abbreviated.tue = Di. +days.abbreviated.wed = Mi. +days.abbreviated.thu = Do. +days.abbreviated.fri = Fr. +days.abbreviated.sat = Sa. +days.abbreviated.sun = So. +days.narrow.mon = M +days.narrow.tue = D +days.narrow.wed = M +days.narrow.thu = D +days.narrow.fri = F +days.narrow.sat = S +days.narrow.sun = S +dayPeriods.abbreviated.am = vorm. +dayPeriods.abbreviated.pm = nachm. +dayPeriods.narrow.am = vm. +dayPeriods.narrow.pm = nm. +dayPeriods.wide.am = vorm. +dayPeriods.wide.pm = nachm. + +[date.gregorian.licr] +months.wide.1 = Januar +months.wide.2 = Februar +months.wide.3 = M\"arz +months.wide.4 = April +months.wide.5 = Mai +months.wide.6 = Juni +months.wide.7 = Juli +months.wide.8 = August +months.wide.9 = September +months.wide.10 = Oktober +months.wide.11 = November +months.wide.12 = Dezember + +[time.gregorian] +time.medium = [HH]:[mm]:[ss] +time.short = [HH]:[mm] + +[typography] +frenchspacing = yes +hyphenrules = ngerman +lefthyphenmin = 2 +righthyphenmin = 2 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = +postexhyphenchar = +hyphenationmin = + +[characters] +delimiters.quotes = „“‚‘ +auxiliary = [á à ă â å ã ā æ ç é è ĕ ê ë ē ğ í ì ĭ î ï İ ī ı ñ ó ò ŏ ô ø ō œ ş ß ú ù ŭ û ū ÿ] +exemplarCharacters = [a ä b c d e f g h i j k l m n o ö p q r s t u ü v w x y z] +index = [A B C D E F G H I J K L M N O P Q R S T U V W X Y Z] +punctuation = [\\- ‐ – — , ; \\: ! ? . … ' ‘ ‚ \" “ „ « » ( ) \\[ \\] \\{ \\} § @ * / \\& #] + +[numbers] +defaultNumberingSystem = latn +minimumGroupingDigits = 1 +decimal = . +exponential = E +group = ' +infinity = ∞ +list = ; +minusSign = - +nan = NaN +perMille = ‰ +percentSign = % +plusSign = + +superscriptingExponent = · + +[counters] +alph = +Alph = +ordinals = + diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini index f5dcf575c23..2099d528317 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de-CH.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2017-09-01 +version = 1.1 +date = 2020-01-27 name.local = Deutsch name.english = German name.babel = german-switzerland @@ -153,7 +153,7 @@ time.short = [HH]:[mm] [typography] frenchspacing = yes -hyphenrules = swissgerman +hyphenrules = ngerman lefthyphenmin = 2 righthyphenmin = 2 hyphenchar = diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini index d3a9c535dc1..43c52b7fa6a 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-de.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2017-09-01 +version = 1.1 +date = 2020-01-27 name.local = Deutsch name.english = German name.babel = german @@ -146,7 +146,7 @@ time.short = [HH]:[mm] [typography] frenchspacing = yes -hyphenrules = german +hyphenrules = ngerman lefthyphenmin = 2 righthyphenmin = 2 hyphenchar = diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-austria-traditional.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-austria-traditional.tex new file mode 100644 index 00000000000..29675547c3f --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-austria-traditional.tex @@ -0,0 +1,12 @@ +% This file is part of babel. For further details see: +% https://www.ctan.org/pkg/babel +\ifx\BabelBeforeIni\undefined + \PackageError{babel}% + {This file is a component of babel and cannot\MessageBreak + be loaded directly. I'll stop immediately}% + {Just use babel as documented.}% + \stop +\fi +\BabelBeforeIni{de-AT-1901}{% +} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-switzerland-traditional.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-switzerland-traditional.tex new file mode 100644 index 00000000000..735c8b23af5 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-switzerland-traditional.tex @@ -0,0 +1,12 @@ +% This file is part of babel. For further details see: +% https://www.ctan.org/pkg/babel +\ifx\BabelBeforeIni\undefined + \PackageError{babel}% + {This file is a component of babel and cannot\MessageBreak + be loaded directly. I'll stop immediately}% + {Just use babel as documented.}% + \stop +\fi +\BabelBeforeIni{de-CH-1901}{% +} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-traditional.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-traditional.tex new file mode 100644 index 00000000000..7a2744a93a6 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-german-traditional.tex @@ -0,0 +1,12 @@ +% This file is part of babel. For further details see: +% https://www.ctan.org/pkg/babel +\ifx\BabelBeforeIni\undefined + \PackageError{babel}% + {This file is a component of babel and cannot\MessageBreak + be loaded directly. I'll stop immediately}% + {Just use babel as documented.}% + \stop +\fi +\BabelBeforeIni{de-1901}{% +} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-naustrian.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-naustrian.tex new file mode 100644 index 00000000000..8fb22b4c450 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-naustrian.tex @@ -0,0 +1,4 @@ +% This file is part of babel. For further details see: +% https://www.ctan.org/pkg/babel +\input{babel-german-austria} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex b/Master/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex new file mode 100644 index 00000000000..94521c32c9c --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex @@ -0,0 +1,4 @@ +% This file is part of babel. For further details see: +% https://www.ctan.org/pkg/babel +\input{babel-german} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini b/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini index 95f871fbcdd..a2040c0d60f 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ii/babel-ii.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.0 -date = 2017-09-01 +version = 1.1 +date = 2020-01-20 name.local = ꆈꌠꉙ name.english = Sichuan Yi name.babel = sichuanyi @@ -142,6 +142,8 @@ exhyphenchar = preexhyphenchar = postexhyphenchar = hyphenationmin = +intraspace = 0 .1 0 +linebreaking = c [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini index bab79c73c73..b8bd33581d2 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ja/babel-ja.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.1 -date = 2019-05-05 +version = 1.2 +date = 2020-01-20 name.local = 日本語 name.english = Japanese name.babel = japanese @@ -143,6 +143,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c [characters] delimiters.quotes = 「」『』 diff --git a/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini b/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini index e1982e22111..d266c9f9a61 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/km/babel-km.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2018-10-02 +version = 1.4 +date = 2020-01-20 name.local = ខ្មែរ name.english = Khmer name.babel = khmer @@ -145,6 +145,7 @@ postexhyphenchar = hyphenationmin = justify = s intraspace = 0 .1 0 +linebreaking = s [characters] ranges = 1780..17FF diff --git a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini index d4af85d2f88..e0cb7af8000 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/ko/babel-ko.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-10-30 +version = 1.3 +date = 2020-01-20 name.local = 한국어 name.english = Korean name.babel = korean @@ -144,6 +144,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini b/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini index 885852cb907..87789e09b6b 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/lo/babel-lo.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2018-10-02 +version = 1.4 +date = 2020-01-20 name.local = ລາວ name.english = Lao name.babel = lao @@ -122,6 +122,7 @@ postexhyphenchar = hyphenationmin = justify = s intraspace = 0 .1 0 +linebreaking = s [characters] ranges = 0E80..0EFF diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini index 55b3ab3d380..1bdcb7d29d1 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Beng.ini @@ -11,10 +11,10 @@ [identification] charset = utf8 -version = 0.5 -date = 2018-05-21 +version = 0.6 +date = 2020-01-29 name.english = Sanskrit -name.babel.0 = sanskrit +name.babel = sanskrit tag.bcp47 = sa tag.opentype = SAN script.name = Bengali diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini index 75391386ccc..e1182550b7e 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Deva.ini @@ -11,10 +11,10 @@ [identification] charset = utf8 -version = 0.5 -date = 2018-05-21 +version = 0.6 +date = 2020-01-29 name.english = Sanskrit -name.babel.0 = sanskrit +name.babel = sanskrit tag.bcp47 = sa tag.opentype = SAN script.name = Devanagari diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini index f4974a4c47c..f031e9820e1 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Gujr.ini @@ -11,10 +11,10 @@ [identification] charset = utf8 -version = 0.5 -date = 2018-05-21 +version = 0.6 +date = 2020-01-29 name.english = Sanskrit -name.babel.0 = sanskrit +name.babel = sanskrit tag.bcp47 = sa tag.opentype = SAN script.name = Gujarati diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini index 58c610110fb..7e1766e0846 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Knda.ini @@ -11,10 +11,10 @@ [identification] charset = utf8 -version = 0.5 -date = 2018-05-21 +version = 0.6 +date = 2020-01-29 name.english = Sanskrit -name.babel.0 = sanskrit +name.babel = sanskrit tag.bcp47 = sa tag.opentype = SAN script.name = Kannada diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini index 12cee73cbb0..40596e49e25 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Mlym.ini @@ -11,10 +11,10 @@ [identification] charset = utf8 -version = 0.5 -date = 2018-05-21 +version = 0.6 +date = 2020-01-29 name.english = Sanskrit -name.babel.0 = sanskrit +name.babel = sanskrit tag.bcp47 = sa tag.opentype = SAN script.name = Malayalam diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini index c52cffdc229..b7f1861a645 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa-Telu.ini @@ -11,10 +11,10 @@ [identification] charset = utf8 -version = 0.5 -date = 2018-05-21 +version = 0.6 +date = 2020-01-29 name.english = Sanskrit -name.babel.0 = sanskrit +name.babel = sanskrit tag.bcp47 = sa tag.opentype = SAN script.name = Telugu diff --git a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini index 75391386ccc..e1182550b7e 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/sa/babel-sa.ini @@ -11,10 +11,10 @@ [identification] charset = utf8 -version = 0.5 -date = 2018-05-21 +version = 0.6 +date = 2020-01-29 name.english = Sanskrit -name.babel.0 = sanskrit +name.babel = sanskrit tag.bcp47 = sa tag.opentype = SAN script.name = Devanagari diff --git a/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini b/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini index 9762713b1e0..2fe1cabc751 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/th/babel-th.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2018-09-07 +version = 1.3 +date = 2020-01-20 name.local = ไทย name.english = Thai name.babel = thai @@ -160,6 +160,7 @@ postexhyphenchar = hyphenationmin = justify = s intraspace = 0 .1 0 +linebreaking = s [characters] ranges = 0E00..0E7F diff --git a/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini b/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini index c3c8caa7d81..c7f14c1f15d 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/yue/babel-yue.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2020-01-20 name.local = 粵語 name.english = Cantonese name.babel = cantonese @@ -144,6 +144,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c [characters] delimiters.quotes = 「」『』 diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini index 2b20813dd34..8d0578a3ac2 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-HK.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Simplified @@ -149,6 +149,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c opentype.features = +smpl [characters] diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini index 73f0f0aacaa..12483536fb5 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-MO.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Simplified @@ -149,6 +149,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c opentype.features = +smpl [characters] diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini index 0a9219ded17..59cddd20671 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans-SG.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Simplified @@ -149,6 +149,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c opentype.features = +smpl [characters] diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini index cf872c7feb9..6a634e1a658 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hans.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Simplified @@ -146,6 +146,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c opentype.features = +smpl [characters] diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini index 0f009770bd2..c2a9a3ec321 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-HK.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Traditional @@ -149,6 +149,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c opentype.features = +trad [characters] diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini index ffdc6874a28..1f6432c7765 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant-MO.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Traditional @@ -149,6 +149,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c opentype.features = +trad [characters] diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini index ed0139a5ce9..de89382ef77 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh-Hant.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Traditional @@ -146,6 +146,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c opentype.features = +trad [characters] diff --git a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini index 0b7e4b7efc0..d8d4b236daa 100644 --- a/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini +++ b/Master/texmf-dist/tex/generic/babel/locale/zh/babel-zh.ini @@ -11,8 +11,8 @@ [identification] charset = utf8 -version = 1.3 -date = 2019-10-30 +version = 1.4 +date = 2020-01-20 name.local = 中文 name.english = Chinese name.opentype = Chinese Simplified @@ -145,6 +145,7 @@ preexhyphenchar = postexhyphenchar = hyphenationmin = intraspace = 0 .1 0 +linebreaking = c [characters] delimiters.quotes = “”‘’ diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def index 43f8982568b..e926e10eabf 100644 --- a/Master/texmf-dist/tex/generic/babel/luababel.def +++ b/Master/texmf-dist/tex/generic/babel/luababel.def @@ -7,7 +7,7 @@ %% babel.dtx (with options: `luatex') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -489,7 +489,7 @@ \def\bbl@provide@intraspace{% \bbl@ifunset{bbl@intsp@\languagename}{}% {\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else - \bbl@xin@{\bbl@cs{sbcp@\languagename}}{Hant,Hans,Jpan,Kore,Kana}% + \bbl@xin@{\bbl@cs{lnbrk@\languagename}}{c}% \ifin@ % cjk \bbl@cjkintraspace \directlua{ @@ -554,6 +554,12 @@ \bbl@trace{Font handling with fontspec} \@onlypreamble\babelfont \newcommand\babelfont[2][]{% 1=langs/scripts 2=fam + \bbl@foreach{#1}{% + \expandafter\ifx\csname date##1\endcsname\relax + \IfFileExists{babel-##1.tex}% + {\babelprovide{##1}}% + {}% + \fi}% \edef\bbl@tempa{#1}% \def\bbl@tempb{#2}% Used by \bbl@bblfont \ifx\fontspec\@undefined @@ -750,7 +756,7 @@ Babel.script_blocks = { {0x2B740, 0x2B81F}, {0x2B820, 0x2CEAF}, {0x2CEB0, 0x2EBEF}, {0x2F800, 0x2FA1F}}, ['Hebr'] = {{0x0590, 0x05FF}}, - ['Japa'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF}, + ['Jpan'] = {{0x3000, 0x303F}, {0x3040, 0x309F}, {0x30A0, 0x30FF}, {0x4E00, 0x9FAF}, {0xFF00, 0xFFEF}}, ['Khmr'] = {{0x1780, 0x17FF}, {0x19E0, 0x19FF}}, ['Knda'] = {{0x0C80, 0x0CFF}}, @@ -772,10 +778,11 @@ Babel.script_blocks = { ['Thai'] = {{0x0E00, 0x0E7F}}, ['Tibt'] = {{0x0F00, 0x0FFF}}, ['Vaii'] = {{0xA500, 0xA63F}}, - ['Yiii']= {{0xA490, 0xA4CF}, {0xA000, 0xA48F}} + ['Yiii'] = {{0xA000, 0xA48F}, {0xA490, 0xA4CF}} } Babel.script_blocks.Hant = Babel.script_blocks.Hans +Babel.script_blocks.Kana = Babel.script_blocks.Jpan function Babel.locale_map(head) if not Babel.locale_mapped then return head end @@ -801,7 +808,7 @@ function Babel.locale_map(head) end end % Now, take action - if toloc then + if toloc and toloc > -1 then if Babel.locale_props[toloc].lg then item.lang = Babel.locale_props[toloc].lg node.set_attribute(item, LOCALE, toloc) @@ -860,6 +867,12 @@ end Babel.Babel.cjk_characters[\the\count@]['c'] = '#1' }} \let\bbl@chprop@lb\bbl@chprop@linebreak +\def\bbl@chprop@locale#1{% + \directlua{ + Babel.chr_to_loc = Babel.chr_to_loc or {} + Babel.chr_to_loc[\the\count@] = + \bbl@ifblank{#1}{-1000}{\the\@nameuse{bbl@id@@#1}}\space + }} \begingroup \catcode`\#=12 \catcode`\%=12 @@ -1029,16 +1042,44 @@ end return head end - &% Used below + &% The following functions belong to the next macro + + &% This table stores capture maps, numbered consecutively + Babel.capture_maps = {} + function Babel.capture_func(key, cap) local ret = "[[" .. cap:gsub('{([0-9])}', "]]..m[%1]..[[") .. "]]" + ret = ret:gsub('{([0-9])|([^|]+)|(.-)}', Babel.capture_func_map) ret = ret:gsub("%[%[%]%]%.%.", '') ret = ret:gsub("%.%.%[%[%]%]", '') return key .. [[=function(m) return ]] .. ret .. [[ end]] end + + function Babel.capt_map(from, mapno) + return Babel.capture_maps[mapno][from] or from + end + + &% Handle the {n|abc|ABC} syntax in captures + function Babel.capture_func_map(capno, from, to) + local froms = {} + for s in string.utfcharacters(from) do + table.insert(froms, s) + end + local cnt = 1 + table.insert(Babel.capture_maps, {}) + local mlen = table.getn(Babel.capture_maps) + for s in string.utfcharacters(to) do + Babel.capture_maps[mlen][froms[cnt]] = s + cnt = cnt + 1 + end + return "]]..Babel.capt_map(m[" .. capno .. "]," .. + (mlen) .. ").." .. "[[" + end + } \catcode`\#=6 \gdef\babelposthyphenation#1#2#3{&% + \bbl@activateposthyphen \begingroup \def\babeltempa{\bbl@add@list\babeltempb}&% \let\babeltempb\@empty @@ -1071,6 +1112,11 @@ end }&% \endgroup} \endgroup +\def\bbl@activateposthyphen{% + \let\bbl@activateposthyphen\relax + \directlua{ + Babel.linebreaking.add_after(Babel.post_hyphenate_replace) + }} \bbl@trace{Redefinitions for bidi layout} \ifx\@eqnnum\@undefined\else \ifx\bbl@attr@dir\@undefined\else diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf index 1a3d6712af7..9d827bb7704 100644 --- a/Master/texmf-dist/tex/generic/babel/nil.ldf +++ b/Master/texmf-dist/tex/generic/babel/nil.ldf @@ -7,7 +7,7 @@ %% babel.dtx (with options: `nil') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -32,7 +32,7 @@ %% extension |.ins|) which are part of the distribution. %% -\ProvidesLanguage{nil}[2020/01/15 3.38 Nil language] +\ProvidesLanguage{nil}[2020/02/03 3.39 Nil language] \LdfInit{nil}{datenil} \ifx\l@nil\@undefined \newlanguage\l@nil diff --git a/Master/texmf-dist/tex/generic/babel/plain.def b/Master/texmf-dist/tex/generic/babel/plain.def index a1fc1e47094..cba847617b0 100644 --- a/Master/texmf-dist/tex/generic/babel/plain.def +++ b/Master/texmf-dist/tex/generic/babel/plain.def @@ -7,7 +7,7 @@ %% babel.dtx (with options: `plain') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def index 0f343001fb3..2e09a082a31 100644 --- a/Master/texmf-dist/tex/generic/babel/switch.def +++ b/Master/texmf-dist/tex/generic/babel/switch.def @@ -7,7 +7,7 @@ %% babel.dtx (with options: `kernel') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -37,7 +37,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{switch.def}[2020/01/15 3.38 Babel switching mechanism] +\ProvidesFile{switch.def}[2020/02/03 3.39 Babel switching mechanism] \ifx\AtBeginDocument\@undefined \input plain.def\relax \fi @@ -58,8 +58,8 @@ \countdef\last@language=19 \def\addlanguage{\alloc@9\language\chardef\@cclvi} \fi -\def\bbl@version{3.38} -\def\bbl@date{2020/01/15} +\def\bbl@version{3.39} +\def\bbl@date{2020/02/03} \def\adddialect#1#2{% \global\chardef#1#2\relax \bbl@usehooks{adddialect}{{#1}{#2}}% @@ -146,7 +146,6 @@ \edef\languagename{% \ifnum\escapechar=\expandafter`\string#1\@empty \else\string#1\@empty\fi}% - % \@namedef{bbl@lcname@#1}{#1}% \select@language{\languagename}% % write to auxs \expandafter\ifx\csname date\languagename\endcsname\relax\else @@ -163,8 +162,13 @@ % set name \edef\languagename{#1}% \bbl@fixname\languagename + \expandafter\ifx\csname date\languagename\endcsname\relax + \IfFileExists{babel-\languagename.tex}% + {\babelprovide{\languagename}}% + {}% + \fi \bbl@iflanguage\languagename{% - \expandafter\ifx\csname date\languagename\endcsname\relax + \expandafter\ifx\csname date\languagename\endcsname\relax \bbl@error {Unknown language `#1'. Either you have\\% misspelled its name, it has not been installed,\\% @@ -301,8 +305,12 @@ \def\foreign@language#1{% % set name \edef\languagename{#1}% - % \@namedef{bbl@lcname@#1}{#1}% \bbl@fixname\languagename + \expandafter\ifx\csname date\languagename\endcsname\relax + \IfFileExists{babel-\languagename.tex}% + {\babelprovide{\languagename}}% + {}% + \fi \bbl@iflanguage\languagename{% \expandafter\ifx\csname date\languagename\endcsname\relax \bbl@warning % TODO - why a warning, not an error? @@ -396,6 +404,7 @@ \let\uselocale\setlocale \let\locale\setlocale \let\selectlocale\setlocale +\let\localename\setlocale \let\textlocale\setlocale \let\textlanguage\setlocale \let\languagetext\setlocale diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def index 88bb8a1f627..9f7b0550311 100644 --- a/Master/texmf-dist/tex/generic/babel/txtbabel.def +++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def @@ -7,7 +7,7 @@ %% babel.dtx (with options: `texxet') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def index 9150aadd477..def3d33137f 100644 --- a/Master/texmf-dist/tex/generic/babel/xebabel.def +++ b/Master/texmf-dist/tex/generic/babel/xebabel.def @@ -7,7 +7,7 @@ %% babel.dtx (with options: `xetex') %% %% -%% Copyright (C) 2012-2019 Javier Bezos and Johannes L. Braams. +%% Copyright (C) 2012-2020 Javier Bezos and Johannes L. Braams. %% Copyright (C) 1989-2012 Johannes L. Braams and %% any individual authors listed elsewhere in this file. %% All rights reserved. @@ -113,6 +113,12 @@ \bbl@trace{Font handling with fontspec} \@onlypreamble\babelfont \newcommand\babelfont[2][]{% 1=langs/scripts 2=fam + \bbl@foreach{#1}{% + \expandafter\ifx\csname date##1\endcsname\relax + \IfFileExists{babel-##1.tex}% + {\babelprovide{##1}}% + {}% + \fi}% \edef\bbl@tempa{#1}% \def\bbl@tempb{#2}% Used by \bbl@bblfont \ifx\fontspec\@undefined |