summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/phonenumbers/tex/phonenumbers.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/phonenumbers/tex/phonenumbers.sty')
-rw-r--r--macros/latex/contrib/phonenumbers/tex/phonenumbers.sty688
1 files changed, 416 insertions, 272 deletions
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