From e7c52b7fbf07f5e89c3cae711e6ec9752a1e361f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 14 Nov 2019 21:55:14 +0000 Subject: babel (14nov19) git-svn-id: svn://tug.org/texlive/trunk@52794 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/babel/README.md | 10 +- Master/texmf-dist/doc/latex/babel/babel.pdf | Bin 702531 -> 723535 bytes Master/texmf-dist/source/latex/babel/babel.dtx | 280 ++++++++++++++++----- Master/texmf-dist/source/latex/babel/babel.ins | 2 +- Master/texmf-dist/source/latex/babel/bbcompat.dtx | 2 +- Master/texmf-dist/source/latex/babel/locale.zip | Bin 710458 -> 713940 bytes .../tex/generic/babel/babel-data-bidi.lua | 2 - Master/texmf-dist/tex/generic/babel/babel.def | 127 +++++++--- Master/texmf-dist/tex/generic/babel/babel.sty | 2 +- Master/texmf-dist/tex/generic/babel/hyphen.cfg | 2 +- .../generic/babel/locale/el/babel-el-polyton.ini | 180 +++++++++++++ .../babel/locale/el/babel-polytonicgreek.tex | 12 + .../tex/generic/babel/locale/ko/babel-ko.ini | 5 +- .../generic/babel/locale/zh/babel-zh-Hans-HK.ini | 6 +- .../generic/babel/locale/zh/babel-zh-Hans-MO.ini | 6 +- .../generic/babel/locale/zh/babel-zh-Hans-SG.ini | 7 +- .../tex/generic/babel/locale/zh/babel-zh-Hans.ini | 6 +- .../generic/babel/locale/zh/babel-zh-Hant-HK.ini | 8 +- .../generic/babel/locale/zh/babel-zh-Hant-MO.ini | 8 +- .../tex/generic/babel/locale/zh/babel-zh-Hant.ini | 8 +- .../tex/generic/babel/locale/zh/babel-zh.ini | 7 +- Master/texmf-dist/tex/generic/babel/luababel.def | 8 +- Master/texmf-dist/tex/generic/babel/nil.ldf | 5 +- Master/texmf-dist/tex/generic/babel/switch.def | 17 +- Master/texmf-dist/tex/generic/babel/txtbabel.def | 2 +- .../texmf-dist/tex/generic/babel/xe-polygreek.tex | 79 ++++++ Master/texmf-dist/tex/generic/babel/xebabel.def | 2 +- 27 files changed, 656 insertions(+), 137 deletions(-) create mode 100644 Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini create mode 100644 Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex create mode 100644 Master/texmf-dist/tex/generic/babel/xe-polygreek.tex (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/babel/README.md b/Master/texmf-dist/doc/latex/babel/README.md index d0aa4349451..1052b9b40b4 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.35 +## Babel 3.36 This package manages culturally-determined typographical (and other) rules, and hyphenation patterns for a wide range of languages. Many @@ -51,6 +51,14 @@ respective authors. ### Latest changes ``` +3.36 2019-11-14 + - New - \babeladjust, with options: bidi.text, bidi.mirroring, + bidi.mapdigits, layout.tabular, layout.lists, linebreak.sea, + linebreak.cjk. There are still some limitations. + - New - ini for Polytonic Greek, thanks to Claudio Beccari. + - Fix - Language and script set for Chinese Tradicional and + Chinese Simplified. + 3.35 2019-10-15 - \markboth and \markright made robust with a recent LaTeX. - Shorthands work in bibs and refs even with safe=none. diff --git a/Master/texmf-dist/doc/latex/babel/babel.pdf b/Master/texmf-dist/doc/latex/babel/babel.pdf index fe5f5e86d2e..f1eafff046b 100644 Binary files a/Master/texmf-dist/doc/latex/babel/babel.pdf and b/Master/texmf-dist/doc/latex/babel/babel.pdf differ diff --git a/Master/texmf-dist/source/latex/babel/babel.dtx b/Master/texmf-dist/source/latex/babel/babel.dtx index 398c5e4ae3b..7c64648ee51 100644 --- a/Master/texmf-dist/source/latex/babel/babel.dtx +++ b/Master/texmf-dist/source/latex/babel/babel.dtx @@ -31,7 +31,7 @@ % % \iffalse %<*filedriver> -\ProvidesFile{babel.dtx}[2019/10/15 v3.35 The Babel package] +\ProvidesFile{babel.dtx}[2019/11/14 v3.36 The Babel package] \documentclass{ltxdoc} \GetFileInfo{babel.dtx} \usepackage{fontspec} @@ -1235,16 +1235,14 @@ for auxiliary tasks). \end{verbatim} \endgroup Khemer clusters are rendered wrongly. -\item[East Asia scripts] Internal inconsistencies in script and - language names must be sorted out, so you may need to set them - explicitly in |\babelfont|, as well as |CJKShape|. \luatex{} does - basic line breaking, but currently \xetex{} does not (you may load - \textsf{zhspacing}). Although for a few words and shorts texts the - |ini| files should be fine, CJK texts are are best set with a - dedicated framework (\textsf{CJK}, \textsf{luatexja}, \textsf{kotex}, - \textsf{CTeX}...), . Actually, this is what the |ldf| does in - |japanese| with \luatex, because the following piece of code loads - \textsf{luatexja}: +\item[East Asia scripts] Settings for either Simplified of Tradicional +should work out of the box. \luatex{} does basic line breaking, but +currently \xetex{} does not (you may load \textsf{zhspacing}). Although +for a few words and shorts texts the |ini| files should be fine, CJK +texts are best set with a dedicated framework (\textsf{CJK}, +\textsf{luatexja}, \textsf{kotex}, \textsf{CTeX}, etc.). Actually, this +is what the |ldf| does in |japanese| with \luatex, because the +following piece of code loads \textsf{luatexja}: \begin{verbatim} \documentclass{ltjbook} \usepackage[japanese]{babel} @@ -2080,11 +2078,18 @@ existing language, too, as explained in the previous subsection). \Describe{\babelprovide}{\oarg{options}\marg{language-name}} -If the language |\marg{language-name}| has not been defined and there -are no options, it creates an “empty” one in the following way: defines -the internal structure of the language with some defaults: the hyphen -rules, if not available, are set to the current ones, left and right -hyphen mins are set to 2 and 3, but captions and date are not defined. +If the language \m{language-name} has not been loaded as class or +package option and there are no \m{options}, it creates an “empty” one +with some defaults in its internal structure: the hyphen rules, if not +available, are set to the current ones, left and right hyphen mins are +set to 2 and 3. In either case, caption, date and language system are +not defined. + +If no |ini| file is imported with |import|, \m{language-name} is +relevant because in such a case the hyphenation rules are based on it +as provided in the |ini| file corresponding to that name; the same +applies to OpenType language and script. + Conveniently, some options allow to fill the language, and \babel{} warns you about what to do if there is a missing string. Very likely you will find alerts like that in the |log| file: @@ -2213,8 +2218,8 @@ be added.} So, there should be at most 3 directives of this kind. Sets the interword space for the writing system of the language, in em units (so, |0 .1 0| is |0em plus .1em|). Like |\spaceskip|, the em unit applied is that of the current text (more precisely, the previous -glyph). Currently used only in Southeast Asian scrips, like Thai. -Requires |import|. +glyph). Currently used only in Southeast Asian scrips, like Thai, and +CJK. Requires |import|. \Describe{intrapenalty=}{\meta{penalty}} Sets the interword penalty for the writing system of this language. @@ -2995,7 +3000,7 @@ to set them for glyphs in the PUA). 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. - + For example: \begin{verbatim} \babelcharproperty{`¿}{mirror}{`?} @@ -3006,6 +3011,21 @@ For example: This command is allowed only in vertical mode (the preamble or between paragraphs). +\subsection{Tweaking some features} + +\Describe{\babeladjust}{\marg{key-value-list}} + +\New{3.36} Sometimes you might need to disable some \babel{} features. +Currently this macro understands the following keys (and only for +\textsf{luatex}), with values |on| or |off|: |bidi.text|, +|bidi.mirroring|, |bidi.mapdigits|, |layout.lists|, |layout.tabular|, +|linebreak.sea|, |linebreak.cjk|. For example, you can set +|\babeladjust{bidi.text=off}| if you are using an alternative algorithm +or with large sections not requiring it. With \textsf{luahbtex} you may +need |bidi.mirroring=off|. Use with care, because these options do not +deactivate other related options (like paragraph direction with +|bidi.text|). + \subsection{Tips, workarounds, known issues and notes} \begin{itemize} @@ -3151,6 +3171,16 @@ So, for example: \babelFSfeatures{turkish}{Language=Turkish} \end{verbatim} +\medskip +\textbf{Modifying values of |ini| files} + +\New{3.36} 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). The syntax may change, and currently it only +redefines existing keys. + \section{Loading languages with \file{language.dat}} \TeX{} and most engines based on it (pdf\TeX, \xetex, $\epsilon$-\TeX, @@ -4073,8 +4103,8 @@ help from Bernd Raichle, for which I am grateful. % \section{Tools} % % \begin{macrocode} -%<> -%<> +%<> +%<> % \end{macrocode} % % \textbf{Do not use the following macros in \texttt{ldf} files. They @@ -5665,11 +5695,9 @@ help from Bernd Raichle, for which I am grateful. \bbl@usehooks{beforestart}{}% \global\let\bbl@beforestart\relax} \AtBeginDocument{% - \bbl@beforestart + \@nameuse{bbl@beforestart}% \if@filesw - \immediate\write\@mainaux{% - % \let\string\bbl@nostdfont\string\@gobble - \string\bbl@beforestart}% + \immediate\write\@mainaux{\string\@nameuse{bbl@beforestart}}% \fi \expandafter\selectlanguage\expandafter{\bbl@main@language}% \ifbbl@single % must go after the line above @@ -8075,20 +8103,20 @@ help from Bernd Raichle, for which I am grateful. \let\bbl@KVP@main\@nil \let\bbl@KVP@script\@nil \let\bbl@KVP@language\@nil - \let\bbl@KVP@dir\@nil - \let\bbl@KVP@hyphenrules\@nil + \let\bbl@KVP@hyphenrules\@nil % only for provide@new \let\bbl@KVP@mapfont\@nil \let\bbl@KVP@maparabic\@nil \let\bbl@KVP@mapdigits\@nil \let\bbl@KVP@intraspace\@nil \let\bbl@KVP@intrapenalty\@nil \bbl@forkv{#1}{% TODO - error handling - \in@{/}{##1}% + \in@{..}{##1}% \ifin@ \bbl@renewinikey##1\@@{##2}% \else \bbl@csarg\def{KVP@##1}{##2}% \fi}% + % == import, captions == \ifx\bbl@KVP@import\@nil\else \bbl@exp{\\\bbl@ifblank{\bbl@KVP@import}}% {\begingroup @@ -8121,28 +8149,32 @@ help from Bernd Raichle, for which I am grateful. % At this point all parameters are defined if 'import'. Now we % execute some code depending on them. But what about if nothing was % imported? We just load the very basic parameters: ids and a few - % more. + % more. \bbl@ifunset{bbl@lname@#2}% {\def\BabelBeforeIni##1##2{% \begingroup \catcode`\[=12 \catcode`\]=12 \catcode`\==12 % \let\bbl@ini@captions@aux\@gobbletwo \def\bbl@inidate ####1.####2.####3.####4\relax ####5####6{}% - \bbl@read@ini{##1}% + \bbl@read@ini{##1}{basic data}% \bbl@exportkey{chrng}{characters.ranges}{}% \bbl@exportkey{dgnat}{numbers.digits.native}{}% + % \bbl@exportkey{hyphr}{typography.hyphenrules}{}% + % \bbl@exportkey{intsp}{typography.intraspace}{}% \endgroup}% boxed, to avoid extra spaces: {\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}% {}% % - - % Override script and language names with script= and language= + % == script, language == + % Override the values from ini or defines them \ifx\bbl@KVP@script\@nil\else \bbl@csarg\edef{sname@#2}{\bbl@KVP@script}% \fi \ifx\bbl@KVP@language\@nil\else \bbl@csarg\edef{lname@#2}{\bbl@KVP@language}% \fi - % For bidi texts, to switch the language based on direction + % == mapfont == + % For bidi texts, to switch the font based on direction \ifx\bbl@KVP@mapfont\@nil\else \bbl@ifsamestring{\bbl@KVP@mapfont}{direction}{}% {\bbl@error{Option `\bbl@KVP@mapfont' unknown for\\% @@ -8167,15 +8199,16 @@ help from Bernd Raichle, for which I am grateful. \fi \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}% \fi - % For East Asian, Southeast Asian, if interspace in ini - TODO: as hook? - \ifx\bbl@KVP@intraspace\@nil\else % We may override the ini + % == intraspace, intrapenalty == + % For CJK, East Asian, Southeast Asian, if interspace in ini + \ifx\bbl@KVP@intraspace\@nil\else % We can override the ini or set \bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}% \fi - \ifcase\bbl@engine\or + \ifcase\bbl@engine\or % lua \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}% - \ifin@ + \ifin@ % cjk \bbl@cjkintraspace \directlua{ Babel = Babel or {} @@ -8186,7 +8219,7 @@ help from Bernd Raichle, for which I am grateful. \ifx\bbl@KVP@intrapenalty\@nil \bbl@intrapenalty0\@@ \fi - \else + \else % sea \bbl@seaintraspace \bbl@exp{\\\bbl@intraspace\bbl@cs{intsp@\languagename}\\\@@}% \directlua{ @@ -8203,9 +8236,9 @@ help from Bernd Raichle, for which I am grateful. \ifx\bbl@KVP@intrapenalty\@nil\else \expandafter\bbl@intrapenalty\bbl@KVP@intrapenalty\@@ \fi}% - \or + \or % xe \bbl@xin@{\bbl@cs{sbcp@\languagename}}{Thai,Laoo,Khmr}% - \ifin@ + \ifin@ % sea (currently ckj not handled) \bbl@ifunset{bbl@intsp@\languagename}{}% {\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else \ifx\bbl@KVP@intraspace\@nil @@ -8230,6 +8263,7 @@ help from Bernd Raichle, for which I am grateful. \fi}% \fi \fi + % == maparabic == % Native digits, if provided in ini (TeX level, xe and lua) \ifcase\bbl@engine\else \bbl@ifunset{bbl@dgnat@\languagename}{}% @@ -8247,6 +8281,7 @@ help from Bernd Raichle, for which I am grateful. \fi \fi}% \fi + % == mapdigits == % Native digits (lua level). \ifodd\bbl@engine \ifx\bbl@KVP@mapdigits\@nil\else @@ -8283,6 +8318,7 @@ help from Bernd Raichle, for which I am grateful. }} \fi \fi + % == require.babel in ini == % To load or reaload the babel-*.tex, if require.babel in ini \bbl@ifunset{bbl@rqtex@\languagename}{}% {\expandafter\ifx\csname bbl@rqtex@\languagename\endcsname\@empty\else @@ -8293,6 +8329,7 @@ help from Bernd Raichle, for which I am grateful. \catcode`\@=\atcatcode \let\atcatcode\relax \fi}% + % == main == \ifx\bbl@KVP@main\@nil % Restore only if not 'main' \let\languagename\bbl@savelangname \chardef\localeid\bbl@savelocaleid\relax @@ -8356,7 +8393,7 @@ help from Bernd Raichle, for which I am grateful. \fi}% \expandafter\bbl@tempb\bbl@captionslist\@empty \else - \bbl@read@ini{\bbl@KVP@captions}% Here all letters cat = 11 + \bbl@read@ini{\bbl@KVP@captions}{data}% Here all letters cat = 11 \bbl@after@ini \bbl@savestrings \fi @@ -8380,7 +8417,7 @@ help from Bernd Raichle, for which I am grateful. \def\bbl@provide@renew#1{% \ifx\bbl@KVP@captions\@nil\else \StartBabelCommands*{#1}{captions}% - \bbl@read@ini{\bbl@KVP@captions}% Here all letters cat = 11 + \bbl@read@ini{\bbl@KVP@captions}{data}% Here all letters cat = 11 \bbl@after@ini \bbl@savestrings \EndBabelCommands @@ -8391,6 +8428,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@savedate \EndBabelCommands \fi + % == hyphenrules == \bbl@provide@hyphens{#1}} % \end{macrocode} % @@ -8442,7 +8480,7 @@ help from Bernd Raichle, for which I am grateful. % key/value pair. \textit{TODO - Work in progress.} % % \begin{macrocode} -\def\bbl@read@ini#1{% +\def\bbl@read@ini#1#2{% \openin1=babel-#1.ini % FIXME - number must not be hardcoded \ifeof1 \bbl@error @@ -8458,11 +8496,12 @@ 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 - \bbl@info{Importing data from babel-#1.ini for \languagename}% + \bbl@info{Importing #2 for \languagename\\% + from babel-#1.ini. Reported}% \loop \if T\ifeof1F\fi T\relax % Trick, because inside \loop \endlinechar\m@ne @@ -8491,12 +8530,14 @@ help from Bernd Raichle, for which I am grateful. \@nameuse{bbl@secpost@\bbl@section}% ends previous section \def\bbl@section{#1}% \def\bbl@elt##1##2{% - \@namedef{bbl@KVP@#1/##1}{}}% + \@namedef{bbl@KVP@#1..##1}{}}% \@nameuse{bbl@renew@#1}% \@nameuse{bbl@secpre@#1}% starts current section \bbl@ifunset{bbl@inikv@#1}% {\let\bbl@inireader\bbl@iniskip}% {\bbl@exp{\let\\\bbl@inireader\}}} +\def\bbl@renewinikey#1..#2\@@#3{% + \bbl@csarg\bbl@add{renew@#1}{\bbl@elt{#2}{#3}}} % \end{macrocode} % % Reads a key=val line and stores the trimmed val in @@ -8527,13 +8568,20 @@ help from Bernd Raichle, for which I am grateful. % the |ini| file. The following macros are the readers for % |identification| and |typography|. % +% \changes{babel~3.36}{2019/10/30}{New fields for CJK, because OpenType +% and the CLDR follow different models.} +% % \begin{macrocode} \let\bbl@inikv@identification\bbl@inikv \def\bbl@secpost@identification{% - \bbl@exportkey{lname}{identification.name.english}{}% + \bbl@ifunset{bbl@@kv@identification.name.opentype}% + {\bbl@exportkey{lname}{identification.name.english}{}}% + {\bbl@exportkey{lname}{identification.name.opentype}{}}% \bbl@exportkey{lbcp}{identification.tag.bcp47}{}% \bbl@exportkey{lotf}{identification.tag.opentype}{dflt}% - \bbl@exportkey{sname}{identification.script.name}{}% + \bbl@ifunset{bbl@@kv@identification.script.name.opentype}% + {\bbl@exportkey{sname}{identification.script.name}{}}% + {\bbl@exportkey{sname}{identification.script.name.opentype}{}}% \bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}% \bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}} \let\bbl@inikv@typography\bbl@inikv @@ -8699,7 +8747,7 @@ help from Bernd Raichle, for which I am grateful. % \begin{macrocode} \def\bbl@provide@lsys#1{% \bbl@ifunset{bbl@lname@#1}% - {\bbl@ini@ids{#1}}% + {\bbl@ini@basic{#1}}% {}% \bbl@csarg\let{lsys@#1}\@empty \bbl@ifunset{bbl@sname@#1}{\bbl@csarg\gdef{sname@#1}{Default}}{}% @@ -8723,18 +8771,79 @@ help from Bernd Raichle, for which I am grateful. % \changes{babel~3.34}{2019/08/05}{Added \cs{endinput}.} % % \begin{macrocode} -\def\bbl@ini@ids#1{% +\def\bbl@ini@basic#1{% \def\BabelBeforeIni##1##2{% \begingroup \bbl@add\bbl@secpost@identification{\closein1 }% \catcode`\[=12 \catcode`\]=12 \catcode`\==12 % - \bbl@read@ini{##1}% - \endinput - \endgroup}% boxed, to avoid extra spaces: + \bbl@read@ini{##1}{font and identification data}% + \endinput % babel- .tex may contain onlypreamble's + \endgroup}% boxed, to avoid extra spaces: {\setbox\z@\hbox{\InputIfFileExists{babel-#1.tex}{}{}}}} -% \end{macrocode} +% \section{Adjusting the Babel bahavior} +% +% \changes{babel~3.36}{2019/10/30}{New macro \cs{babeladjust}} % -% \section{The kernel of Babel (\texttt{babel.def}, only \LaTeX)} +% A generic high level inteface is provided to adjust some global +% and general settings. +% +% \begin{macrocode} +\newcommand\babeladjust[1]{% TODO. Error handling. + \bbl@forkv{#1}{\@nameuse{bbl@ADJ@##1@##2}}} +% +\def\bbl@adjust@lua#1#2{% + \ifvmode + \ifnum\currentgrouplevel=\z@ + \directlua{ Babel.#2 }% + \expandafter\expandafter\expandafter\@gobble + \fi + \fi + {\bbl@error % The error is gobbled if everything went ok. + {Currently, #1 related features can be adjusted only\\% + in the main vertical list.}% + {Maybe things change in the future, but this is what it is.}}} +\@namedef{bbl@ADJ@bidi.mirroring@on}{% + \bbl@adjust@lua{bidi}{mirroring_enabled=true}} +\@namedef{bbl@ADJ@bidi.mirroring@off}{% + \bbl@adjust@lua{bidi}{mirroring_enabled=false}} +\@namedef{bbl@ADJ@bidi.text@on}{% + \bbl@adjust@lua{bidi}{bidi_enabled=true}} +\@namedef{bbl@ADJ@bidi.text@off}{% + \bbl@adjust@lua{bidi}{bidi_enabled=false}} +\@namedef{bbl@ADJ@bidi.mapdigits@on}{% + \bbl@adjust@lua{bidi}{digits_mapped=true}} +\@namedef{bbl@ADJ@bidi.mapdigits@off}{% + \bbl@adjust@lua{bidi}{digits_mapped=false}} +% +\@namedef{bbl@ADJ@linebreak.sea@on}{% + \bbl@adjust@lua{linebreak}{sea_enabled=true}} +\@namedef{bbl@ADJ@linebreak.sea@off}{% + \bbl@adjust@lua{linebreak}{sea_enabled=false}} +\@namedef{bbl@ADJ@linebreak.cjk@on}{% + \bbl@adjust@lua{linebreak}{cjk_enabled=true}} +\@namedef{bbl@ADJ@linebreak.cjk@off}{% + \bbl@adjust@lua{linebreak}{cjk_enabled=false}} +% +\def\bbl@adjust@layout#1{% + \ifvmode + #1% + \expandafter\@gobble + \fi + {\bbl@error % The error is gobbled if everything went ok. + {Currently, layout related features can be adjusted only\\% + in vertical mode.}% + {Maybe things change in the future, but this is what it is.}}} +\@namedef{bbl@ADJ@layout.tabular@on}{% + \bbl@adjust@layout{\let\@tabular\bbl@NL@@tabular}} +\@namedef{bbl@ADJ@layout.tabular@off}{% + \bbl@adjust@layout{\let\@tabular\bbl@OL@@tabular}} +\@namedef{bbl@ADJ@layout.lists@on}{% + \bbl@adjust@layout{\let\list\bbl@NL@list}} +\@namedef{bbl@ADJ@layout.lists@on}{% + \bbl@adjust@layout{\let\list\bbl@OL@list}} +% \end{macrocode} +% +% \section{The kernel of Babel (\texttt{babel.def} for \LaTeX only)} % % \subsection{The redefinition of the style commands} % @@ -9824,13 +9933,25 @@ help from Bernd Raichle, for which I am grateful. % or variant language, for which an already defined hyphenation % table can be used. % +% \changes{babel~3.36}{2019/11/07}{Improved message, now showing the +% language name} +% % \begin{macrocode} \def\bbl@version{<@version@>} \def\bbl@date{<@date@>} \def\adddialect#1#2{% \global\chardef#1#2\relax \bbl@usehooks{adddialect}{{#1}{#2}}% - \wlog{\string#1 = a dialect from \string\language#2}} + \begingroup + \count@#1\relax + \def\bbl@elt##1##2##3##4{% + \ifnum\count@=##2\relax + \bbl@info{\string#1 = using hyphenrules for ##1\\% + (\string\language\the\count@)}% + \def\bbl@elt####1####2####3####4{}% + \fi}% + \bbl@languages + \endgroup} % \end{macrocode} % % \end{macro} @@ -11355,7 +11476,7 @@ help from Bernd Raichle, for which I am grateful. \bbl@ifunset{bbl@##1dflt@}% {\@nameuse{##1family}% \bbl@csarg\gdef{WFF@\f@family}{}% Flag - \bbl@exp{\\\bbl@add\\\bbl@tempa{* \<##1family> / \f@family\\\\% + \bbl@exp{\\\bbl@add\\\bbl@tempa{* \<##1family>= \f@family\\\\% \space\space\fontname\font\\\\}}% \bbl@csarg\xdef{##1dflt@}{\f@family}% \expandafter\xdef\csname ##1default\endcsname{\f@family}}% @@ -11677,7 +11798,7 @@ help from Bernd Raichle, for which I am grateful. \fi \IfBabelLayout{lists} {\bbl@sreplace\list - {\@totalleftmargin\leftmargin}{\@totalleftmargin\bbl@listleftmargin}% + {\@totalleftmargin\leftmargin}{\@totalleftmargin\bbl@listleftmargin}% \def\bbl@listleftmargin{% \ifcase\bbl@thepardir\leftmargin\else\rightmargin\fi}% \ifcase\bbl@engine @@ -12200,7 +12321,7 @@ help from Bernd Raichle, for which I am grateful. for item in node.traverse(head) do if item.id == GLYPH then - + local lang = item.lang local LOCALE = node.get_attribute(item, @@ -12441,15 +12562,17 @@ help from Bernd Raichle, for which I am grateful. \IfBabelLayout{tabular} {\let\bbl@OL@@tabular\@tabular \bbl@replace\@tabular{$}{\bbl@nextfake$}% - \let\bbl@tabular\@tabular + \let\bbl@NL@@tabular\@tabular \AtBeginDocument{% - \ifx\bbl@tabular\@tabular\else + \ifx\bbl@NL@@tabular\@tabular\else \bbl@replace\@tabular{$}{\bbl@nextfake$}% + \let\bbl@NL@@tabular\@tabular \fi}} {} \IfBabelLayout{lists} {\let\bbl@OL@list\list \bbl@sreplace\list{\parshape}{\bbl@listparshape}% + \let\bbl@NL@list\list \def\bbl@listparshape#1#2#3{% \parshape #1 #2 #3 % \ifnum\bbl@getluadir{page}=\bbl@getluadir{par}\else @@ -12540,8 +12663,20 @@ help from Bernd Raichle, for which I am grateful. % are `on'.} % % The file \textsf{babel-data-bidi.lua} currently only contains data. It is -% a large and boring file and it's not shown here. See the generated -% file. +% a large and boring file and it is not shown here (see the generated file), +% but here is a sample: +%\begin{verbatim} +% [0x25]={d='et'}, +% [0x26]={d='on'}, +% [0x27]={d='on'}, +% [0x28]={d='on', m=0x29}, +% [0x29]={d='on', m=0x28}, +% [0x2A]={d='on'}, +% [0x2B]={d='es'}, +% [0x2C]={d='cs'}, +%\end{verbatim} +% For the meaning of these codes, see the Unicode standard. +% %\iffalse % \begin{macrocode} %<*bididata> @@ -12549,8 +12684,6 @@ help from Bernd Raichle, for which I am grateful. Babel = Babel or {} --- TODO: merge ranges into characters, as meta index - Babel.ranges={ {0x0590, 0x05FF, 'r'}, {0x0600, 0x07BF, 'al'}, @@ -18650,7 +18783,7 @@ Babel.characters={ % \end{quote} % % Well, it took me some time to guess what the batch rules in UAX\#9 -% actually mean (in other word, \textit{what} they do and\textit{why}, +% actually mean (in other word, \textit{what} they do and \textit{why}, % and not only \textit{how}), but I think (or I hope) I've managed to % understand them. % @@ -19335,7 +19468,18 @@ end % % \section{Data for CJK} % -% It is a boring file and it's not shown here. See the generated file. +% It is a boring file and it is not shown here (see the generated file), +% but here is a sample: +%\begin{verbatim} +% [0x0021]={c='ex'}, +% [0x0024]={c='pr'}, +% [0x0025]={c='po'}, +% [0x0028]={c='op'}, +% [0x0029]={c='cp'}, +% [0x002B]={c='pr'}, +%\end{verbatim} +% For the meaning of these codes, see the Unicode standard. +% %\iffalse % \begin{macrocode} %<*cjkdata> @@ -19621,11 +19765,15 @@ Babel.cjk_breaks = { % % \changes{babel-3.32}{2019/05/21}{Don't set it to % \cs{l@nohyphenation}, best reserved fo special uses.} +% \changes{babel~3.36}{2019/10/30}{Add nil to the language list.} % % \begin{macrocode} \ifx\l@nil\@undefined \newlanguage\l@nil \@namedef{bbl@hyphendata@\the\l@nil}{{}{}}% Remove warning + \let\bbl@elt\relax + \edef\bbl@languages{% Add it to the list of languages + \bbl@languages\bbl@elt{nil}{\the\l@nil}{}{}} \fi % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/babel/babel.ins b/Master/texmf-dist/source/latex/babel/babel.ins index f8a7dbbfebe..e12e3c04584 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{2019/10/15} +\def\filedate{2019/11/14} \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 2692f30f20e..ea753554b2a 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}[2019/10/15 v3.35] +\ProvidesFile{bbcompat.dtx}[2019/11/14 v3.36] % % %% File 'bbcompat.dtx' diff --git a/Master/texmf-dist/source/latex/babel/locale.zip b/Master/texmf-dist/source/latex/babel/locale.zip index 07b086828ce..dc16fb6d69d 100644 Binary files a/Master/texmf-dist/source/latex/babel/locale.zip and b/Master/texmf-dist/source/latex/babel/locale.zip differ 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 41eddf3a116..7678d8f9088 100644 --- a/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua +++ b/Master/texmf-dist/tex/generic/babel/babel-data-bidi.lua @@ -36,8 +36,6 @@ Babel = Babel or {} --- TODO: merge ranges into characters, as meta index - Babel.ranges={ {0x0590, 0x05FF, 'r'}, {0x0600, 0x07BF, 'al'}, diff --git a/Master/texmf-dist/tex/generic/babel/babel.def b/Master/texmf-dist/tex/generic/babel/babel.def index 5fe9abb09e7..e5c5d8f6ac6 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.def +++ b/Master/texmf-dist/tex/generic/babel/babel.def @@ -41,7 +41,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{babel.def}[2019/10/15 3.35 Babel common definitions] +\ProvidesFile{babel.def}[2019/11/14 3.36 Babel common definitions] \ifx\AtBeginDocument\@undefined \input plain.def\relax \fi @@ -422,11 +422,9 @@ \bbl@usehooks{beforestart}{}% \global\let\bbl@beforestart\relax} \AtBeginDocument{% - \bbl@beforestart + \@nameuse{bbl@beforestart}% \if@filesw - \immediate\write\@mainaux{% - % \let\string\bbl@nostdfont\string\@gobble - \string\bbl@beforestart}% + \immediate\write\@mainaux{\string\@nameuse{bbl@beforestart}}% \fi \expandafter\selectlanguage\expandafter{\bbl@main@language}% \ifbbl@single % must go after the line above @@ -1384,20 +1382,20 @@ \let\bbl@KVP@main\@nil \let\bbl@KVP@script\@nil \let\bbl@KVP@language\@nil - \let\bbl@KVP@dir\@nil - \let\bbl@KVP@hyphenrules\@nil + \let\bbl@KVP@hyphenrules\@nil % only for provide@new \let\bbl@KVP@mapfont\@nil \let\bbl@KVP@maparabic\@nil \let\bbl@KVP@mapdigits\@nil \let\bbl@KVP@intraspace\@nil \let\bbl@KVP@intrapenalty\@nil \bbl@forkv{#1}{% TODO - error handling - \in@{/}{##1}% + \in@{..}{##1}% \ifin@ \bbl@renewinikey##1\@@{##2}% \else \bbl@csarg\def{KVP@##1}{##2}% \fi}% + % == import, captions == \ifx\bbl@KVP@import\@nil\else \bbl@exp{\\\bbl@ifblank{\bbl@KVP@import}}% {\begingroup @@ -1437,21 +1435,25 @@ \catcode`\[=12 \catcode`\]=12 \catcode`\==12 % \let\bbl@ini@captions@aux\@gobbletwo \def\bbl@inidate ####1.####2.####3.####4\relax ####5####6{}% - \bbl@read@ini{##1}% + \bbl@read@ini{##1}{basic data}% \bbl@exportkey{chrng}{characters.ranges}{}% \bbl@exportkey{dgnat}{numbers.digits.native}{}% + % \bbl@exportkey{hyphr}{typography.hyphenrules}{}% + % \bbl@exportkey{intsp}{typography.intraspace}{}% \endgroup}% boxed, to avoid extra spaces: {\setbox\z@\hbox{\InputIfFileExists{babel-#2.tex}{}{}}}}% {}% % - - % Override script and language names with script= and language= + % == script, language == + % Override the values from ini or defines them \ifx\bbl@KVP@script\@nil\else \bbl@csarg\edef{sname@#2}{\bbl@KVP@script}% \fi \ifx\bbl@KVP@language\@nil\else \bbl@csarg\edef{lname@#2}{\bbl@KVP@language}% \fi - % For bidi texts, to switch the language based on direction + % == mapfont == + % For bidi texts, to switch the font based on direction \ifx\bbl@KVP@mapfont\@nil\else \bbl@ifsamestring{\bbl@KVP@mapfont}{direction}{}% {\bbl@error{Option `\bbl@KVP@mapfont' unknown for\\% @@ -1476,15 +1478,16 @@ \fi \bbl@exp{\\\bbl@add\\\bbl@mapselect{\\\bbl@mapdir{\languagename}}}% \fi - % For East Asian, Southeast Asian, if interspace in ini - TODO: as hook? - \ifx\bbl@KVP@intraspace\@nil\else % We may override the ini + % == intraspace, intrapenalty == + % For CJK, East Asian, Southeast Asian, if interspace in ini + \ifx\bbl@KVP@intraspace\@nil\else % We can override the ini or set \bbl@csarg\edef{intsp@#2}{\bbl@KVP@intraspace}% \fi - \ifcase\bbl@engine\or + \ifcase\bbl@engine\or % lua \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}% - \ifin@ + \ifin@ % cjk \bbl@cjkintraspace \directlua{ Babel = Babel or {} @@ -1495,7 +1498,7 @@ \ifx\bbl@KVP@intrapenalty\@nil \bbl@intrapenalty0\@@ \fi - \else + \else % sea \bbl@seaintraspace \bbl@exp{\\\bbl@intraspace\bbl@cs{intsp@\languagename}\\\@@}% \directlua{ @@ -1512,9 +1515,9 @@ \ifx\bbl@KVP@intrapenalty\@nil\else \expandafter\bbl@intrapenalty\bbl@KVP@intrapenalty\@@ \fi}% - \or + \or % xe \bbl@xin@{\bbl@cs{sbcp@\languagename}}{Thai,Laoo,Khmr}% - \ifin@ + \ifin@ % sea (currently ckj not handled) \bbl@ifunset{bbl@intsp@\languagename}{}% {\expandafter\ifx\csname bbl@intsp@\languagename\endcsname\@empty\else \ifx\bbl@KVP@intraspace\@nil @@ -1539,6 +1542,7 @@ \fi}% \fi \fi + % == maparabic == % Native digits, if provided in ini (TeX level, xe and lua) \ifcase\bbl@engine\else \bbl@ifunset{bbl@dgnat@\languagename}{}% @@ -1556,6 +1560,7 @@ \fi \fi}% \fi + % == mapdigits == % Native digits (lua level). \ifodd\bbl@engine \ifx\bbl@KVP@mapdigits\@nil\else @@ -1592,6 +1597,7 @@ }} \fi \fi + % == require.babel in ini == % To load or reaload the babel-*.tex, if require.babel in ini \bbl@ifunset{bbl@rqtex@\languagename}{}% {\expandafter\ifx\csname bbl@rqtex@\languagename\endcsname\@empty\else @@ -1602,6 +1608,7 @@ \catcode`\@=\atcatcode \let\atcatcode\relax \fi}% + % == main == \ifx\bbl@KVP@main\@nil % Restore only if not 'main' \let\languagename\bbl@savelangname \chardef\localeid\bbl@savelocaleid\relax @@ -1651,7 +1658,7 @@ \fi}% \expandafter\bbl@tempb\bbl@captionslist\@empty \else - \bbl@read@ini{\bbl@KVP@captions}% Here all letters cat = 11 + \bbl@read@ini{\bbl@KVP@captions}{data}% Here all letters cat = 11 \bbl@after@ini \bbl@savestrings \fi @@ -1675,7 +1682,7 @@ \def\bbl@provide@renew#1{% \ifx\bbl@KVP@captions\@nil\else \StartBabelCommands*{#1}{captions}% - \bbl@read@ini{\bbl@KVP@captions}% Here all letters cat = 11 + \bbl@read@ini{\bbl@KVP@captions}{data}% Here all letters cat = 11 \bbl@after@ini \bbl@savestrings \EndBabelCommands @@ -1686,6 +1693,7 @@ \bbl@savedate \EndBabelCommands \fi + % == hyphenrules == \bbl@provide@hyphens{#1}} \def\bbl@provide@hyphens#1{% \let\bbl@tempa\relax @@ -1722,7 +1730,7 @@ {\\\AddBabelHook[\languagename]{babel-prehc-\languagename}{patterns}% {\prehyphenchar=\@nameuse{bbl@prehc@\languagename}\relax}}}% \fi}} -\def\bbl@read@ini#1{% +\def\bbl@read@ini#1#2{% \openin1=babel-#1.ini % FIXME - number must not be hardcoded \ifeof1 \bbl@error @@ -1738,11 +1746,12 @@ \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 - \bbl@info{Importing data from babel-#1.ini for \languagename}% + \bbl@info{Importing #2 for \languagename\\% + from babel-#1.ini. Reported}% \loop \if T\ifeof1F\fi T\relax % Trick, because inside \loop \endlinechar\m@ne @@ -1763,12 +1772,14 @@ \@nameuse{bbl@secpost@\bbl@section}% ends previous section \def\bbl@section{#1}% \def\bbl@elt##1##2{% - \@namedef{bbl@KVP@#1/##1}{}}% + \@namedef{bbl@KVP@#1..##1}{}}% \@nameuse{bbl@renew@#1}% \@nameuse{bbl@secpre@#1}% starts current section \bbl@ifunset{bbl@inikv@#1}% {\let\bbl@inireader\bbl@iniskip}% {\bbl@exp{\let\\\bbl@inireader\}}} +\def\bbl@renewinikey#1..#2\@@#3{% + \bbl@csarg\bbl@add{renew@#1}{\bbl@elt{#2}{#3}}} \def\bbl@inikv#1=#2\@@{% key=value \bbl@trim@def\bbl@tempa{#1}% \bbl@trim\toks@{#2}% @@ -1783,10 +1794,14 @@ \fi}} \let\bbl@inikv@identification\bbl@inikv \def\bbl@secpost@identification{% - \bbl@exportkey{lname}{identification.name.english}{}% + \bbl@ifunset{bbl@@kv@identification.name.opentype}% + {\bbl@exportkey{lname}{identification.name.english}{}}% + {\bbl@exportkey{lname}{identification.name.opentype}{}}% \bbl@exportkey{lbcp}{identification.tag.bcp47}{}% \bbl@exportkey{lotf}{identification.tag.opentype}{dflt}% - \bbl@exportkey{sname}{identification.script.name}{}% + \bbl@ifunset{bbl@@kv@identification.script.name.opentype}% + {\bbl@exportkey{sname}{identification.script.name}{}}% + {\bbl@exportkey{sname}{identification.script.name.opentype}{}}% \bbl@exportkey{sbcp}{identification.script.tag.bcp47}{}% \bbl@exportkey{sotf}{identification.script.tag.opentype}{DFLT}} \let\bbl@inikv@typography\bbl@inikv @@ -1910,7 +1925,7 @@ \bbl@replace@finish@iii\bbl@toreplace} \def\bbl@provide@lsys#1{% \bbl@ifunset{bbl@lname@#1}% - {\bbl@ini@ids{#1}}% + {\bbl@ini@basic{#1}}% {}% \bbl@csarg\let{lsys@#1}\@empty \bbl@ifunset{bbl@sname@#1}{\bbl@csarg\gdef{sname@#1}{Default}}{}% @@ -1919,15 +1934,65 @@ \bbl@ifunset{bbl@lname@#1}{}% {\bbl@csarg\bbl@add@list{lsys@#1}{Language=\bbl@cs{lname@#1}}}% \bbl@csarg\bbl@toglobal{lsys@#1}} -\def\bbl@ini@ids#1{% +\def\bbl@ini@basic#1{% \def\BabelBeforeIni##1##2{% \begingroup \bbl@add\bbl@secpost@identification{\closein1 }% \catcode`\[=12 \catcode`\]=12 \catcode`\==12 % - \bbl@read@ini{##1}% - \endinput - \endgroup}% boxed, to avoid extra spaces: + \bbl@read@ini{##1}{font and identification data}% + \endinput % babel- .tex may contain onlypreamble's + \endgroup}% boxed, to avoid extra spaces: {\setbox\z@\hbox{\InputIfFileExists{babel-#1.tex}{}{}}}} +\newcommand\babeladjust[1]{% TODO. Error handling. + \bbl@forkv{#1}{\@nameuse{bbl@ADJ@##1@##2}}} +\def\bbl@adjust@lua#1#2{% + \ifvmode + \ifnum\currentgrouplevel=\z@ + \directlua{ Babel.#2 }% + \expandafter\expandafter\expandafter\@gobble + \fi + \fi + {\bbl@error % The error is gobbled if everything went ok. + {Currently, #1 related features can be adjusted only\\% + in the main vertical list.}% + {Maybe things change in the future, but this is what it is.}}} +\@namedef{bbl@ADJ@bidi.mirroring@on}{% + \bbl@adjust@lua{bidi}{mirroring_enabled=true}} +\@namedef{bbl@ADJ@bidi.mirroring@off}{% + \bbl@adjust@lua{bidi}{mirroring_enabled=false}} +\@namedef{bbl@ADJ@bidi.text@on}{% + \bbl@adjust@lua{bidi}{bidi_enabled=true}} +\@namedef{bbl@ADJ@bidi.text@off}{% + \bbl@adjust@lua{bidi}{bidi_enabled=false}} +\@namedef{bbl@ADJ@bidi.mapdigits@on}{% + \bbl@adjust@lua{bidi}{digits_mapped=true}} +\@namedef{bbl@ADJ@bidi.mapdigits@off}{% + \bbl@adjust@lua{bidi}{digits_mapped=false}} +\@namedef{bbl@ADJ@linebreak.sea@on}{% + \bbl@adjust@lua{linebreak}{sea_enabled=true}} +\@namedef{bbl@ADJ@linebreak.sea@off}{% + \bbl@adjust@lua{linebreak}{sea_enabled=false}} +\@namedef{bbl@ADJ@linebreak.cjk@on}{% + \bbl@adjust@lua{linebreak}{cjk_enabled=true}} +\@namedef{bbl@ADJ@linebreak.cjk@off}{% + \bbl@adjust@lua{linebreak}{cjk_enabled=false}} +\def\bbl@adjust@layout#1{% + \ifvmode + #1% + \expandafter\@gobble + \fi + {\bbl@error % The error is gobbled if everything went ok. + {Currently, layout related features can be adjusted only\\% + in vertical mode.}% + {Maybe things change in the future, but this is what it is.}}} +\@namedef{bbl@ADJ@layout.tabular@on}{% + \bbl@adjust@layout{\let\@tabular\bbl@NL@@tabular}} +\@namedef{bbl@ADJ@layout.tabular@off}{% + \bbl@adjust@layout{\let\@tabular\bbl@OL@@tabular}} +\@namedef{bbl@ADJ@layout.lists@on}{% + \bbl@adjust@layout{\let\list\bbl@NL@list}} +\@namedef{bbl@ADJ@layout.lists@on}{% + \bbl@adjust@layout{\let\list\bbl@OL@list}} {\def\format{lplain} \ifx\fmtname\format \else diff --git a/Master/texmf-dist/tex/generic/babel/babel.sty b/Master/texmf-dist/tex/generic/babel/babel.sty index 53b77216948..63c7c01ea66 100644 --- a/Master/texmf-dist/tex/generic/babel/babel.sty +++ b/Master/texmf-dist/tex/generic/babel/babel.sty @@ -33,7 +33,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] -\ProvidesPackage{babel}[2019/10/15 3.35 The Babel package] +\ProvidesPackage{babel}[2019/11/14 3.36 The Babel package] \@ifpackagewith{babel}{debug} {\providecommand\bbl@trace[1]{\message{^^J[ #1 ]}}% \let\bbl@debug\@firstofone} diff --git a/Master/texmf-dist/tex/generic/babel/hyphen.cfg b/Master/texmf-dist/tex/generic/babel/hyphen.cfg index c8e9d9a1f14..ccb07c9b113 100644 --- a/Master/texmf-dist/tex/generic/babel/hyphen.cfg +++ b/Master/texmf-dist/tex/generic/babel/hyphen.cfg @@ -37,7 +37,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{hyphen.cfg}[2019/10/15 3.35 Babel hyphens] +\ProvidesFile{hyphen.cfg}[2019/11/14 3.36 Babel hyphens] \xdef\bbl@format{\jobname} \ifx\AtBeginDocument\@undefined \def\@empty{} diff --git a/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini new file mode 100644 index 00000000000..79dea94a7f1 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-el-polyton.ini @@ -0,0 +1,180 @@ +; This file is part of babel. For further details see: +; https://www.ctan.org/pkg/babel +; This file has been contributed by Claudio Beccari + +[identification] +charset = utf8 +version = 0.1 +date = 2010-10-01 +name.local = Ἐλληνικά +; Name from https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry +name.english = Polytonic Greek +name.babel = greek +tag.bcp47 = el-polyton +tag.opentype = PGR +script.name = Greek +script.tag.bcp47 = Grek +script.tag.opentype = grek +level = 1 +encodings = LGR +derivate = no + +[captions] +preface = Πρόλογος +ref = Ἀναφορές +abstract = Περίληψη +bib = Βιβλιογραφία +chapter = Κεφάλαιο +appendix = Παράρτημα +contents = Περιεχόμενα +listfigure = Κατάλογος Σχημάτων +listtable = Κατάλογος Πινάκων +index = Εὑρετήριο +figure = Σχῆμα +table = Πίνακας +part = Μέρος +encl = Συνημμένα +cc = Κοινοποίηση +headto = Πρὸς +page = Σελίδα +see = βλέπε +also = βλέπε ἐπίσης +proof = Ἀπόδειξη +glossary = Γλωσσάρι + +[captions.licr] +preface = \textPi\textrho\'\textomicron\textlambda\textomicron\textgamma\textomicron\textvarsigma +ref = \accpsili\textAlpha\textnu\textalpha\textphi\textomicron\textrho\'\textepsilon\textvarsigma +abstract = \textPi\textepsilon\textrho\'\textiota\textlambda\texteta\textpsi\texteta +bib = \textBeta\textiota\textbeta\textlambda\textiota\textomicron\textgamma\textrho\textalpha\textphi\'\textiota\textalpha +chapter = \textKappa\textepsilon\textphi\'\textalpha\textlambda\textalpha\textiota\textomicron +appendix = \textPi\textalpha\textrho\'\textalpha\textrho\texttau\texteta\textmu\textalpha +contents = \textPi\textepsilon\textrho\textiota\textepsilon\textchi\'\textomicron\textmu\textepsilon\textnu\textalpha +listfigure = \textKappa\textalpha\texttau\'\textalpha\textlambda\textomicron\textgamma\textomicron\textvarsigma\space \textSigma\textchi\texteta\textmu\'\textalpha\texttau\textomega\textnu +listtable = \textKappa\textalpha\texttau\'\textalpha\textlambda\textomicron\textgamma\textomicron\textvarsigma\space \textPi\textiota\textnu\'\textalpha\textkappa\textomega\textnu +index = \textEpsilon\accdasia\textupsilon\textrho\textepsilon\texttau\'\texteta\textrho\textiota\textomicron +figure = \textSigma\textchi\'\texteta\textmu\textalpha +table = \textPi\'\textiota\textnu\textalpha\textkappa\textalpha\textvarsigma +part = \textMu\'\textepsilon\textrho\textomicron\textvarsigma +encl = \textSigma\textupsilon\textnu\texteta\textmu\textmu\'\textepsilon\textnu\textalpha +cc = \textKappa\textomicron\textiota\textnu\textomicron\textpi\textomicron\'\textiota\texteta\textsigma\texteta +headto = \textPi\textrho\textomicron\textvarsigma +page = \textSigma\textepsilon\textlambda\'\textiota\textdelta\textalpha +see = \textbeta\textlambda\'\textepsilon\textpi\textepsilon +also = \textbeta\textlambda\'\textepsilon\textpi\textepsilon\space \>\textepsilon\textpi\'\textiota\textsigma\texteta\textvarsigma +proof = \>\textAlpha\textpi\'\textomicron\textdelta\textepsilon\textiota\textxi\texteta +glossary = \textGamma\textlambda\textomega\textsigma\textsigma\'\textalpha\textrho\textiota + +[date.gregorian] +date.long = [d] [MMMM] [y] +date.short = [d]/[M]/[yy] +months.wide.1 = Ἰανουαρίου +months.wide.2 = Φεβρουαρίου +months.wide.3 = Μαρτίου +months.wide.4 = Ἀπριλίου +months.wide.5 = Μαΐου +months.wide.6 = Ἰουνίου +months.wide.7 = Ἰουλίου +months.wide.8 = Αὐγούστου +months.wide.9 = Σεπτεμβρίου +months.wide.10 = Ὀκτωβρίου +months.wide.11 = Νοεμβρίου +months.wide.12 = Δεκεμβρίου +months.narrow.1 = Ι +months.narrow.2 = Φ +months.narrow.3 = Μ +months.narrow.4 = Α +months.narrow.5 = Μ +months.narrow.6 = Ι +months.narrow.7 = Ι +months.narrow.8 = Α +months.narrow.9 = Σ +months.narrow.10 = Ο +months.narrow.11 = Ν +months.narrow.12 = Δ +days.wide.mon = Δευτέρα +days.wide.tue = Τρίτη +days.wide.wed = Τετάρτη +days.wide.thu = Πέμπτη +days.wide.fri = Παρασκευή +days.wide.sat = Σάββατο +days.wide.sun = Κυριακή +days.abbreviated.mon = Δευ +days.abbreviated.tue = Τρί +days.abbreviated.wed = Τετ +days.abbreviated.thu = Πέμ +days.abbreviated.fri = Παρ +days.abbreviated.sat = Σάβ +days.abbreviated.sun = Κυρ +days.narrow.mon = Δ +days.narrow.tue = Τ +days.narrow.wed = Τ +days.narrow.thu = Π +days.narrow.fri = Π +days.narrow.sat = Σ +days.narrow.sun = Κ +dayPeriods.abbreviated.am = π.μ. +dayPeriods.abbreviated.pm = μ.μ. +dayPeriods.narrow.am = πμ +dayPeriods.narrow.pm = μμ +dayPeriods.wide.am = π.μ. +dayPeriods.wide.pm = μ.μ. + +[date.gregorian.licr] +months.wide.1 = \accpsili\textIota\textalpha\textnu\textomicron\textupsilon\textalpha\textrho\'\textiota\textomicron\textupsilon +months.wide.2 = \textPhi\textepsilon\textbeta\textrho\textomicron\textupsilon\textalpha\textrho\'\textiota\textomicron\textupsilon +months.wide.3 = \textMu\textalpha\textrho\texttau\'\textiota\textomicron\textupsilon +months.wide.4 = \accpsili\textAlpha\textpi\textrho\textiota\textlambda\'\textiota\textomicron\textupsilon +months.wide.5 = \textMu\textalpha\textdialytikatonos\textiota\textomicron\textupsilon +months.wide.6 = \accpsili\textIota\textomicron\textupsilon\textnu\'\textiota\textomicron\textupsilon +months.wide.7 = \accpsili\textIota\textomicron\textupsilon\textlambda\'\textiota\textomicron\textupsilon +months.wide.8 = \accpsili\textAlpha\textupsilon\textgamma\textomicron\'\textupsilon\textsigma\texttau\textomicron\textupsilon +months.wide.9 = \textSigma\textepsilon\textpi\texttau\textepsilon\textmu\textbeta\textrho\'\textiota\textomicron\textupsilon +months.wide.10 = \accpsili\textOmicron\textkappa\texttau\textomega\textbeta\textrho\'\textiota\textomicron\textupsilon +months.wide.11 = \textNu\textomicron\textepsilon\textmu\textbeta\textrho\'\textiota\textomicron\textupsilon +months.wide.12 = \textDelta\textepsilon\textkappa\textepsilon\textmu\textbeta\textrho\'\textiota\textomicron\textupsilon + +[time.gregorian] +time.medium = [h]:[mm]:[ss] [a] +time.short = [h]:[mm] [a] + +[typography] +frenchspacing = no +hyphenrules = polygreek +lefthyphenmin = 1 +righthyphenmin = 1 +hyphenchar = +prehyphenchar = +posthyphenchar = +exhyphenchar = +preexhyphenchar = +postexhyphenchar = +hyphenationmin = + +[characters] +delimiters.quotes = «»“” +auxiliary = [ἀ ἄ ἂ ἆ ἁ ἅ ἃ ἇ ὰ ᾶ ἐ ἔ ἒ ἑ ἕ ἓ ὲ ἠ ἤ ἢ ἦ ἡ ἥ ἣ ἧ ὴ ῆ ἰ ἴ ἲ ἶ ἱ ἵ ἳ ἷ ὶ ῖ ῒ ῗ ὄ ὂ ὃ ὸ ὐ ὔ ὒ ὖ ὑ ὕ ὓ ὗ ὺ ῦ ῢ ῧ ὤ ὢ ὦ ὥ ὣ ὧ ὼ ῶ] +exemplarCharacters = [α ά β γ δ ε έ ζ η ή θ ι ί ϊ ΐ κ λ μ ν ξ ο ό π ρ σ ς τ υ ύ ϋ ΰ φ χ ψ ω ώ] +index = [Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω] +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/el/babel-polytonicgreek.tex b/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.tex new file mode 100644 index 00000000000..6b5f75dfeb7 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/locale/el/babel-polytonicgreek.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{el-polyton}{% +} +\endinput \ No newline at end of file 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 09d7b371460..d4af85d2f88 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,14 +11,15 @@ [identification] charset = utf8 -version = 1.1 -date = 2019-05-05 +version = 1.2 +date = 2019-10-30 name.local = 한국어 name.english = Korean name.babel = korean tag.bcp47 = ko tag.opentype = KOR script.name = Korean +script.name.opentype = CJK script.tag.bcp47 = Kore script.tag.opentype = hang level = 1 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 0aa41f18044..2b20813dd34 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,10 +11,11 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Simplified name.babel = chinese-simplified-hongkongsarchina name.babel.A = chinese-hans-hk tag.bcp47 = zh @@ -23,6 +24,7 @@ region.local = 中国香港特别行政区 region.english = Hong Kong SAR China region.tag.bcp47 = HK script.name = Simplified +script.name.opentype = CJK script.tag.bcp47 = Hans script.tag.opentype = hani level = 1 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 1b1931c3773..73f0f0aacaa 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,10 +11,11 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Simplified name.babel = chinese-simplified-macausarchina name.babel.A = chinese-hans-mo tag.bcp47 = zh @@ -23,6 +24,7 @@ region.local = 中国澳门特别行政区 region.english = Macau SAR China region.tag.bcp47 = MO script.name = Simplified +script.name.opentype = CJK script.tag.bcp47 = Hans script.tag.opentype = hani level = 1 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 155f647dc84..0a9219ded17 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,10 +11,11 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Simplified name.babel = chinese-simplified-singapore name.babel.A = chinese-hans-sg tag.bcp47 = zh @@ -22,8 +23,8 @@ tag.opentype = ZHS region.local = 新加坡 region.english = Singapore region.tag.bcp47 = SG -;;;;; script.name = Simplified +script.name.opentype = CJK script.tag.bcp47 = Hans script.tag.opentype = hani level = 1 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 0255e1eeea2..cf872c7feb9 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,15 +11,17 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Simplified name.babel = chinese-simplified name.babel.A = chinese-hans tag.bcp47 = zh tag.opentype = ZHS script.name = Simplified +script.name.opentype = CJK script.tag.bcp47 = Hans script.tag.opentype = hani level = 1 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 a8406bcd2ff..0f009770bd2 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,18 +11,20 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Traditional name.babel = chinese-traditional-hongkongsarchina name.babel.A = chinese-hant-hk tag.bcp47 = zh -tag.opentype = ZHS +tag.opentype = ZHT region.local = 中國香港特別行政區 region.english = Hong Kong SAR China region.tag.bcp47 = HK script.name = Traditional +script.name.opentype = CJK script.tag.bcp47 = Hant script.tag.opentype = hani level = 1 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 bbec33519ea..ffdc6874a28 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,18 +11,20 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Traditional name.babel = chinese-traditional-macausarchina name.babel.A = chinese-hant-mo tag.bcp47 = zh -tag.opentype = ZHS +tag.opentype = ZHT region.local = 中國澳門特別行政區 region.english = Macau SAR China region.tag.bcp47 = MO script.name = Traditional +script.name.opentype = CJK script.tag.bcp47 = Hant script.tag.opentype = hani level = 1 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 5a7fbdb1166..ed0139a5ce9 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,15 +11,17 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Traditional name.babel = chinese-traditional name.babel.A = chinese-hant tag.bcp47 = zh -tag.opentype = ZHS +tag.opentype = ZHT script.name = Traditional +script.name.opentype = CJK script.tag.bcp47 = Hant script.tag.opentype = hani level = 1 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 659642d43e0..0b7e4b7efc0 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,15 +11,16 @@ [identification] charset = utf8 -version = 1.2 -date = 2019-05-05 +version = 1.3 +date = 2019-10-30 name.local = 中文 name.english = Chinese +name.opentype = Chinese Simplified name.babel = chinese tag.bcp47 = zh tag.opentype = ZHS -;;;; Nombre correcto ??? script.name = Simplified +script.name.opentype = CJK script.tag.bcp47 = Hans script.tag.opentype = hani level = 1 diff --git a/Master/texmf-dist/tex/generic/babel/luababel.def b/Master/texmf-dist/tex/generic/babel/luababel.def index 0e5b0b731e9..051009bf80c 100644 --- a/Master/texmf-dist/tex/generic/babel/luababel.def +++ b/Master/texmf-dist/tex/generic/babel/luababel.def @@ -580,7 +580,7 @@ \bbl@ifunset{bbl@##1dflt@}% {\@nameuse{##1family}% \bbl@csarg\gdef{WFF@\f@family}{}% Flag - \bbl@exp{\\\bbl@add\\\bbl@tempa{* \<##1family> / \f@family\\\\% + \bbl@exp{\\\bbl@add\\\bbl@tempa{* \<##1family>= \f@family\\\\% \space\space\fontname\font\\\\}}% \bbl@csarg\xdef{##1dflt@}{\f@family}% \expandafter\xdef\csname ##1default\endcsname{\f@family}}% @@ -768,15 +768,17 @@ \IfBabelLayout{tabular} {\let\bbl@OL@@tabular\@tabular \bbl@replace\@tabular{$}{\bbl@nextfake$}% - \let\bbl@tabular\@tabular + \let\bbl@NL@@tabular\@tabular \AtBeginDocument{% - \ifx\bbl@tabular\@tabular\else + \ifx\bbl@NL@@tabular\@tabular\else \bbl@replace\@tabular{$}{\bbl@nextfake$}% + \let\bbl@NL@@tabular\@tabular \fi}} {} \IfBabelLayout{lists} {\let\bbl@OL@list\list \bbl@sreplace\list{\parshape}{\bbl@listparshape}% + \let\bbl@NL@list\list \def\bbl@listparshape#1#2#3{% \parshape #1 #2 #3 % \ifnum\bbl@getluadir{page}=\bbl@getluadir{par}\else diff --git a/Master/texmf-dist/tex/generic/babel/nil.ldf b/Master/texmf-dist/tex/generic/babel/nil.ldf index 4c14ce974ae..ebad9980845 100644 --- a/Master/texmf-dist/tex/generic/babel/nil.ldf +++ b/Master/texmf-dist/tex/generic/babel/nil.ldf @@ -32,11 +32,14 @@ %% extension |.ins|) which are part of the distribution. %% -\ProvidesLanguage{nil}[2019/10/15 3.35 Nil language] +\ProvidesLanguage{nil}[2019/11/14 3.36 Nil language] \LdfInit{nil}{datenil} \ifx\l@nil\@undefined \newlanguage\l@nil \@namedef{bbl@hyphendata@\the\l@nil}{{}{}}% Remove warning + \let\bbl@elt\relax + \edef\bbl@languages{% Add it to the list of languages + \bbl@languages\bbl@elt{nil}{\the\l@nil}{}{}} \fi \providehyphenmins{\CurrentOption}{\m@ne\m@ne} \let\captionsnil\@empty diff --git a/Master/texmf-dist/tex/generic/babel/switch.def b/Master/texmf-dist/tex/generic/babel/switch.def index 7bd71338472..9cd9ec4abc7 100644 --- a/Master/texmf-dist/tex/generic/babel/switch.def +++ b/Master/texmf-dist/tex/generic/babel/switch.def @@ -37,7 +37,7 @@ \wlog{File: #1 #4 #3 <#2>}% \let\ProvidesFile\@undefined} \fi -\ProvidesFile{switch.def}[2019/10/15 3.35 Babel switching mechanism] +\ProvidesFile{switch.def}[2019/11/14 3.36 Babel switching mechanism] \ifx\AtBeginDocument\@undefined \input plain.def\relax \fi @@ -58,12 +58,21 @@ \countdef\last@language=19 \def\addlanguage{\alloc@9\language\chardef\@cclvi} \fi -\def\bbl@version{3.35} -\def\bbl@date{2019/10/15} +\def\bbl@version{3.36} +\def\bbl@date{2019/11/14} \def\adddialect#1#2{% \global\chardef#1#2\relax \bbl@usehooks{adddialect}{{#1}{#2}}% - \wlog{\string#1 = a dialect from \string\language#2}} + \begingroup + \count@#1\relax + \def\bbl@elt##1##2##3##4{% + \ifnum\count@=##2\relax + \bbl@info{\string#1 = using hyphenrules for ##1\\% + (\string\language\the\count@)}% + \def\bbl@elt####1####2####3####4{}% + \fi}% + \bbl@languages + \endgroup} \def\bbl@fixname#1{% \begingroup \def\bbl@tempe{l@}% diff --git a/Master/texmf-dist/tex/generic/babel/txtbabel.def b/Master/texmf-dist/tex/generic/babel/txtbabel.def index a11bf27df31..6dd43d357d2 100644 --- a/Master/texmf-dist/tex/generic/babel/txtbabel.def +++ b/Master/texmf-dist/tex/generic/babel/txtbabel.def @@ -59,7 +59,7 @@ \fi \IfBabelLayout{lists} {\bbl@sreplace\list - {\@totalleftmargin\leftmargin}{\@totalleftmargin\bbl@listleftmargin}% + {\@totalleftmargin\leftmargin}{\@totalleftmargin\bbl@listleftmargin}% \def\bbl@listleftmargin{% \ifcase\bbl@thepardir\leftmargin\else\rightmargin\fi}% \ifcase\bbl@engine diff --git a/Master/texmf-dist/tex/generic/babel/xe-polygreek.tex b/Master/texmf-dist/tex/generic/babel/xe-polygreek.tex new file mode 100644 index 00000000000..a73909b95b7 --- /dev/null +++ b/Master/texmf-dist/tex/generic/babel/xe-polygreek.tex @@ -0,0 +1,79 @@ +\makeatletter +\def\e@alloc#1#2#3#4#5#6{% + \global\advance#3\@ne + \e@ch@ck{#3}{#4}{#5}#1% + \allocationnumber#3\relax + \global#2#6\allocationnumber} + % \wlog{\string#6=\string#1\the\allocationnumber}}% + +\documentclass{article} + + + +\usepackage{babel} + +\usepackage{multicol} + +\babelprovide[import,main]{polytonicgreek} +\babelfont{rm}{Old Standard} + +\babelprovide{danish} + +\begin{document} + +\section*{Φορτωμένα κόκκαλα} + +\textit{Αλέξανδρος Παπαδιαμάντης}\\ +1907\\ +From https://el.wikisource.org/wiki/Φορτωμένα\_κόκκαλα + +{\selectlanguage{danish}} + +\begin{multicols}{3} + +Ἀνεβαίνομεν τὸ βουνὸν, πεζοὶ, μὲ τὸ γαϊδουράκι φορτωμένον, ὁ παπ’ +Ἀνδρέας, ὁ καλός μας εὐχέτης, κι’ ὁ μακαρίτης ὁ Λαμιαῖος, κι’ ἐγὼ, κι’ +ὁ Ἀλέκος τὸ Φωτάκι, ὁ μικρὸς καὶ πρόθυμος φίλος μας. Εἰς ὅλα ἦτον +πάντοτε ἕτοιμος νὰ τρέχῃ ἀκούραστος, ὅ,τι ἤθελες τὸν διατάξει. Νὰ πάῃ +στὸ χωριὸ, διὰ θέλημα, δυὸ ὧρες δρόμον, καὶ πάλι, φορτωμένος, ὀπίσω νὰ +ἔλθῃ· νὰ σκουπίσῃ ὅλον τὸ ἐξωκκλήσι, καὶ τὸν αὐλόγυρον, καὶ τὰ κελλιὰ, +μὲ πρόχειρον σκούπαν ἀπὸ σπαρτίνες καὶ θάμνους· νὰ τρέξῃ κάτω στὸν +αἰγιαλόν, διὰ νὰ μᾶς φέρῃ πεταλίδες, καὶ κοχύλια, καὶ πετροκάβουρα, διὰ +τὸ ὀρεκτικὸν δεῖπνόν μας καὶ νὰ γυρίσῃ μετὰ μίαν ὥραν μὲ μίαν ποδιὰν +γεμάτην· εἶτα ν’ ἀνάψῃ φωτιάν, νὰ ψήσῃ, νὰ μαγειρεύσῃ ὅλα τὰ ἐδέσματα· +καὶ νὰ ἔχῃ τὴν ἐπιστασίαν τοῦ παγουριοῦ καὶ τῆς φλάσκας, διὰ νὰ +εὑρίσκωνται δροσερὰ εἰς τὸ ρεῦμα, ἀκριβῶς ὑπὸ τὴν βρύσην· εἰς ὅλα ἦτον +μονάκριβος. + +Ἕκτος μᾶς εἶχεν ἀκολουθήσει ὁ σκύλος τοῦ Σταμάτη τοῦ Ἀλεξανδράκη, +σκύλος προωρισμένος ὀψέποτε νὰ μένῃ ἀδέσποτος. Ὁ ἄτυχος καὶ κακοκέφαλος +φίλος μας, ὁ Σταμάτης, ἀφοῦ ἐμάλωσε μὲ ὅλους τοὺς συγγενεῖς καὶ τοὺς +φίλους του, καὶ σχεδὸν μὲ ὅλον τὸν κόσμον, ἤρχισε νὰ πάσχῃ ἀπὸ +περιοδικὰς ἀφανείας, ὁποῦ ἦσαν τὰ προανακρούσματα τῆς ὁριστικῆς +ἐξαφανίσεώς του ἀπὸ τὸν μάταιον κόσμον. Πότε ἐκρύπτετο, ὡς ἔλεγαν, εἰς +μίαν ἐρημικὴν σπηλιὰν, πότε ἐπήγαινε νὰ μείνῃ ὀλίγας ἡμέρας εἰς τὸ +Μοναστήρι, πότε ἐταξίδευεν, ἄγνωστον ποῦ· καὶ ὅλας αὐτὰς τὰς φορὰς, τὸν +ἄτυχον Σαψώνην, τὸν ἄφηνεν εἰς τὸ ἔλεος τοῦ Θεοῦ καὶ τῶν ἀνθρώπων τῆς +ἀγορᾶς, ἂν θὰ εὐαρεστοῦντο ποτὲ νὰ τοῦ ρίψουν ἓν ξηροκόμματον. Συχνὰ ὁ +Γιωργὸς ὁ Λαφκιώτης ὁ ἰδιοκτήτης τοῦ ἀρχαιοπρεποῦς καὶ ἀναλλοιώτου +καφενείου εἰς τὴν παραθαλασσίαν, ἂν καὶ τοῦ εἶχε φάγῃ ὀλίγας +ἑκατοντάδας δραχμῶν, καλῇ τῇ πίστει, ὁ ἀφέντης τοῦ Σαψώνη, ᾤκτειρε τὸ +ἄκακον θρέμμα, καὶ τοῦ ἔρριπτεν ὀλίγα κόκκαλα. Ἐμὲ, ἀφοῦ μὲ +κατεσκόπευεν ὁ Σαψώνης, ἀπὸ καφενεῖον εἰς ὕπαιθρον, καὶ ἀπὸ κιόσκι εἰς +τένταν, ἐπὶ τῆς προκυμαίας, τέλος, μὲ ἠκολούθει ὁριστικῶς εἰς τὴν +οἰκίαν ὅπου ἔπρεπε νὰ τοῦ ρίψω τι ἐκ τοῦ ὑστερήματος. + +Ἀλλὰ καὶ εἰς τὰ καλά του ὅταν ἦτο ὁ Σταμάτης, διὰ τὸν περιπαθῶς +ἀφωσιωμένον σκύλον δὲν εἶχε λάβῃ ἄλλην πρόνοιαν, εἰμὴ νὰ τὸν ρίπτῃ +αἰφνιδίως εἰς τὸ κῦμα, γαυγίζοντα καὶ μὴ θέλοντα, διὰ νὰ κολυμβᾷ. Τὸν +εἶχεν ἀφήσει ἀκούρευτον καὶ βαθύτριχον ἀπὸ χρόνων πολλῶν. Ἦτο πολὺ +μαλλιαρὸς σκύλος. Τὴν φορὰν αὐτὴν, ἀφοῦ μᾶς ἐμυρίσθη πῶς ἡτοιμαζόμεθα +δι’ ἐκδρομὴν, εἶχε δείξει ἀνήσυχον περιέργειαν, ὅταν ἐφορτώνετο τὸ +ὀνάριον, καὶ εἶχε πλησιάσει νὰ ὀσφρανθῇ τὶ περιεῖχεν ὁ σάκκος ἐκεῖνος, +τὸν ὁποῖον ὁ Ἀλέκος εἶχε περιδέσει καὶ φορτώσει περὶ τὸ σάγμα, εἰς τὴν +ἀριστερὰν πλευρὰν τοῦ ζώου. Δεξιὰ εἶχε φορτωθῇ ὁ μάρσιππος μὲ τὰ ἱερὰ +τοῦ Παπᾶ, εἷς κάλαθος μὲ τρόφιμα, καὶ μία φλάσκα μὲ οἶνον. Εἶτα, μᾶς +ἠκολούθησε μὲ βῆμα, αὐτόκλητος. +\end{multicols} + +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/tex/generic/babel/xebabel.def b/Master/texmf-dist/tex/generic/babel/xebabel.def index cadb25901c2..b320a77b07a 100644 --- a/Master/texmf-dist/tex/generic/babel/xebabel.def +++ b/Master/texmf-dist/tex/generic/babel/xebabel.def @@ -172,7 +172,7 @@ \bbl@ifunset{bbl@##1dflt@}% {\@nameuse{##1family}% \bbl@csarg\gdef{WFF@\f@family}{}% Flag - \bbl@exp{\\\bbl@add\\\bbl@tempa{* \<##1family> / \f@family\\\\% + \bbl@exp{\\\bbl@add\\\bbl@tempa{* \<##1family>= \f@family\\\\% \space\space\fontname\font\\\\}}% \bbl@csarg\xdef{##1dflt@}{\f@family}% \expandafter\xdef\csname ##1default\endcsname{\f@family}}% -- cgit v1.2.3