From d6f57515b98d2736c1e094a7df0623d0ffd7120a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 27 Aug 2018 21:41:07 +0000 Subject: tex-locale (27aug18) git-svn-id: svn://tug.org/texlive/trunk@48500 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/tex-locale/tex-locale-encodings.def | 66 +++ .../latex/tex-locale/tex-locale-scripts-enc.def | 79 +++ .../tex/latex/tex-locale/tex-locale-support.def | 308 ++++++++++ .../texmf-dist/tex/latex/tex-locale/tex-locale.sty | 640 +++++++++++++++++++++ 4 files changed, 1093 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/tex-locale/tex-locale-encodings.def create mode 100644 Master/texmf-dist/tex/latex/tex-locale/tex-locale-scripts-enc.def create mode 100644 Master/texmf-dist/tex/latex/tex-locale/tex-locale-support.def create mode 100644 Master/texmf-dist/tex/latex/tex-locale/tex-locale.sty (limited to 'Master/texmf-dist/tex/latex/tex-locale') diff --git a/Master/texmf-dist/tex/latex/tex-locale/tex-locale-encodings.def b/Master/texmf-dist/tex/latex/tex-locale/tex-locale-encodings.def new file mode 100644 index 00000000000..3e7931bfe0e --- /dev/null +++ b/Master/texmf-dist/tex/latex/tex-locale/tex-locale-encodings.def @@ -0,0 +1,66 @@ +%% +%% This is file `tex-locale-encodings.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tex-locale.dtx (with options: `tex-locale-encodings.def,package') +%% +%% tex-locale.dtx +%% Copyright 2018 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files tex-locale.dtx and tex-locale.ins and the derived files tex-locale.sty, tex-locale.tex, tex-locale-scripts-enc.def, tex-locale-encodings.def, tex-locale-support.def. +%% +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% arara: xetex: {shell: on} +%% arara: xetex: {shell: on} +\def\@locale@newencmap#1#2{% + \@tracklang@namedef{@locale@encmap@#1}{#2}} +\def\@locale@ifhasencmap#1#2#3{% + \@tracklang@ifundef{@locale@encmap@#1}{#3}{#2}} +\def\@locale@getencmap#1{% + \@tracklang@nameuse{@locale@encmap@#1}} +\@locale@newencmap{iso88591}{latin1} +\@locale@newencmap{iso88592}{latin2} +\@locale@newencmap{iso88593}{latin3} +\@locale@newencmap{iso88594}{latin4} +\@locale@newencmap{iso88595}{latin5} +\@locale@newencmap{iso88599}{latin9} +\@locale@newencmap{windows1250}{cp1250} +\@locale@newencmap{windows1252}{cp1252} +\@locale@newencmap{windows1257}{cp1257} +\@locale@newencmap{ibm850}{cp850} +\@locale@newencmap{ibm852}{cp852} +\@locale@newencmap{ibm437}{cp437} +\@locale@newencmap{ibm865}{cp865} +\@locale@newencmap{usascii}{ascii} +\@locale@newencmap{xmaccentraleurope}{macce} +\endinput +%% +%% End of file `tex-locale-encodings.def'. diff --git a/Master/texmf-dist/tex/latex/tex-locale/tex-locale-scripts-enc.def b/Master/texmf-dist/tex/latex/tex-locale/tex-locale-scripts-enc.def new file mode 100644 index 00000000000..2e0cdf1a1d1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tex-locale/tex-locale-scripts-enc.def @@ -0,0 +1,79 @@ +%% +%% This is file `tex-locale-scripts-enc.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tex-locale.dtx (with options: `tex-locale-scripts-enc.def,package') +%% +%% tex-locale.dtx +%% Copyright 2018 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files tex-locale.dtx and tex-locale.ins and the derived files tex-locale.sty, tex-locale.tex, tex-locale-scripts-enc.def, tex-locale-encodings.def, tex-locale-support.def. +%% +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% arara: xetex: {shell: on} +%% arara: xetex: {shell: on} +\def\@locale@scriptenc@map#1#2{% + \@tracklang@namedef{@locale@scriptenc@map@#1}{#2}% +} +\def\@locale@get@scriptenc@map#1{% + \@tracklang@ifundef{@locale@scriptenc@map@#1}% + {}% + {\csname @locale@scriptenc@map@#1\endcsname}% +} +\def\@locale@if@scriptenc@map#1#2#3{% + \@tracklang@ifundef{@locale@scriptenc@map@#1}% + {#3}% false + {#2}% true +} +\def\@locale@langenc@map#1#2{% + \@tracklang@namedef{@locale@langenc@map@#1}{#2}% +} +\def\@locale@if@langenc@map#1#2#3{% + \@tracklang@ifundef{@locale@langenc@map@#1}% + {#3}% false + {#2}% true +} +\def\@locale@get@langenc@map#1{% + \@tracklang@ifundef{@locale@langenc@map@#1}% + {}% + {\csname @locale@langenc@map@#1\endcsname}% +} +\@locale@scriptenc@map{Latn}{T1} +\@locale@scriptenc@map{Latf}{T1} +\@locale@scriptenc@map{Latg}{T1} +\@locale@scriptenc@map{Cyrl}{T2A,T2B,T2C} +\@locale@langenc@map{vietnamese}{T5} +\@locale@langenc@map{polish}{OT4} +\@locale@langenc@map{armenian}{OT6} +\@locale@langenc@map{greek}{LGR} +\endinput +%% +%% End of file `tex-locale-scripts-enc.def'. diff --git a/Master/texmf-dist/tex/latex/tex-locale/tex-locale-support.def b/Master/texmf-dist/tex/latex/tex-locale/tex-locale-support.def new file mode 100644 index 00000000000..2a8ab8c192c --- /dev/null +++ b/Master/texmf-dist/tex/latex/tex-locale/tex-locale-support.def @@ -0,0 +1,308 @@ +%% +%% This is file `tex-locale-support.def', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tex-locale.dtx (with options: `tex-locale-support.def,package') +%% +%% tex-locale.dtx +%% Copyright 2018 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files tex-locale.dtx and tex-locale.ins and the derived files tex-locale.sty, tex-locale.tex, tex-locale-scripts-enc.def, tex-locale-encodings.def, tex-locale-support.def. +%% +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% arara: xetex: {shell: on} +%% arara: xetex: {shell: on} +\@locale@ifsupportbabelorpoly +{} +{% + \def\@locale@providemap#1#2{% + \IfTrackedDialectHasMapping{#1}% + {}% + {\SetTrackedDialectLabelMap{#1}{#2}}% + }% + \@locale@providemap{bahasa}{bahasa}% + \@locale@providemap{indonesian}{indonesian}% + \@locale@providemap{indon}{indon}% + \@locale@providemap{bahasam}{bahasam}% + \@locale@providemap{malay}{malay}% + \@locale@providemap{melayu}{melayu}% + \@locale@providemap{USenglish}{USenglish}% + \@locale@providemap{american}{american}% + \@locale@providemap{UKenglish}{UKenglish}% + \@locale@providemap{british}{british}% + \@locale@providemap{canadian}{canadian}% + \@locale@providemap{australian}{australian}% + \@locale@providemap{newzealand}{newzealand}% + \@locale@providemap{francais}{francais}% + \@locale@providemap{canadien}{canadien}% + \@locale@providemap{acadian}{acadian}% + \@locale@providemap{austrian}{austrian}% + \@locale@providemap{germanb}{germanb}% + \@locale@providemap{ngerman}{ngerman}% + \@locale@providemap{naustrian}{naustrian}% + \@locale@providemap{nswissgerman}{nswissgerman}% + \@locale@providemap{swissgerman}{swissgerman}% + \@locale@providemap{polutonikogreek}{greek}% + \@locale@providemap{nynorsk}{nynorsk}% + \@locale@providemap{portuguese}{portuguese}% + \@locale@providemap{brazilian}{brazilian}% + \@locale@providemap{brazil}{brazil}% + \def\@locale@bbl@options{}% + \ForEachTrackedDialect{\this@dialect}% + {% + \edef\this@root@lang{% + \TrackedLanguageFromDialect{\this@dialect}}% + \IfFileExists{\this@root@lang.ldf} + {% + \ifdefstring{\this@root@lang}{serbian}% + {% + \@locale@loadscripts + \IfTrackedDialectIsScriptCs{\this@dialect}% + {\TrackLangScriptLatn}% + {\def\locale@bbl@dialect{serbian}}% + {\def\locale@bbl@dialect{serbianc}}% + }% + {% + \IfFileExists{\this@dialect.ldf}% + {% + \let\locale@bbl@dialect\this@dialect + }% + {% + \IfTrackedDialectHasMapping{\this@dialect}% + {% + \edef\locale@bbl@dialect{% + \GetTrackedDialectToMapping{\this@dialect}}% + }% + {% + \let\locale@bbl@dialect\this@root@lang + }% + }% + }% + \SetTrackedDialectLabelMap{\this@dialect}{\locale@bbl@dialect}% + \ifx\this@dialect\LocaleMainDialect + \ifx\@locale@bbl@options\empty + \edef\@locale@bbl@options{main=\locale@bbl@dialect}% + \else + \edef\@locale@bbl@options{\@locale@bbl@options,% + main=\locale@bbl@dialect}% + \fi + \else + \ifx\@locale@bbl@options\empty + \edef\@locale@bbl@options{\locale@bbl@dialect}% + \else + \edef\@locale@bbl@options{\@locale@bbl@options,% + \locale@bbl@dialect}% + \fi + \fi + }% + {}% + }% + \ifx\@locale@bbl@options\@empty + \ifTeXOSQueryDryRun + \@locale@err{Can't determine `babel' package + options\MessageBreak (texosquery's dry run mode is on)}{} + \else + \@locale@err{Can't determine `babel' package + options (perhaps the shell escape failed, check + `\jobname.log')}{} + \fi + \else + \expandafter\PassOptionsToPackage\expandafter + {\@locale@bbl@options}{babel} + \RequirePackage{babel}% + \fi +}% +{% + \def\@set@locale@poly@map@script#1#2#3{% + \@tracklang@namedef{@local@poly@map@script@#1@#2}{#3}% + } + \def\@if@locale@poly@map@script#1#2#3#4{% + \@tracklang@ifundef{@local@poly@map@script@#1@#2}{#4}{#3}% + } + \def\@get@locale@poly@map@script#1#2{% + \@tracklang@nameuse{@local@poly@map@script@#1@#2}% + } + \def\@set@locale@poly@map@region#1#2#3{% + \@tracklang@namedef{@local@poly@map@region@#1@#2}{#3}% + } + \def\@if@locale@poly@map@region#1#2#3#4{% + \@tracklang@ifundef{@local@poly@map@region@#1@#2}{#4}{#3}% + } + \def\@get@locale@poly@map@region#1#2{% + \@tracklang@nameuse{@local@poly@map@region@#1@#2}% + } + \def\@set@locale@poly@map@variant#1#2#3{% + \@tracklang@namedef{@local@poly@map@variant@#1@#2}{#3}% + } + \def\@if@locale@poly@map@variant#1#2#3#4{% + \@tracklang@ifundef{@local@poly@map@variant@#1@#2}{#4}{#3}% + } + \def\@get@locale@poly@map@variant#1#2{% + \@tracklang@nameuse{@local@poly@map@variant@#1@#2}% + } + \def\@set@locale@poly@map@sublang#1#2#3{% + \@tracklang@namedef{@local@poly@map@sublang@#1@#2}{#3}% + } + \def\@if@locale@poly@map@sublang#1#2#3#4{% + \@tracklang@ifundef{@local@poly@map@sublang@#1@#2}{#4}{#3}% + } + \def\@get@locale@poly@map@sublang#1#2{% + \@tracklang@nameuse{@local@poly@map@sublang@#1@#2}% + } + \@set@locale@poly@map@region{arabic}{IQ}{locale=mashriq} + \@set@locale@poly@map@region{arabic}{SY}{locale=mashriq} + \@set@locale@poly@map@region{arabic}{JO}{locale=mashriq} + \@set@locale@poly@map@region{arabic}{LB}{locale=mashriq} + \@set@locale@poly@map@region{arabic}{PS}{locale=mashriq} + \@set@locale@poly@map@region{arabic}{LY}{locale=libya} + \@set@locale@poly@map@region{arabic}{DZ}{locale=algeria} + \@set@locale@poly@map@region{arabic}{TN}{locale=tunisia} + \@set@locale@poly@map@region{arabic}{MA}{locale=morocco} + \@set@locale@poly@map@region{arabic}{MR}{locale=mauritania} + \@set@locale@poly@map@variant{arabic}{islamic}{calendar=islamic} + \@set@locale@poly@map@variant{arabic}{maghrib}{numerals=maghrib} + \@set@locale@poly@map@variant{arabic}{abjad}{abjadjimnotail} + \@set@locale@poly@map@variant{bengali}{western}{numerals=Western} + \@set@locale@poly@map@variant{bengali}{devanagari}{numerals=Devanagari} + \@set@locale@poly@map@variant{bengali}{bengali}{numerals=Bengali} + \@set@locale@poly@map@region{english}{US}{variant=us} + \@set@locale@poly@map@region{english}{GB}{variant=uk} + \@set@locale@poly@map@region{english}{AU}{variant=australian} + \@set@locale@poly@map@region{english}{NZ}{variant=newzealand} + \@set@locale@poly@map@variant{farsi}{western}{numerals=western} + \@set@locale@poly@map@variant{farsi}{eastern}{numerals=eastern} + \@set@locale@poly@map@region{german}{DE}{variant=german} + \@set@locale@poly@map@region{german}{AU}{variant=austrian} + \@set@locale@poly@map@region{german}{CH}{variant=swiss} + \@set@locale@poly@map@variant{german}{1996}{spelling=new} + \@set@locale@poly@map@variant{german}{1901}{spelling=old} + \@set@locale@poly@map@script{german}{Latf}{script=fraktur} + \@set@locale@poly@map@variant{greek}{monoton}{variant=monotonic} + \@set@locale@poly@map@variant{greek}{polyton}{variant=polytonic} + \@set@locale@poly@map@variant{greek}{ancient}{variant=ancient} + \@set@locale@poly@map@variant{greek}{arabic}{numerals=arabic} + \@set@locale@poly@map@variant{hebrew}{arabic}{numerals=arabic} + \@set@locale@poly@map@variant{hebrew}{gregorian}{calendar=gregorian} + \@set@locale@poly@map@variant{hindi}{western}{numerals=Western} + \@set@locale@poly@map@variant{hindi}{devanagari}{numerals=Devanagari} + \@set@locale@poly@map@variant{latin}{classic}{variant=classic} + \@set@locale@poly@map@variant{latin}{modern}{variant=modern} + \@set@locale@poly@map@variant{latin}{medieval}{variant=medieval} + \@set@locale@poly@map@sublang{russian}{orv}{spelling=old} + \@set@locale@poly@map@variant{russian}{luna1918}{spelling=new} + \@set@locale@poly@map@script{serbian}{Latn}{script=Latin} + \@set@locale@poly@map@script{serbian}{Cyrl}{script=Cyrillic} + \@set@locale@poly@map@variant{syriac}{western}{numerals=western} + \@set@locale@poly@map@variant{syriac}{eastern}{numerals=eastern} + \RequirePackage{polyglossia} + \ForEachTrackedDialect{\this@dialect}% + {% + \edef\this@root@lang{% + \TrackedLanguageFromDialect{\this@dialect}}% + \edef\this@sublang{% + \GetTrackedDialectSubLang{\this@dialect}}% + \edef\this@region{% + \TrackedIsoCodeFromLanguage{3166-1}{\this@dialect}}% + \edef\this@script{% + \GetTrackedDialectScript{\this@dialect}}% + \edef\this@variant{% + \GetTrackedDialectVariant{\this@dialect}}% + \def\@locale@poly@options{}% + \ifx\this@script\empty + \else + \@if@locale@poly@map@script{\this@root@lang}{\this@script}% + {% + \edef\@locale@poly@options{% + \@get@locale@poly@map@script + {\this@root@lang}{\this@script}}% + }% + {}% + \fi + \ifx\this@region\empty + \else + \@if@locale@poly@map@region{\this@root@lang}{\this@region}% + {% + \ifx\@locale@poly@options\empty + \edef\@locale@poly@options{% + \@get@locale@poly@map@region{\this@root@lang}{\this@region}}% + \else + \edef\@locale@poly@options{\@locale@poly@options,% + \@get@locale@poly@map@region{\this@root@lang}{\this@region}}% + \fi + }% + {}% + \fi + \ifx\this@sublang\empty + \else + \@if@locale@poly@map@sublang{\this@root@lang}{\this@sublang}% + {% + \ifx\@locale@poly@options\empty + \edef\@locale@poly@options{% + \@get@locale@poly@map@sublang + {\this@root@lang}{\this@sublang}}% + \else + \edef\@locale@poly@options{\@locale@poly@options,% + \@get@locale@poly@map@sublang + {\this@root@lang}{\this@sublang}}% + \fi + }% + {}% + \fi + \ifx\this@subvariant\empty + \else + \@if@locale@poly@map@variant{\this@root@lang}{\this@variant}% + {% + \ifx\@locale@poly@options\empty + \edef\@locale@poly@options{% + \@get@locale@poly@map@variant + {\this@root@lang}{\this@variant}}% + \else + \edef\@locale@poly@options{\@locale@poly@options,% + \@get@locale@poly@map@variant + {\this@root@lang}{\this@variant}}% + \fi + }% + {}% + \fi + \ifx\this@dialect\LocaleMainDialect + \edef\@locale@tmp{\noexpand\setmainlanguage + [\@locale@poly@options]{\this@root@lang}}% + \else + \edef\@locale@tmp{\noexpand\setotherlanguage + [\@locale@poly@options]{\this@root@lang}}% + \fi + \@locale@tmp + }% + \def\localenopolypunct{\@locale@nopolypunct}% +} +\endinput +%% +%% End of file `tex-locale-support.def'. diff --git a/Master/texmf-dist/tex/latex/tex-locale/tex-locale.sty b/Master/texmf-dist/tex/latex/tex-locale/tex-locale.sty new file mode 100644 index 00000000000..10bcb55eb6c --- /dev/null +++ b/Master/texmf-dist/tex/latex/tex-locale/tex-locale.sty @@ -0,0 +1,640 @@ +%% +%% This is file `tex-locale.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tex-locale.dtx (with options: `tex-locale.sty,package') +%% +%% tex-locale.dtx +%% Copyright 2018 Nicola Talbot +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Nicola Talbot. +%% +%% This work consists of the files tex-locale.dtx and tex-locale.ins and the derived files tex-locale.sty, tex-locale.tex, tex-locale-scripts-enc.def, tex-locale-encodings.def, tex-locale-support.def. +%% +%% \CharacterTable +%% {Upper-case \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 +%% Lower-case \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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% arara: xetex: {shell: on} +%% arara: xetex: {shell: on} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tex-locale}[2018/08/26 v1.0 (NLCT) localisation support] +\RequirePackage{etoolbox} +\RequirePackage{xfor} +\RequirePackage{tracklang}[2016/11/03] +\AnyTrackedLanguages +{% + \ForEachTrackedDialect{\locale@this@dialect} + { + \ifx\LocaleMain\undefined + \edef\LocaleMain{\GetTrackedLanguageTag{\locale@this@dialect}} + \let\@locale@trackedmain\LocaleMain + \else + \ifx\LocaleOther\undefined + \edef\LocaleOther{\GetTrackedLanguageTag{\locale@this@dialect}} + \else + \edef\LocaleOther{\LocaleOther,\GetTrackedLanguageTag{\locale@this@dialect}} + \fi + \fi + } +} +{} +\RequirePackage{ifxetex} +\RequirePackage{ifluatex} +\ifxetex + \newcommand*{\@locale@ifxeorlua}[2]{#1} +\else + \ifluatex + \newcommand*{\@locale@ifxeorlua}[2]{#1} + \else + \newcommand*{\@locale@ifxeorlua}[2]{#2} + \fi +\fi +\RequirePackage{xkeyval} +\newcommand*{\@locale@declareoption}[2]{% + \DeclareOptionX{#1}{#2}% + \DeclareOption{#1}{#2}% +} +\define@key{tex-locale.sty}{main}{% + \ifx\@locale@trackedmain\undefined + \else + \ifx\LocaleOther\undefined + \let\LocaleOther\@locale@trackedmain + \else + \edef\LocaleOther{\@locale@trackedmain,\LocaleOther}% + \fi + \let\@locale@trackedmain\undefined + \fi + \def\LocaleMain{#1}% +} +\define@key{tex-locale.sty}{other}{% + \ifx\LocaleOther\undefined + \def\LocaleOther{#1}% + \else + \edef\LocaleOther{\LocaleOther,#1}% + \fi +} +\@locale@ifxeorlua{\def\@locale@symbols{none}}{\def\@locale@symbols{textcomp}} +\define@key{tex-locale.sty}{symbols}{\def\@locale@symbols{#1}} +\newcount\@locale@supportopt +\@ifpackageloaded{polyglossia} +{\@locale@supportopt=0\relax} +{ + \@ifpackageloaded{babel} + {\@locale@supportopt=0\relax} + { + \@ifpackageloaded{CJK} + {\@locale@supportopt=0\relax} + {\@locale@supportopt=1\relax} + } +} +\define@choicekey{tex-locale.sty}{support}% + [\@locale@support@val\@locale@support@nr]% + {none,auto,babel,polyglossia,cjk} +{\@locale@supportopt=\@locale@support@nr\relax} +\define@boolkey{tex-locale.sty}[@locale@]{fontspec}[true]{} +\@locale@ifxeorlua{\@locale@fontspectrue}{\@locale@fontspecfalse} +\define@key{tex-locale.sty}{fontenc}{% + \edef\@locale@fontenc{#1}% + \ifdefstring{\@locale@fontenc}{false}{\def\@locale@fontenc{none}}{}% +} +\@ifpackageloaded{fontenc} +{\def\@locale@fontenc{none}} +{\def\@locale@fontenc{auto}} +\define@key{tex-locale.sty}{inputenc}{% + \edef\@locale@inputenc{#1}% + \ifdefstring{\@locale@inputenc}{false}{\def\@locale@inputenc{none}}{}% +} +\@ifpackageloaded{inputenc} +{\def\@locale@inputenc{none}} +{\def\@locale@inputenc{auto}} +\@ifpackageloaded{datetime2} +{ + \newcommand\@locale@load@dtm{} +} +{ + \newcommand\@locale@load@dtm{% + \IfFileExists{datetime2.sty}% + {\@locale@load@regional@dtm}% + {\@locale@set@today}% + }% +} +\newcommand\@locale@load@regional@dtm{% + \localedatechoice + {%full + \PassOptionsToPackage{showdow}{datetime2}% + \PassOptionsToPackage{useregional=text}{datetime2}% + }% + {%long + \PassOptionsToPackage{useregional=text}{datetime2}% + }% + {%medium + \PassOptionsToPackage{useregional=text}{datetime2}% + }% + {%short + \PassOptionsToPackage{useregional=numeric}{datetime2}% + }% + \RequirePackage{datetime2}% + \localedatechoice{}{}{\DTMlangsetup*{abbr}}{}% +}% +\newcommand*{\@locale@set@today}{% + \ifdefempty\CurrentLocaleDate + {}% + {% + \renewcommand{\today}{\CurrentLocaleDate}% + \ForEachTrackedDialect{\locale@this@dialect} + {% + \SetCurrentTrackedDialect{\locale@this@dialect}% + \@TrackLangAddToHook + {\renewcommand{\today}{\CurrentLocaleDate}} + {date}% + }% + }% +} +\define@choicekey{tex-locale.sty}{datetime}% + [\@locale@datetime@val\@locale@datetime@nr]% + {false,iso,text,num,numeric,locale} +{% + \ifcase\@locale@datetime@nr + \def\@locale@load@dtm{}% + \or + \def\@locale@load@dtm{% + \PassOptionsToPackage{useregional=false}{datetime2}% + \RequirePackage{datetime2}% + \DTMsetstyle{iso}% + }% + \or + \def\@locale@load@dtm{% + \@locale@load@regional@dtm + }% + \or + \def\@locale@load@dtm{% + \PassOptionsToPackage{useregional=numeric}{datetime2}% + \RequirePackage{datetime2}% + }% + \or + \def\@locale@load@dtm{% + \PassOptionsToPackage{useregional=numeric}{datetime2}% + \RequirePackage{datetime2}% + }% + \or + \def\@locale@load@dtm{\@locale@set@today}% + \fi +} +\@locale@declareoption{iso}{% + \def\@locale@load@dtm{% + \PassOptionsToPackage{useregional=false}{datetime2}% + \RequirePackage{datetime2}% + \DTMsetstyle{iso}% + }% +} +\define@choicekey{tex-locale.sty}{date}% +[\@locale@date@val\@locale@date@nr]{full,long,medium,short} +{% + \ifcase\@locale@date@nr + \def\localedatechoice##1##2##3##4{##1}% + \or + \def\localedatechoice##1##2##3##4{##2}% + \or + \def\localedatechoice##1##2##3##4{##3}% + \or + \def\localedatechoice##1##2##3##4{##4}% + \fi +} +\newcommand*{\localedatechoice}[4]{#2}% +\define@choicekey{tex-locale.sty}{time}% +[\@locale@time@val\@locale@time@nr]{full,long,medium,short} +{% + \ifcase\@locale@time@nr + \def\localetimechoice##1##2##3##4{##1}% + \or + \def\localetimechoice##1##2##3##4{##2}% + \or + \def\localetimechoice##1##2##3##4{##3}% + \or + \def\localetimechoice##1##2##3##4{##4}% + \fi +} +\newcommand*{\localetimechoice}[4]{#3}% +\define@choicekey{tex-locale.sty}{timedata}% +[\@locale@timedata@val\@locale@timedata@nr]{true,false}[true] +{% + \ifcase\@locale@timedata@nr + \def\LocaleIfDateTimePatternsSupported##1##2{##1}% + \or + \def\LocaleIfDateTimePatternsSupported##1##2{##2}% + \fi +} +\define@choicekey{tex-locale.sty}{currency}% +[\@locale@currency@val\@locale@currency@nr]% +{official,unofficial,sym,tex} +{% + \ifcase\@locale@currency@nr + \def\localecurrchoice##1##2##3##4{##1}% + \or + \def\localecurrchoice##1##2##3##4{##2}% + \or + \def\localecurrchoice##1##2##3##4{##3}% + \or + \def\localecurrchoice##1##2##3##4{##4}% + \fi +} +\@locale@ifxeorlua + {\newcommand*{\localecurrchoice}[4]{#3}} + {\newcommand*{\localecurrchoice}[4]{#4}} +\@for\CurrentOption:=\@declaredoptions\do{% + \ifx\CurrentOption\@empty + \else + \@expandtwoargs + \in@{,\CurrentOption,}{,\@classoptionslist,\@curroptions,}% + \ifin@ + \@use@ption + \expandafter\let\csname ds@\CurrentOption\endcsname\@empty + \fi + \fi +} +\ProcessOptionsX +\@ifpackageloaded{babel} +{% + \@locale@supportopt=0\relax +} +{} +\ifx\LocaleMain\undefined + \def\LocaleMain{locale} +\fi +\ifx\LocaleOther\undefined + \def\LocaleOther{} +\fi +\newcommand*{\@locale@postparse@hook}{% + \input{tex-locale-support.def}% +} +\ifdefstring{\@locale@symbols}{none} +{} +{\RequirePackage{\@locale@symbols}} +\RequirePackage{texosquery} +\newcommand\@locale@trackall{% + \ifdefstring\LocaleMain{locale}% + {% + \ifx\LocaleOStag\empty + \PackageWarning{tex-locale}{Unable to determine locale + (check shell escape)}% + \else + \TrackLanguageTag{\LocaleOStag}% + \fi + }% + {\TrackLanguageTag{\LocaleMain}}% + \@for\locale@this@dialect:=\LocaleOther\do{% + \ifdefstring\locale@this@dialect{locale} + {% + \ifx\LocaleOStag\empty + \PackageWarning{tex-locale}{Unable to determine locale + (check shell escape)}% + \else + \TrackLanguageTag{\LocaleOStag}% + \fi + }% + {\TrackLanguageTag{\locale@this@dialect}}% + }% + \let\@locale@trackall\relax +} +\newcommand{\@locale@loadinputenc}{} +\newcommand*\@locale@pre@query@params{}% +\newcommand*\@locale@pre@query@parsetag{% + \ifx\LocaleStyQueryFile\undefined + \TeXOSQuery{\@locale@result}{\@locale@pre@query@params}% + \else + \ifx\LocaleStyQueryFile\empty + \TeXOSQuery{\@locale@result}{\@locale@pre@query@params}% + \else + \ifx\TeXOSQueryFromFile\undefined + \PackageError{locale}{texosquery too old to support + \string\LocaleStyQueryFile. At least v1.4 required} + {You need to update your version of texosquery} + \def\@locale@result{}% + \else + \PackageInfo{locale}{Fetching query results from `\LocaleStyQueryFile'}% + \TeXOSQueryFromFile{\@locale@result}{\LocaleStyQueryFile}% + \fi + \fi + \fi + \edef\LocaleOStag{\@locale@result}% +}% +\newcommand*\@locale@pre@query@parsecodeset{% + \TeXOSQuery{\@locale@result}{\@locale@pre@query@params}% + \edef\LocaleOScodeset{\@locale@result}% +}% +\newcommand*\@locale@pre@query@parsetagcodeset{% + \def\LocaleOStag{}% + \def\LocaleOScodeset{}% + \TeXOSQuery{\@locale@result}{\@locale@pre@query@params}% + \ifx\@locale@result\@empty + \else + \edef\LocaleOStag{\expandafter\@firstoftwo\@locale@result}% + \edef\LocaleOScodeset{\expandafter\@secondoftwo\@locale@result}% + \fi +}% +\let\@locale@pre@query@parse\relax +\@locale@ifxeorlua +{% + \if@locale@fontspec\RequirePackage{fontspec}\fi + \ifnum\@locale@supportopt=1\relax + \ifdefstring\LocaleMain{locale} + {% + \def\@locale@pre@query@params{\string-b }% + \let\@locale@pre@query@parse\@locale@pre@query@parsetag + }% + {% + \@for\locale@this@dialect:=\LocaleOther\do{% + \ifdefstring\locale@this@dialect{locale} + {% + \def\@locale@pre@query@params{\string-b }% + \let\@locale@pre@query@parse\@locale@pre@query@parsetag + \@endfortrue + }% + {}% + }% + }% + \@locale@pre@query@parse + \fi +} +{% + \ifdefstring{\@locale@fontenc}{auto} + {% + \ifdefstring\LocaleMain{locale} + {% + \def\@locale@pre@query@params{\string-b }% + \let\@locale@pre@query@parse\@locale@pre@query@parsetag + }% + {% + \@for\locale@this@dialect:=\LocaleOther\do{% + \ifdefstring\locale@this@dialect{locale} + {% + \def\@locale@pre@query@params{\string-b }% + \let\@locale@pre@query@parse\@locale@pre@query@parsetag + \@endfortrue + }% + {}% + }% + }% + }% + {}% + \ifdefstring{\@locale@inputenc}{auto} + {% + \ifx\@locale@pre@query@params\@empty + \let\@locale@pre@query@parse\@locale@pre@query@parsecodeset + \else + \let\@locale@pre@query@parse\@locale@pre@query@parsetagcodeset + \fi + \edef\@locale@pre@query@params{\@locale@pre@query@params\string-C}% + }% + {}% + \@locale@pre@query@parse + \ifdefstring{\@locale@fontenc}{none} + {} + {% + \ifdefstring{\@locale@fontenc}{auto} + {% + \input{tex-locale-scripts-enc.def}% + \@locale@trackall + \ForEachTrackedDialect{\locale@this@dialect}% + { + \edef\@locale@lang{\TrackedLanguageFromDialect{\locale@this@dialect}}% + \@locale@if@langenc@map{\locale@this@dialect}% + {% + \edef\@locale@fontenc@opt{% + \@locale@get@langenc@map{\locale@this@dialect}}% + \expandafter\PassOptionsToPackage\expandafter + {\@locale@fontenc@opt}{fontenc}% + }% + {% + \@locale@if@langenc@map{\@locale@lang}% + {% + \edef\@locale@fontenc@opt{% + \@locale@get@langenc@map{\@locale@lang}}% + \expandafter\PassOptionsToPackage\expandafter + {\@locale@fontenc@opt}{fontenc}% + }% + {% + \edef\@locale@script{\GetTrackedDialectScript{\locale@this@dialect}}% + \ifx\@locale@script\empty + \edef\@locale@script{\TrackLangGetDefaultScript{\@locale@lang}}% + \fi + \@locale@if@scriptenc@map{\@locale@script}% + {% + \edef\@locale@fontenc@opt{% + \@locale@get@scriptenc@map{\@locale@script}}% + \expandafter\PassOptionsToPackage\expandafter + {\@locale@fontenc@opt}{fontenc}% + }% + {}% + }% + }% + }% + \ifx\@locale@fontenc@opt\empty + \PackageWarning{tex-locale}{Option `fontenc=auto' failed. + Can't determine an appropriate font encoding for dialect(s). + (Dialect list: \@tracklang@dialects.) + Either set the encoding explicitly or switch to XeLaTeX% + }% + \else + \RequirePackage{fontenc}% + \fi + } + {% + \expandafter\PassOptionsToPackage\expandafter{\@locale@fontenc}{fontenc}% + \RequirePackage{fontenc}% + } + } + \ifdefstring{\@locale@inputenc}{none} + {} + {% + \ifdefstring{\@locale@inputenc}{auto} + {% + \ifx\LocaleOScodeset\empty + \PackageWarning{tex-locale}{Option `inputenc=auto' failed. + (Check shell escape.) Default file encoding unavailable} + \else + \IfFileExists{\LocaleOScodeset.def}% + {% + \renewcommand{\@locale@loadinputenc}{% + \RequirePackage{inputenc}% + \inputencoding{\LocaleOScodeset}% + } + \let\@locale@inputenc\LocaleOScodeset + }% + {% + \input{tex-locale-encodings.def}% + \@locale@ifhasencmap{\LocaleOScodeset} + { + \edef\@locale@inputenc{\@locale@getencmap\LocaleOScodeset} + \renewcommand{\@locale@loadinputenc}{% + \RequirePackage{inputenc}% + \inputencoding{\@locale@inputenc}% + } + } + {% + \PackageWarning{tex-locale}{Option `inputenc=auto' failed. + Don't know how to interpret codeset `\LocaleOScodeset'}% + }% + } + \fi + } + {% + \renewcommand{\@locale@loadinputenc}{% + \RequirePackage{inputenc}% + \inputencoding{\@locale@inputenc}% + } + } + } +} +\newcommand{\@locale@loadscripts}{% + \RequirePackage{tracklang-scripts}% + \let\@locale@loadscripts\relax +} +\providecommand*{\@secondofthree}[3]{#2} +\newcommand*{\@locale@ifsupportbabelorpoly}[3]{#1} +\newcommand*{\@locale@ifsupportcjk}[2]{#2} +\newcommand*{\@locale@ifsupportpinyin}[2]{#2} +\newcommand*{\@locale@cjklist}{} +\listadd{\@locale@cjklist}{chinese} +\listadd{\@locale@cjklist}{japanese} +\listadd{\@locale@cjklist}{korean} +\listadd{\@locale@cjklist}{thai} +\newcommand*{\@locale@ifcjk}[1]{% + \xifinlist{#1}{\@locale@cjklist}% +} +\newcommand*{\@locale@iflatinscript}[1]{% + \ifcsstring{@tracklang@script@#1}{Latn}% +} +\ifcase\@locale@supportopt +\or + \@locale@trackall + \ForEachTrackedDialect{\locale@this@dialect}% + {% + \edef\this@root@lang{\TrackedLanguageFromDialect{\locale@this@dialect}}% + \@locale@ifcjk{\this@root@lang}% + { + \let\@locale@ifsupportcjk\@firstoftwo + \@locale@iflatinscript{\locale@this@dialect}% + {\let\@locale@ifsupportpinyin\@firstoftwo}% + {} + } + {} + \@locale@ifxeorlua + { + \@locale@ifsupportbabelorpoly + { + \IfFileExists{gloss-\this@root@lang.ldf} + { + \let\@locale@ifsupportbabelorpoly\@thirdofthree + } + { + \IfFileExists{\this@root@lang.ldf} + {\let\@locale@ifsupportbabelorpoly\@secondofthree} + {} + } + } + {} + { + \IfFileExists{gloss-\this@root@lang.ldf} + {} + { + \IfFileExists{\this@root@lang.ldf} + {\let\@locale@ifsupportbabelorpoly\@secondofthree} + {} + } + } + } + { + \IfFileExists{\this@root@lang.ldf} + {\let\@locale@ifsupportbabelorpoly\@secondofthree} + {} + } + } +\or + \let\@locale@ifsupportbabelorpoly\@secondofthree +\or + \let\@locale@ifsupportbabelorpoly\@thirdofthree +\or + \let\@locale@currentiscjk\@secondoftwo + \ForEachTrackedDialect{\locale@this@dialect}% + {% + \edef\this@root@lang{\TrackedLanguageFromDialect{\locale@this@dialect}}% + \@locale@ifcjk{\this@root@lang}% + { + \@locale@iflatinscript{\locale@this@dialect}% + {\let\@locale@ifsupportpinyin\@firstoftwo}% + {} + } + {} + } +\fi +\@locale@ifsupportcjk +{ + \@locale@ifxeorlua + { + \RequirePackage{xeCJK}% + } + { + \ifdefstring\@locale@inputenc{utf8}% + {% + \RequirePackage{CJKutf8}% + \renewcommand{\@locale@loadinputenc}{}% + \newcommand*{\localeprequery}{\begin{CJK}{UTF8}{}\makeatletter} + \newcommand*{\localepostquery}{\end{CJK}} + }% + {% + \RequirePackage{CJK}% + \PackageWarning{tex-locale}{Unsupported encoding `\@locale@loadinputenc'}% + }% + } + \@locale@ifsupportpinyin + {\RequirePackage{pinyin}}% + {}% +} +{} + +\@locale@loadinputenc +\newcommand{\localenopolypunct}[1]{{#1}} +\newrobustcmd{\@locale@nopolypunct}[1]{% + {% + \@tracklang@ifundef{no\languagename @punctuation}{}% + {\csname no\languagename @punctuation\endcsname}% + #1% + }% +} +\input{tex-locale} +\@locale@load@dtm +\@ifpackageloaded{polyglossia} +{\newcommand{\LocaleSupportPackageCase}[3]{#2}} +{% + \@ifpackageloaded{babel} + {\newcommand{\LocaleSupportPackageCase}[3]{#1}}% + {\newcommand{\LocaleSupportPackageCase}[3]{#3}}% +} +\endinput +%% +%% End of file `tex-locale.sty'. -- cgit v1.2.3