Skip to content

Commit

Permalink
make font related code cleaner and more efficient
Browse files Browse the repository at this point in the history
  • Loading branch information
Udi-Fogiel committed May 31, 2024
1 parent 243571e commit 4d225fa
Show file tree
Hide file tree
Showing 24 changed files with 57 additions and 132 deletions.
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-nb.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Module polyglossia Info: Language data for nynorsk
(polyglossia) righthyphenmin^^I2
(polyglossia) synonyms^^I on input line ...
Module polyglossia Info: Language nynorsk was not yet loaded; created with id 2 on input line ...
Package polyglossia Info: Skipping automatic font setup for language norwegian
))
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-nb.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ Don't change this file in any respect.
File: gloss-nb.ldf polyglossia: module for nb (Norwegian)
(gloss-norwegian.ldf
File: gloss-norwegian.ldf polyglossia: module for Norwegian
Package polyglossia Info: Skipping automatic font setup for language norwegian
))
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-norsk.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Module polyglossia Info: Language data for nynorsk
(polyglossia) righthyphenmin^^I2
(polyglossia) synonyms^^I on input line ...
Module polyglossia Info: Language nynorsk was not yet loaded; created with id 2 on input line ...
Package polyglossia Info: Skipping automatic font setup for language norwegian
))
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-norsk.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ Don't change this file in any respect.
File: gloss-norsk.ldf polyglossia: module for Norwegian (Bokmal)
(gloss-norwegian.ldf
File: gloss-norwegian.ldf polyglossia: module for Norwegian
Package polyglossia Info: Skipping automatic font setup for language norwegian
))
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-norwegian.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ Module polyglossia Info: Language data for nynorsk
(polyglossia) righthyphenmin^^I2
(polyglossia) synonyms^^I on input line ...
Module polyglossia Info: Language nynorsk was not yet loaded; created with id 2 on input line ...
Package polyglossia Info: Skipping automatic font setup for language norwegian
)
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-norwegian.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ This is a generated file for the l3build validation system.
Don't change this file in any respect.
(gloss-norwegian.ldf
File: gloss-norwegian.ldf polyglossia: module for Norwegian
Package polyglossia Info: Skipping automatic font setup for language norwegian
)
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-nynorsk.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ Module polyglossia Info: Language data for nynorsk
(polyglossia) righthyphenmin^^I2
(polyglossia) synonyms^^I on input line ...
Module polyglossia Info: Language nynorsk was not yet loaded; created with id 2 on input line ...
Package polyglossia Info: Skipping automatic font setup for language norwegian
))
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-nynorsk.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ Don't change this file in any respect.
File: gloss-nynorsk.ldf polyglossia: module for Norwegian (Nynorsk)
(gloss-norwegian.ldf
File: gloss-norwegian.ldf polyglossia: module for Norwegian
Package polyglossia Info: Skipping automatic font setup for language norwegian
))
Package polyglossia Info: Default language is norwegian
> \box...=
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-sanskrit.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ Module polyglossia Info: Language data for sanskrit
(polyglossia) righthyphenmin^^I3
(polyglossia) synonyms^^I on input line ...
Module polyglossia Info: Language sanskrit was not yet loaded; created with id 2 on input line ...
Package polyglossia Info: Skipping automatic font setup for language sanskrit
Lua-only attribute polyglossia_punct = 4
Inserting `polyglossia-punct.process' in `pre_linebreak_filter'.
Inserting `polyglossia-punct.process' in `hpack_filter'.)
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-sanskrit.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ File: gloss-sanskrit.ldf polyglossia: module for Sanskrit
(devanagaridigits.sty
Package: devanagaridigits ....-..-.. v... Formatting of Devanagari digits
)
Package polyglossia Info: Skipping automatic font setup for language sanskrit
\sanskrit@questionexclamation=\XeTeXcharclass1
\sanskrit@punctthin=\XeTeXcharclass2
)
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-serbian.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ Module polyglossia Info: Language data for serbian
(polyglossia) righthyphenmin^^I2
(polyglossia) synonyms^^I on input line ...
Module polyglossia Info: Language serbian was not yet loaded; created with id 2 on input line ...
Package polyglossia Info: Skipping automatic font setup for language serbian
(../luavlna.sty
Package: luavlna ....-..-.. luavlna
(../kvoptions.sty
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-serbian.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ File: gloss-serbian.ldf polyglossia: module for Serbian
(xpg-cyrillicnumbers.sty
Package: xpg-cyrillicnumbers ....-..-.. v... Formatting of Cyrillic alphabetic numbers
)
Package polyglossia Info: Skipping automatic font setup for language serbian
\serbian@hyphen=\XeTeXcharclass1
\serbian@nonsyllabicpreposition=\XeTeXcharclass2
)
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-serbianc.luatex.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ Module polyglossia Info: Language data for serbian
(polyglossia) righthyphenmin^^I2
(polyglossia) synonyms^^I on input line ...
Module polyglossia Info: Language serbian was not yet loaded; created with id 2 on input line ...
Package polyglossia Info: Skipping automatic font setup for language serbian
(../luavlna.sty
Package: luavlna ....-..-.. luavlna
(../kvoptions.sty
Expand Down
1 change: 0 additions & 1 deletion testfiles/autogen/test-gloss-serbianc.tlg
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ File: gloss-serbian.ldf polyglossia: module for Serbian
(xpg-cyrillicnumbers.sty
Package: xpg-cyrillicnumbers ....-..-.. v... Formatting of Cyrillic alphabetic numbers
)
Package polyglossia Info: Skipping automatic font setup for language serbian
\serbian@hyphen=\XeTeXcharclass1
\serbian@nonsyllabicpreposition=\XeTeXcharclass2
))
Expand Down
2 changes: 1 addition & 1 deletion testfiles/font-patch.luatex.tlg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
This is a generated file for the l3build validation system.
Don't change this file in any respect.
> \rmfamily=\protected macro:
->\cs_if_exist_use:cF {latexfont}{\cs_if_exist_use:cF {\prop_item:Nn \l_xpg_langsetup_prop {latex/lc-bcp47-script}font}{\use_ii:nn {\prop_item:Nn \l_xpg_langsetup_prop {latex/lcscript}font}{\use:c {rmfamilylatin}\use_none:n {\__xpg_add_font_feature_script:nee {rm}{\prop_item:Nn \l_xpg_langsetup_prop {latex/scripttag}}{\prop_item:Nn \l_xpg_langsetup_prop {latex/script}}}}}\__xpg_add_font_feature_language:ee {\prop_item:Nn \l_xpg_langsetup_prop {latex/langtag}}{\prop_item:Nn \l_xpg_langsetup_prop {latex/language}}}\tl_set:Nn \familytype {rm}.
->\cs_if_exist_use:cF {\languagename font}{\cs_if_exist_use:cF {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lc-bcp47-script}font}{\str_if_eq:eeTF {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lcscript}}{latin}{\use_ii:nn }{\cs_if_exist_use:cF }{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lcscript}font}{\use:c {rmfamilylatin}\str_if_eq:eeF {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lcscript}}{latin}{\__xpg_add_font_feature_script:nee {rm}{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /scripttag}}{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /script}}}}}\__xpg_add_font_feature_language:ee {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /langtag}}{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /language}}}\tl_set:Nn \familytype {rm}.
<argument> \rmfamily
l. ...\ShowCommand\rmfamily
2 changes: 1 addition & 1 deletion testfiles/font-patch.tlg
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
This is a generated file for the l3build validation system.
Don't change this file in any respect.
> \rmfamily=\protected macro:
->\cs_if_exist_use:cF {latexfont}{\cs_if_exist_use:cF {\prop_item:Nn \l_xpg_langsetup_prop {latex/lc-bcp47-script}font}{\use_ii:nn {\prop_item:Nn \l_xpg_langsetup_prop {latex/lcscript}font}{\use:c {rmfamilylatin}\use_none:n {\__xpg_add_font_feature_script:nee {rm}{\prop_item:Nn \l_xpg_langsetup_prop {latex/scripttag}}{\prop_item:Nn \l_xpg_langsetup_prop {latex/script}}}}}\__xpg_add_font_feature_language:ee {\prop_item:Nn \l_xpg_langsetup_prop {latex/langtag}}{\prop_item:Nn \l_xpg_langsetup_prop {latex/language}}}\tl_set:Nn \familytype {rm}.
->\cs_if_exist_use:cF {\languagename font}{\cs_if_exist_use:cF {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lc-bcp47-script}font}{\str_if_eq:eeTF {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lcscript}}{latin}{\use_ii:nn }{\cs_if_exist_use:cF }{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lcscript}font}{\use:c {rmfamilylatin}\str_if_eq:eeF {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /lcscript}}{latin}{\__xpg_add_font_feature_script:nee {rm}{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /scripttag}}{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /script}}}}}\__xpg_add_font_feature_language:ee {\prop_item:Ne \l_xpg_langsetup_prop {\languagename /langtag}}{\prop_item:Ne \l_xpg_langsetup_prop {\languagename /language}}}\tl_set:Nn \familytype {rm}.
<argument> \rmfamily
l. ...\ShowCommand\rmfamily
2 changes: 0 additions & 2 deletions tex/gloss-gaelic.ldf
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,11 @@
{%
\gdef\gaelic@variant{irish}%
\SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
\SetupLatinPolyglossiaFont{gaelic}%
},
variant / scottish.code =
{%
\gdef\gaelic@variant{scottish}%
\SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
\SetupLatinPolyglossiaFont{gaelic}%
},
variant.default:n = irish,
variant/unknown.code = \xpg@warning{Unknown gaelic variant `#1'}
Expand Down
4 changes: 0 additions & 4 deletions tex/gloss-kurdish.ldf
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@
\SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
\def\kurdish@script{latin}
\SetupLatinPolyglossiaFont{kurdish}%
\else
\if@kurdish@arabic% arabic explicitly set
\if@kurdish@kurmanji
Expand All @@ -70,16 +69,13 @@
\else
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
\SetupNonLatinPolyglossiaFont{kurdish}%
\else% sorani=arabic, kurmanji=latin
\if@kurdish@kurmanji
\@western@numeralstrue%
\SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
\SetupLatinPolyglossiaFont{kurdish}%
\def\kurdish@script{latin}
\else
\SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\SetupNonLatinPolyglossiaFont{kurdish}%
\fi
\fi
\fi
Expand Down
2 changes: 0 additions & 2 deletions tex/gloss-malay.ldf
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@
\def\malay@variant{indonesian}%
\malay@melayufalse
\SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
\SetupLatinPolyglossiaFont{malay}%
% Check if \l@indonesian is defined. If not, try to set it to some variety
% (specific order as in the csv list), or null language if everything fails
\TryPatternWithFallback{indonesian}{indon,bahasai,bahasam,malay,melayu,bahasa}%
Expand All @@ -49,7 +48,6 @@
\def\malay@variant{malay}%
\malay@melayutrue
\SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
\SetupLatinPolyglossiaFont{malay}%
% Check if \l@malay is defined. If not, try to set it to some variety
% (specific order as in the csv list), or null language if everything fails
\TryPatternWithFallback{malay}{melayu,bahasam,bahasai,indonesian,indon,bahasa}%
Expand Down
2 changes: 0 additions & 2 deletions tex/gloss-norwegian.ldf
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,11 @@
{%
\def\norwegian@variant{nynorsk}%
\SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
\SetupLatinPolyglossiaFont{norwegian}%
},
variant / bokmal.code =
{%
\def\norwegian@variant{norsk}%
\SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
\SetupLatinPolyglossiaFont{norwegian}%
},
variant.default:n = nynorsk,
variant/unknown.code = \xpg@warning{Unknown norwegian variant `#1'}
Expand Down
21 changes: 7 additions & 14 deletions tex/gloss-sanskrit.ldf
Original file line number Diff line number Diff line change
Expand Up @@ -28,26 +28,19 @@
\setlanguagealias*[script=latin]{sanskrit}{sa-Latn}

\def\fontsetup@sanskrit@devanagari{%
\SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}
\SetupNonLatinPolyglossiaFont{sanskrit}}
\SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}}
\def\fontsetup@sanskrit@gujarati{%
\SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}
\SetupNonLatinPolyglossiaFont{sanskrit}}
\SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}}
\def\fontsetup@sanskrit@malayalam{%
\SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}
\SetupNonLatinPolyglossiaFont{sanskrit}}
\SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}}
\def\fontsetup@sanskrit@bengali{%
\SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}
\SetupNonLatinPolyglossiaFont{sanskrit}}
\SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}}
\def\fontsetup@sanskrit@kannada{%
\SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}
\SetupNonLatinPolyglossiaFont{sanskrit}}
\SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}}
\def\fontsetup@sanskrit@telugu{%
\SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}
\SetupNonLatinPolyglossiaFont{sanskrit}}
\SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}}
\def\fontsetup@sanskrit@latin{%
\SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
\SetupLatinPolyglossiaFont{sanskrit}}
\SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}}


