summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/tracklang
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-12-01 21:36:02 +0000
committerKarl Berry <karl@freefriends.org>2019-12-01 21:36:02 +0000
commit4f2a86ba4239f35f5d8b18c9973150e0143a4d0a (patch)
treebaa656ac0344268a5c6aeb128b42035d49675808 /Master/texmf-dist/tex/generic/tracklang
parent9aeb61680aefe61b97bdf89d656819d75cf3fc28 (diff)
tracklang (1dec19)
git-svn-id: svn://tug.org/texlive/trunk@52991 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/tracklang')
-rw-r--r--Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex3
-rw-r--r--Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex381
-rw-r--r--Master/texmf-dist/tex/generic/tracklang/tracklang.tex1447
3 files changed, 1621 insertions, 210 deletions
diff --git a/Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex b/Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex
index 4572e43960a..ceb4dbc9ab4 100644
--- a/Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex
+++ b/Master/texmf-dist/tex/generic/tracklang/tracklang-region-codes.tex
@@ -64,7 +64,7 @@
\expandafter\endinput
\fi
\expandafter\def\csname ver@tracklang-region-codes.tex\endcsname{%
- 2019/11/11 v1.3.9 (NLCT) Track Languages Regions}%
+ 2019/11/30 v1.4 (NLCT) Track Languages Regions}%
\def\TrackLangRegionMap#1#2#3{%
\@tracklang@enamedef{@tracklang@region@numtoalphaii@#1}{#2}%
\@tracklang@enamedef{@tracklang@region@numtoalphaiii@#1}{#3}%
@@ -349,6 +349,7 @@
\TrackLangRegionMap{887}{YE}{YEM}%
\TrackLangRegionMap{894}{ZM}{ZMB}%
\TrackLangRegionMap{716}{ZW}{ZWE}%
+\@tracklang@input@extra@region@files
\@tracklang@regions@restore@at
\endinput
%%
diff --git a/Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex b/Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex
index 1d6733ac84d..bd9e454eb83 100644
--- a/Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex
+++ b/Master/texmf-dist/tex/generic/tracklang/tracklang-scripts.tex
@@ -64,7 +64,7 @@
\expandafter\endinput
\fi
\expandafter\def\csname ver@tracklang-scripts.tex\endcsname{%
- 2019/11/11 v1.3.9 (NLCT) Track Languages Scripts (Generic)}%
+ 2019/11/30 v1.4 (NLCT) Track Languages Scripts (Generic)}%
\def\TrackLangScriptMap#1#2#3#4#5{%
\@tracklang@enamedef{TrackLangScript#1}{#1}%
\@tracklang@enamedef{@tracklang@script@numtoalpha@#2}{#1}%
@@ -109,201 +109,190 @@
{#3}%
{#2}%
}%
-\TrackLangScriptMap{Adlm}{166}{Adlam}{RL}{}
-\TrackLangScriptMap{Afak}{439}{Afaka}{varies}{}
-\TrackLangScriptMap{Aghb}{239}{Caucasian Albanian}{LR}{}
-\TrackLangScriptMap{Ahom}{338}{Ahom, Tai Ahom}{LR}{}
-\TrackLangScriptMap{Arab}{160}{Arabic}{RL}{}
-\TrackLangScriptMap{Aran}{161}{Arabic (Nastaliq variant)}{RL}{}
-\TrackLangScriptMap{Armi}{124}{Imperial Aramaic}{RL}{}
-\TrackLangScriptMap{Armn}{230}{Armenian}{LR}{}
-\TrackLangScriptMap{Avst}{134}{Avestan}{RL}{}
-\TrackLangScriptMap{Bali}{360}{Balinese}{LR}{}
-\TrackLangScriptMap{Bamu}{435}{Bamum}{LR}{}
-\TrackLangScriptMap{Bass}{259}{Bassa Vah}{LR}{}
-\TrackLangScriptMap{Batk}{365}{Batak}{LR}{}
-\TrackLangScriptMap{Beng}{334}{Bhaiksuki}{LR}{}
-\TrackLangScriptMap{Blis}{550}{Blissymbols}{varies}{}
-\TrackLangScriptMap{Bopo}{285}{Bopomofo}{LR}{}
-\TrackLangScriptMap{Brah}{300}{Brahmi}{LR}{}
-\TrackLangScriptMap{Brai}{570}{Braille}{LR}{}
-\TrackLangScriptMap{Bugi}{367}{Buginese}{LR}{}
-\TrackLangScriptMap{Buhd}{372}{Buhid}{LR}{}
-\TrackLangScriptMap{Cakm}{349}{Chakma}{LR}{}
-\TrackLangScriptMap{Cans}{440}{Unified Canadian Aboriginal Syllabics}{LR}{}
-\TrackLangScriptMap{Cari}{201}{Carian}{LR}{}
-\TrackLangScriptMap{Cham}{358}{Cham}{LR}{}
-\TrackLangScriptMap{Cher}{445}{Cherokee}{LR}{}
-\TrackLangScriptMap{Cirt}{291}{Cirth}{varies}{}
-\TrackLangScriptMap{Copt}{204}{Coptic}{LR}{}
-\TrackLangScriptMap{Cprt}{403}{Cypriot}{RL}{}
-\TrackLangScriptMap{Cyrl}{220}{Cyrillic}{LR}{}
-\TrackLangScriptMap{Cyrs}{221}{Cyrillic (Old Church Slavonic{}
-variant)}{varies}{}
-\TrackLangScriptMap{Deva}{315}{Devanagari (Nagari)}{LR}{}
-\TrackLangScriptMap{Dsrt}{250}{Deseret (Mormon)}{LR}{}
-\TrackLangScriptMap{Dupl}{755}{Duployan shorthand, Duployan{}
-stenography}{LR}{}
-\TrackLangScriptMap{Egyd}{070}{Egyptian demotic}{RL}{}
-\TrackLangScriptMap{Egyh}{060}{Egyptian hieratic}{RL}{}
-\TrackLangScriptMap{Egyp}{050}{Egyptian hieroglyphs}{LR}{}
-\TrackLangScriptMap{Elba}{226}{Elbasan}{LR}{}
-\TrackLangScriptMap{Ethi}{430}{Ethiopic (Ge'ez)}{LR}{}
-\TrackLangScriptMap{Geok}{241}{Khutsuri (Asomtavruli and{}
-Nuskhuri)}{LR}{}
-\TrackLangScriptMap{Geor}{240}{Georgian (Mkhedruli)}{LR}{}
-\TrackLangScriptMap{Glag}{225}{Glagolitic}{LR}{}
-\TrackLangScriptMap{Goth}{206}{Gothic}{LR}{}
-\TrackLangScriptMap{Gran}{343}{Grantha}{LR}{}
-\TrackLangScriptMap{Grek}{200}{Greek}{LR}{}
-\TrackLangScriptMap{Gujr}{320}{Gujarati}{LR}{}
-\TrackLangScriptMap{Guru}{310}{Gurmukhi}{LR}{}
-\TrackLangScriptMap{Hanb}{503}{Han with Bopomofo (alias for Han +{}
-Bopomofo)}{LR}{}
-\TrackLangScriptMap{Hang}{286}{Hangul}{LR}{}
-\TrackLangScriptMap{Hani}{500}{Han (Hanzi, Kanji, Hanja)}{LR}{}
-\TrackLangScriptMap{Hano}{371}{Hanunoo}{LR}{}
-\TrackLangScriptMap{Hans}{501}{Han (Simplified variant)}{varies}{}
-\TrackLangScriptMap{Hant}{502}{Han (Traditional variant)}{varies}{}
-\TrackLangScriptMap{Hatr}{127}{Hatran}{RL}{}
-\TrackLangScriptMap{Hebr}{125}{Hebrew}{RL}{}
-\TrackLangScriptMap{Hira}{410}{Hiragana}{LR}{}
-\TrackLangScriptMap{Hluw}{080}{Anatolian Hieroglyphs (Luwian{}
-Hieroglyphs, Hittite Hieroglyphs)}{LR}{}
-\TrackLangScriptMap{Hmng}{450}{Pahawh Hmong}{LR}{}
-\TrackLangScriptMap{Hrkt}{412}{Japanese syllabaries (alias for{}
-Hiragana + Katakana)}{varies}{}
-\TrackLangScriptMap{Hung}{176}{Old Hungarian (Hungarian Runic)}{RL}{}
-\TrackLangScriptMap{Inds}{610}{Indus (Harappan)}{RL}{}
-\TrackLangScriptMap{Ital}{210}{Old Italic (Etruscan, Oscan, etc.)}{LR}{}
-\TrackLangScriptMap{Jamo}{284}{Jamo (alias for Jamo subset of{}
-Hangul)}{LR}{}
-\TrackLangScriptMap{Java}{361}{Javanese}{LR}{}
-\TrackLangScriptMap{Jpan}{413}{Japanese (alias for Han + Hiragana +{}
-Katakana)}{varies}{}
-\TrackLangScriptMap{Jurc}{510}{Jurchen}{LR}{}
-\TrackLangScriptMap{Kali}{357}{Kayah Li}{LR}{}
-\TrackLangScriptMap{Kana}{411}{Katakana}{LR}{}
-\TrackLangScriptMap{Khar}{305}{Kharoshthi}{RL}{}
-\TrackLangScriptMap{Khmr}{355}{Khmer}{LR}{}
-\TrackLangScriptMap{Khoj}{322}{Khojki}{LR}{}
-\TrackLangScriptMap{Kitl}{505}{Khitan large script}{LR}{}
-\TrackLangScriptMap{Kits}{288}{Khitan small script}{TB}{}
-\TrackLangScriptMap{Knda}{345}{Kannada}{LR}{}
-\TrackLangScriptMap{Kore}{287}{Korean (alias for Hangul + Han)}{LR}{}
-\TrackLangScriptMap{Kpel}{436}{Kpelle}{LR}{}
-\TrackLangScriptMap{Kthi}{317}{Kaithi}{LR}{}
-\TrackLangScriptMap{Lana}{351}{Tai Tham (Lanna)}{LR}{}
-\TrackLangScriptMap{Laoo}{356}{Lao}{LR}{}
-\TrackLangScriptMap{Latf}{217}{Latin (Fraktur variant)}{varies}{}
-\TrackLangScriptMap{Latg}{216}{Latin (Gaelic variant)}{LR}{}
-\TrackLangScriptMap{Latn}{215}{Latin}{LR}{}
-\TrackLangScriptMap{Leke}{364}{Leke}{LR}{}
-\TrackLangScriptMap{Lepc}{335}{Lepcha}{LR}{}
-\TrackLangScriptMap{Limb}{336}{Limbu}{LR}{}
-\TrackLangScriptMap{Lina}{400}{Linear A}{LR}{}
-\TrackLangScriptMap{Linb}{401}{Linear B}{LR}{}
-\TrackLangScriptMap{Lisu}{399}{Lisu (Fraser)}{LR}{}
-\TrackLangScriptMap{Loma}{437}{Loma}{LR}{}
-\TrackLangScriptMap{Lyci}{202}{Lycian}{LR}{}
-\TrackLangScriptMap{Lydi}{116}{Lydian}{RL}{}
-\TrackLangScriptMap{Mahj}{314}{Mahajani}{LR}{}
-\TrackLangScriptMap{Mand}{140}{Mandaic, Mandaean}{RL}{}
-\TrackLangScriptMap{Mani}{139}{Manichaean}{RL}{}
-\TrackLangScriptMap{Marc}{332}{Marchen}{LR}{}
-\TrackLangScriptMap{Maya}{090}{Mayan hieroglyphs}{varies}{}
-\TrackLangScriptMap{Mend}{438}{Mende Kikakui}{RL}{}
-\TrackLangScriptMap{Merc}{101}{Meroitic Cursive}{RL}{}
-\TrackLangScriptMap{Mero}{100}{Meroitic Hieroglyphs}{RL}{}
-\TrackLangScriptMap{Mlym}{347}{Malayalam}{LR}{}
-\TrackLangScriptMap{Modi}{324}{Modi}{LR}{}
-\TrackLangScriptMap{Mong}{145}{Mongolian}{TB}{}
-\TrackLangScriptMap{Moon}{218}{Moon (Moon code, Moon script, Moon{}
-type)}{varies}{}
-\TrackLangScriptMap{Mroo}{199}{Mro, Mru}{LR}{}
-\TrackLangScriptMap{Mtei}{337}{Meitei Mayek (Meithei, Meetei)}{LR}{}
-\TrackLangScriptMap{Mult}{323}{Multani}{LR}{}
-\TrackLangScriptMap{Mymr}{350}{Myanmar (Burmese)}{LR}{}
-\TrackLangScriptMap{Narb}{106}{Old North Arabian (Ancient North{}
-Arabian)}{RL}{}
-\TrackLangScriptMap{Nbat}{159}{Nabataean}{RL}{}
-\TrackLangScriptMap{Newa}{333}{Newa, Newar, Newari}{LR}{}
-\TrackLangScriptMap{Nkgb}{420}{Nakhi Geba}{LR}{}
-\TrackLangScriptMap{Nkoo}{165}{N'Ko}{RL}{}
-\TrackLangScriptMap{Nshu}{499}{Nushu}{LR}{}
-\TrackLangScriptMap{Ogam}{212}{Ogham}{varies}{}
-\TrackLangScriptMap{Olck}{261}{Ol Chiki}{LR}{}
-\TrackLangScriptMap{Orkh}{175}{Old Turkic, Orkhon Runic}{RL}{}
-\TrackLangScriptMap{Orya}{327}{Oriya}{LR}{}
-\TrackLangScriptMap{Osge}{219}{Osage}{LR}{}
-\TrackLangScriptMap{Osma}{260}{Osmanya}{LR}{}
-\TrackLangScriptMap{Palm}{126}{Palmyrene}{RL}{}
-\TrackLangScriptMap{Pauc}{263}{Pau Cin Hau}{LR}{}
-\TrackLangScriptMap{Perm}{227}{Old Permic}{LR}{}
-\TrackLangScriptMap{Phag}{331}{Phags-pa}{TB}{}
-\TrackLangScriptMap{Phli}{131}{Inscriptional Pahlavi}{RL}{}
-\TrackLangScriptMap{Phlp}{132}{Psalter Pahlavi}{RL}{}
-\TrackLangScriptMap{Phlv}{133}{Book Pahlavi}{RL}{}
-\TrackLangScriptMap{Phnx}{115}{Phoenician}{RL}{}
-\TrackLangScriptMap{Piqd}{293}{Klingon (KLI plqaD)}{LR}{}
-\TrackLangScriptMap{Plrd}{282}{Miao (Pollard)}{LR}{}
-\TrackLangScriptMap{Prti}{130}{Inscriptional Parthian}{RL}{}
-\TrackLangScriptMap{Qaaa}{900}{Reserved for private use{}
-(start)}{varies}{}
-\TrackLangScriptMap{Qaai}{908}{Private use}{varies}{}
-\TrackLangScriptMap{Qabx}{949}{Reserved for private use{}
-(end)}{varies}{}
-\TrackLangScriptMap{Rjng}{363}{Rejang (Redjang, Kaganga)}{LR}{}
-\TrackLangScriptMap{Roro}{620}{Rongorongo}{varies}{}
-\TrackLangScriptMap{Runr}{211}{Runic}{LR}{}
-\TrackLangScriptMap{Samr}{123}{Samaritan}{RL}{}
-\TrackLangScriptMap{Sara}{292}{Sarati}{varies}{}
-\TrackLangScriptMap{Sarb}{105}{Old South Arabian}{RL}{}
-\TrackLangScriptMap{Saur}{344}{Saurashtra}{LR}{}
-\TrackLangScriptMap{Sgnw}{095}{SignWriting}{TB}{}
-\TrackLangScriptMap{Shaw}{281}{Shavian (Shaw)}{LR}{}
-\TrackLangScriptMap{Shrd}{319}{Sharada}{LR}{}
-\TrackLangScriptMap{Sidd}{302}{Siddham}{LR}{}
-\TrackLangScriptMap{Sind}{318}{Khudawadi, Sindhi}{LR}{}
-\TrackLangScriptMap{Sinh}{348}{Sinhala}{LR}{}
-\TrackLangScriptMap{Sora}{398}{Sora Sompeng}{LR}{}
-\TrackLangScriptMap{Sund}{362}{Sundanese}{LR}{}
-\TrackLangScriptMap{Sylo}{316}{Syloti Nagri}{LR}{}
-\TrackLangScriptMap{Syrc}{135}{Syriac}{RL}{}
-\TrackLangScriptMap{Syre}{138}{Syriac (Estrangelo variant)}{RL}{}
-\TrackLangScriptMap{Syrj}{137}{Syriac (Western variant)}{RL}{}
-\TrackLangScriptMap{Syrn}{136}{Syriac (Eastern variant)}{RL}{}
-\TrackLangScriptMap{Tagb}{373}{Tagbanwa}{LR}{}
-\TrackLangScriptMap{Takr}{321}{Takri}{LR}{}
-\TrackLangScriptMap{Tale}{353}{Tai Le}{LR}{}
-\TrackLangScriptMap{Talu}{354}{New Tai Lue}{LR}{}
-\TrackLangScriptMap{Taml}{346}{Tamil}{LR}{}
-\TrackLangScriptMap{Taml}{346}{Tamil}{LR}{}
-\TrackLangScriptMap{Tang}{520}{Tangut}{LR}{}
-\TrackLangScriptMap{Tavt}{359}{Tai Viet}{LR}{}
-\TrackLangScriptMap{Telu}{340}{Telugu}{LR}{}
-\TrackLangScriptMap{Teng}{290}{Tengwar}{LR}{}
-\TrackLangScriptMap{Tfng}{120}{Tifinagh (Berber)}{LR}{}
-\TrackLangScriptMap{Tglg}{370}{Tagalog (Baybayin, Alibata)}{LR}{}
-\TrackLangScriptMap{Thaa}{170}{Thaana}{RL}{}
-\TrackLangScriptMap{Thai}{352}{Thai}{LR}{}
-\TrackLangScriptMap{Tibt}{330}{Tibetan}{LR}{}
-\TrackLangScriptMap{Tirh}{326}{Tirhuta}{LR}{}
-\TrackLangScriptMap{Ugar}{040}{Ugaritic}{LR}{}
-\TrackLangScriptMap{Vaii}{470}{Vai}{LR}{}
-\TrackLangScriptMap{Visp}{280}{Visible Speech}{LR}{}
-\TrackLangScriptMap{Wara}{262}{Warang Citi (Varang Kshiti)}{LR}{}
-\TrackLangScriptMap{Wole}{480}{Woleai}{RL}{}
-\TrackLangScriptMap{Xpeo}{030}{Old Persian}{LR}{}
-\TrackLangScriptMap{Xsux}{020}{Cuneiform, Sumero-Akkadian}{LR}{}
-\TrackLangScriptMap{Yiii}{460}{Yi}{LR}{}
-\TrackLangScriptMap{Zinh}{994}{Inherited script}{inherited}{}
-\TrackLangScriptMap{Zmth}{995}{Mathematical notation}{LR}{}
-\TrackLangScriptMap{Zsym}{996}{Symbols}{varies}{}
-\TrackLangScriptMap{Zsye}{993}{Symbols (emoji variant)}{varies}{}
-\TrackLangScriptMap{Zxxx}{997}{Unwritten documents}{varies}{}
-\TrackLangScriptMap{Zyyy}{998}{Undetermined script}{varies}{}
-\TrackLangScriptMap{Zzzz}{999}{Uncoded script}{varies}{}
+\TrackLangScriptMap{Adlm}{166}{Adlam}{RL}{}%
+\TrackLangScriptMap{Afak}{439}{Afaka}{varies}{}%
+\TrackLangScriptMap{Aghb}{239}{Caucasian Albanian}{LR}{}%
+\TrackLangScriptMap{Ahom}{338}{Ahom, Tai Ahom}{LR}{}%
+\TrackLangScriptMap{Arab}{160}{Arabic}{RL}{}%
+\TrackLangScriptMap{Aran}{161}{Arabic (Nastaliq variant)}{RL}{}%
+\TrackLangScriptMap{Armi}{124}{Imperial Aramaic}{RL}{}%
+\TrackLangScriptMap{Armn}{230}{Armenian}{LR}{}%
+\TrackLangScriptMap{Avst}{134}{Avestan}{RL}{}%
+\TrackLangScriptMap{Bali}{360}{Balinese}{LR}{}%
+\TrackLangScriptMap{Bamu}{435}{Bamum}{LR}{}%
+\TrackLangScriptMap{Bass}{259}{Bassa Vah}{LR}{}%
+\TrackLangScriptMap{Batk}{365}{Batak}{LR}{}%
+\TrackLangScriptMap{Beng}{334}{Bhaiksuki}{LR}{}%
+\TrackLangScriptMap{Blis}{550}{Blissymbols}{varies}{}%
+\TrackLangScriptMap{Bopo}{285}{Bopomofo}{LR}{}%
+\TrackLangScriptMap{Brah}{300}{Brahmi}{LR}{}%
+\TrackLangScriptMap{Brai}{570}{Braille}{LR}{}%
+\TrackLangScriptMap{Bugi}{367}{Buginese}{LR}{}%
+\TrackLangScriptMap{Buhd}{372}{Buhid}{LR}{}%
+\TrackLangScriptMap{Cakm}{349}{Chakma}{LR}{}%
+\TrackLangScriptMap{Cans}{440}{Unified Canadian Aboriginal Syllabics}{LR}{}%
+\TrackLangScriptMap{Cari}{201}{Carian}{LR}{}%
+\TrackLangScriptMap{Cham}{358}{Cham}{LR}{}%
+\TrackLangScriptMap{Cher}{445}{Cherokee}{LR}{}%
+\TrackLangScriptMap{Cirt}{291}{Cirth}{varies}{}%
+\TrackLangScriptMap{Copt}{204}{Coptic}{LR}{}%
+\TrackLangScriptMap{Cprt}{403}{Cypriot}{RL}{}%
+\TrackLangScriptMap{Cyrl}{220}{Cyrillic}{LR}{}%
+\TrackLangScriptMap{Cyrs}{221}{Cyrillic (Old Church Slavonic variant)}{varies}{}%
+\TrackLangScriptMap{Deva}{315}{Devanagari (Nagari)}{LR}{}%
+\TrackLangScriptMap{Dsrt}{250}{Deseret (Mormon)}{LR}{}%
+\TrackLangScriptMap{Dupl}{755}{Duployan shorthand, Duployan stenography}{LR}{}%
+\TrackLangScriptMap{Egyd}{070}{Egyptian demotic}{RL}{}%
+\TrackLangScriptMap{Egyh}{060}{Egyptian hieratic}{RL}{}%
+\TrackLangScriptMap{Egyp}{050}{Egyptian hieroglyphs}{LR}{}%
+\TrackLangScriptMap{Elba}{226}{Elbasan}{LR}{}%
+\TrackLangScriptMap{Ethi}{430}{Ethiopic (Ge'ez)}{LR}{}%
+\TrackLangScriptMap{Geok}{241}{Khutsuri (Asomtavruli and Nuskhuri)}{LR}{}%
+\TrackLangScriptMap{Geor}{240}{Georgian (Mkhedruli)}{LR}{}%
+\TrackLangScriptMap{Glag}{225}{Glagolitic}{LR}{}%
+\TrackLangScriptMap{Goth}{206}{Gothic}{LR}{}%
+\TrackLangScriptMap{Gran}{343}{Grantha}{LR}{}%
+\TrackLangScriptMap{Grek}{200}{Greek}{LR}{}%
+\TrackLangScriptMap{Gujr}{320}{Gujarati}{LR}{}%
+\TrackLangScriptMap{Guru}{310}{Gurmukhi}{LR}{}%
+\TrackLangScriptMap{Hanb}{503}{Han with Bopomofo (alias for Han + Bopomofo)}{LR}{}%
+\TrackLangScriptMap{Hang}{286}{Hangul}{LR}{}%
+\TrackLangScriptMap{Hani}{500}{Han (Hanzi, Kanji, Hanja)}{LR}{}%
+\TrackLangScriptMap{Hano}{371}{Hanunoo}{LR}{}%
+\TrackLangScriptMap{Hans}{501}{Han (Simplified variant)}{varies}{}%
+\TrackLangScriptMap{Hant}{502}{Han (Traditional variant)}{varies}{}%
+\TrackLangScriptMap{Hatr}{127}{Hatran}{RL}{}%
+\TrackLangScriptMap{Hebr}{125}{Hebrew}{RL}{}%
+\TrackLangScriptMap{Hira}{410}{Hiragana}{LR}{}%
+\TrackLangScriptMap{Hluw}{080}{Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)}{LR}{}%
+\TrackLangScriptMap{Hmng}{450}{Pahawh Hmong}{LR}{}%
+\TrackLangScriptMap{Hrkt}{412}{Japanese syllabaries (alias for Hiragana + Katakana)}{varies}{}%
+\TrackLangScriptMap{Hung}{176}{Old Hungarian (Hungarian Runic)}{RL}{}%
+\TrackLangScriptMap{Inds}{610}{Indus (Harappan)}{RL}{}%
+\TrackLangScriptMap{Ital}{210}{Old Italic (Etruscan, Oscan, etc.)}{LR}{}%
+\TrackLangScriptMap{Jamo}{284}{Jamo (alias for Jamo subset of Hangul)}{LR}{}%
+\TrackLangScriptMap{Java}{361}{Javanese}{LR}{}%
+\TrackLangScriptMap{Jpan}{413}{Japanese (alias for Han + Hiragana + Katakana)}{varies}{}%
+\TrackLangScriptMap{Jurc}{510}{Jurchen}{LR}{}%
+\TrackLangScriptMap{Kali}{357}{Kayah Li}{LR}{}%
+\TrackLangScriptMap{Kana}{411}{Katakana}{LR}{}%
+\TrackLangScriptMap{Khar}{305}{Kharoshthi}{RL}{}%
+\TrackLangScriptMap{Khmr}{355}{Khmer}{LR}{}%
+\TrackLangScriptMap{Khoj}{322}{Khojki}{LR}{}%
+\TrackLangScriptMap{Kitl}{505}{Khitan large script}{LR}{}%
+\TrackLangScriptMap{Kits}{288}{Khitan small script}{TB}{}%
+\TrackLangScriptMap{Knda}{345}{Kannada}{LR}{}%
+\TrackLangScriptMap{Kore}{287}{Korean (alias for Hangul + Han)}{LR}{}%
+\TrackLangScriptMap{Kpel}{436}{Kpelle}{LR}{}%
+\TrackLangScriptMap{Kthi}{317}{Kaithi}{LR}{}%
+\TrackLangScriptMap{Lana}{351}{Tai Tham (Lanna)}{LR}{}%
+\TrackLangScriptMap{Laoo}{356}{Lao}{LR}{}%
+\TrackLangScriptMap{Latf}{217}{Latin (Fraktur variant)}{varies}{}%
+\TrackLangScriptMap{Latg}{216}{Latin (Gaelic variant)}{LR}{}%
+\TrackLangScriptMap{Latn}{215}{Latin}{LR}{}%
+\TrackLangScriptMap{Leke}{364}{Leke}{LR}{}%
+\TrackLangScriptMap{Lepc}{335}{Lepcha}{LR}{}%
+\TrackLangScriptMap{Limb}{336}{Limbu}{LR}{}%
+\TrackLangScriptMap{Lina}{400}{Linear A}{LR}{}%
+\TrackLangScriptMap{Linb}{401}{Linear B}{LR}{}%
+\TrackLangScriptMap{Lisu}{399}{Lisu (Fraser)}{LR}{}%
+\TrackLangScriptMap{Loma}{437}{Loma}{LR}{}%
+\TrackLangScriptMap{Lyci}{202}{Lycian}{LR}{}%
+\TrackLangScriptMap{Lydi}{116}{Lydian}{RL}{}%
+\TrackLangScriptMap{Mahj}{314}{Mahajani}{LR}{}%
+\TrackLangScriptMap{Mand}{140}{Mandaic, Mandaean}{RL}{}%
+\TrackLangScriptMap{Mani}{139}{Manichaean}{RL}{}%
+\TrackLangScriptMap{Marc}{332}{Marchen}{LR}{}%
+\TrackLangScriptMap{Maya}{090}{Mayan hieroglyphs}{varies}{}%
+\TrackLangScriptMap{Mend}{438}{Mende Kikakui}{RL}{}%
+\TrackLangScriptMap{Merc}{101}{Meroitic Cursive}{RL}{}%
+\TrackLangScriptMap{Mero}{100}{Meroitic Hieroglyphs}{RL}{}%
+\TrackLangScriptMap{Mlym}{347}{Malayalam}{LR}{}%
+\TrackLangScriptMap{Modi}{324}{Modi}{LR}{}%
+\TrackLangScriptMap{Mong}{145}{Mongolian}{TB}{}%
+\TrackLangScriptMap{Moon}{218}{Moon (Moon code, Moon script, Moon type)}{varies}{}%
+\TrackLangScriptMap{Mroo}{199}{Mro, Mru}{LR}{}%
+\TrackLangScriptMap{Mtei}{337}{Meitei Mayek (Meithei, Meetei)}{LR}{}%
+\TrackLangScriptMap{Mult}{323}{Multani}{LR}{}%
+\TrackLangScriptMap{Mymr}{350}{Myanmar (Burmese)}{LR}{}%
+\TrackLangScriptMap{Narb}{106}{Old North Arabian (Ancient North Arabian)}{RL}{}%
+\TrackLangScriptMap{Nbat}{159}{Nabataean}{RL}{}%
+\TrackLangScriptMap{Newa}{333}{Newa, Newar, Newari}{LR}{}%
+\TrackLangScriptMap{Nkgb}{420}{Nakhi Geba}{LR}{}%
+\TrackLangScriptMap{Nkoo}{165}{N'Ko}{RL}{}%
+\TrackLangScriptMap{Nshu}{499}{Nushu}{LR}{}%
+\TrackLangScriptMap{Ogam}{212}{Ogham}{varies}{}%
+\TrackLangScriptMap{Olck}{261}{Ol Chiki}{LR}{}%
+\TrackLangScriptMap{Orkh}{175}{Old Turkic, Orkhon Runic}{RL}{}%
+\TrackLangScriptMap{Orya}{327}{Oriya}{LR}{}%
+\TrackLangScriptMap{Osge}{219}{Osage}{LR}{}%
+\TrackLangScriptMap{Osma}{260}{Osmanya}{LR}{}%
+\TrackLangScriptMap{Palm}{126}{Palmyrene}{RL}{}%
+\TrackLangScriptMap{Pauc}{263}{Pau Cin Hau}{LR}{}%
+\TrackLangScriptMap{Perm}{227}{Old Permic}{LR}{}%
+\TrackLangScriptMap{Phag}{331}{Phags-pa}{TB}{}%
+\TrackLangScriptMap{Phli}{131}{Inscriptional Pahlavi}{RL}{}%
+\TrackLangScriptMap{Phlp}{132}{Psalter Pahlavi}{RL}{}%
+\TrackLangScriptMap{Phlv}{133}{Book Pahlavi}{RL}{}%
+\TrackLangScriptMap{Phnx}{115}{Phoenician}{RL}{}%
+\TrackLangScriptMap{Piqd}{293}{Klingon (KLI plqaD)}{LR}{}%
+\TrackLangScriptMap{Plrd}{282}{Miao (Pollard)}{LR}{}%
+\TrackLangScriptMap{Prti}{130}{Inscriptional Parthian}{RL}{}%
+\TrackLangScriptMap{Qaaa}{900}{Reserved for private use (start)}{varies}{}%
+\TrackLangScriptMap{Qaai}{908}{Private use}{varies}{}%
+\TrackLangScriptMap{Qabx}{949}{Reserved for private use (end)}{varies}{}%
+\TrackLangScriptMap{Rjng}{363}{Rejang (Redjang, Kaganga)}{LR}{}%
+\TrackLangScriptMap{Roro}{620}{Rongorongo}{varies}{}%
+\TrackLangScriptMap{Runr}{211}{Runic}{LR}{}%
+\TrackLangScriptMap{Samr}{123}{Samaritan}{RL}{}%
+\TrackLangScriptMap{Sara}{292}{Sarati}{varies}{}%
+\TrackLangScriptMap{Sarb}{105}{Old South Arabian}{RL}{}%
+\TrackLangScriptMap{Saur}{344}{Saurashtra}{LR}{}%
+\TrackLangScriptMap{Sgnw}{095}{SignWriting}{TB}{}%
+\TrackLangScriptMap{Shaw}{281}{Shavian (Shaw)}{LR}{}%
+\TrackLangScriptMap{Shrd}{319}{Sharada}{LR}{}%
+\TrackLangScriptMap{Sidd}{302}{Siddham}{LR}{}%
+\TrackLangScriptMap{Sind}{318}{Khudawadi, Sindhi}{LR}{}%
+\TrackLangScriptMap{Sinh}{348}{Sinhala}{LR}{}%
+\TrackLangScriptMap{Sora}{398}{Sora Sompeng}{LR}{}%
+\TrackLangScriptMap{Sund}{362}{Sundanese}{LR}{}%
+\TrackLangScriptMap{Sylo}{316}{Syloti Nagri}{LR}{}%
+\TrackLangScriptMap{Syrc}{135}{Syriac}{RL}{}%
+\TrackLangScriptMap{Syre}{138}{Syriac (Estrangelo variant)}{RL}{}%
+\TrackLangScriptMap{Syrj}{137}{Syriac (Western variant)}{RL}{}%
+\TrackLangScriptMap{Syrn}{136}{Syriac (Eastern variant)}{RL}{}%
+\TrackLangScriptMap{Tagb}{373}{Tagbanwa}{LR}{}%
+\TrackLangScriptMap{Takr}{321}{Takri}{LR}{}%
+\TrackLangScriptMap{Tale}{353}{Tai Le}{LR}{}%
+\TrackLangScriptMap{Talu}{354}{New Tai Lue}{LR}{}%
+\TrackLangScriptMap{Taml}{346}{Tamil}{LR}{}%
+\TrackLangScriptMap{Taml}{346}{Tamil}{LR}{}%
+\TrackLangScriptMap{Tang}{520}{Tangut}{LR}{}%
+\TrackLangScriptMap{Tavt}{359}{Tai Viet}{LR}{}%
+\TrackLangScriptMap{Telu}{340}{Telugu}{LR}{}%
+\TrackLangScriptMap{Teng}{290}{Tengwar}{LR}{}%
+\TrackLangScriptMap{Tfng}{120}{Tifinagh (Berber)}{LR}{}%
+\TrackLangScriptMap{Tglg}{370}{Tagalog (Baybayin, Alibata)}{LR}{}%
+\TrackLangScriptMap{Thaa}{170}{Thaana}{RL}{}%
+\TrackLangScriptMap{Thai}{352}{Thai}{LR}{}%
+\TrackLangScriptMap{Tibt}{330}{Tibetan}{LR}{}%
+\TrackLangScriptMap{Tirh}{326}{Tirhuta}{LR}{}%
+\TrackLangScriptMap{Ugar}{040}{Ugaritic}{LR}{}%
+\TrackLangScriptMap{Vaii}{470}{Vai}{LR}{}%
+\TrackLangScriptMap{Visp}{280}{Visible Speech}{LR}{}%
+\TrackLangScriptMap{Wara}{262}{Warang Citi (Varang Kshiti)}{LR}{}%
+\TrackLangScriptMap{Wole}{480}{Woleai}{RL}{}%
+\TrackLangScriptMap{Xpeo}{030}{Old Persian}{LR}{}%
+\TrackLangScriptMap{Xsux}{020}{Cuneiform, Sumero-Akkadian}{LR}{}%
+\TrackLangScriptMap{Yiii}{460}{Yi}{LR}{}%
+\TrackLangScriptMap{Zinh}{994}{Inherited script}{inherited}{}%
+\TrackLangScriptMap{Zmth}{995}{Mathematical notation}{LR}{}%
+\TrackLangScriptMap{Zsym}{996}{Symbols}{varies}{}%
+\TrackLangScriptMap{Zsye}{993}{Symbols (emoji variant)}{varies}{}%
+\TrackLangScriptMap{Zxxx}{997}{Unwritten documents}{varies}{}%
+\TrackLangScriptMap{Zyyy}{998}{Undetermined script}{varies}{}%
+\TrackLangScriptMap{Zzzz}{999}{Uncoded script}{varies}{}%
+\@tracklang@input@extra@script@files
\@tracklang@scripts@restore@at
\endinput
diff --git a/Master/texmf-dist/tex/generic/tracklang/tracklang.tex b/Master/texmf-dist/tex/generic/tracklang/tracklang.tex
index dbbd25175a0..edac76e31be 100644
--- a/Master/texmf-dist/tex/generic/tracklang/tracklang.tex
+++ b/Master/texmf-dist/tex/generic/tracklang/tracklang.tex
@@ -64,7 +64,7 @@
\expandafter\endinput
\fi
\expandafter\def\csname ver@tracklang.tex\endcsname{%
- 2019/11/11 v1.3.9 (NLCT) Track Languages Generic Code}
+ 2019/11/30 v1.4 (NLCT) Track Languages Generic Code}
\long\def\@tracklang@ifundef#1#2#3{%
\ifcsname#1\endcsname
\expandafter\ifx\csname #1\endcsname\relax
@@ -145,6 +145,16 @@
\def\@tracklang@nameuse#1{%
\@tracklang@ifundef{#1}{}{\csname#1\endcsname}%
}
+\def\@tracklang@ifcseqcsname#1#2#3#4{%
+ \@tracklang@ifundef{#2}{#4}%
+ {%
+ \expandafter\ifx\expandafter#1\csname#2\endcsname
+ #3%
+ \else
+ #4%
+ \fi
+ }%
+}
\ifx\@onelevel@sanitize\undefined
\def\@tracklang@sanitize#1{%
\edef#1{\expandafter\@tracklang@strip@prefix\meaning#1}%
@@ -153,8 +163,8 @@
\else
\let\@tracklang@sanitize\@onelevel@sanitize
\fi
-\def\@tracklang@firstoftwo#1#2{#1}
-\def\@tracklang@secondoftwo#1#2{#2}
+\long\def\@tracklang@firstoftwo#1#2{#1}
+\long\def\@tracklang@secondoftwo#1#2{#2}
\ifx\PackageError\undefined
\def\@tracklang@err#1#2{%
\errhelp{#2}%
@@ -201,6 +211,13 @@
\fi
}%
\fi
+\newif\ifTrackLangShowVerbose
+\TrackLangShowVerbosefalse
+\def\@tracklang@verbose#1{%
+ \ifTrackLangShowVerbose
+ \@tracklang@info{#1}%
+ \fi
+}%
\ifx\IfFileExists\undefined
\long\def\@tracklang@IfFileExists#1#2#3{%
\openin0=#1 %
@@ -820,36 +837,48 @@
}
\def\SetCurrentTrackedDialect#1{%
\edef\CurrentTrackedDialect{#1}%
+ \@tracklang@verbose{Setting current tracked dialect `\CurrentTrackedDialect'}%
\IfTrackedDialect{\CurrentTrackedDialect}%
{}%
{%
+ \@tracklang@verbose{Not a recognised tracklang label}%
\IfHookHasMappingFromTrackedDialect{\CurrentTrackedDialect}%
{%
\IfTrackedDialect{\GetTrackedDialectFromMapping\CurrentTrackedDialect}%
{%
\edef\CurrentTrackedDialect{\GetTrackedDialectFromMapping
{\CurrentTrackedDialect}}%
+ \@tracklang@verbose{Mapping found to tracklang label `\CurrentTrackedDialect'}%
}%
{%
\IfTrackedLanguage{#1}%
{%
+ \@tracklang@verbose{Supplied label is a root language.
+ Finding last tracked dialect for language `#1'}%
\edef\@tracklang@dialects{\TrackedDialectsFromLanguage{#1}}%
\@tracklang@for\@tracklang@dialect:=\@tracklang@dialects\do{%
\let\CurrentTrackedDialect\@tracklang@dialect
}%
}%
- {}%
+ {%
+ \@tracklang@verbose{No tracklang dialect found for label `#1'}%
+ }%
}%
}%
{%
+ \@tracklang@verbose{No mapping found}%
\IfTrackedLanguage{#1}%
{%
+ \@tracklang@verbose{Supplied label is a root language.
+ Finding last tracked dialect for language `#1'}%
\edef\@tracklang@dialects{\TrackedDialectsFromLanguage{#1}}%
\@tracklang@for\@tracklang@dialect:=\@tracklang@dialects\do{%
\let\CurrentTrackedDialect\@tracklang@dialect
}%
}%
- {}%
+ {%
+ \@tracklang@verbose{No tracklang dialect found for label `#1'}%
+ }%
}%
}%
\IfTrackedDialect{\CurrentTrackedDialect}%
@@ -903,6 +932,17 @@
}%
}%
}%
+ \@tracklang@verbose{Current tracked dialect: `\CurrentTrackedDialect'.\MessageBreak
+ Language: `\CurrentTrackedLanguage'.\MessageBreak
+ ISO code: `\CurrentTrackedIsoCode'.\MessageBreak
+ Sub-lang: `\CurrentTrackedDialectSubLang'.\MessageBreak
+ Modifier: `\CurrentTrackedDialectModifier'.\MessageBreak
+ Variant: `\CurrentTrackedDialectVariant'.\MessageBreak
+ Script: `\CurrentTrackedDialectScript'.\MessageBreak
+ Region: `\CurrentTrackedRegion'.\MessageBreak
+ Additional: `\CurrentTrackedDialectAdditional'.\MessageBreak
+ Tag: `\CurrentTrackedLanguageTag'.
+ }%
}%
{%
\@tracklang@warn{Unknown dialect label `#1' passed to
@@ -1352,6 +1392,34 @@
\let\@TrackLangEnvAdditional\@tracklang@split@post
\fi
}%
+\def\@tracklang@extra@region@filelist{}
+\def\TrackLangAddExtraRegionFile#1{%
+ \ifx\TrackLangRegionMap\undefined
+ \else
+ \@tracklang@input #1\relax
+ \fi
+ \@tracklang@add{#1}{\@tracklang@extra@region@filelist}%
+}
+\def\@tracklang@input@extra@region@files{%
+ \@tracklang@for\@tracklang@currfile:=\@tracklang@extra@region@filelist\do
+ {%
+ \@tracklang@input\@tracklang@currfile
+ }%
+}
+\def\@tracklang@extra@script@filelist{}
+\def\TrackLangAddExtraScriptFile#1{%
+ \ifx\TrackLangScriptMap\undefined
+ \else
+ \@tracklang@input #1\relax
+ \fi
+ \@tracklang@add{#1}{\@tracklang@extra@script@filelist}%
+}
+\def\@tracklang@input@extra@script@files{%
+ \@tracklang@for\@tracklang@currfile:=\@tracklang@extra@script@filelist\do
+ {%
+ \@tracklang@input\@tracklang@currfile
+ }%
+}
\def\GetTrackedDialectFromLanguageTag#1#2{%
\def#2{}%
\def\TrackedDialectClosestSubMatch{}%
@@ -1552,15 +1620,18 @@
\ifx\@tracklang@declareoption\undefined
\def\@tracklang@declareoption#1{}
\fi
+\def\TrackLangProvidePredefinedLanguage#1{%
+ \@tracklang@namedef{@tracklang@add@#1}{%
+ \AddTrackedLanguage{#1}%
+ \AddTrackedLanguageIsoCodes{#1}%
+ \AddTrackedCountryIsoCode{#1}%
+ }%
+}
\def\TrackLangDeclareLanguageOption#1#2#3#4#5#6#7{%
\@tracklang@ifundef{@tracklang@add@#1}%
{%
\TrackLangNewLanguage{#1}{#2}{#3}{#4}{#5}{#6}{#7}%
- \@tracklang@namedef{@tracklang@add@#1}{%
- \AddTrackedLanguage{#1}%
- \AddTrackedLanguageIsoCodes{#1}%
- \AddTrackedCountryIsoCode{#1}%
- }%
+ \TrackLangProvidePredefinedLanguage{#1}%
\@tracklang@declareoption{#1}%
}%
{%
@@ -1765,9 +1836,7 @@
\TrackLangDeclareLanguageOption{yoruba}{yo}{yor}{}{}{}{Latn}
\TrackLangDeclareLanguageOption{zhuang}{za}{zha}{}{}{CN}{Hani}
\TrackLangDeclareLanguageOption{zulu}{zu}{zul}{}{}{}{Latn}
-\def\TrackLangDeclareDialectOption#1#2#3#4#5#6#7{%
- \@tracklang@ifundef{@tracklang@add@#1}%
- {%
+\def\TrackLangProvidePredefinedDialect#1#2#3#4#5#6#7{
\ifx\relax#3\relax
\ifx\relax#4\relax
\ifx\relax#5\relax
@@ -1855,6 +1924,11 @@
\expandafter\def\csname @tracklang@add@#1\expandafter\endcsname
\expandafter{\@tracklang@tmp\SetTrackedDialectScript{#1}{#7}}%
\fi
+}
+\def\TrackLangDeclareDialectOption#1#2#3#4#5#6#7{%
+ \@tracklang@ifundef{@tracklang@add@#1}%
+ {%
+ \TrackLangProvidePredefinedDialect{#1}{#2}{#3}{#4}{#5}{#6}{#7}%
\@tracklang@declareoption{#1}%
}%
{%
@@ -2080,6 +2154,1310 @@
\fi
}
\long\def\IfTrackedLanguageFileExists#1#2#3#4#5{%
+ \@tracklang@verbose{Finding file for dialect `#1'}%
+ \def\CurrentTrackedTag{}%
+ \SetCurrentTrackedDialect{#1}%
+ \IfTrackedDialect{#1}%
+ {%
+ \edef\CurrentTrackedIsoCodeI{\TrackedIsoCodeFromLanguage
+ {639-1}{\CurrentTrackedLanguage}}%
+ \edef\CurrentTrackedIsoCodeII{\TrackedIsoCodeFromLanguage
+ {639-2}{\CurrentTrackedLanguage}}%
+ \edef\CurrentTrackedIsoCodeIII{\TrackedIsoCodeFromLanguage
+ {639-3}{\CurrentTrackedLanguage}}%
+ \@tracklang@test@if@file@exists@for@tag{#1}{#2}{#3}%
+ \@tracklang@if@file@exists{#4}{#5}%
+ }%
+ {#5}% unknown dialect
+}
+\def\@tracklang@test@if@file@exists@noop#1#2#3{}
+\def\@tracklang@test@if@file@exists@for@tag#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedLanguageTag
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@secondoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@dialect
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@dialect#1#2#3{%
+ \edef\CurrentTrackedTag{#1}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode{639-1}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIscriptregion
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode{639-2}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscriptregion
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode{639-3}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptregion
+ }%
+ {%
+ \let\CurrentTrackedIsoCode\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@scriptregion
+ }%
+ }%
+ }%
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIscriptregion#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeI
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \ifx\CurrentTrackedDialectScript\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \fi
+ \ifx\CurrentTrackedRegion\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedRegion}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedRegion\empty
+ \ifx\CurrentTrackedDialectScript\empty
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langII
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langII
+ }%
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipscript
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipscript
+ }%
+ \fi
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectScript\empty
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipregion
+ }%
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipscriptregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript
+ -\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipscriptregion
+ }%
+ \fi
+ \fi
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIscriptregion#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \ifx\CurrentTrackedDialectScript\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \fi
+ \ifx\CurrentTrackedRegion\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedRegion}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedRegion\empty
+ \ifx\CurrentTrackedDialectScript\empty
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIII
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIII
+ }%
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscript
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscript
+ }%
+ \fi
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectScript\empty
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipregion
+ }%
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscriptregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript
+ -\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscriptregion
+ }%
+ \fi
+ \fi
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIscriptregion#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \ifx\CurrentTrackedDialectScript\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \fi
+ \ifx\CurrentTrackedRegion\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedRegion}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedRegion\empty
+ \ifx\CurrentTrackedDialectScript\empty
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscript
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscript
+ }%
+ \fi
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectScript\empty
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipregion
+ }%
+ \fi
+ \else
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscriptregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript
+ -\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscriptregion
+ }%
+ \fi
+ \fi
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIskipscript#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \IfTrackedLanguageHasIsoCode
+ {639-2}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscript
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscript
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ }%
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-2}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscript
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscript
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ }%
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIscript#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscript
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscript
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIskipscript#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscript
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscript
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIscript#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscript
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscript
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIskipscript#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \IfTrackedLanguageHasIsoCode
+ {639-2}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIregion
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ }%
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-2}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIregion
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ }%
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIregion#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipregion
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIregion#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipregion
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIregion#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipregion
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIskipscriptregion#1#2#3{%
+ \@tracklang@ifcseqcsname\CurrentTrackedDialectScript
+ {@tracklang@knowniso@script@\CurrentTrackedLanguage}%
+ {%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIscriptskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIscriptskipregion
+ }%
+ \fi
+ }%
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIscriptskipregion
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIscriptskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipscriptskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIskipscriptskipregion
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIskipscriptskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \IfTrackedLanguageHasIsoCode
+ {639-2}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscriptregion
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@region
+ }%
+ }%
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-2}{\CurrentTrackedLanguage}
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscriptregion
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@region
+ }%
+ }%
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIskipscriptregion#1#2#3{%
+ \@tracklang@ifcseqcsname\CurrentTrackedDialectScript
+ {@tracklang@knowniso@script@\CurrentTrackedLanguage}%
+ {%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscriptskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscriptskipregion
+ }%
+ \fi
+ }%
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIscriptskipregion
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIscriptskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscriptskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIskipscriptskipregion
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIskipscriptskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@region
+ }%
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode
+ {639-3}{\CurrentTrackedLanguage}
+ {%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptregion
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@region
+ }%
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIskipscriptregion#1#2#3{%
+ \@tracklang@ifcseqcsname\CurrentTrackedDialectScript
+ {@tracklang@knowniso@script@\CurrentTrackedLanguage}%
+ {%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedRegion}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptskipregion
+ }%
+ \fi
+ }%
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIscriptskipregion
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIscriptskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscriptskipregion
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectScript}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIskipscriptskipregion
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIskipscriptskipregion#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@region
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@region
+ }%
+ \fi
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langII#1#2#3{%
+ \IfTrackedLanguageHasIsoCode{639-2}{\CurrentTrackedLanguage}%
+ {%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeII
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIII
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIII
+ }%
+ \fi
+ }%
+ {%
+ \fi
+ }%
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIII
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIII#1#2#3{%
+ \IfTrackedLanguageHasIsoCode{639-3}{\CurrentTrackedLanguage}%
+ {%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedIsoCode-\CurrentTrackedDialectSubLang}%
+ \fi
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ \else
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \fi
+ }%
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@region#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedRegion
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langvariant
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langvariant#1#2#3{%
+ \ifx\CurrentTrackedDialectVariant\empty
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@rootlang
+ \else
+ \IfTrackedLanguageHasIsoCode{639-1}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIvariant
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode{639-2}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIvariant
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode{639-3}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIvariant
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@rootlang
+ }%
+ }%
+ }%
+ \fi
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIvariant#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeI
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectVariant}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode{639-2}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIvariant
+ }
+ {%
+ \IfTrackedLanguageHasIsoCode{639-3}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIvariant
+ }
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@rootlang
+ }%
+ }%
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIvariant#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectVariant}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \IfTrackedLanguageHasIsoCode{639-3}{\CurrentTrackedLanguage}%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@langIIIvariant
+ }
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@rootlang
+ }%
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@langIIIvariant#1#2#3{%
+ \let\CurrentTrackedIsoCode\CurrentTrackedIsoCodeIII
+ \let\CurrentTrackedTag\CurrentTrackedIsoCode
+ \ifx\CurrentTrackedDialectSubLang\empty
+ \else
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectSubLang}%
+ \fi
+ \edef\CurrentTrackedTag{\CurrentTrackedTag-\CurrentTrackedDialectVariant}%
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@noop
+ }%
+ {%
+ \let\@tracklang@test@if@file@exists@next\@tracklang@test@if@file@exists@for@rootlang
+ }%
+ \@tracklang@test@if@file@exists@next{#1}{#2}{#3}%
+}
+\def\@tracklang@test@if@file@exists@for@rootlang#1#2#3{%
+ \let\CurrentTrackedTag\CurrentTrackedLanguage
+ \@tracklang@verbose{Testing tag `\CurrentTrackedTag'}%
+ \@tracklang@IfFileExists{#2\CurrentTrackedTag#3}%
+ {%
+ \let\@tracklang@if@file@exists\@tracklang@firstoftwo
+ }%
+ {}%
+}
+\long\def\IfTrackedLanguageFileExists@orig#1#2#3#4#5{%
\def\CurrentTrackedTag{}%
\SetCurrentTrackedDialect{#1}%
\IfTrackedDialect{#1}%
@@ -2330,6 +3708,49 @@
\gdef\csname#1#2\expandafter\endcsname\expandafter{\@tracklang@hook#3}%
}
\def\TrackLangAddToCaptions#1{\TrackLangAddToHook{#1}{captions}}
+\def\TrackLangRedefHook{\noop@TrackLangRedefHook}
+\def\noop@TrackLangRedefHook#1#2{%
+ \@tracklang@err{\string\TrackLangRedefHook\space
+ only permitted within resource files}
+}
+\def\@TrackLangRedefHook#1#2{%
+ \@tracklang@ifundef{#2\CurrentTrackedDialect}%
+ {%
+ \IfTrackedDialectHasMapping{\CurrentTrackedDialect}%
+ {%
+ \edef\@tracklang@tmp{%
+ \csname @tracklang@dialectmap@tohook@\CurrentTrackedDialect\endcsname}%
+ \@tracklang@ifundef{#2\@tracklang@tmp}%
+ {%
+ \@tracklang@ifundef{#2\CurrentTrackedLanguage}%
+ {%
+ #1%
+ }%
+ {%
+ \@tracklang@redefhook{#2}{\CurrentTrackedLanguage}{#1}%
+ }%
+ }%
+ {%
+ \@tracklang@redefhook{#2}{\@tracklang@tmp}{#1}%
+ }%
+ }%
+ {%
+ \@tracklang@ifundef{#2\CurrentTrackedLanguage}%
+ {%
+ }%
+ {%
+ \@tracklang@redefhook{#2}{\CurrentTrackedLanguage}{#1}%
+ }%
+ }%
+ }%
+ {%
+ \@tracklang@redefhook{#2}{\CurrentTrackedDialect}{#1}%
+ }%
+ #1%
+}
+\def\@tracklang@redefhook#1#2#3{%
+ \expandafter\gdef\csname#1#2\endcsname{#3}%
+}
\def\SetTrackedDialectLabelMap#1#2{%
\@tracklang@enamedef{@tracklang@dialectmap@tohook@#1}{#2}%
\@tracklang@enamedef{@tracklang@dialectmap@fromhook@#2}{#1}%