summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/phonenumbers/tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/phonenumbers/tex')
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-AT_Ortsnamen.tex26
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-DE_Ortsnamen.tex21
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-DE_Vorwahlen.tex7
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-FR_Ortsnamen.tex24
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-FR_Vorwahlen.tex26
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-UK_Ortsnamen.tex22
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-UK_Vorwahlen.tex14
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-US_Ortsnamen.tex29
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phn-US_Vorwahlen.tex72
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phonenumbers.sty688
10 files changed, 609 insertions, 320 deletions
diff --git a/macros/latex/contrib/phonenumbers/tex/phn-AT_Ortsnamen.tex b/macros/latex/contrib/phonenumbers/tex/phn-AT_Ortsnamen.tex
index e6954c431f..ea6b95577f 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-AT_Ortsnamen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-DE_Ortsnamen.tex b/macros/latex/contrib/phonenumbers/tex/phn-DE_Ortsnamen.tex
index 370693cf8e..fc9b19ab8a 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-DE_Ortsnamen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-DE_Vorwahlen.tex b/macros/latex/contrib/phonenumbers/tex/phn-DE_Vorwahlen.tex
index aba6b8b89a..9f188e30d3 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-DE_Vorwahlen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-FR_Ortsnamen.tex b/macros/latex/contrib/phonenumbers/tex/phn-FR_Ortsnamen.tex
index 5ec797c1bd..eda23d4664 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-FR_Ortsnamen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-FR_Vorwahlen.tex b/macros/latex/contrib/phonenumbers/tex/phn-FR_Vorwahlen.tex
index 94658cbce0..965c0259b0 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-FR_Vorwahlen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-UK_Ortsnamen.tex b/macros/latex/contrib/phonenumbers/tex/phn-UK_Ortsnamen.tex
index ac203278d8..29c8c2d138 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-UK_Ortsnamen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-UK_Vorwahlen.tex b/macros/latex/contrib/phonenumbers/tex/phn-UK_Vorwahlen.tex
index b471389c15..62a5ab2422 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-UK_Vorwahlen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-US_Ortsnamen.tex b/macros/latex/contrib/phonenumbers/tex/phn-US_Ortsnamen.tex
index 11c6978dac..a53bf4dec7 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-US_Ortsnamen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phn-US_Vorwahlen.tex b/macros/latex/contrib/phonenumbers/tex/phn-US_Vorwahlen.tex
index b8989839b5..c79902373d 100644
--- a/macros/latex/contrib/phonenumbers/tex/phn-US_Vorwahlen.tex
+++ b/macros/latex/contrib/phonenumbers/tex/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/macros/latex/contrib/phonenumbers/tex/phonenumbers.sty b/macros/latex/contrib/phonenumbers/tex/phonenumbers.sty
index c91c3254a5..5b060f7b6e 100644
--- a/macros/latex/contrib/phonenumbers/tex/phonenumbers.sty
+++ b/macros/latex/contrib/phonenumbers/tex/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