\newif\ifsanskrit@devanagari@numerals
Expand Down
2 changes: 0 additions & 2 deletions tex/gloss-serbian.ldf
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,11 @@
script / cyrillic.code =
{%
\@serbian@cyrtrue
\SetupNonLatinPolyglossiaFont{serbian}%
\serbian@set@languagekeys
},
script / latin.code =
{%
\@serbian@cyrfalse
\SetupLatinPolyglossiaFont{serbian}%
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
\serbian@set@languagekeys
Expand Down
2 changes: 0 additions & 2 deletions tex/gloss-sorbian.ldf
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
{%
\def\sorbian@variant{usorbian}%
\SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
\SetupLatinPolyglossiaFont{sorbian}%
% Check if \l@usorbian is defined. If not, try to set it to some variety
% (specific order as in the csv list), or null language if everything fails
\TryPatternWithFallback{usorbian}{uppersorbian}%
Expand All @@ -45,7 +44,6 @@
{%
\def\sorbian@variant{lsorbian}%
\SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
\SetupLatinPolyglossiaFont{sorbian}%
% Check if \l@lsorbian is defined. If not, try to set it to some variety
% (specific order as in the csv list), or null language if everything fails
\TryPatternWithFallback{lsorbian}{lowersorbian,Lsorbian,usorbian,uppersorbian}%
Expand Down
Loading

0 comments on commit 4d225fa

Please sign in to comment.