From f5c5cf2c466c2b3bb83a719e48e46fd3bff9771e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 20 Aug 2021 22:52:01 +0000 Subject: phonenumbers (21aug21) git-svn-id: svn://tug.org/texlive/trunk@60288 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/phonenumbers/phn-AT_Ortsnamen.tex | 26 +- .../tex/latex/phonenumbers/phn-DE_Ortsnamen.tex | 21 +- .../tex/latex/phonenumbers/phn-DE_Vorwahlen.tex | 7 +- .../tex/latex/phonenumbers/phn-FR_Ortsnamen.tex | 24 +- .../tex/latex/phonenumbers/phn-FR_Vorwahlen.tex | 26 +- .../tex/latex/phonenumbers/phn-UK_Ortsnamen.tex | 22 +- .../tex/latex/phonenumbers/phn-UK_Vorwahlen.tex | 14 +- .../tex/latex/phonenumbers/phn-US_Ortsnamen.tex | 29 +- .../tex/latex/phonenumbers/phn-US_Vorwahlen.tex | 72 ++- .../tex/latex/phonenumbers/phonenumbers.sty | 688 +++++++++++++-------- 10 files changed, 609 insertions(+), 320 deletions(-) (limited to 'Master/texmf-dist/tex/latex') diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-AT_Ortsnamen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-AT_Ortsnamen.tex index e6954c431ff..ea6b95577f9 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-AT_Ortsnamen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-AT_Ortsnamen.tex @@ -1,5 +1,5 @@ % phonenumbers package: Austrian place names -% Datum: 22. Oktober 2017 +% Datum: 20. August 2021 \tl_const:cn {c_phone_AT_ortsname_01_tl} {Wien} \tl_const:cn {c_phone_AT_ortsname_02142_tl} {Gattendorf} \tl_const:cn {c_phone_AT_ortsname_02143_tl} {Kittsee} @@ -222,7 +222,7 @@ \tl_const:cn {c_phone_AT_ortsname_02824_tl} {Allentsteig} \tl_const:cn {c_phone_AT_ortsname_02825_tl} {G\"opfritz~an~der~Wild} \tl_const:cn {c_phone_AT_ortsname_02826_tl} {Rastenfeld} -\tl_const:cn {c_phone_AT_ortsname_02827_tl} {Sch\"onbach} +\tl_const:cn {c_phone_AT_ortsname_02827_tl} {Sch\"onbach~(Nieder\"osterreich)} \tl_const:cn {c_phone_AT_ortsname_02828_tl} {Rappottenstein} \tl_const:cn {c_phone_AT_ortsname_02829_tl} {Schweiggers} \tl_const:cn {c_phone_AT_ortsname_02841_tl} {Vitis} @@ -383,7 +383,7 @@ \tl_const:cn {c_phone_AT_ortsname_03464_tl} {Gro\ss\ Sankt~Florian} \tl_const:cn {c_phone_AT_ortsname_03465_tl} {P\"olfing-Brunn} \tl_const:cn {c_phone_AT_ortsname_03466_tl} {Eibiswald} -\tl_const:cn {c_phone_AT_ortsname_03467_tl} {Schwanberg} +\tl_const:cn {c_phone_AT_ortsname_03467_tl} {Bad~Schwanberg} \tl_const:cn {c_phone_AT_ortsname_03468_tl} {Sankt~Oswald~ob~Eibiswald} \tl_const:cn {c_phone_AT_ortsname_03469_tl} {Sankt~Oswald~in~Freiland} \tl_const:cn {c_phone_AT_ortsname_03472_tl} {Mureck} @@ -539,7 +539,7 @@ \tl_const:cn {c_phone_AT_ortsname_04279_tl} {Sirnitz} \tl_const:cn {c_phone_AT_ortsname_04282_tl} {Hermagor} \tl_const:cn {c_phone_AT_ortsname_04283_tl} {St.~Stefan~im~Gailtal} -\tl_const:cn {c_phone_AT_ortsname_04284_tl} {Kirchbach} +\tl_const:cn {c_phone_AT_ortsname_04284_tl} {Kirchbach~(K\"arnten)} \tl_const:cn {c_phone_AT_ortsname_04285_tl} {Tr\"opolach} \tl_const:cn {c_phone_AT_ortsname_04286_tl} {Wei\ss briach} \tl_const:cn {c_phone_AT_ortsname_04350_tl} {Bad~St.~Leonhard~im~Lavanttal} @@ -635,7 +635,7 @@ \tl_const:cn {c_phone_AT_ortsname_05279_tl} {St.~Jodok~am~Brenner} \tl_const:cn {c_phone_AT_ortsname_05280_tl} {Hochf\"ugen} \tl_const:cn {c_phone_AT_ortsname_05282_tl} {Zell~am~Ziller} -\tl_const:cn {c_phone_AT_ortsname_05283_tl} {Kaltenbach} +\tl_const:cn {c_phone_AT_ortsname_05283_tl} {Kaltenbach~(Tirol)} \tl_const:cn {c_phone_AT_ortsname_05284_tl} {Gerlos} \tl_const:cn {c_phone_AT_ortsname_05285_tl} {Mayrhofen} \tl_const:cn {c_phone_AT_ortsname_05286_tl} {Ginzling} @@ -644,7 +644,7 @@ \tl_const:cn {c_phone_AT_ortsname_05289_tl} {H\"ausling} \tl_const:cn {c_phone_AT_ortsname_05331_tl} {Brandenberg} \tl_const:cn {c_phone_AT_ortsname_05332_tl} {W\"orgl} -\tl_const:cn {c_phone_AT_ortsname_05333_tl} {S\"oll} +\tl_const:cn {c_phone_AT_ortsname_05333_tl} {S\"oll~(Tirol)} \tl_const:cn {c_phone_AT_ortsname_05334_tl} {Westendorf} \tl_const:cn {c_phone_AT_ortsname_05335_tl} {Hopfgarten~im~Brixental} \tl_const:cn {c_phone_AT_ortsname_05336_tl} {Alpbach} @@ -726,7 +726,7 @@ \tl_const:cn {c_phone_AT_ortsname_05674_tl} {Bichlbach} \tl_const:cn {c_phone_AT_ortsname_05675_tl} {Tannheim} \tl_const:cn {c_phone_AT_ortsname_05676_tl} {Jungholz} -\tl_const:cn {c_phone_AT_ortsname_05677_tl} {Vils} +\tl_const:cn {c_phone_AT_ortsname_05677_tl} {Vils~(Tirol)} \tl_const:cn {c_phone_AT_ortsname_05678_tl} {Wei\ss enbach~am~Lech} \tl_const:cn {c_phone_AT_ortsname_06131_tl} {Obertraun} \tl_const:cn {c_phone_AT_ortsname_06132_tl} {Bad~Ischl} @@ -766,7 +766,7 @@ \tl_const:cn {c_phone_AT_ortsname_06272_tl} {Oberndorf~bei~Salzburg} \tl_const:cn {c_phone_AT_ortsname_06274_tl} {Lamprechtshausen} \tl_const:cn {c_phone_AT_ortsname_06276_tl} {Nu\ss dorf~am~Haunsberg} -\tl_const:cn {c_phone_AT_ortsname_06277_tl} {St.~Pantaleon} +\tl_const:cn {c_phone_AT_ortsname_06277_tl} {St.~Pantaleon~(Ober\"osterreich)} \tl_const:cn {c_phone_AT_ortsname_06278_tl} {Ostermiething} \tl_const:cn {c_phone_AT_ortsname_06412_tl} {Sankt~Johann~im~Pongau} \tl_const:cn {c_phone_AT_ortsname_06413_tl} {Wagrain} @@ -830,7 +830,7 @@ \tl_const:cn {c_phone_AT_ortsname_07215_tl} {Hellmons\"odt} \tl_const:cn {c_phone_AT_ortsname_07216_tl} {Helfenberg} \tl_const:cn {c_phone_AT_ortsname_07217_tl} {St.~Veit~im~M\"uhlkreis} -\tl_const:cn {c_phone_AT_ortsname_07218_tl} {Gro\ss traberg} +\tl_const:cn {c_phone_AT_ortsname_07218_tl} {Gro\ss traberg~(Oberneukirchen)} \tl_const:cn {c_phone_AT_ortsname_07219_tl} {Vorderwei\ss enbach} \tl_const:cn {c_phone_AT_ortsname_07221_tl} {H\"orsching} \tl_const:cn {c_phone_AT_ortsname_07223_tl} {Enns} @@ -919,12 +919,12 @@ \tl_const:cn {c_phone_AT_ortsname_07472_tl} {Amstetten} \tl_const:cn {c_phone_AT_ortsname_07473_tl} {Blindenmarkt} \tl_const:cn {c_phone_AT_ortsname_07474_tl} {Euratsfeld} -\tl_const:cn {c_phone_AT_ortsname_07475_tl} {Ulmerfeld-Hausmening-Neufurth} +\tl_const:cn {c_phone_AT_ortsname_07475_tl} {Hausmening~(Neuhofen~an~der~Ybbs)} \tl_const:cn {c_phone_AT_ortsname_07476_tl} {Aschbach-Markt} \tl_const:cn {c_phone_AT_ortsname_07477_tl} {St.~Peter~in~der~Au} \tl_const:cn {c_phone_AT_ortsname_07478_tl} {Oed-Oehling} \tl_const:cn {c_phone_AT_ortsname_07479_tl} {Ardagger} -\tl_const:cn {c_phone_AT_ortsname_07480_tl} {Langau} +\tl_const:cn {c_phone_AT_ortsname_07480_tl} {Langau~(Gaming)} \tl_const:cn {c_phone_AT_ortsname_07482_tl} {Scheibbs} \tl_const:cn {c_phone_AT_ortsname_07483_tl} {Oberndorf~an~der~Melk} \tl_const:cn {c_phone_AT_ortsname_07484_tl} {G\"ostling~an~der~Ybbs} @@ -936,7 +936,7 @@ \tl_const:cn {c_phone_AT_ortsname_07562_tl} {Windischgarsten} \tl_const:cn {c_phone_AT_ortsname_07563_tl} {Spital~am~Pyhrn} \tl_const:cn {c_phone_AT_ortsname_07564_tl} {Hinterstoder} -\tl_const:cn {c_phone_AT_ortsname_07565_tl} {St.~Pankraz} +\tl_const:cn {c_phone_AT_ortsname_07565_tl} {St.~Pankraz~(Ober\"osterreich)} \tl_const:cn {c_phone_AT_ortsname_07566_tl} {Rosenau~am~Hengstpa\ss} \tl_const:cn {c_phone_AT_ortsname_07582_tl} {Kirchdorf~an~der~Krems} \tl_const:cn {c_phone_AT_ortsname_07583_tl} {Kremsm\"unster} @@ -951,7 +951,7 @@ \tl_const:cn {c_phone_AT_ortsname_07615_tl} {Scharnstein} \tl_const:cn {c_phone_AT_ortsname_07616_tl} {Gr\"unau~im~Almtal} \tl_const:cn {c_phone_AT_ortsname_07617_tl} {Traunkirchen} -\tl_const:cn {c_phone_AT_ortsname_07618_tl} {Neukirchen~(Gemeinde~Altm\"unster)} +\tl_const:cn {c_phone_AT_ortsname_07618_tl} {Neukirchen~(Altm\"unster)} \tl_const:cn {c_phone_AT_ortsname_07619_tl} {Kirchham} \tl_const:cn {c_phone_AT_ortsname_07662_tl} {Seewalchen~am~Attersee} \tl_const:cn {c_phone_AT_ortsname_07663_tl} {Steinbach~am~Attersee} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Ortsnamen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Ortsnamen.tex index 370693cf8e3..fc9b19ab8a7 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Ortsnamen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Ortsnamen.tex @@ -1,5 +1,5 @@ % phonenumbers package: German place names -% Datum: 5. August 2018 +% Datum: 20. August 2021 \tl_const:cn {c_phone_DE_ortsname_0201_tl} {Essen} \tl_const:cn {c_phone_DE_ortsname_0202_tl} {Wuppertal} \tl_const:cn {c_phone_DE_ortsname_0203_tl} {Duisburg} @@ -191,7 +191,7 @@ \tl_const:cn {c_phone_DE_ortsname_02421_tl} {D\"uren} \tl_const:cn {c_phone_DE_ortsname_02422_tl} {Kreuzau} \tl_const:cn {c_phone_DE_ortsname_02423_tl} {Langerwehe} -\tl_const:cn {c_phone_DE_ortsname_02424_tl} {Vettweiß} +\tl_const:cn {c_phone_DE_ortsname_02424_tl} {Vettwei\ss} \tl_const:cn {c_phone_DE_ortsname_02425_tl} {Nideggen-Embken} \tl_const:cn {c_phone_DE_ortsname_02426_tl} {N\"orvenich} \tl_const:cn {c_phone_DE_ortsname_02427_tl} {Nideggen} @@ -5209,9 +5209,7 @@ \tl_const:cn {c_phone_DE_ortsname_01377_tl} {Massenverkehrsdienst~(1\nobreakspace Euro/Anruf)} \tl_const:cn {c_phone_DE_ortsname_01378_tl} {Massenverkehrsdienst~(50\,ct/Anruf)} \tl_const:cn {c_phone_DE_ortsname_01379_tl} {Massenverkehrsdienst~(50\,ct/Anruf)} -\tl_const:cn {c_phone_DE_ortsname_015020_tl} {Mobilfunk} -\tl_const:cn {c_phone_DE_ortsname_015050_tl} {Mobilfunk} -\tl_const:cn {c_phone_DE_ortsname_015080_tl} {Mobilfunk} +\tl_const:cn {c_phone_DE_ortsname_015019_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_01511_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_01512_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_01514_tl} {Mobilfunk} @@ -5225,7 +5223,6 @@ \tl_const:cn {c_phone_DE_ortsname_01525_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_01526_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_01529_tl} {Mobilfunk} -\tl_const:cn {c_phone_DE_ortsname_015555_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_015566_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_015630_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_015678_tl} {Mobilfunk} @@ -5236,7 +5233,6 @@ \tl_const:cn {c_phone_DE_ortsname_01578_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_01579_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_015888_tl} {Mobilfunk} -\tl_const:cn {c_phone_DE_ortsname_015890_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_01590_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_0160_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_0162_tl} {Mobilfunk} @@ -5254,7 +5250,6 @@ \tl_const:cn {c_phone_DE_ortsname_0177_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_0178_tl} {Mobilfunk} \tl_const:cn {c_phone_DE_ortsname_0179_tl} {Mobilfunk} -\tl_const:cn {c_phone_DE_ortsname_01800_tl} {Service-Dienst} \tl_const:cn {c_phone_DE_ortsname_01801_tl} {Service-Dienst~(3,9\,ct/min)} \tl_const:cn {c_phone_DE_ortsname_01802_tl} {Service-Dienst~(6\,ct/Anruf)} \tl_const:cn {c_phone_DE_ortsname_01803_tl} {Service-Dienst~(9\,ct/min)} @@ -5262,8 +5257,6 @@ \tl_const:cn {c_phone_DE_ortsname_01805_tl} {Service-Dienst~(14\,ct/min)} \tl_const:cn {c_phone_DE_ortsname_01806_tl} {Service-Dienst~(20\,ct/Anruf)} \tl_const:cn {c_phone_DE_ortsname_01807_tl} {Service-Dienst~(30\,s~frei,~danach~14\,ct/min)} -\tl_const:cn {c_phone_DE_ortsname_01808_tl} {Service-Dienst} -\tl_const:cn {c_phone_DE_ortsname_01809_tl} {Service-Dienst} \tl_const:cn {c_phone_DE_ortsname_0181_tl} {Internationales~virtuelles~privates~Netz} \tl_const:cn {c_phone_DE_ortsname_0182_tl} {Virtuelles~privates~Netz} \tl_const:cn {c_phone_DE_ortsname_0183_tl} {Virtuelles~privates~Netz} @@ -5273,10 +5266,10 @@ \tl_const:cn {c_phone_DE_ortsname_0187_tl} {Virtuelles~privates~Netz} \tl_const:cn {c_phone_DE_ortsname_0188_tl} {Virtuelles~privates~Netz} \tl_const:cn {c_phone_DE_ortsname_0189_tl} {Virtuelles~privates~Netz} -\tl_const:cn {c_phone_DE_ortsname_0191_tl} {Onlinedienst} -\tl_const:cn {c_phone_DE_ortsname_0192_tl} {Onlinedienst} -\tl_const:cn {c_phone_DE_ortsname_0193_tl} {Onlinedienst} -\tl_const:cn {c_phone_DE_ortsname_0194_tl} {Onlinedienst} +\tl_const:cn {c_phone_DE_ortsname_0191_tl} {Online-Dienst} +\tl_const:cn {c_phone_DE_ortsname_0192_tl} {Online-Dienst} +\tl_const:cn {c_phone_DE_ortsname_0193_tl} {Online-Dienst} +\tl_const:cn {c_phone_DE_ortsname_0194_tl} {Online-Dienst} \tl_const:cn {c_phone_DE_ortsname_032_tl} {Nationale~Teilnehmerrufnummer} \tl_const:cn {c_phone_DE_ortsname_0700_tl} {Pers\"onliche~Rufnummer} \tl_const:cn {c_phone_DE_ortsname_0800_tl} {Entgeltfreier~Telefondienst} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Vorwahlen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Vorwahlen.tex index aba6b8b89a9..9f188e30d34 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Vorwahlen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-DE_Vorwahlen.tex @@ -1,5 +1,5 @@ % phonenumbers package: German area codes -% Datum: 5. August 2018 +% Datum: 20. August 2021 \clist_const:Nn \c_phone_DE_ortsvorwahlen_clist {0201, 0202, 0203, @@ -5209,9 +5209,7 @@ 01377, 01378, 01379, -015020, -015050, -015080, +015019, 01511, 01512, 01514, @@ -5225,7 +5223,6 @@ 01525, 01526, 01529, -015555, 015566, 015630, 015678, diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Ortsnamen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Ortsnamen.tex index 5ec797c1bde..eda23d4664f 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Ortsnamen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Ortsnamen.tex @@ -1,9 +1,10 @@ % phonenumbers package: French place names -% Datum: 22. Oktober 2017 +% Datum: 20. August 2021 \tl_const:cn {c_phone_FR_ortsname_01_tl} {\^{I}le-de-France} \tl_const:cn {c_phone_FR_ortsname_02_tl} {Nord-ouest} \tl_const:cn {c_phone_FR_ortsname_0262_tl} {La~R\a'{e}union} \tl_const:cn {c_phone_FR_ortsname_026200_tl} {Terres~australes~et~antarctiques~fran\c{c}aises} +\tl_const:cn {c_phone_FR_ortsname_0263_tl} {La~R\a'{e}union} \tl_const:cn {c_phone_FR_ortsname_0269_tl} {Mayotte} \tl_const:cn {c_phone_FR_ortsname_03_tl} {Nord-est} \tl_const:cn {c_phone_FR_ortsname_04_tl} {Sud-est} @@ -22,5 +23,26 @@ \tl_const:cn {c_phone_FR_ortsname_0696_tl} {T\a'{e}l\a'{e}phone~mobile~(Martinique)} \tl_const:cn {c_phone_FR_ortsname_0697_tl} {T\a'{e}l\a'{e}phone~mobile~(Martinique)} \tl_const:cn {c_phone_FR_ortsname_07_tl} {T\a'{e}l\a'{e}phone~mobile} +\tl_const:cn {c_phone_FR_ortsname_0700_tl} {Communication~machine~\a`{a}~machine} +\tl_const:cn {c_phone_FR_ortsname_07005_tl} {Communication~machine~\a`{a}~machine~(Guadeloupe)} +\tl_const:cn {c_phone_FR_ortsname_07006_tl} {Communication~machine~\a`{a}~machine~(Guyane)} +\tl_const:cn {c_phone_FR_ortsname_07007_tl} {Communication~machine~\a`{a}~machine~(Martinique)} +\tl_const:cn {c_phone_FR_ortsname_07008_tl} {Communication~machine~\a`{a}~machine~(Mayotte)} +\tl_const:cn {c_phone_FR_ortsname_07009_tl} {Communication~machine~\a`{a}~machine~(La~R\a'{e}union)} \tl_const:cn {c_phone_FR_ortsname_08_tl} {Service~\a`{a}~valeur~ajout\a'{e}e} \tl_const:cn {c_phone_FR_ortsname_09_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP} +\tl_const:cn {c_phone_FR_ortsname_09475_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Guadeloupe)} +\tl_const:cn {c_phone_FR_ortsname_09476_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Guyane)} +\tl_const:cn {c_phone_FR_ortsname_09477_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Martinique)} +\tl_const:cn {c_phone_FR_ortsname_09478_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Mayotte)} +\tl_const:cn {c_phone_FR_ortsname_09479_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(La~R\a'{e}union)} +\tl_const:cn {c_phone_FR_ortsname_09760_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Guadeloupe)} +\tl_const:cn {c_phone_FR_ortsname_09761_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Guadeloupe)} +\tl_const:cn {c_phone_FR_ortsname_09762_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(La~R\a'{e}union)} +\tl_const:cn {c_phone_FR_ortsname_09763_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(La~R\a'{e}union)} +\tl_const:cn {c_phone_FR_ortsname_09764_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Guyane)} +\tl_const:cn {c_phone_FR_ortsname_09765_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Guyane)} +\tl_const:cn {c_phone_FR_ortsname_09766_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Martinique)} +\tl_const:cn {c_phone_FR_ortsname_09767_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Martinique)} +\tl_const:cn {c_phone_FR_ortsname_09768_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(Guadeloupe)} +\tl_const:cn {c_phone_FR_ortsname_09769_tl} {Service~t\a'{e}l\a'{e}phonique~en~VoIP~(La~R\a'{e}union)} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Vorwahlen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Vorwahlen.tex index 94658cbce07..965c0259b04 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Vorwahlen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-FR_Vorwahlen.tex @@ -1,9 +1,10 @@ % phonenumbers package: French area codes -% Datum: 6. November 2016 +% Datum: 20. August 2021 \clist_const:Nn \c_phone_FR_ortsvorwahlen_clist {01, 02, 0262, 026200, +0263, 0269, 03, 04, @@ -22,5 +23,26 @@ 0696, 0697, 07, +0700, +07005, +07006, +07007, +07008, +07009, 08, -09} +09, +09475, +09476, +09477, +09478, +09479, +09760, +09761, +09762, +09763, +09764, +09765, +09766, +09767, +09768, +09769} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Ortsnamen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Ortsnamen.tex index ac203278d86..29c8c2d1387 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Ortsnamen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Ortsnamen.tex @@ -1,5 +1,5 @@ % phonenumbers package: British place names -% Datum: 5. August 2018 +% Datum: 20. August 2021 \tl_const:cn {c_phone_UK_ortsname_0113_tl} {Leeds} \tl_const:cn {c_phone_UK_ortsname_0114_tl} {Sheffield} \tl_const:cn {c_phone_UK_ortsname_0115_tl} {Nottingham} @@ -234,7 +234,7 @@ \tl_const:cn {c_phone_UK_ortsname_01493_tl} {Great~Yarmouth} \tl_const:cn {c_phone_UK_ortsname_01494_tl} {High~Wycombe} \tl_const:cn {c_phone_UK_ortsname_01495_tl} {Pontypool} -\tl_const:cn {c_phone_UK_ortsname_01496_tl} {Islay} +\tl_const:cn {c_phone_UK_ortsname_01496_tl} {Islay~and~Jura} \tl_const:cn {c_phone_UK_ortsname_01497_tl} {Hay-on-Wye} \tl_const:cn {c_phone_UK_ortsname_01499_tl} {Inveraray} \tl_const:cn {c_phone_UK_ortsname_01501_tl} {Harthill} @@ -522,7 +522,7 @@ \tl_const:cn {c_phone_UK_ortsname_01876_tl} {North~Uist,~Outer~Hebrides} \tl_const:cn {c_phone_UK_ortsname_01877_tl} {Callander} \tl_const:cn {c_phone_UK_ortsname_01878_tl} {South~Uist,~Outer~Hebrides} -\tl_const:cn {c_phone_UK_ortsname_01879_tl} {Scarinish} +\tl_const:cn {c_phone_UK_ortsname_01879_tl} {Tiree~and~Coll,~Inner~Hebrides} \tl_const:cn {c_phone_UK_ortsname_01880_tl} {Tarbert} \tl_const:cn {c_phone_UK_ortsname_01882_tl} {Kinloch~Rannoch} \tl_const:cn {c_phone_UK_ortsname_01883_tl} {Caterham} @@ -631,6 +631,7 @@ \tl_const:cn {c_phone_UK_ortsname_05601_tl} {Electronic~communications~service} \tl_const:cn {c_phone_UK_ortsname_05602_tl} {Electronic~communications~service} \tl_const:cn {c_phone_UK_ortsname_05603_tl} {Electronic~communications~service} +\tl_const:cn {c_phone_UK_ortsname_05604_tl} {Electronic~communications~service} \tl_const:cn {c_phone_UK_ortsname_07000_tl} {Personal~number} \tl_const:cn {c_phone_UK_ortsname_07002_tl} {Personal~number} \tl_const:cn {c_phone_UK_ortsname_07003_tl} {Personal~number} @@ -742,6 +743,15 @@ \tl_const:cn {c_phone_UK_ortsname_07340_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07341_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07342_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07354_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07355_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07357_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07359_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07360_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07361_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07362_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07363_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07364_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07365_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07366_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07367_tl} {Mobile~phone} @@ -811,7 +821,6 @@ \tl_const:cn {c_phone_UK_ortsname_07436_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07437_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07438_tl} {Mobile~phone} -\tl_const:cn {c_phone_UK_ortsname_07439_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07440_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07441_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07442_tl} {Mobile~phone} @@ -1071,7 +1080,7 @@ \tl_const:cn {c_phone_UK_ortsname_07778_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07779_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07780_tl} {Mobile~phone} -\tl_const:cn {c_phone_UK_ortsname_07781_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07781_tl} {Mobile~phone~(Guernsey)} \tl_const:cn {c_phone_UK_ortsname_07782_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07783_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07784_tl} {Mobile~phone} @@ -1087,7 +1096,7 @@ \tl_const:cn {c_phone_UK_ortsname_07794_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07795_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07796_tl} {Mobile~phone} -\tl_const:cn {c_phone_UK_ortsname_07797_tl} {Mobile~phone} +\tl_const:cn {c_phone_UK_ortsname_07797_tl} {Mobile~phone~(Jersey)} \tl_const:cn {c_phone_UK_ortsname_07798_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07799_tl} {Mobile~phone} \tl_const:cn {c_phone_UK_ortsname_07800_tl} {Mobile~phone} @@ -1291,6 +1300,7 @@ \tl_const:cn {c_phone_UK_ortsname_0870_tl} {Special~service~higher~rate} \tl_const:cn {c_phone_UK_ortsname_0871_tl} {Special~service~higher~rate} \tl_const:cn {c_phone_UK_ortsname_0872_tl} {Special~service~higher~rate} +\tl_const:cn {c_phone_UK_ortsname_0897_tl} {Inserted~network~number} \tl_const:cn {c_phone_UK_ortsname_0899_tl} {Inbound~routing~code} \tl_const:cn {c_phone_UK_ortsname_0900_tl} {Special~service~premium~rate} \tl_const:cn {c_phone_UK_ortsname_0901_tl} {Special~service~premium~rate} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Vorwahlen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Vorwahlen.tex index b471389c15a..62a5ab2422b 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Vorwahlen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-UK_Vorwahlen.tex @@ -1,5 +1,5 @@ % phonenumbers package: British area codes -% Datum: 5. August 2018 +% Datum: 20. August 2021 \clist_const:Nn \c_phone_UK_ortsvorwahlen_clist {0113, 0114, 0115, @@ -637,6 +637,7 @@ 05601, 05602, 05603, +05604, 07000, 07002, 07003, @@ -748,6 +749,15 @@ 07340, 07341, 07342, +07354, +07355, +07357, +07359, +07360, +07361, +07362, +07363, +07364, 07365, 07366, 07367, @@ -817,7 +827,6 @@ 07436, 07437, 07438, -07439, % nicht mehr in Gebrauch 07440, 07441, 07442, @@ -1297,6 +1306,7 @@ 0870, 0871, 0872, +0897, 0899, 0900, 0901, diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Ortsnamen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Ortsnamen.tex index 11c6978dac8..a53bf4dec7d 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Ortsnamen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Ortsnamen.tex @@ -1,5 +1,5 @@ % phonenumbers package: place names of the North American Numbering Plan -% Datum: 5. August 2018 +% Datum: 20. August 2021 \tl_const:cn {c_phone_US_ortsname_201_tl} {New~Jersey} \tl_const:cn {c_phone_US_ortsname_202_tl} {Washington,~D.\,C.} \tl_const:cn {c_phone_US_ortsname_203_tl} {Connecticut} @@ -23,6 +23,7 @@ \tl_const:cn {c_phone_US_ortsname_224_tl} {Illinois} \tl_const:cn {c_phone_US_ortsname_225_tl} {Louisiana} \tl_const:cn {c_phone_US_ortsname_226_tl} {Ontario} +\tl_const:cn {c_phone_US_ortsname_227_tl} {Maryland} \tl_const:cn {c_phone_US_ortsname_228_tl} {Mississippi} \tl_const:cn {c_phone_US_ortsname_229_tl} {Georgia} \tl_const:cn {c_phone_US_ortsname_231_tl} {Michigan} @@ -48,6 +49,7 @@ \tl_const:cn {c_phone_US_ortsname_269_tl} {Michigan} \tl_const:cn {c_phone_US_ortsname_270_tl} {Kentucky} \tl_const:cn {c_phone_US_ortsname_272_tl} {Pennsylvania} +\tl_const:cn {c_phone_US_ortsname_274_tl} {Wisconsin} \tl_const:cn {c_phone_US_ortsname_276_tl} {Virginia} \tl_const:cn {c_phone_US_ortsname_279_tl} {California} \tl_const:cn {c_phone_US_ortsname_281_tl} {Texas} @@ -84,6 +86,7 @@ \tl_const:cn {c_phone_US_ortsname_337_tl} {Louisiana} \tl_const:cn {c_phone_US_ortsname_339_tl} {Massachusetts} \tl_const:cn {c_phone_US_ortsname_340_tl} {U.\,S.~Virgin~Islands} +\tl_const:cn {c_phone_US_ortsname_341_tl} {California} \tl_const:cn {c_phone_US_ortsname_343_tl} {Ontario} \tl_const:cn {c_phone_US_ortsname_345_tl} {Cayman~Islands} \tl_const:cn {c_phone_US_ortsname_346_tl} {Texas} @@ -95,6 +98,7 @@ \tl_const:cn {c_phone_US_ortsname_364_tl} {Kentucky} \tl_const:cn {c_phone_US_ortsname_365_tl} {Ontario} \tl_const:cn {c_phone_US_ortsname_367_tl} {Quebec} +\tl_const:cn {c_phone_US_ortsname_368_tl} {Alberta} \tl_const:cn {c_phone_US_ortsname_380_tl} {Ohio} \tl_const:cn {c_phone_US_ortsname_385_tl} {Utah} \tl_const:cn {c_phone_US_ortsname_386_tl} {Florida} @@ -119,6 +123,7 @@ \tl_const:cn {c_phone_US_ortsname_423_tl} {Tennessee} \tl_const:cn {c_phone_US_ortsname_424_tl} {California} \tl_const:cn {c_phone_US_ortsname_425_tl} {Washington} +\tl_const:cn {c_phone_US_ortsname_428_tl} {New~Brunswick} \tl_const:cn {c_phone_US_ortsname_430_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_431_tl} {Manitoba} \tl_const:cn {c_phone_US_ortsname_432_tl} {Texas} @@ -131,12 +136,16 @@ \tl_const:cn {c_phone_US_ortsname_442_tl} {California} \tl_const:cn {c_phone_US_ortsname_443_tl} {Maryland} \tl_const:cn {c_phone_US_ortsname_445_tl} {Pennsylvania} +\tl_const:cn {c_phone_US_ortsname_447_tl} {Illinois} +\tl_const:cn {c_phone_US_ortsname_448_tl} {Florida} \tl_const:cn {c_phone_US_ortsname_450_tl} {Quebec} \tl_const:cn {c_phone_US_ortsname_458_tl} {Oregon} \tl_const:cn {c_phone_US_ortsname_463_tl} {Indiana} +\tl_const:cn {c_phone_US_ortsname_464_tl} {Illinois} \tl_const:cn {c_phone_US_ortsname_469_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_470_tl} {Georgia} \tl_const:cn {c_phone_US_ortsname_473_tl} {Grenada} +\tl_const:cn {c_phone_US_ortsname_474_tl} {Saskatchewan} \tl_const:cn {c_phone_US_ortsname_475_tl} {Connecticut} \tl_const:cn {c_phone_US_ortsname_478_tl} {Georgia} \tl_const:cn {c_phone_US_ortsname_479_tl} {Arkansas} @@ -177,12 +186,14 @@ \tl_const:cn {c_phone_US_ortsname_567_tl} {Ohio} \tl_const:cn {c_phone_US_ortsname_570_tl} {Pennsylvania} \tl_const:cn {c_phone_US_ortsname_571_tl} {Virginia} +\tl_const:cn {c_phone_US_ortsname_572_tl} {Oklahoma} \tl_const:cn {c_phone_US_ortsname_573_tl} {Missouri} \tl_const:cn {c_phone_US_ortsname_574_tl} {Indiana} \tl_const:cn {c_phone_US_ortsname_575_tl} {New~Mexico} \tl_const:cn {c_phone_US_ortsname_579_tl} {Quebec} \tl_const:cn {c_phone_US_ortsname_580_tl} {Oklahoma} \tl_const:cn {c_phone_US_ortsname_581_tl} {Quebec} +\tl_const:cn {c_phone_US_ortsname_582_tl} {Pennsylvania} \tl_const:cn {c_phone_US_ortsname_585_tl} {New~York} \tl_const:cn {c_phone_US_ortsname_586_tl} {Michigan} \tl_const:cn {c_phone_US_ortsname_587_tl} {Alberta} @@ -220,8 +231,10 @@ \tl_const:cn {c_phone_US_ortsname_649_tl} {Turks~and~Caicos~Islands} \tl_const:cn {c_phone_US_ortsname_650_tl} {California} \tl_const:cn {c_phone_US_ortsname_651_tl} {Minnesota} +\tl_const:cn {c_phone_US_ortsname_656_tl} {Florida} \tl_const:cn {c_phone_US_ortsname_657_tl} {California} \tl_const:cn {c_phone_US_ortsname_658_tl} {Jamaica} +\tl_const:cn {c_phone_US_ortsname_659_tl} {Alabama} \tl_const:cn {c_phone_US_ortsname_660_tl} {Missouri} \tl_const:cn {c_phone_US_ortsname_661_tl} {California} \tl_const:cn {c_phone_US_ortsname_662_tl} {Mississippi} @@ -236,6 +249,7 @@ \tl_const:cn {c_phone_US_ortsname_681_tl} {West~Virginia} \tl_const:cn {c_phone_US_ortsname_682_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_684_tl} {American~Samoa} +\tl_const:cn {c_phone_US_ortsname_689_tl} {Florida} \tl_const:cn {c_phone_US_ortsname_701_tl} {North~Dakota} \tl_const:cn {c_phone_US_ortsname_702_tl} {Nevada} \tl_const:cn {c_phone_US_ortsname_703_tl} {Virginia} @@ -259,11 +273,13 @@ \tl_const:cn {c_phone_US_ortsname_725_tl} {Nevada} \tl_const:cn {c_phone_US_ortsname_726_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_727_tl} {Florida} +\tl_const:cn {c_phone_US_ortsname_730_tl} {Illinois} \tl_const:cn {c_phone_US_ortsname_731_tl} {Tennessee} \tl_const:cn {c_phone_US_ortsname_732_tl} {New~Jersey} \tl_const:cn {c_phone_US_ortsname_734_tl} {Michigan} \tl_const:cn {c_phone_US_ortsname_737_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_740_tl} {Ohio} +\tl_const:cn {c_phone_US_ortsname_742_tl} {Ontario} \tl_const:cn {c_phone_US_ortsname_743_tl} {North~Carolina} \tl_const:cn {c_phone_US_ortsname_747_tl} {California} \tl_const:cn {c_phone_US_ortsname_754_tl} {Florida} @@ -276,6 +292,7 @@ \tl_const:cn {c_phone_US_ortsname_767_tl} {Dominica} \tl_const:cn {c_phone_US_ortsname_769_tl} {Mississippi} \tl_const:cn {c_phone_US_ortsname_770_tl} {Georgia} +\tl_const:cn {c_phone_US_ortsname_771_tl} {Washington,~D.\,C.} \tl_const:cn {c_phone_US_ortsname_772_tl} {Florida} \tl_const:cn {c_phone_US_ortsname_773_tl} {Illinois} \tl_const:cn {c_phone_US_ortsname_774_tl} {Massachusetts} @@ -309,12 +326,15 @@ \tl_const:cn {c_phone_US_ortsname_819_tl} {Quebec} \tl_const:cn {c_phone_US_ortsname_820_tl} {California} \tl_const:cn {c_phone_US_ortsname_825_tl} {Alberta} +\tl_const:cn {c_phone_US_ortsname_826_tl} {Virginia} \tl_const:cn {c_phone_US_ortsname_828_tl} {North~Carolina} \tl_const:cn {c_phone_US_ortsname_829_tl} {Dominican~Republic} \tl_const:cn {c_phone_US_ortsname_830_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_831_tl} {California} \tl_const:cn {c_phone_US_ortsname_832_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_838_tl} {New~York} +\tl_const:cn {c_phone_US_ortsname_839_tl} {South~Carolina} +\tl_const:cn {c_phone_US_ortsname_840_tl} {California} \tl_const:cn {c_phone_US_ortsname_843_tl} {South~Carolina} \tl_const:cn {c_phone_US_ortsname_845_tl} {New~York} \tl_const:cn {c_phone_US_ortsname_847_tl} {Illinois} @@ -371,7 +391,10 @@ \tl_const:cn {c_phone_US_ortsname_939_tl} {Puerto~Rico} \tl_const:cn {c_phone_US_ortsname_940_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_941_tl} {Florida} +\tl_const:cn {c_phone_US_ortsname_943_tl} {Georgia} +\tl_const:cn {c_phone_US_ortsname_945_tl} {Texas} \tl_const:cn {c_phone_US_ortsname_947_tl} {Michigan} +\tl_const:cn {c_phone_US_ortsname_948_tl} {Virginia} \tl_const:cn {c_phone_US_ortsname_949_tl} {California} \tl_const:cn {c_phone_US_ortsname_951_tl} {California} \tl_const:cn {c_phone_US_ortsname_952_tl} {Minnesota} @@ -392,6 +415,10 @@ \tl_const:cn {c_phone_US_ortsname_500_tl} {Non-Geographic~Service} \tl_const:cn {c_phone_US_ortsname_521_tl} {Non-Geographic~Service} \tl_const:cn {c_phone_US_ortsname_522_tl} {Non-Geographic~Service} +\tl_const:cn {c_phone_US_ortsname_523_tl} {Non-Geographic~Service} +\tl_const:cn {c_phone_US_ortsname_524_tl} {Non-Geographic~Service} +\tl_const:cn {c_phone_US_ortsname_525_tl} {Non-Geographic~Service} +\tl_const:cn {c_phone_US_ortsname_526_tl} {Non-Geographic~Service} \tl_const:cn {c_phone_US_ortsname_533_tl} {Non-Geographic~Service} \tl_const:cn {c_phone_US_ortsname_544_tl} {Non-Geographic~Service} \tl_const:cn {c_phone_US_ortsname_566_tl} {Non-Geographic~Service} diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Vorwahlen.tex b/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Vorwahlen.tex index b8989839b56..c79902373d9 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Vorwahlen.tex +++ b/Master/texmf-dist/tex/latex/phonenumbers/phn-US_Vorwahlen.tex @@ -1,5 +1,5 @@ % phonenumbers package: area codes of the North American Numbering Plan -% Datum: 5. August 2018 +% Datum: 20. August 2021 \clist_const:Nn \c_phone_US_ortsvorwahlen_clist {201, 202, 203, @@ -23,6 +23,7 @@ 224, 225, 226, +227, % Freischaltungsdatum noch unklar 228, 229, 231, @@ -48,6 +49,7 @@ 269, 270, 272, +274, % Freischaltungsdatum noch unklar 276, 279, 281, @@ -84,6 +86,7 @@ 337, 339, 340, +341, 343, 345, 346, @@ -95,6 +98,7 @@ 364, 365, 367, +368, % ab 2022-04-23 380, 385, 386, @@ -119,6 +123,7 @@ 423, 424, 425, +428, % ab 2023-04-29 430, 431, 432, @@ -131,12 +136,16 @@ 442, 443, 445, +447, +448, 450, 458, 463, +464, % Freischaltungsdatum noch unklar 469, 470, 473, +474, % ab 2021-10-02 475, 478, 479, @@ -177,12 +186,14 @@ 567, 570, 571, +572, 573, 574, 575, 579, 580, 581, +582, 585, 586, 587, @@ -220,8 +231,10 @@ 649, 650, 651, +656, % ab 2022-02-22 657, 658, +659, 660, 661, 662, @@ -236,6 +249,7 @@ 681, 682, 684, +689, 701, 702, 703, @@ -259,11 +273,13 @@ 725, 726, 727, +730, % Freischaltungsdatum noch unklar 731, 732, 734, 737, 740, +742, % ab 2021-10-16 743, 747, 754, @@ -276,6 +292,7 @@ 767, 769, 770, +771, % ab 2021-11-09 772, 773, 774, @@ -309,12 +326,15 @@ 819, 820, 825, +826, % ab 2022-06-14 828, 829, 830, 831, 832, 838, +839, +840, 843, 845, 847, @@ -371,7 +391,10 @@ 939, 940, 941, +943, % ab 2022-03-15 +945, 947, +948, % ab 2022-05-09 949, 951, 952, @@ -390,8 +413,10 @@ 986, 989} \clist_const:Nn \c_phone_US_obligatorische_ortsvorwahlen_clist {201, +% 202, bisher 7D, demnächst 10D (Einführung von 771) 203, 204, +205, 206, 208, 210, @@ -399,10 +424,12 @@ 213, 214, 215, +217, 220, 223, 224, 226, +227, % Freischaltungsdatum noch unklar 234, 236, 240, @@ -414,6 +441,7 @@ 267, 270, 272, +274, % Freischaltungsdatum noch unklar 279, 281, 289, @@ -432,6 +460,7 @@ 332, 336, 339, +341, 343, 346, 347, @@ -440,11 +469,13 @@ 364, 365, 367, +368, % ab 2022-04-23 380, 385, 402, 403, 404, +405, 407, 408, 410, @@ -455,6 +486,7 @@ 419, 424, 425, +428, % ab 2023-04-29 430, 431, 437, @@ -462,15 +494,21 @@ 442, 443, 445, +447, +448, 450, 458, 463, +464, % Freischaltungsdatum noch unklar 469, 470, +474, % ab 2021-10-02 475, 484, 503, +% 506, bisher 7D, demnächst 10D (Einführung von 428) 508, +510, 512, 514, 518, @@ -478,6 +516,7 @@ 531, 534, 539, +% 540, bisher 7D, demnächst 10D (Einführung von 826) 541, 548, 551, @@ -485,8 +524,10 @@ 567, 570, 571, +572, 579, 581, +582, 587, 601, 604, @@ -496,6 +537,7 @@ 614, 615, 617, +% 618, bisher 7D, demnächst 10D (Einführung von 730) 619, 628, 629, @@ -505,8 +547,10 @@ 640, 646, 647, +656, % ab 2022-02-22 657, 658, +659, 667, 669, 672, @@ -514,30 +558,34 @@ 680, 681, 682, +689, 702, 703, 704, 706, -% 709, Bisher 7D, demnächst 10D (Einführung von 879 in Neufundland) +% 708, bisher 7D, demnächst 10D (Einführung von 464) 713, 714, -715, +% 715, 2021-08-16 nicht mehr in der Liste aufgeführt, aber Overlay zu 534 717, 718, 720, 724, 725, 726, +730, % Freischaltungsdatum noch unklar 732, 737, 740, 743, 747, 754, +% 757, bisher 7D, demnächst 10D (Einführung von 948) 760, 762, 769, 770, +771, % ab 2021-11-09 773, 774, 778, @@ -548,22 +596,29 @@ 786, 787, 801, +803, 805, 809, 812, +% 813, bisher 7D, demnächst 10D (Einführung von 656) +814, 815, 817, 818, 819, 820, 825, +826, % ab 2022-06-14 829, 832, 838, +839, +840, 843, 847, 848, 849, +850, 854, 857, 858, @@ -572,20 +627,25 @@ 872, 873, 878, -879, 902, 903, 905, +909, 916, 917, 918, 919, +% 920, bisher 7D, demnächst 10D (Einführung von 274) 929, 930, 934, +937, 938, 939, +943, % ab 2022-03-15 +945, 947, +948, % ab 2022-05-09 954, 959, 971, @@ -598,6 +658,10 @@ \clist_const:Nn \c_phone_US_sondervorwahlen_clist {500, 521, 522, +523, +524, +525, +526, 533, 544, 566, diff --git a/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty b/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty index c91c3254a56..5b060f7b6ef 100644 --- a/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty +++ b/Master/texmf-dist/tex/latex/phonenumbers/phonenumbers.sty @@ -2,8 +2,8 @@ % LaTeX-Paket zur Formatierung von Telefonnummern % LaTeX package for formatting telephone numbers % Autor: K. Wehr -% Version: 2.2 -% Datum: 18. August 2019 +% Version: 2.3 +% Datum: 20. August 2021 % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -14,8 +14,7 @@ % version 2005/12/01 or later. -\RequirePackage{xparse} -\ProvidesExplPackage {phonenumbers} {2019/08/18} {2.2} {Telephone number package} +\ProvidesExplPackage {phonenumbers} {2021-08-20} {2.3} {Telephone number package} \RequirePackage{l3keys2e} \RequirePackage{ltxcmds} @@ -23,9 +22,9 @@ \clist_const:Nn \c_phone_ziffern_clist {0,1,2,3,4,5,6,7,8,9} \clist_const:Nn \c_phone_gliederungszeichen_clist {(,),[,],/} -\tl_const:Nn \c_phone_bindestrich_tl {\kern1pt - \kern1pt} -\tl_const:Nn \c_phone_schraegstrich_tl {\kern1pt \slash \kern1pt} -\tl_const:Nn \c_phone_pluszeichen_tl {+ \kern1pt} +\tl_const:Nn \c_phone_bindestrich_tl { \kern 1pt - \kern 1pt } +\tl_const:Nn \c_phone_schraegstrich_tl { \kern 1pt \slash \kern 1pt } +\tl_const:Nn \c_phone_pluszeichen_tl { + \kern 1pt } \str_new:N \l_phone_land_str \str_new:N \l_phone_heimatland_str @@ -35,6 +34,7 @@ \str_new:N \l_phone_vorwahltrennung_str \str_new:N \l_phone_auslandsvorwahltrennung_str \str_new:N \l_phone_heimatvorwahl_str +\str_new:N \l_phone_rufnummer_str \str_new:N \l_phone_bereinigte_nummer_str \str_new:N \l_phone_bereinigte_durchwahl_str \str_new:N \l_phone_linktext_str @@ -55,11 +55,10 @@ \cs_generate_variant:Nn \str_if_eq:nnT {xnT} \cs_generate_variant:Nn \str_if_eq:nnF {xnF} \cs_generate_variant:Nn \str_if_eq:nnTF {xnTF} -\cs_generate_variant:Nn \str_case:nn {Vn,xn} +\cs_generate_variant:Nn \str_case:nn {xn} \cs_generate_variant:Nn \str_case:nnT {xnT} -\cs_generate_variant:Nn \str_case:nnF {VnF,xnF} -\cs_generate_variant:Nn \str_case:nnTF {VnTF,xnTF} -\cs_generate_variant:Nn \str_put_right:Nn {NV} +\cs_generate_variant:Nn \str_case:nnF {xnF} +\cs_generate_variant:Nn \str_case:nnTF {xnTF} \cs_generate_variant:Nn \str_tail:n {x} \cs_generate_variant:Nn \tl_put_right:Nn {Nv} \cs_generate_variant:Nn \msg_warning:nnn {onn} @@ -68,17 +67,20 @@ \msg_new:nnn {phonenumbers} {illegal character} { - illegal~character~'#1'~in~phone~number~\msg_line_context: + illegal~character~'#1'~in~phone~number~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {empty input} { - empty~phone~number~\msg_line_context: + empty~phone~number~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {empty extension} { - empty~extension~(Durchwahl)~\msg_line_context: + empty~extension~(Durchwahl)~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {illegal extension} @@ -118,47 +120,79 @@ \msg_new:nnn {phonenumbers} {illegal start of subscriber number} { - subscriber~number~(Teilnehmerrufnummer)~starts~with~#1~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context: - } + subscriber~number~(Teilnehmerrufnummer)~starts~with~#1~in~ + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + phone~number~ + \msg_line_context: + } \msg_new:nnn {phonenumbers} {missing subscriber number} { - no~subscriber~number~(Teilnehmerrufnummer)~given~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context: + no~subscriber~number~(Teilnehmerrufnummer)~given~in~ + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + phone~number~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {invalid area code} { - unknown~area~code~(Vorwahl)~in~\phone_landesadjektiv:V \l_phone_land_str\ phone~number~\msg_line_context: + unknown~area~code~(Vorwahl)~in~ + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + phone~number~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {number too short} { - \phone_landesadjektiv:V \l_phone_land_str\ #1~number~has~less~than~#2~digits~\msg_line_context: + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + #1~number~has~less~than~#2~digits~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {number too long} { - \phone_landesadjektiv:V \l_phone_land_str\ #1~number~has~more~than~#2~digits~\msg_line_context: + \phone_landesadjektiv:V \l_phone_land_str + \c_space_tl + #1~number~has~more~than~#2~digits~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {home country set} { - home~country~set~to~\l_phone_heimatland_str\ \msg_line_context: + home~country~set~to~ + \l_phone_heimatland_str + \c_space_tl + \msg_line_context: } \msg_new:nnn {phonenumbers} {home country cleared} { - home~country~\l_phone_heimatland_str\ has~been~deleted~\msg_line_context: + home~country~ + \l_phone_heimatland_str + \c_space_tl + has~been~deleted~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {home area code set} { - Your~home~is~in~\tl_use:c {c_phone_\l_phone_heimatland_str _ortsname_#1_tl}~(area~code~#1)~according~to~line~\msg_line_number:. + Your~home~is~in~ + \tl_use:c {c_phone_\l_phone_heimatland_str _ortsname_#1_tl} + \c_space_tl + (area~code~#1)~according~to~line~ + \msg_line_number:. } \msg_new:nnn {phonenumbers} {home area code cleared} { - home~area~code~\l_phone_heimatvorwahl_str\ has~been~deleted~\msg_line_context: + home~area~code~ + \l_phone_heimatvorwahl_str + \c_space_tl + has~been~deleted~\msg_line_context: } \msg_new:nnn {phonenumbers} {invalid home area code} @@ -172,12 +206,14 @@ \msg_new:nnn {phonenumbers} {invalid country code} { - illegal~country~code~\msg_line_context: + illegal~country~code~ + \msg_line_context: } \msg_new:nnn {phonenumbers} {country code only} { - phone~number~consists~of~a~country~code~only~\msg_line_context: + phone~number~consists~of~a~country~code~only~ + \msg_line_context: } \cs_new:Npn \phone_landesadjektiv:n #1 @@ -372,30 +408,53 @@ } } -\cs_new:Npn \phone_gruppierte_ziffernfolge_schreiben:n #1 + +\cs_new_protected:Npn \phone_von_vorne_gruppiert_schreiben:n #1 { - \int_set:Nn \l_phone_ziffernzahl_int {\tl_count:n {#1}} + \int_set:Nn \l_phone_ziffernzahl_int { \tl_count:n {#1} } + \tl_clear:N \l_phone_formatierte_nummer_tl + + \int_step_inline:nn {\l_phone_ziffernzahl_int} + { + \tl_put_right:Nx \l_phone_formatierte_nummer_tl { \tl_item:nn {#1} {##1} } + + \int_if_even:nT {##1} + { + \int_compare:nNnT {##1} < {\l_phone_ziffernzahl_int} + { \tl_put_right:Nn \l_phone_formatierte_nummer_tl {\,} } + } + } + + \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_formatierte_nummer_tl + } + +\cs_generate_variant:Nn \phone_von_vorne_gruppiert_schreiben:n {x,V} + + +\cs_new_protected:Npn \phone_von_hinten_gruppiert_schreiben:n #1 + { + \int_set:Nn \l_phone_ziffernzahl_int { \tl_count:n {#1} } \tl_clear:N \l_phone_formatierte_nummer_tl \int_step_inline:nnnn {\l_phone_ziffernzahl_int} {-1} {1} { - \tl_put_left:Nx \l_phone_formatierte_nummer_tl {\tl_item:nn {#1} {##1}} + \tl_put_left:Nx \l_phone_formatierte_nummer_tl { \tl_item:nn {#1} {##1} } - \int_if_even:nT {\l_phone_ziffernzahl_int + 1 - ##1} + \int_if_even:nT { \l_phone_ziffernzahl_int + 1 - ##1 } { \int_compare:nNnT {##1} > {1} - {\tl_put_left:Nn \l_phone_formatierte_nummer_tl {\,}} + { \tl_put_left:Nn \l_phone_formatierte_nummer_tl {\,} } } } \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_formatierte_nummer_tl } -\cs_generate_variant:Nn \phone_gruppierte_ziffernfolge_schreiben:n {V,x} +\cs_generate_variant:Nn \phone_von_hinten_gruppiert_schreiben:n {x,V} % #1: Landeskennzahl -\cs_new:Npn \phone_auslandsvorwahl_schreiben:n #1 +\cs_new_protected:Npn \phone_auslandsvorwahl_schreiben:n #1 { \str_case:VnTF \l_phone_land_str { @@ -406,9 +465,9 @@ { \str_case:Vn \l_phone_auslandsvorwahltyp_str { - {international} {\tl_put_right:Nn \l_phone_ausgabetext_tl {\c_phone_pluszeichen_tl #1}} - {european} {\phone_gruppierte_ziffernfolge_schreiben:n {00#1}} - {american} {\phone_gruppierte_ziffernfolge_schreiben:n {011#1}} + {international} { \tl_put_right:Nn \l_phone_ausgabetext_tl { \c_phone_pluszeichen_tl #1 } } + {european} { \phone_von_hinten_gruppiert_schreiben:n {00#1} } + {american} { \phone_von_hinten_gruppiert_schreiben:n {011#1} } } } { @@ -461,7 +520,7 @@ % Ziffer eingelesen \str_put_right:Nn \l_phone_bereinigte_nummer_str {##1} - \bool_lazy_and:nnT {\l_phone_erstes_zeichen_bool} {\str_if_eq_p:nn {##1} {0}} + \bool_lazy_and:nnT {\l_phone_erstes_zeichen_bool} { \str_if_eq_p:nn {##1} {0} } { \bool_set_true:N \l_phone_null_am_anfang_bool } @@ -470,9 +529,9 @@ { \bool_set_false:N \l_phone_zweites_zeichen_bool - \bool_lazy_and:nnT {\l_phone_null_am_anfang_bool} {\str_if_eq_p:nn {##1} {0}} + \bool_lazy_and:nnT {\l_phone_null_am_anfang_bool} { \str_if_eq_p:nn {##1} {0} } { - \bool_set_true:N \l_phone_auslandsnummer_bool + \bool_set_true:N \l_phone_auslandsnummer_bool \str_clear:N \l_phone_bereinigte_nummer_str } } @@ -510,39 +569,39 @@ \bool_if:NT \l_phone_auslandsnummer_bool { - \int_set:Nn \l_tmpa_int {\str_count:N \l_phone_bereinigte_nummer_str} + \int_set:Nn \l_tmpa_int { \str_count:N \l_phone_bereinigte_nummer_str } \int_compare:nNnTF {\l_tmpa_int} > {1} { - \str_if_eq:xnTF {\str_head:N \l_phone_bereinigte_nummer_str} {1} + \str_if_eq:xnTF { \str_head:N \l_phone_bereinigte_nummer_str } {1} { \str_set:Nn \l_phone_land_str {US} - \str_set:Nx \l_phone_bereinigte_nummer_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {2} {-1}} + \str_set:Nx \l_phone_bereinigte_nummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {2} {-1} } } { \int_compare:nNnTF {\l_tmpa_int} > {2} { - \str_case:xnTF {\str_range:Nnn \l_phone_bereinigte_nummer_str {1} {2}} + \str_case:xnTF { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {2} } { - {33} {\str_set:Nn \l_phone_land_str {FR}} - {43} {\str_set:Nn \l_phone_land_str {AT}} - {44} {\str_set:Nn \l_phone_land_str {UK}} - {49} {\str_set:Nn \l_phone_land_str {DE}} + {33} { \str_set:Nn \l_phone_land_str {FR} } + {43} { \str_set:Nn \l_phone_land_str {AT} } + {44} { \str_set:Nn \l_phone_land_str {UK} } + {49} { \str_set:Nn \l_phone_land_str {DE} } } { - \str_set:Nx \l_phone_bereinigte_nummer_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {3} {-1}} + \str_set:Nx \l_phone_bereinigte_nummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {3} {-1} } \str_put_left:Nn \l_phone_bereinigte_nummer_str {0} } { \int_compare:nNnTF {\l_tmpa_int} > {3} { - \str_case:xnTF {\str_range:Nnn \l_phone_bereinigte_nummer_str {1} {3}} + \str_case:xnTF { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {3} } { - {262} {\str_set:Nx \l_phone_bereinigte_nummer_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1}}} + {262} { \str_set:Nx \l_phone_bereinigte_nummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1} } } {508} { } % Saint-Pierre-et-Miquelon - {590} {\str_set:Nx \l_phone_bereinigte_nummer_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1}}} - {594} {\str_set:Nx \l_phone_bereinigte_nummer_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1}}} - {596} {\str_set:Nx \l_phone_bereinigte_nummer_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1}}} + {590} { \str_set:Nx \l_phone_bereinigte_nummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1} } } + {594} { \str_set:Nx \l_phone_bereinigte_nummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1} } } + {596} { \str_set:Nx \l_phone_bereinigte_nummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {4} {-1} } } } { \str_set:Nn \l_phone_land_str {FR} @@ -569,7 +628,7 @@ \bool_lazy_and:nnT { - \bool_lazy_or_p:nn {\str_if_eq_p:Vn \l_phone_land_str {DE}} {\str_if_eq_p:Vn \l_phone_land_str {AT}} + \bool_lazy_or_p:nn { \str_if_eq_p:Vn \l_phone_land_str {DE} } { \str_if_eq_p:Vn \l_phone_land_str {AT} } } { \str_if_empty_p:N \l_phone_bereinigte_durchwahl_str @@ -592,7 +651,7 @@ \int_compare:nNnF {\l_phone_bindestrichposition_int} = {-1} { % Nummer enthält einen Bindestrich - \str_set:Nx \l_tmpa_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {\l_phone_bindestrichposition_int - 1} } + \str_set:Nx \l_tmpa_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} { \l_phone_bindestrichposition_int - 1 } } \tl_remove_all:Nn \l_tmpa_str {-} \phone_enthaelt_vorwahl:NT \l_tmpa_str @@ -607,13 +666,13 @@ \str_if_eq:xnF { \str_head:N \l_tmpa_str } {0} { \bool_set_true:N \l_tmpa_bool - % Nummer beginnt nicht mit 0 (ist also eine reine Teilnehmerrufnummer) + % Nummer beginnt nicht mit 0 (ist also eine reine Teilnehmerrufnummer) } \bool_if:NT \l_tmpa_bool { % Teil nach dem Bindestrich als Durchwahl abtrennen - \phone_durchwahl_ueberpruefen:x { \str_range:Nnn \l_phone_bereinigte_nummer_str {\l_phone_bindestrichposition_int + 1} {-1} } + \phone_durchwahl_ueberpruefen:x { \str_range:Nnn \l_phone_bereinigte_nummer_str { \l_phone_bindestrichposition_int + 1 } {-1} } \str_set_eq:NN \l_phone_bereinigte_nummer_str \l_tmpa_str } } @@ -626,7 +685,7 @@ % #1: eingebene Durchwahl -\cs_new:Npn \phone_durchwahl_ueberpruefen:n #1 +\cs_new_protected:Npn \phone_durchwahl_ueberpruefen:n #1 { \tl_if_blank:nTF {#1} { @@ -654,7 +713,7 @@ \cs_generate_variant:Nn \phone_durchwahl_ueberpruefen:n {x} -\cs_new:Npn \phone_nummer_ausgeben: +\cs_new_protected:Npn \phone_nummer_ausgeben: { \bool_if:NF \l_phone_eingabe_leer_bool { @@ -671,11 +730,11 @@ } } - \bool_lazy_and:nnTF {\l_phone_nummer_verlinken_bool} {!\str_if_empty_p:N \l_phone_linktext_str} + \bool_lazy_and:nnTF {\l_phone_nummer_verlinken_bool} { ! \str_if_empty_p:N \l_phone_linktext_str } { \ltx@ifpackageloaded {hyperref} { - \href{tel\c_colon_str\l_phone_linktext_str}{\l_phone_ausgabetext_tl} + \href { tel \c_colon_str \l_phone_linktext_str } {\l_phone_ausgabetext_tl} } { \l_phone_ausgabetext_tl @@ -686,17 +745,18 @@ } } -\cs_new:Npn \phone_vorwahlliste_ausgeben:n #1 +\cs_new_protected:Npn \phone_vorwahlliste_ausgeben:n #1 { \begin{tabbing} \str_case:VnF \l_phone_land_str { - {US} {\hspace{3em}} + {US} { \hspace {3em} } } { - \hspace{4em} + \hspace {4em} } - \= \kill + \= + \kill \bool_set_false:N \l_phone_zeilenumbruch_bool @@ -721,9 +781,9 @@ \tl_use:N \l_phone_ausgabetext_tl } { - \bool_if:nTF {\str_if_eq_p:Vn \l_phone_land_str {FR}} + \bool_if:nTF { \str_if_eq_p:Vn \l_phone_land_str {FR} } { - \phone_gruppierte_ziffernfolge_schreiben:n {##1} + \phone_von_vorne_gruppiert_schreiben:n {##1} \tl_use:N \l_phone_ausgabetext_tl } { @@ -764,7 +824,7 @@ \IfValueT {#3} { - \bool_lazy_or:nnF {\str_if_eq_p:Vn \l_phone_land_str {DE}} {\str_if_eq_p:Vn \l_phone_land_str {AT}} + \bool_lazy_or:nnF { \str_if_eq_p:Vn \l_phone_land_str {DE} } { \str_if_eq_p:Vn \l_phone_land_str {AT} } { \bool_if:NF \l_phone_durchwahl_leer_bool { @@ -829,15 +889,15 @@ { \bool_set_false:N \l_phone_vorwahl_gefunden_bool - \int_set:Nn \l_phone_pruefnummerlaenge_int {\str_count:N #1} + \int_set:Nn \l_phone_pruefnummerlaenge_int { \str_count:N #1 } \int_step_inline:nnnn {6} {-1} {2} { \bool_if:NF \l_phone_vorwahl_gefunden_bool { - \int_compare:nT {\l_phone_pruefnummerlaenge_int >= ##1} + \int_compare:nT { \l_phone_pruefnummerlaenge_int >= ##1 } { - \str_set:Nx \l_phone_vorwahl_str {\str_range:Nnn #1 {1} {##1}} + \str_set:Nx \l_phone_vorwahl_str { \str_range:Nnn #1 {1} {##1} } \clist_if_in:cVT {c_phone_\l_phone_land_str _vorwahlen_clist} \l_phone_vorwahl_str { @@ -858,12 +918,12 @@ % #1: Vorwahl, #2: Soll die führende null ausgegeben werden? -\cs_new:Npn \phone_gruppierte_vorwahl_schreiben:nN #1#2 +\cs_new_protected:Npn \phone_gruppierte_vorwahl_schreiben:nN #1#2 { \str_if_eq:VnTF \l_phone_land_str {UK} { % britische Vorwahl - \int_compare:nNnTF {\str_count:n {#1}} = {6} + \int_compare:nNnTF { \str_count:n {#1} } = {6} { % sechsstellige britische Vorwahl: Gliederung vor der zweitletzten Ziffer \bool_if:NTF #2 @@ -871,11 +931,11 @@ \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_range:nnn {#1} {1} {4} } } { - \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_tail:x {\str_range:nnn {#1} {1} {4}} } + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_tail:x { \str_range:nnn {#1} {1} {4} } } } \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} - \tl_put_right:Nx \l_phone_ausgabetext_tl {\str_range:nnn {#1} {5} {6}} + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_range:nnn {#1} {5} {6} } } { % nicht sechsstellige britische Vorwahl @@ -884,29 +944,29 @@ \tl_put_right:Nn \l_phone_ausgabetext_tl {#1} } { - \tl_put_right:Nx \l_phone_ausgabetext_tl {\str_tail:n {#1}} + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_tail:n {#1} } } } } { % nichtbritische Vorwahl - \bool_lazy_and:nnTF {\str_if_eq_p:Vn \l_phone_land_str {DE}} {\int_compare_p:nNn {\str_count:n {#1}} = {5}} + \bool_lazy_and:nnTF { \str_if_eq_p:Vn \l_phone_land_str {DE} } { \int_compare_p:nNn { \str_count:n {#1} } = {5} } { % fünfstellige deutsche Vorwahl - \str_set:Nx \l_tmpa_str {\str_range:nnn {#1} {1} {4}} - \str_set:Nx \l_tmpb_str {\str_range:nnn {#1} {5} {5}} - - \bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_tmpa_str {0137}} {\str_if_eq_p:Vn \l_tmpa_str {0180}} + \str_set:Nx \l_tmpa_str { \str_range:nnn {#1} {1} {4} } + \str_set:Nx \l_tmpb_str { \str_range:nnn {#1} {5} {5} } + + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_tmpa_str {0137} } { \str_if_eq_p:Vn \l_tmpa_str {0180} } { % fünfstellige deutsche Vorwahl mit Tarifkennung: letzte Ziffer steht allein \bool_if:NTF #2 { - \phone_gruppierte_ziffernfolge_schreiben:V \l_tmpa_str + \phone_von_hinten_gruppiert_schreiben:V \l_tmpa_str } { - \phone_gruppierte_ziffernfolge_schreiben:x {\str_tail:N \l_tmpa_str} + \phone_von_hinten_gruppiert_schreiben:x { \str_tail:N \l_tmpa_str } } - + \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} \tl_put_right:NV \l_phone_ausgabetext_tl \l_tmpb_str } @@ -914,10 +974,10 @@ % fünfstellige deutsche Vorwahl ohne Tarifkennung \bool_if:NTF #2 { - \phone_gruppierte_ziffernfolge_schreiben:n {#1} + \phone_von_hinten_gruppiert_schreiben:n {#1} } { - \phone_gruppierte_ziffernfolge_schreiben:x {\str_tail:n {#1}} + \phone_von_hinten_gruppiert_schreiben:x { \str_tail:n {#1} } } } } @@ -925,17 +985,17 @@ % sonstige Vorwahl \bool_if:NTF #2 { - \phone_gruppierte_ziffernfolge_schreiben:n {#1} + \phone_von_hinten_gruppiert_schreiben:n {#1} } { - \phone_gruppierte_ziffernfolge_schreiben:x {\str_tail:n {#1}} + \phone_von_hinten_gruppiert_schreiben:x { \str_tail:n {#1} } } } } } % #1: Vorwahl, #2: Soll die führende null ausgegeben werden? -\cs_new:Npn \phone_geklammerte_vorwahl_schreiben:nN #1#2 +\cs_new_protected:Npn \phone_geklammerte_vorwahl_schreiben:nN #1#2 { % Klammern werden nur bei Ortsvorwahlen gesetzt \clist_if_in:cnTF {c_phone_\l_phone_land_str _ortsvorwahlen_clist} {#1} @@ -950,9 +1010,9 @@ } % #1: Nummer, #2: Mindestlänge, #3: Höchstlänge, #4: Nummernart -\cs_new:Npn \phone_nummernlaenge_ueberpruefen:nnnn #1#2#3#4 +\cs_new_protected:Npn \phone_nummernlaenge_ueberpruefen:nnnn #1#2#3#4 { - \int_set:Nn \l_tmpa_int {\str_count:n {#1}} + \int_set:Nn \l_tmpa_int { \str_count:n {#1} } \int_compare:nNnTF {\l_tmpa_int} < {#2} { @@ -982,9 +1042,9 @@ % #1: Vorwahl, #2: Folgt eine Rufnummer? -\cs_new:Npn \phone_DE_AT_vorwahl_schreiben:nn #1 #2 +\cs_new_protected:Npn \phone_DE_AT_vorwahl_schreiben:nn #1 #2 { - \bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off}} {\str_if_eq_p:NN \l_phone_heimatland_str \l_phone_land_str} + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off} } { \str_if_eq_p:NN \l_phone_heimatland_str \l_phone_land_str } { \clist_if_in:cnT {c_phone_\l_phone_land_str _sondervorwahlen_clist} {#1} { @@ -994,7 +1054,7 @@ } } - \bool_lazy_and:nnF {\str_if_eq_p:NN \l_phone_heimatland_str \l_phone_land_str} {\str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1}} + \bool_lazy_and:nnF { \str_if_eq_p:NN \l_phone_heimatland_str \l_phone_land_str } { \str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1} } { \str_case:Vn \l_phone_vorwahldarstellung_str { @@ -1009,7 +1069,7 @@ } { \phone_gruppierte_vorwahl_schreiben:nN {#1} \c_true_bool - + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_case:VnF \l_phone_vorwahltrennung_str @@ -1035,7 +1095,7 @@ { \tl_put_right:Nn \l_phone_ausgabetext_tl {(} } - + \tl_if_exist:cTF {c_phone_\l_phone_land_str _ortsname_#1_tl} { \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_\l_phone_land_str _ortsname_#1_tl} @@ -1043,7 +1103,7 @@ { \phone_gruppierte_vorwahl_schreiben:nN {#1} \c_true_bool } - + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_case:VnF \l_phone_vorwahltrennung_str @@ -1074,11 +1134,11 @@ \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_\l_phone_land_str _ortsname_#1_tl} \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } - + \str_if_eq:VnTF \l_phone_vorwahltrennung_str {brackets} { \phone_geklammerte_vorwahl_schreiben:nN {#1} \c_true_bool - + \bool_if:nT {#2} { \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl @@ -1086,7 +1146,7 @@ } { \phone_gruppierte_vorwahl_schreiben:nN {#1} \c_true_bool - + \bool_if:nT {#2} { \tl_put_right:Nx \l_phone_ausgabetext_tl @@ -1138,7 +1198,7 @@ { \str_if_eq:VnTF \l_phone_land_str {DE} {+49} {+43} } - \str_put_right:Nx \l_phone_linktext_str {\str_tail:n {#1}} + \str_put_right:Nx \l_phone_linktext_str { \str_tail:n {#1} } } } @@ -1146,11 +1206,11 @@ % #1: Vorwahl, #2: Teilnehmerrufnummer -\cs_new:Npn \phone_DE_festnetzteilnehmerrufnummernlaenge_ueberpruefen:Nn #1#2 +\cs_new_protected:Npn \phone_DE_festnetzteilnehmerrufnummernlaenge_ueberpruefen:Nn #1#2 { - \int_set:Nn \l_tmpa_int {\str_count:N #1} - \int_add:Nn \l_tmpa_int {\str_count:n {#2}} - \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_bereinigte_durchwahl_str} + \int_set:Nn \l_tmpa_int { \str_count:N #1 } + \int_add:Nn \l_tmpa_int { \str_count:n {#2} } + \int_add:Nn \l_tmpa_int { \str_count:N \l_phone_bereinigte_durchwahl_str } \int_compare:nNnTF {\l_tmpa_int} > {13} { @@ -1158,8 +1218,8 @@ \msg_warning:nnnn {phonenumbers} {number too long} {landline} {13} } { - \int_set:Nn \l_tmpa_int {\str_count:n {#2}} - \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_bereinigte_durchwahl_str} + \int_set:Nn \l_tmpa_int { \str_count:n {#2} } + \int_add:Nn \l_tmpa_int { \str_count:N \l_phone_bereinigte_durchwahl_str } \int_compare:nNnTF {\l_tmpa_int} < {3} { @@ -1173,10 +1233,10 @@ } % #1: Nummer -\cs_new:Npn \phone_DE_MABEZnummernlaenge_ueberpruefen:N #1 +\cs_new_protected:Npn \phone_DE_MABEZnummernlaenge_ueberpruefen:N #1 { - \int_set:Nn \l_tmpa_int {\str_count:N #1} - \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_bereinigte_durchwahl_str} + \int_set:Nn \l_tmpa_int { \str_count:N #1 } + \int_add:Nn \l_tmpa_int { \str_count:N \l_phone_bereinigte_durchwahl_str } \int_compare:nNnTF {\l_tmpa_int} > {11} { @@ -1196,7 +1256,7 @@ } % #1: Vorwahl, #2: Teilnehmerrufnummer -\cs_new:Npn \phone_DE_teilnehmerrufnummer_schreiben:Nn #1 #2 +\cs_new_protected:Npn \phone_DE_teilnehmerrufnummer_schreiben:Nn #1 #2 { % Überprüfen der Nummernlänge \str_if_empty:NTF #1 @@ -1211,7 +1271,7 @@ \clist_if_in:NVTF \c_phone_DE_ortsvorwahlen_clist #1 { % Festnetznummer - \str_if_eq:xnTF {\str_head:n {#2}} {0} + \str_if_eq:xnTF { \str_head:n {#2} } {0} { \msg_warning:nnn {phonenumbers} {illegal start of subscriber number} {0} } @@ -1224,37 +1284,37 @@ \str_set_eq:NN \l_tmpa_str #1 \str_put_right:Nn \l_tmpa_str {#2} - \str_if_eq:xnTF {\str_range:Nnn #1 {1} {5}} {09009} + \str_if_eq:xnTF { \str_range:Nnn #1 {1} {5} } {09009} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {09009} } { - \str_case:xnF {\str_range:Nnn #1 {1} {4}} + \str_case:xnF { \str_range:Nnn #1 {1} {4} } { - {0137} {\phone_DE_MABEZnummernlaenge_ueberpruefen:N \l_tmpa_str} - {0160} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone}} - {0162} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone}} - {0163} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone}} - {0164} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0164}} % Funkruf - {0168} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {15} {0168}} % Funkruf - {0169} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {15} {0169}} % Funkruf - {0180} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {11} {0180}} - {0181} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {8} {15} {0181}} - {0191} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0191}} - {0192} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0192}} - {0193} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0193}} - {0194} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {7} {14} {0194}} - {0700} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {0700}} - {0800} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {14} {freephone}} - {0900} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {11} {premium~service}} + {0137} { \phone_DE_MABEZnummernlaenge_ueberpruefen:N \l_tmpa_str } + {0160} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone} } + {0162} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone} } + {0163} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone} } + {0164} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0164} } % Funkruf + {0168} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {15} {0168} } % Funkruf + {0169} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {15} {0169} } % Funkruf + {0180} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {11} {0180} } + {0181} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {8} {15} {0181} } + {0191} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0191} } + {0192} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0192} } + {0193} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {5} {14} {0193} } + {0194} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {7} {14} {0194} } + {0700} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {0700} } + {0800} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {14} {freephone} } + {0900} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {11} {premium~service} } } { \str_case:xn {\str_range:Nnn #1 {1} {3}} { - {015} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {mobile~phone}} - {017} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone}} - {018} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {018}} - {032} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {032}} + {015} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {mobile~phone} } + {017} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {11} {12} {mobile~phone} } + {018} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {018} } + {032} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {12} {12} {032} } } } } @@ -1262,7 +1322,7 @@ \str_if_empty:NF \l_phone_bereinigte_durchwahl_str { % Mobilfunk- und Sondernummern dürfen keine Durchwahl enthalten (ausgenommen MABEZ-Nummern) - \str_if_eq:xnF {\str_range:Nnn #1 {1} {4}} {0137} + \str_if_eq:xnF { \str_range:Nnn #1 {1} {4} } {0137} { \msg_warning:nn {phonenumbers} {odd extension} } @@ -1283,7 +1343,7 @@ \bool_if:NTF \l_phone_teilnehmerrufnummer_gueltig_bool { - \phone_gruppierte_ziffernfolge_schreiben:n {#2} + \phone_von_hinten_gruppiert_schreiben:n {#2} } { \str_put_right:Nn \l_phone_ausgabetext_tl {#2} @@ -1292,7 +1352,7 @@ \str_if_empty:NF \l_phone_bereinigte_durchwahl_str { \tl_put_right:NV \l_phone_ausgabetext_tl \c_phone_bindestrich_tl - \phone_gruppierte_ziffernfolge_schreiben:V \l_phone_bereinigte_durchwahl_str + \phone_von_hinten_gruppiert_schreiben:V \l_phone_bereinigte_durchwahl_str } } @@ -1304,12 +1364,12 @@ \cs_new_protected:Npn \phone_DE_AT_nummer_schreiben: { - \str_if_eq:xnTF {\str_head:N \l_phone_bereinigte_nummer_str} {0} + \str_if_eq:xnTF { \str_head:N \l_phone_bereinigte_nummer_str } {0} { \phone_enthaelt_vorwahl:NTF \l_phone_bereinigte_nummer_str { - \int_set:Nn \l_phone_DE_AT_hauptnummerlaenge_int {\str_count:N \l_phone_bereinigte_nummer_str} - \int_set:Nn \l_phone_DE_AT_vorwahllaenge_int {\str_count:N \l_phone_vorwahl_str} + \int_set:Nn \l_phone_DE_AT_hauptnummerlaenge_int { \str_count:N \l_phone_bereinigte_nummer_str } + \int_set:Nn \l_phone_DE_AT_vorwahllaenge_int { \str_count:N \l_phone_vorwahl_str } \phone_DE_AT_vorwahl_schreiben:Vx \l_phone_vorwahl_str { @@ -1323,7 +1383,7 @@ { \use:c {phone_\l_phone_land_str _teilnehmerrufnummer_schreiben:Nx} \l_phone_vorwahl_str { - \str_range:Nnn \l_phone_bereinigte_nummer_str {\l_phone_DE_AT_vorwahllaenge_int + 1} {-1} + \str_range:Nnn \l_phone_bereinigte_nummer_str { \l_phone_DE_AT_vorwahllaenge_int + 1 } {-1} } } } @@ -1349,11 +1409,11 @@ % #1: Vorwahl, #2: Teilnehmerrufnummer -\cs_new:Npn \phone_AT_festnetzteilnehmerrufnummernlaenge_ueberpruefen:Nn #1#2 +\cs_new_protected:Npn \phone_AT_festnetzteilnehmerrufnummernlaenge_ueberpruefen:Nn #1#2 { - \int_set:Nn \l_tmpa_int {\str_count:N #1} - \int_add:Nn \l_tmpa_int {\str_count:n {#2}} - \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_bereinigte_durchwahl_str} + \int_set:Nn \l_tmpa_int { \str_count:N #1 } + \int_add:Nn \l_tmpa_int { \str_count:n {#2} } + \int_add:Nn \l_tmpa_int { \str_count:N \l_phone_bereinigte_durchwahl_str } \int_compare:nNnTF {\l_tmpa_int} > {13} { @@ -1361,8 +1421,8 @@ \msg_warning:nnnn {phonenumbers} {number too long} {landline} {13} } { - \int_set:Nn \l_tmpa_int {\str_count:n {#2}} - \int_add:Nn \l_tmpa_int {\str_count:N \l_phone_bereinigte_durchwahl_str} + \int_set:Nn \l_tmpa_int { \str_count:n {#2} } + \int_add:Nn \l_tmpa_int { \str_count:N \l_phone_bereinigte_durchwahl_str } \int_compare:nNnTF {\l_tmpa_int} < {5} { @@ -1370,25 +1430,25 @@ \msg_warning:nnn {phonenumbers} {subscriber number too short} {5} } { - \bool_lazy_and:nnTF {\str_if_eq_p:Vn #1 {01}} {\int_compare_p:nNn {\l_tmpa_int} < {7}} + \bool_lazy_and:nnTF { \str_if_eq_p:Vn #1 {01} } { \int_compare_p:nNn {\l_tmpa_int} < {7} } { % Wiener Teilnehmerrufnummer hat weniger als 7 Stellen \msg_warning:nnn {phonenumbers} {subscriber number too short} {7} } - { + { \bool_lazy_and:nnTF { \bool_lazy_any_p:n { - {\str_if_eq_p:Vn #1 {02236}} - {\str_if_eq_p:Vn #1 {02252}} - {\str_if_eq_p:Vn #1 {0316}} - {\str_if_eq_p:Vn #1 {0463}} - {\str_if_eq_p:Vn #1 {0512}} - {\str_if_eq_p:Vn #1 {05572}} - {\str_if_eq_p:Vn #1 {0662}} - {\str_if_eq_p:Vn #1 {07242}} - {\str_if_eq_p:Vn #1 {0732}} + { \str_if_eq_p:Vn #1 {02236} } + { \str_if_eq_p:Vn #1 {02252} } + { \str_if_eq_p:Vn #1 {0316} } + { \str_if_eq_p:Vn #1 {0463} } + { \str_if_eq_p:Vn #1 {0512} } + { \str_if_eq_p:Vn #1 {05572} } + { \str_if_eq_p:Vn #1 {0662} } + { \str_if_eq_p:Vn #1 {07242} } + { \str_if_eq_p:Vn #1 {0732} } } } { @@ -1414,11 +1474,11 @@ } % #1: Vorwahl, #2: Teilnehmerrufnummer -\cs_new:Npn \phone_AT_festnetzteilnehmerrufnummer_ueberpruefen:Nn #1#2 +\cs_new_protected:Npn \phone_AT_festnetzteilnehmerrufnummer_ueberpruefen:Nn #1#2 { - \str_set:Nx \l_tmpa_str {\str_head:n {#2}} + \str_set:Nx \l_tmpa_str { \str_head:n {#2} } - \bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_tmpa_str {0}} {\str_if_eq_p:Vn \l_tmpa_str {1}} + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_tmpa_str {0} } { \str_if_eq_p:Vn \l_tmpa_str {1} } { \msg_warning:nnV {phonenumbers} {illegal start of subscriber number} \l_tmpa_str } @@ -1428,7 +1488,7 @@ } % #1: Vorwahl, #2: Teilnehmerrufnummer -\cs_new:Npn \phone_AT_teilnehmerrufnummer_schreiben:Nn #1 #2 +\cs_new_protected:Npn \phone_AT_teilnehmerrufnummer_schreiben:Nn #1 #2 { \str_if_empty:NTF #1 { @@ -1451,33 +1511,33 @@ \str_case:VnF #1 { - {0517} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN}} - {0718} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {dial~up}} - {0720} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {location~independant}} - {0780} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {convergent~service}} - {0800} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {freephone}} - {0804} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {dial~up}} - {0810} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service}} - {0820} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service}} - {0821} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service}} - {0828} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service}} - {0900} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service}} - {0901} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service}} - {0930} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service}} - {0931} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service}} - {0939} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service}} - } - { - \str_case:xn {\str_range:Nnn #1 {1} {3}} + {0517} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN} } + {0718} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {dial~up} } + {0720} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {location~independant} } + {0780} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {convergent~service} } + {0800} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {freephone} } + {0804} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {dial~up} } + {0810} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service} } + {0820} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service} } + {0821} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service} } + {0828} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {service} } + {0900} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service} } + {0901} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service} } + {0930} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service} } + {0931} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service} } + {0939} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {10} {13} {premium~service} } + } + { + \str_case:xn { \str_range:Nnn #1 {1} {3} } { - {050} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN}} - {057} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN}} - {059} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN}} - {065} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone}} - {066} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone}} - {067} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone}} - {068} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone}} - {069} {\phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone}} + {050} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN} } + {057} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN} } + {059} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {VPN} } + {065} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone} } + {066} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone} } + {067} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone} } + {068} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone} } + {069} { \phone_nummernlaenge_ueberpruefen:Vnnn \l_tmpa_str {9} {13} {mobile~phone} } } } @@ -1501,7 +1561,7 @@ \bool_if:NTF \l_phone_teilnehmerrufnummer_gueltig_bool { - \phone_gruppierte_ziffernfolge_schreiben:n {#2} + \phone_von_hinten_gruppiert_schreiben:n {#2} } { \str_put_right:Nn \l_phone_ausgabetext_tl {#2} @@ -1510,7 +1570,7 @@ \str_if_empty:NF \l_phone_bereinigte_durchwahl_str { \tl_put_right:NV \l_phone_ausgabetext_tl \c_phone_bindestrich_tl - \phone_gruppierte_ziffernfolge_schreiben:V \l_phone_bereinigte_durchwahl_str + \phone_von_hinten_gruppiert_schreiben:V \l_phone_bereinigte_durchwahl_str } } @@ -1543,6 +1603,7 @@ { {0262} {262} {026200} {262} + {0263} {262} {0269} {262} {0508} {508} {0590} {590} @@ -1556,16 +1617,36 @@ {0694} {594} {0696} {596} {0697} {596} + {07005} {590} + {07006} {594} + {07007} {596} + {07008} {262} + {07009} {262} + {09475} {590} + {09476} {594} + {09477} {596} + {09478} {262} + {09479} {262} + {09760} {590} + {09761} {590} + {09762} {262} + {09763} {262} + {09764} {594} + {09765} {594} + {09766} {596} + {09767} {596} + {09768} {590} + {09769} {262} } { 33 } } -% #1: Vorwahl -\cs_new:Npn \phone_FR_vorwahl_schreiben:n #1 +% #1: Vorwahl, #2: Rufnummer +\cs_new_protected:Npn \phone_FR_vorwahl_schreiben:nn #1#2 { - \bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off}} {\str_if_eq_p:Vn \l_phone_heimatland_str {FR}} + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off} } { \str_if_eq_p:Vn \l_phone_heimatland_str {FR} } { \clist_if_in:NnT \c_phone_FR_sondervorwahlen_clist {#1} { @@ -1575,14 +1656,15 @@ } } - \bool_lazy_and:nnF {\str_if_eq_p:Vn \l_phone_heimatland_str {FR}} {\str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1}} + \bool_lazy_and:nnF { \str_if_eq_p:Vn \l_phone_heimatland_str {FR} } { \str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1} } { \str_case:Vn \l_phone_vorwahldarstellung_str { {number} { - \phone_gruppierte_ziffernfolge_schreiben:n {#1} - \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} + \phone_von_vorne_gruppiert_schreiben:n {#1} + \int_if_even:nT { \str_count:n {#1} } + { \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} } } {place} { @@ -1592,8 +1674,9 @@ \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } { - \phone_gruppierte_ziffernfolge_schreiben:n {#1} - \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} + \phone_von_vorne_gruppiert_schreiben:n {#1} + \int_if_even:nT { \str_count:n {#1} } + { \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} } } } {place-and-number} @@ -1603,43 +1686,60 @@ \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_FR_ortsname_#1_tl} \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } - - \phone_gruppierte_ziffernfolge_schreiben:n {#1} - \tl_put_right:NV \l_phone_ausgabetext_tl {\,} + + \phone_von_vorne_gruppiert_schreiben:n {#1} + \int_if_even:nT { \str_count:n {#1} } + { \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} } } } } } { - \phone_auslandsvorwahl_schreiben:x {\phone_FR_ermittle_landeskennzahl:n {#1}} + \phone_auslandsvorwahl_schreiben:x { \phone_FR_ermittle_landeskennzahl:n {#1} } \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl \str_if_eq:nnF {#1} {0508} % in Saint-Pierre-et-Miquelon entfällt die Ortsvorwahl { - \phone_gruppierte_ziffernfolge_schreiben:x {\str_tail:n {#1}} - \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} + \int_if_even:nTF { \str_count:n {#2} } + { + % Rufnummer hat gerade Stellenanzahl + \phone_von_hinten_gruppiert_schreiben:x { \str_tail:n {#1} } + \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} + } + { + \int_if_even:nTF { \str_count:n {#1} } + { + % Rufnummer hat ungerade Stellenanzahl, die Vorwahl ohne die 0 auch + \phone_von_vorne_gruppiert_schreiben:x { \str_tail:n {#1} } + } + { + % Rufnummer hat ungerade Stellenanzahl, die Vorwahl ohne die 0 hat gerade Stellenanzahl + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_item:nn {#1} {2} \, } + \phone_von_vorne_gruppiert_schreiben:x { \str_range:nnn {#1} {3} {-1} } + } + } } } - \str_put_right:Nx \l_phone_linktext_str {+\phone_FR_ermittle_landeskennzahl:n {#1}} + \str_put_right:Nx \l_phone_linktext_str { + \phone_FR_ermittle_landeskennzahl:n {#1} } \str_if_eq:nnF {#1} {0508} % in Saint-Pierre-et-Miquelon entfällt die Ortsvorwahl { - \str_put_right:Nx \l_phone_linktext_str {\str_tail:n {#1}} + \str_put_right:Nx \l_phone_linktext_str { \str_tail:n {#1} } } } -\cs_generate_variant:Nn \phone_FR_vorwahl_schreiben:n {V} +\cs_generate_variant:Nn \phone_FR_vorwahl_schreiben:nn {VV,xV} -\cs_new:Npn \phone_FR_nummer_schreiben: +\cs_new_protected:Npn \phone_FR_nummer_schreiben: { - \int_set:Nn \l_phone_nummerlaenge_int {\str_count:N \l_phone_bereinigte_nummer_str} - + \int_set:Nn \l_phone_nummerlaenge_int { \str_count:N \l_phone_bereinigte_nummer_str } + \int_compare:nNnTF {\l_phone_nummerlaenge_int} < {10} { - \str_if_eq:xnTF {\str_head:N \l_phone_bereinigte_nummer_str} {3} + \str_if_eq:xnTF { \str_head:N \l_phone_bereinigte_nummer_str } {3} { \int_compare:nNnTF {\l_phone_nummerlaenge_int} < {4} { @@ -1650,10 +1750,10 @@ \int_compare:nNnTF {\l_phone_nummerlaenge_int} > {4} { \msg_warning:nnnn {phonenumbers} {number too long} {short} {4} - \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str + \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str } { - \phone_gruppierte_ziffernfolge_schreiben:V \l_phone_bereinigte_nummer_str + \phone_von_vorne_gruppiert_schreiben:V \l_phone_bereinigte_nummer_str \str_put_right:NV \l_phone_linktext_str \l_phone_bereinigte_nummer_str } } @@ -1666,36 +1766,80 @@ { \int_compare:nNnTF {\l_phone_nummerlaenge_int} > {10} { - \msg_warning:nnnn {phonenumbers} {number too long} {phone} {10} - \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str + \str_if_eq:xnTF { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {4} } {0700} + { + \int_compare:nNnTF { \str_item:Nn \l_phone_bereinigte_nummer_str {5} } < {5} + { + % überlange Mobilfunknummer (machine to machine) im Mutterland (14 Stellen) + \str_set:Nx \l_phone_rufnummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {5} {-1} } + \phone_FR_vorwahl_schreiben:xV { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {4} } \l_phone_rufnummer_str + \phone_nummernlaenge_ueberpruefen:Vnnn \l_phone_bereinigte_nummer_str {14} {14} {machine~to~machine} + \bool_if:NT \l_phone_teilnehmerrufnummer_gueltig_bool + { + \phone_von_vorne_gruppiert_schreiben:V \l_phone_rufnummer_str + } + } + { + % überlange Mobilfunknummer (machine to machine) in den Überseegebieten (13 Stellen) + \str_set:Nx \l_phone_rufnummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {6} {-1} } + \phone_FR_vorwahl_schreiben:xV { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {5} } \l_phone_rufnummer_str + \phone_nummernlaenge_ueberpruefen:Vnnn \l_phone_bereinigte_nummer_str {13} {13} {machine~to~machine} + \bool_if:NT \l_phone_teilnehmerrufnummer_gueltig_bool + { + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off} } { \str_if_eq_p:Vn \l_phone_heimatland_str {FR} } + { + % ohne Auslandsvorwahl steht am Ende eine Einzelziffer + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_head:N \l_phone_rufnummer_str \, } + \phone_von_vorne_gruppiert_schreiben:x { \str_tail:N \l_phone_rufnummer_str } + } + { + % mit Auslandsvorwahl ergeben sich durchgehend Zweiergruppen + \phone_von_vorne_gruppiert_schreiben:V \l_phone_rufnummer_str + } + } + } + + \bool_if:NTF \l_phone_teilnehmerrufnummer_gueltig_bool + { + % Für gültige Nummern Linktext schreiben: + \str_put_right:NV \l_phone_linktext_str \l_phone_rufnummer_str + } + { + % Für ungültige Nummern Linktext löschen und ungruppierte Nummer schreiben: + \str_clear:N \l_phone_linktext_str + \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_rufnummer_str + } + } + { + \msg_warning:nnnn {phonenumbers} {number too long} {phone} {10} + \tl_put_right:NV \l_phone_ausgabetext_tl \l_phone_bereinigte_nummer_str + } } { - \str_if_eq:xnTF {\str_head:N \l_phone_bereinigte_nummer_str} {0} + \str_if_eq:xnTF { \str_head:N \l_phone_bereinigte_nummer_str } {0} { \bool_set_false:N \l_phone_vorwahl_gefunden_bool - + \int_step_inline:nnnn {6} {-1} {2} { \bool_if:NF \l_phone_vorwahl_gefunden_bool { - \int_compare:nT {\l_phone_nummerlaenge_int >= ##1} + \int_compare:nT { \l_phone_nummerlaenge_int >= ##1 } { - \str_set:Nx \l_tmpa_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {1} {##1}} - + \str_set:Nx \l_tmpa_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {##1} } + \clist_if_in:NVT \c_phone_FR_vorwahlen_clist \l_tmpa_str { \bool_set_true:N \l_phone_vorwahl_gefunden_bool - - \phone_FR_vorwahl_schreiben:V \l_tmpa_str - - \str_set:Nx \l_tmpb_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {##1 + 1} {-1}} - \phone_gruppierte_ziffernfolge_schreiben:V \l_tmpb_str - \str_put_right:NV \l_phone_linktext_str \l_tmpb_str + \str_set:Nx \l_phone_rufnummer_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {##1 + 1} {-1} } + \phone_FR_vorwahl_schreiben:VV \l_tmpa_str \l_phone_rufnummer_str + \phone_von_hinten_gruppiert_schreiben:V \l_phone_rufnummer_str + \str_put_right:NV \l_phone_linktext_str \l_phone_rufnummer_str } } } } - + \bool_if:NF \l_phone_vorwahl_gefunden_bool { \msg_warning:nn {phonenumbers} {invalid area code} @@ -1727,13 +1871,13 @@ \msg_new:nnn {phonenumbers} {UK/national dialling required} { British~subscriber~number~starting~with~0~or~1~requires~an~area~code~\msg_line_context: - } + } % #1: Vorwahl, #2: Folgt eine Rufnummer? -\cs_new:Npn \phone_UK_vorwahl_schreiben:nn #1 #2 +\cs_new_protected:Npn \phone_UK_vorwahl_schreiben:nn #1 #2 { - \bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off}} {\str_if_eq_p:Vn \l_phone_heimatland_str {UK}} + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off} } { \str_if_eq_p:Vn \l_phone_heimatland_str {UK} } { \clist_if_in:NnT \c_phone_UK_sondervorwahlen_clist {#1} { @@ -1743,7 +1887,7 @@ } } - \bool_lazy_and:nnF {\str_if_eq_p:Vn \l_phone_heimatland_str {UK}} {\str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1}} + \bool_lazy_and:nnF { \str_if_eq_p:Vn \l_phone_heimatland_str {UK} } { \str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1} } { \str_case:Vn \l_phone_vorwahldarstellung_str { @@ -1773,7 +1917,7 @@ { \tl_put_right:Nn \l_phone_ausgabetext_tl {(} } - + \tl_if_exist:cTF {c_phone_UK_ortsname_#1_tl} { \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_UK_ortsname_#1_tl} @@ -1781,7 +1925,7 @@ { \phone_gruppierte_vorwahl_schreiben:nN {#1} \c_true_bool } - + \str_if_eq:VnF \l_phone_vorwahltrennung_str {space} { \tl_put_right:Nn \l_phone_ausgabetext_tl {)} @@ -1806,7 +1950,7 @@ \tl_put_right:Nv \l_phone_ausgabetext_tl {c_phone_UK_ortsname_#1_tl} \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl } - + \str_if_eq:VnTF \l_phone_vorwahltrennung_str {space} { \phone_gruppierte_vorwahl_schreiben:nN {#1} \c_true_bool @@ -1846,7 +1990,7 @@ \bool_if:nT {#2} { \str_put_right:Nn \l_phone_linktext_str {+44} - \str_put_right:Nx \l_phone_linktext_str {\str_tail:n {#1}} + \str_put_right:Nx \l_phone_linktext_str { \str_tail:n {#1} } } } @@ -1854,7 +1998,7 @@ % #1: Vorwahl, #2: Teilnehmerrufnummer -\cs_new:Npn \phone_UK_teilnehmerrufnummer_schreiben:Nn #1 #2 +\cs_new_protected:Npn \phone_UK_teilnehmerrufnummer_schreiben:Nn #1 #2 { % Überprüfen der Nummernlänge \str_if_empty:NTF #1 @@ -1863,7 +2007,7 @@ \phone_nummernlaenge_ueberpruefen:nnnn {#2} {4} {8} {landline} % Nummern, die mit 0 oder 1 beginnen, erfordern das Wählen der Vorwahl - \str_case:xnT {\str_head:n {#2}} + \str_case:xnT { \str_head:n {#2} } { {0} { } {1} { } @@ -1877,7 +2021,7 @@ { % Festnetznummer, muss in der Regel 11 Ziffern umfassen % Ausnahme: Bei den Vorwahlen 01XXX und 016977 sind auch 10 Ziffern möglich. - \bool_lazy_or:nnTF {\str_if_eq_p:Vn #1 {016977}} {\int_compare_p:nNn {\str_count:N #1} = {5}} + \bool_lazy_or:nnTF { \str_if_eq_p:Vn #1 {016977} } { \int_compare_p:nNn { \str_count:N #1 } = {5} } { \phone_nummernlaenge_ueberpruefen:onnn {#1#2} {10} {11} {landline} } @@ -1887,7 +2031,7 @@ } { % Mobilfunk-/Sondernummer - \str_if_eq:xnTF {\str_range:Nnn #1 {1} {4}} {0800} + \str_if_eq:xnTF { \str_range:Nnn #1 {1} {4} } {0800} { % 0800er-Nummern haben 10 oder 11 Ziffern; Ausnahme: 0800 1111 \str_if_eq:nnTF {#2} {1111} @@ -1917,12 +2061,12 @@ \bool_if:NTF \l_phone_teilnehmerrufnummer_gueltig_bool { - \int_compare:nNnTF {\str_count:n {#2}} > {6} + \int_compare:nNnTF { \str_count:n {#2} } > {6} { % Nummern mit mehr als 6 Ziffern werden in Vierergruppen gegliedert - \str_put_right:Nx \l_phone_ausgabetext_tl {\str_range:nnn {#2} {1} {-5}} + \str_put_right:Nx \l_phone_ausgabetext_tl { \str_range:nnn {#2} {1} {-5} } \tl_put_right:Nn \l_phone_ausgabetext_tl {\,} - \str_put_right:Nx \l_phone_ausgabetext_tl {\str_range:nnn {#2} {-4} {-1}} + \str_put_right:Nx \l_phone_ausgabetext_tl { \str_range:nnn {#2} {-4} {-1} } } { \str_put_right:Nn \l_phone_ausgabetext_tl {#2} @@ -1938,9 +2082,9 @@ \cs_new_protected:Npn \phone_UK_nummer_schreiben: { - \int_set:Nn \l_phone_nummerlaenge_int {\str_count:N \l_phone_bereinigte_nummer_str} + \int_set:Nn \l_phone_nummerlaenge_int { \str_count:N \l_phone_bereinigte_nummer_str } - \str_if_eq:xnTF {\str_head:N \l_phone_bereinigte_nummer_str} {0} + \str_if_eq:xnTF { \str_head:N \l_phone_bereinigte_nummer_str } {0} { \bool_set_false:N \l_phone_vorwahl_gefunden_bool @@ -1948,22 +2092,22 @@ { \bool_if:NF \l_phone_vorwahl_gefunden_bool { - \int_compare:nT {\l_phone_nummerlaenge_int >= ##1} + \int_compare:nT { \l_phone_nummerlaenge_int >= ##1 } { - \str_set:Nx \l_phone_vorwahl_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {1} {##1}} + \str_set:Nx \l_phone_vorwahl_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {##1} } \clist_if_in:NVT \c_phone_UK_vorwahlen_clist \l_phone_vorwahl_str { \bool_set_true:N \l_phone_vorwahl_gefunden_bool - \phone_UK_vorwahl_schreiben:Vx \l_phone_vorwahl_str {\int_compare_p:nNn {##1} < {\l_phone_nummerlaenge_int}} - + \phone_UK_vorwahl_schreiben:Vx \l_phone_vorwahl_str { \int_compare_p:nNn {##1} < {\l_phone_nummerlaenge_int} } + \int_compare:nNnTF {##1} = {\l_phone_nummerlaenge_int} { \msg_warning:nn {phonenumbers} {missing subscriber number} } { - \phone_UK_teilnehmerrufnummer_schreiben:Nx \l_phone_vorwahl_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {##1 + 1} {-1}} + \phone_UK_teilnehmerrufnummer_schreiben:Nx \l_phone_vorwahl_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {##1 + 1} {-1} } } } } @@ -2025,11 +2169,11 @@ % #1: Vorwahl, #2: Folgt eine Rufnummer? -\cs_new:Npn \phone_US_vorwahl_schreiben:nN #1 #2 +\cs_new_protected:Npn \phone_US_vorwahl_schreiben:nN #1 #2 { - \bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off}} {\str_if_eq_p:Vn \l_phone_heimatland_str {US}} + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off} } { \str_if_eq_p:Vn \l_phone_heimatland_str {US} } { - \bool_lazy_and:nnF {\str_if_eq_p:Vn \l_phone_heimatland_str {US}} {\str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1}} + \bool_lazy_and:nnF { \str_if_eq_p:Vn \l_phone_heimatland_str {US} } { \str_if_eq_p:Vn \l_phone_heimatvorwahl_str {#1} } { \bool_if:NTF \l_phone_US_ferngespraechspraefix_bool { @@ -2145,7 +2289,7 @@ \tl_use:c {c_phone_US_ortsname_#1_tl} \c_space_tl } - + \bool_if:NTF #2 { \str_case:VnF \l_phone_vorwahltrennung_str @@ -2202,9 +2346,9 @@ % #1: Ortsvorwahl, #2: Vermittlungsstellennummer -\cs_new:Npn \phone_US_vermittlungsstellennummer_schreiben:nn #1 #2 +\cs_new_protected:Npn \phone_US_vermittlungsstellennummer_schreiben:nn #1 #2 { - \str_case:xnTF {\str_head:n {#2}} + \str_case:xnTF { \str_head:n {#2} } { {0} { } {1} { } @@ -2228,7 +2372,7 @@ \bool_if:NTF \l_tmpa_bool { - \str_if_eq:xnT {\str_range:nnn {#2} {2} {3}} {11} + \str_if_eq:xnT { \str_range:nnn {#2} {2} {3} } {11} { \msg_warning:nnn {phonenumbers} {US/invalid central office code} {#2} } @@ -2243,7 +2387,7 @@ \tl_put_right:Nn \l_phone_ausgabetext_tl {#2} - \bool_lazy_or:nnTF {\str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off}} {\str_if_eq_p:Vn \l_phone_heimatland_str {US}} + \bool_lazy_or:nnTF { \str_if_eq_p:Vn \l_phone_auslandsvorwahltyp_str {off} } { \str_if_eq_p:Vn \l_phone_heimatland_str {US} } { \tl_put_right:NV \l_phone_ausgabetext_tl \c_phone_bindestrich_tl } @@ -2267,9 +2411,9 @@ \cs_generate_variant:Nn \phone_US_vermittlungsstellennummer_schreiben:nn {Vx} -\cs_new:Npn \phone_US_nummer_schreiben: +\cs_new_protected:Npn \phone_US_nummer_schreiben: { - \int_case:nnF {\str_count:N \l_phone_bereinigte_nummer_str} + \int_case:nnF { \str_count:N \l_phone_bereinigte_nummer_str } { {3} { @@ -2285,13 +2429,13 @@ } {7} { - \phone_US_vermittlungsstellennummer_schreiben:Vx \c_empty_tl {\str_range:Nnn \l_phone_bereinigte_nummer_str {1} {3}} + \phone_US_vermittlungsstellennummer_schreiben:Vx \c_empty_tl { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {3} } - \tl_put_right:Nx \l_phone_ausgabetext_tl {\str_range:Nnn \l_phone_bereinigte_nummer_str {4} {7}} + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_range:Nnn \l_phone_bereinigte_nummer_str {4} {7} } } {10} { - \str_set:Nx \l_tmpa_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {1} {3}} + \str_set:Nx \l_tmpa_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {3} } \clist_if_in:NVF \c_phone_US_vorwahlen_clist \l_tmpa_str { @@ -2300,14 +2444,14 @@ \phone_US_vorwahl_schreiben:VN \l_tmpa_str \c_true_bool - \phone_US_vermittlungsstellennummer_schreiben:Vx \l_tmpa_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {4} {6}} + \phone_US_vermittlungsstellennummer_schreiben:Vx \l_tmpa_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {4} {6} } - \tl_put_right:Nx \l_phone_ausgabetext_tl {\str_range:Nnn \l_phone_bereinigte_nummer_str {7} {10}} - \str_put_right:Nx \l_phone_linktext_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {7} {10}} + \tl_put_right:Nx \l_phone_ausgabetext_tl { \str_range:Nnn \l_phone_bereinigte_nummer_str {7} {10} } + \str_put_right:Nx \l_phone_linktext_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {7} {10} } } } { - \int_compare:nNnTF {\str_count:N \l_phone_bereinigte_nummer_str} < {10} + \int_compare:nNnTF { \str_count:N \l_phone_bereinigte_nummer_str } < {10} { \msg_warning:nnnn {phonenumbers} {number too short} {phone} {10} } @@ -2322,9 +2466,9 @@ %%%%%%%%%%%%%%%%%%%% SONSTIGE LÄNDER %%%%%%%%%%%%%%%%%%%% -\cs_new:Npn \phone_SONST_nummer_schreiben: +\cs_new_protected:Npn \phone_SONST_nummer_schreiben: { - \int_set:Nn \l_phone_nummerlaenge_int {\str_count:N \l_phone_bereinigte_nummer_str} + \int_set:Nn \l_phone_nummerlaenge_int { \str_count:N \l_phone_bereinigte_nummer_str } \bool_set_false:N \l_phone_vorwahl_gefunden_bool @@ -2332,10 +2476,10 @@ { \bool_if:NF \l_phone_vorwahl_gefunden_bool { - \int_compare:nT {\l_phone_nummerlaenge_int >= ##1} + \int_compare:nT { \l_phone_nummerlaenge_int >= ##1 } { - \str_set:Nx \l_tmpa_str {\str_range:Nnn \l_phone_bereinigte_nummer_str {1} {##1}} - + \str_set:Nx \l_tmpa_str { \str_range:Nnn \l_phone_bereinigte_nummer_str {1} {##1} } + \clist_if_in:NVT \c_phone_landeskennzahlen_clist \l_tmpa_str { \bool_set_true:N \l_phone_vorwahl_gefunden_bool @@ -2348,7 +2492,7 @@ } { \tl_put_right:NV \l_phone_ausgabetext_tl \c_space_tl - \phone_gruppierte_ziffernfolge_schreiben:x {\str_range:Nnn \l_phone_bereinigte_nummer_str {##1 + 1} {-1}} + \phone_von_hinten_gruppiert_schreiben:x { \str_range:Nnn \l_phone_bereinigte_nummer_str {##1 + 1} {-1} } \str_put_right:Nn \l_phone_linktext_str {+} \str_put_right:NV \l_phone_linktext_str \l_phone_bereinigte_nummer_str -- cgit v1.2.3