diff options
author | Karl Berry <karl@freefriends.org> | 2019-12-01 21:36:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-12-01 21:36:02 +0000 |
commit | 4f2a86ba4239f35f5d8b18c9973150e0143a4d0a (patch) | |
tree | baa656ac0344268a5c6aeb128b42035d49675808 /Master/texmf-dist/tex/generic/tracklang | |
parent | 9aeb61680aefe61b97bdf89d656819d75cf3fc28 (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')
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}% |