summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/fontspec
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-15 21:42:57 +0000
committerKarl Berry <karl@freefriends.org>2022-01-15 21:42:57 +0000
commit9320d274483582143054c232873dbe4784fe98d7 (patch)
treefaf298b3dbfb2917264f5330a159c8544baf4544 /Master/texmf-dist/tex/latex/fontspec
parenta07c0952502421e98b75cb81f9871f9b825b2ea3 (diff)
fontspec (15jan22)
git-svn-id: svn://tug.org/texlive/trunk@61617 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/fontspec')
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty232
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty232
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec.lua4
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec.sty4
4 files changed, 182 insertions, 290 deletions
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
index a934edb4a61..8534668126d 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
@@ -40,7 +40,7 @@
\RequirePackage{xparse}
\ProvidesExplPackage{fontspec-luatex}%
- {2020/02/21}{2.7i}{Font selection for XeLaTeX and LuaLaTeX}
+ {2022/01/15}{2.8a}{Font selection for XeLaTeX and LuaLaTeX}
%%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <wspr.io/fontspec>
%%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC <wspr.io/fontspec>
@@ -110,6 +110,8 @@
\clist_new:N \l__fontspec_fontfeat_bfit_clist
\clist_new:N \l__fontspec_fontfeat_sl_clist
\clist_new:N \l__fontspec_fontfeat_bfsl_clist
+\clist_new:N \l__fontspec_fontfeat_sw_clist
+\clist_new:N \l__fontspec_fontfeat_bfsw_clist
\clist_new:N \l__fontspec_fontfeat_sc_clist
\prop_new:N \g__fontspec_fontopts_prop
\prop_new:N \l__fontspec_nfss_prop
@@ -177,6 +179,8 @@
\tl_new:N \l__fontspec_fontname_bfit_tl
\tl_new:N \l__fontspec_fontname_sl_tl
\tl_new:N \l__fontspec_fontname_bfsl_tl
+\tl_new:N \l__fontspec_fontname_sw_tl
+\tl_new:N \l__fontspec_fontname_bfsw_tl
\tl_new:N \l__fontspec_fontname_sc_tl
\tl_new:N \l__fontspec_script_tl
\tl_new:N \l__fontspec_script_name_tl
@@ -218,22 +222,22 @@
\cs_new:Npn \__fontspec_trace:n { \msg_trace:nn {fontspec} }
\cs_generate_variant:Nn \msg_new:nnn {nnx}
\cs_generate_variant:Nn \msg_new:nnnn {nnxx}
+\cs_new:Nn \__fontspec_msg_new:nn
+ { \msg_new:nnx {fontspec} {#1} { \tl_trim_spaces:n {#2} } }
\cs_new:Nn \__fontspec_msg_new:nnn
- { \msg_new:nnx {#1} {#2} { \tl_trim_spaces:n {#3} } }
-\cs_new:Nn \__fontspec_msg_new:nnnn
- { \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } }
+ { \msg_new:nnxx {fontspec} {#1} { \tl_trim_spaces:n {#2} } { \tl_trim_spaces:n {#3} } }
\char_set_catcode_space:n {32}
-\__fontspec_msg_new:nnn {fontspec} {only-inside-encdef}
+\__fontspec_msg_new:nn {only-inside-encdef}
{
- \exp_not:N#1can only be used in the second argument
+ \exp_not:N #1 can only be used in the second argument
to \string\DeclareUnicodeEncoding.
}
-\__fontspec_msg_new:nnn {fontspec} {no-size-info}
+\__fontspec_msg_new:nn {no-size-info}
{
Size information must be supplied.\\
For example, SizeFeatures={Size={8-12},...}.
}
-\__fontspec_msg_new:nnnn {fontspec} {font-not-found}
+\__fontspec_msg_new:nnn {font-not-found}
{
The font "#1" cannot be found.
}
@@ -242,18 +246,18 @@
Check the spelling, where the font is installed etc. etc.\\\\
When in doubt, ask someone for help!
}
-\__fontspec_msg_new:nnnn {fontspec} {rename-feature-not-exist}
+\__fontspec_msg_new:nnn {rename-feature-not-exist}
{
The feature #1 doesn't appear to be defined.
}
{
It looks like you're trying to rename a feature that doesn't exist.
}
-\__fontspec_msg_new:nnn {fontspec} {no-glyph}
+\__fontspec_msg_new:nn {no-glyph}
{
'#1' does not contain glyph #2.
}
-\__fontspec_msg_new:nnnn {fontspec} {euler-too-late}
+\__fontspec_msg_new:nnn {euler-too-late}
{
The euler package must be loaded BEFORE fontspec.
}
@@ -263,7 +267,7 @@
loaded after euler. Type <return> to proceed
with incorrect \string\mathit, \string\mathbf, etc.
}
-\__fontspec_msg_new:nnnn {fontspec} {no-xcolor}
+\__fontspec_msg_new:nnn {no-xcolor}
{
Cannot load named colours without the xcolor package.
}
@@ -271,7 +275,7 @@
Sorry, I can't do anything to help. Instead of loading
the color package, use xcolor instead.
}
-\__fontspec_msg_new:nnnn {fontspec} {unknown-color-model}
+\__fontspec_msg_new:nnn {unknown-color-model}
{
Error loading colour `#1'; unknown colour model.
}
@@ -279,7 +283,7 @@
Sorry, I can't do anything to help. Please report this error
to my developer with a minimal example that causes the problem.
}
-\__fontspec_msg_new:nnnn {fontspec} {not-in-addfontfeatures}
+\__fontspec_msg_new:nnn {not-in-addfontfeatures}
{
The "#1" font feature cannot be used in \string\addfontfeatures.
}
@@ -289,17 +293,17 @@
confusion. You'll need to define multiple font families to achieve
what you want.
}
-\__fontspec_msg_new:nnn {fontspec} {tu-clash}
+\__fontspec_msg_new:nn {tu-clash}
{
I have found the tuenc.def encoding definition file but the TU encoding is not
defined by the LaTeX2e kernel; attempting to correct but you really should update
to the latest version of LaTeX2e.
}
-\__fontspec_msg_new:nnn {fontspec} {tu-missing}
+\__fontspec_msg_new:nn {tu-missing}
{
The TU encoding seems to be missing; please update to the latest version of LaTeX2e.
}
-\__fontspec_msg_new:nnn {fontspec} {addfontfeatures-ignored}
+\__fontspec_msg_new:nn {addfontfeatures-ignored}
{
\string\addfontfeature (s) ignored \msg_line_context:;
it cannot be used with a font that wasn't selected by a fontspec command.\\
@@ -309,81 +313,81 @@
{ The requested feature is "#1". }
{ The requested features are "#1". }
}
-\__fontspec_msg_new:nnn {fontspec} {feature-option-overwrite}
+\__fontspec_msg_new:nn {feature-option-overwrite}
{
Option '#2' of font feature '#1' overwritten.
}
-\__fontspec_msg_new:nnn {fontspec} {ot-tag-too-long}
+\__fontspec_msg_new:nn {ot-tag-too-long}
{
OpenType tag '#1' is too long; script, language, and feature tags must be four characters or fewer.
}
-\__fontspec_msg_new:nnn {fontspec} {aat-feature-not-exist}
+\__fontspec_msg_new:nn {aat-feature-not-exist}
{
'\l_keys_key_tl=\l_keys_value_tl' feature not supported
for AAT font '\l_fontspec_fontname_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {aat-feature-not-exist-in-font}
+\__fontspec_msg_new:nn {aat-feature-not-exist-in-font}
{
AAT feature '\l_keys_key_tl=\l_keys_value_tl' (#1) not available
in font '\l_fontspec_fontname_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {icu-feature-not-exist}
+\__fontspec_msg_new:nn {icu-feature-not-exist}
{
'\l_keys_key_tl=\l_keys_value_tl' feature not supported
for OpenType font '\l_fontspec_fontname_tl'
}
-\__fontspec_msg_new:nnn {fontspec} {icu-feature-not-exist-in-font}
+\__fontspec_msg_new:nn {icu-feature-not-exist-in-font}
{
OpenType feature '\l_keys_key_tl=\l_keys_value_tl' (#1) not available
for font '\l_fontspec_fontname_tl'
with script '\l__fontspec_script_name_tl' and language '\l__fontspec_lang_name_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {no-opticals}
+\__fontspec_msg_new:nn {no-opticals}
{
'#1' doesn't appear to have an Optical Size axis.
}
-\__fontspec_msg_new:nnn {fontspec} {language-not-exist}
+\__fontspec_msg_new:nn {language-not-exist}
{
Language '#1' not available
for font '\l_fontspec_fontname_tl'
with script '\l__fontspec_script_name_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {only-xetex-feature}
+\__fontspec_msg_new:nn {only-xetex-feature}
{
Ignored XeTeX-only feature: '#1'.
}
-\__fontspec_msg_new:nnn {fontspec} {only-luatex-feature}
+\__fontspec_msg_new:nn {only-luatex-feature}
{
Ignored LuaTeX-only feature: '#1'.
}
-\__fontspec_msg_new:nnn {fontspec} {unknown-renderer}
+\__fontspec_msg_new:nn {unknown-renderer}
{
Renderer '#1' unknown. Assuming Harfbuzz with 'shaper=#1'.
Please raise a fontspec issue to add this shaper to the interface.
}
-\__fontspec_msg_new:nnn {fontspec} {no-mapping}
+\__fontspec_msg_new:nn {no-mapping}
{
Input mapping not supported in LuaTeX.
}
-\__fontspec_msg_new:nnn {fontspec} {no-mapping-ligtex}
+\__fontspec_msg_new:nn {no-mapping-ligtex}
{
Input mapping not supported in LuaTeX.\\
Use "Ligatures=TeX" instead of "Mapping=tex-text".
}
-\__fontspec_msg_new:nnn {fontspec} {cm-default-obsolete}
+\__fontspec_msg_new:nn {cm-default-obsolete}
{
The "cm-default" package option is obsolete.
}
-\__fontspec_msg_new:nnn {fontspec} {font-index-needs-ttc}
+\__fontspec_msg_new:nn {font-index-needs-ttc}
{
The "FontIndex" feature is only supported by TTC (TrueType Collection) fonts.\\
Feature ignored.
}
-\__fontspec_msg_new:nnn {fontspec} {feat-cannot-remove}
+\__fontspec_msg_new:nn {feat-cannot-remove}
{
The "#1" feature cannot be deactivated. Request ignored.
}
-\__fontspec_msg_new:nnn {fontspec} {defining-font}
+\__fontspec_msg_new:nn {defining-font}
{
Font family '\g__fontspec_nfss_family_tl' created for font '#2'
with options [\l__fontspec_all_features_clist].\\
@@ -391,33 +395,33 @@
This font family consists of the following NFSS series/shapes:\\
\g__fontspec_defined_shapes_tl
}
-\__fontspec_msg_new:nnn {fontspec} {no-font-shape}
+\__fontspec_msg_new:nn {no-font-shape}
{
Could not resolve font "#1" (it probably doesn't exist).
}
-\__fontspec_msg_new:nnn {fontspec} {set-scale}
+\__fontspec_msg_new:nn {set-scale}
{
\l_fontspec_fontname_tl\space scale = \l__fontspec_scale_tl.
}
-\__fontspec_msg_new:nnn {fontspec} {setup-math}
+\__fontspec_msg_new:nn {setup-math}
{
Adjusting the maths setup (use [no-math] to avoid this).
}
-\__fontspec_msg_new:nnn {fontspec} {no-script}
+\__fontspec_msg_new:nn {no-script}
{
Font "#1" does not contain requested Script "#2".
}
-\__fontspec_msg_new:nnn {fontspec} {opa-twice}
+\__fontspec_msg_new:nn {opa-twice}
{
Opacity set twice, in both Colour and Opacity.\\
Using specification "Opacity=#1".
}
-\__fontspec_msg_new:nnn {fontspec} {opa-twice-col}
+\__fontspec_msg_new:nn {opa-twice-col}
{
Opacity set twice, in both Opacity and Colour.\\
Using an opacity specification in hex of "#1/FF".
}
-\__fontspec_msg_new:nnn {fontspec} {bad-colour}
+\__fontspec_msg_new:nn {bad-colour}
{
Bad colour declaration "#1".
Colour must be one of:\\
@@ -1242,7 +1246,7 @@
\keys_set_known:nn {fontspec-preparse-cfg} {#1}
\__fontspec_init_ttc:n {#2}
- \__fontspec_load_external_fontoptions:Nn \l_fontspec_fontname_tl {#2}
+ \__fontspec_load_external_fontoptions:N \l_fontspec_fontname_tl
\__fontspec_extract_all_features:n {#1}
\tl_set:Nx \l__fontspec_fontid_tl { \tl_to_str:N \l_fontspec_fontname_tl-:-\tl_to_str:N \l__fontspec_all_features_clist }
@@ -1299,11 +1303,10 @@
\__fontspec_sanitise_fontname:Nn \l__fontspec_fontname_bfit_tl {#1}
}
}
-\cs_new:Nn \__fontspec_load_external_fontoptions:Nn
+\cs_new:Nn \__fontspec_load_external_fontoptions:N
{
\bool_if:NT \l__fontspec_fontcfg_bool
{
- \__fontspec_sanitise_fontname:Nn #1 {#2}
\tl_set:Nx \l__fontspec_ext_filename_tl {#1.fontspec}
\tl_remove_all:Nn \l__fontspec_ext_filename_tl {~}
\prop_if_in:NVF \g__fontspec_fontopts_prop #1
@@ -1502,8 +1505,10 @@
\__fontspec_add_nfssfont:nnnn \bfdefault \shapedefault \l__fontspec_fontname_bf_tl \l__fontspec_fontfeat_bf_clist
\__fontspec_add_nfssfont:nnnn \mddefault \itdefault \l__fontspec_fontname_it_tl \l__fontspec_fontfeat_it_clist
\__fontspec_add_nfssfont:nnnn \mddefault \sldefault \l__fontspec_fontname_sl_tl \l__fontspec_fontfeat_sl_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \swdefault \l__fontspec_fontname_sw_tl \l__fontspec_fontfeat_sw_clist
\__fontspec_add_nfssfont:nnnn \bfdefault \itdefault \l__fontspec_fontname_bfit_tl \l__fontspec_fontfeat_bfit_clist
\__fontspec_add_nfssfont:nnnn \bfdefault \sldefault \l__fontspec_fontname_bfsl_tl \l__fontspec_fontfeat_bfsl_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \swdefault \l__fontspec_fontname_bfsw_tl \l__fontspec_fontfeat_bfsw_clist
\prop_map_inline:Nn \l__fontspec_nfssfont_prop { \__fontspec_set_faces_aux:nnnnn ##2 }
}
\cs_new:Nn \__fontspec_set_faces_aux:nnnnn
@@ -1569,7 +1574,8 @@
}
\cs_new:Nn \__fontspec_load_fontname:Nn
{
- \__fontspec_load_external_fontoptions:Nn #1 {#2}
+ \__fontspec_sanitise_fontname:Nn #1 {#2}
+ \__fontspec_load_external_fontoptions:N #1
\prop_get:NVNF \g__fontspec_fontopts_prop #1 \l__fontspec_fontopts_clist
{ \clist_clear:N \l__fontspec_fontopts_clist }
\keys_set_groups:nnV {fontspec/fontname} {getfontname} \l__fontspec_fontopts_clist
@@ -1596,7 +1602,7 @@
\__fontspec_declare_shapes_normal:nn {#1} {#2}
\__fontspec_declare_shapes_smcaps:nn {#1} {#2}
\__fontspec_declare_shape_slanted:nn {#1} {#2}
- \__fontspec_declare_shapes_bx:nn {#1} {#2}
+ \__fontspec_declare_shapes_bx:nn {#1} {#2}
\__fontspec_declare_shape_loginfo:nn {#1} {#2}
}
\cs_generate_variant:Nn \__fontspec_declare_shape:nnnn {nnxx}
@@ -1671,7 +1677,7 @@
{
\tl_if_exist:cTF { \__fontspec_shape_merge:nn {#1} {\scdefault} }
{ \tl_use:c { \__fontspec_shape_merge:nn {#1} {\scdefault} } }
- { \scdefault }
+ { \scdefault#1 }
}
\cs_new:Nn \__fontspec_DeclareFontShape:nnnnnn
{
@@ -1743,8 +1749,10 @@
{\bfdefault/\shapedefault} {'bold'~}
{\mddefault/\itdefault} {'italic'~}
{\mddefault/\sldefault} {'slanted'~}
+ {\mddefault/\swdefault} {'swash'~}
{\bfdefault/\itdefault} {'bold~ italic'~}
{\bfdefault/\sldefault} {'bold~ slanted'~}
+ {\bfdefault/\swdefault} {'bold~ swash'~}
} (#1/#2)~
with~ NFSS~ spec.:~
\l__fontspec_nfss_tl
@@ -2223,6 +2231,10 @@
{
\fontspec_complete_fontname:Nn \l__fontspec_fontname_sl_tl {#1}
}
+\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {SwashFont}
+ {
+ \fontspec_complete_fontname:Nn \l__fontspec_fontname_sw_tl {#1}
+ }
\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldFont}
{
\tl_if_empty:nTF {#1}
@@ -2257,6 +2269,10 @@
{
\fontspec_complete_fontname:Nn \l__fontspec_fontname_bfsl_tl {#1}
}
+\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldSwashFont}
+ {
+ \fontspec_complete_fontname:Nn \l__fontspec_fontname_bfsw_tl {#1}
+ }
\__fontspec_keys_define_code:nnn {fontspec} {SmallCapsFont}
{
\tl_if_empty:nTF {#1}
@@ -2275,7 +2291,6 @@
\__fontspec_keys_define_code:nnn {fontspec-preparse} {BoldFeatures}
{
\clist_put_right:Nn \l__fontspec_fontfeat_bf_clist {#1}
-
}
\__fontspec_keys_define_code:nnn {fontspec-preparse} {ItalicFeatures}
{
@@ -2293,6 +2308,14 @@
{
\clist_put_right:Nn \l__fontspec_fontfeat_bfsl_clist {#1}
}
+\__fontspec_keys_define_code:nnn {fontspec-preparse} {SwashFeatures}
+ {
+ \clist_put_right:Nn \l__fontspec_fontfeat_sw_clist {#1}
+ }
+\__fontspec_keys_define_code:nnn {fontspec-preparse} {BoldSwashFeatures}
+ {
+ \clist_put_right:Nn \l__fontspec_fontfeat_bfsw_clist {#1}
+ }
\__fontspec_keys_define_code:nnn {fontspec} {SmallCapsFeatures}
{
\bool_if:NF \l__fontspec_firsttime_bool
@@ -3034,18 +3057,22 @@
\newfontscript{Chakma}{cakm}
\newfontscript{Cham}{cham}
\newfontscript{Cherokee}{cher}
+\newfontscript{Chorasmian}{chrs}
\newfontscript{CJK~Ideographic}{hani}
\newfontscript{Coptic}{copt}
\newfontscript{Cypriot~Syllabary}{cprt}
+\newfontscript{Cypro~Minoan}{cpmn}
\newfontscript{Cyrillic}{cyrl}
\newfontscript{Default}{DFLT}
\newfontscript{CustomDefault}{latn,DFLT}
\newfontscript{Deseret}{dsrt}
\newfontscript{Devanagari}{dev2,deva}
+\newfontscript{Dives~Akuru}{diak}
\newfontscript{Dogra}{dogr}
\newfontscript{Duployan}{dupl}
\newfontscript{Egyptian~Hieroglyphs}{egyp}
\newfontscript{Elbasan}{elba}
+\newfontscript{Elymaic}{elym}
\newfontscript{Ethiopic}{ethi}
\newfontscript{Georgian}{geor}
\newfontscript{Glagolitic}{glag}
@@ -3070,6 +3097,7 @@
\newfontscript{Kannada}{knd2,knda}
\newfontscript{Kayah~Li}{kali}
\newfontscript{Kharosthi}{khar}
+\newfontscript{Khitan~Small~Script}{kits}
\newfontscript{Khmer}{khmr}
\newfontscript{Khojki}{khoj}
\newfontscript{Khudawadi}{sind}
@@ -3104,8 +3132,10 @@
\newfontscript{Myanmar}{mym2,mymr}
\newfontscript{N'Ko}{nko~}
\newfontscript{Nabataean}{nbat}
+\newfontscript{Nandinagari}{nand}
\newfontscript{Newa}{newa}
\newfontscript{Nushu}{nshu}
+\newfontscript{Nyiakeng~Puachue~Hmong}{hmnp}
\newfontscript{Odia}{ory2,orya}
\newfontscript{Ogham}{ogam}
\newfontscript{Ol~Chiki}{olck}
@@ -3117,6 +3147,7 @@
\newfontscript{Old~Sogdian}{sogo}
\newfontscript{Old~South~Arabian}{sarb}
\newfontscript{Old~Turkic}{orkh}
+\newfontscript{Old~Uyghur}{ougr}
\newfontscript{Osage}{osge}
\newfontscript{Osmanya}{osma}
\newfontscript{Pahawh~Hmong}{hmng}
@@ -3148,6 +3179,7 @@
\newfontscript{Tai~Viet}{tavt}
\newfontscript{Takri}{takr}
\newfontscript{Tamil}{tml2,taml}
+\newfontscript{Tangsa}{tnsa}
\newfontscript{Tangut}{tang}
\newfontscript{Telugu}{tel2,telu}
\newfontscript{Thaana}{thaa}
@@ -3155,9 +3187,13 @@
\newfontscript{Tibetan}{tibt}
\newfontscript{Tifinagh}{tfng}
\newfontscript{Tirhuta}{tirh}
+\newfontscript{Toto}{toto}
\newfontscript{Ugaritic~Cuneiform}{ugar}
\newfontscript{Vai}{vai~}
+\newfontscript{Vithkuqi}{vith}
+\newfontscript{Wancho}{wcho}
\newfontscript{Warang~Citi}{wara}
+\newfontscript{Yezidi}{yezi}
\newfontscript{Yi}{yi~~}
\newfontscript{Zanabazar~Square}{zanb}
\newfontscript{CJK}{hani}
@@ -3788,13 +3824,17 @@
\providecommand*\scitdefault{\scdefault\itdefault}
\providecommand*\scsldefault{\scdefault\sldefault}
+\providecommand*\scswdefault{\scdefault\swdefault}
\cs_new:Nn \__fontspec_shape_merge:nn { c__fontspec_shape_#1_#2_tl }
\cs_new:Nn \__fontspec_merge_default_shapes:
{
+ \tl_const:cn { \__fontspec_shape_merge:nn \shapedefault\scdefault } {\scdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \itdefault \scdefault } {\scitdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \sldefault \scdefault } {\scsldefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \swdefault \scdefault } {\scswdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \itdefault } {\scitdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \sldefault } {\scsldefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \scdefault \swdefault } {\scswdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scsldefault \itdefault } {\scitdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scitdefault \sldefault } {\scsldefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scitdefault \shapedefault } {\scdefault}
@@ -3814,100 +3854,7 @@
}
\prg_return_true: \prg_return_false:
}
-\cs_if_exist:NTF \DeclareFontSeriesChangeRule
-{
- \cs_set_eq:NN \emfontdeclare \DeclareEmphSequence
-}
-{
-\DeclareRobustCommand{\sishape}
- {
- \not@math@alphabet\sishape\relax
- \fontshape{\scitdefault}\selectfont
- }
-\DeclareTextFontCommand{\textsi}{\sishape}
-\cs_new:Nn \__fontspec_merge_shape:n
- {
- \__fontspec_if_merge_shape:nTF {#1}
- { \fontshape { \tl_use:c { \__fontspec_shape_merge:nn {\f@shape} {#1} } } \selectfont }
- { \fontshape {#1} \selectfont }
- }
-\DeclareRobustCommand \itshape
- {
- \not@math@alphabet\itshape\mathit
- \__fontspec_merge_shape:n\itdefault
- }
-\DeclareRobustCommand \slshape
- {
- \not@math@alphabet\slshape\relax
- \__fontspec_merge_shape:n\sldefault
- }
-\DeclareRobustCommand \scshape
- {
- \not@math@alphabet\scshape\relax
- \__fontspec_merge_shape:n\scdefault
- }
-\DeclareRobustCommand \upshape
- {
- \not@math@alphabet\upshape\relax
- \__fontspec_merge_shape:n\updefault
- }
-\cs_set_protected:Npn \emfontdeclare #1
- {
- \prop_gclear:N \g__fontspec_em_prop
- \int_zero:N \l__fontspec_emdef_int
- \bool_gset_true:N \g__fontspec_em_normalise_slant_bool
-
- \tl_if_in:nnT {#1} {\slshape}
- {
- \tl_if_in:nnT {#1} {\itshape}
- {
- \bool_gset_false:N \g__fontspec_em_normalise_slant_bool
- }
- }
-
- \group_begin:
- \normalfont
- \clist_map_inline:nn {\emreset,#1}
- {
- ##1
- \prop_gput_if_new:NxV \g__fontspec_em_prop { \f@shape } { \l__fontspec_emdef_int }
- \prop_gput:Nxn \g__fontspec_em_prop { switch-\int_use:N \l__fontspec_emdef_int } { ##1 }
- \int_incr:N \l__fontspec_emdef_int
- }
- \group_end:
- }
-\DeclareRobustCommand \em
- {
- \@nomath\em
- \tl_set:Nx \l__fontspec_emshape_query_tl { \f@shape }
-
- \bool_if:NT \g__fontspec_em_normalise_slant_bool
- {
- \tl_replace_all:Nnn \l__fontspec_emshape_query_tl {/sl} {/it}
- }
-
- \prop_get:NxNT \g__fontspec_em_prop { \l__fontspec_emshape_query_tl } \l__fontspec_em_tmp_tl
- {
- \int_set:Nn \l__fontspec_em_int { \l__fontspec_em_tmp_tl }
- }
-
- \int_incr:N \l__fontspec_em_int
-
- \prop_get:NxNTF \g__fontspec_em_prop { switch-\int_use:N \l__fontspec_em_int } \l__fontspec_em_switch_tl
- { \l__fontspec_em_switch_tl }
- {
- \int_zero:N \l__fontspec_em_int
- \emreset
- }
-
- }
-\DeclareTextFontCommand{\emph}{\em}
-\cs_set:Npn \emreset { \upshape }
-\cs_set:Npn \emshape { \itshape }
-\cs_set:Npn \eminnershape { \upshape }
-\emfontdeclare{ \emshape, \eminnershape }
-\cs_new:Nn \fontspec_set_em_level:n { \int_set:Nn \l__fontspec_em_int {#1} }
-}
+\cs_set_eq:NN \emfontdeclare \DeclareEmphSequence
\cs_set_protected:Npn \strongfontdeclare #1
{
\prop_gclear:N \g__fontspec_strong_prop
@@ -3948,7 +3895,6 @@
\cs_set:Npn \reset@font
{
\normalfont
- \int_zero:N \l__fontspec_em_int
\int_zero:N \l__fontspec_strong_int
}
\cs_new:Nn \fontspec_set_strong_level:n { \int_set:Nn \l__fontspec_strong_int {#1} }
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
index 7f435267612..704ab599e76 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
@@ -40,7 +40,7 @@
\RequirePackage{xparse}
\ProvidesExplPackage{fontspec-xetex}%
- {2020/02/21}{2.7i}{Font selection for XeLaTeX and LuaLaTeX}
+ {2022/01/15}{2.8a}{Font selection for XeLaTeX and LuaLaTeX}
%%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <wspr.io/fontspec>
%%^^A%% fontspec-code-vars.dtx -- part of FONTSPEC <wspr.io/fontspec>
@@ -110,6 +110,8 @@
\clist_new:N \l__fontspec_fontfeat_bfit_clist
\clist_new:N \l__fontspec_fontfeat_sl_clist
\clist_new:N \l__fontspec_fontfeat_bfsl_clist
+\clist_new:N \l__fontspec_fontfeat_sw_clist
+\clist_new:N \l__fontspec_fontfeat_bfsw_clist
\clist_new:N \l__fontspec_fontfeat_sc_clist
\prop_new:N \g__fontspec_fontopts_prop
\prop_new:N \l__fontspec_nfss_prop
@@ -177,6 +179,8 @@
\tl_new:N \l__fontspec_fontname_bfit_tl
\tl_new:N \l__fontspec_fontname_sl_tl
\tl_new:N \l__fontspec_fontname_bfsl_tl
+\tl_new:N \l__fontspec_fontname_sw_tl
+\tl_new:N \l__fontspec_fontname_bfsw_tl
\tl_new:N \l__fontspec_fontname_sc_tl
\tl_new:N \l__fontspec_script_tl
\tl_new:N \l__fontspec_script_name_tl
@@ -218,22 +222,22 @@
\cs_new:Npn \__fontspec_trace:n { \msg_trace:nn {fontspec} }
\cs_generate_variant:Nn \msg_new:nnn {nnx}
\cs_generate_variant:Nn \msg_new:nnnn {nnxx}
+\cs_new:Nn \__fontspec_msg_new:nn
+ { \msg_new:nnx {fontspec} {#1} { \tl_trim_spaces:n {#2} } }
\cs_new:Nn \__fontspec_msg_new:nnn
- { \msg_new:nnx {#1} {#2} { \tl_trim_spaces:n {#3} } }
-\cs_new:Nn \__fontspec_msg_new:nnnn
- { \msg_new:nnxx {#1} {#2} { \tl_trim_spaces:n {#3} } { \tl_trim_spaces:n {#4} } }
+ { \msg_new:nnxx {fontspec} {#1} { \tl_trim_spaces:n {#2} } { \tl_trim_spaces:n {#3} } }
\char_set_catcode_space:n {32}
-\__fontspec_msg_new:nnn {fontspec} {only-inside-encdef}
+\__fontspec_msg_new:nn {only-inside-encdef}
{
- \exp_not:N#1can only be used in the second argument
+ \exp_not:N #1 can only be used in the second argument
to \string\DeclareUnicodeEncoding.
}
-\__fontspec_msg_new:nnn {fontspec} {no-size-info}
+\__fontspec_msg_new:nn {no-size-info}
{
Size information must be supplied.\\
For example, SizeFeatures={Size={8-12},...}.
}
-\__fontspec_msg_new:nnnn {fontspec} {font-not-found}
+\__fontspec_msg_new:nnn {font-not-found}
{
The font "#1" cannot be found.
}
@@ -242,18 +246,18 @@
Check the spelling, where the font is installed etc. etc.\\\\
When in doubt, ask someone for help!
}
-\__fontspec_msg_new:nnnn {fontspec} {rename-feature-not-exist}
+\__fontspec_msg_new:nnn {rename-feature-not-exist}
{
The feature #1 doesn't appear to be defined.
}
{
It looks like you're trying to rename a feature that doesn't exist.
}
-\__fontspec_msg_new:nnn {fontspec} {no-glyph}
+\__fontspec_msg_new:nn {no-glyph}
{
'#1' does not contain glyph #2.
}
-\__fontspec_msg_new:nnnn {fontspec} {euler-too-late}
+\__fontspec_msg_new:nnn {euler-too-late}
{
The euler package must be loaded BEFORE fontspec.
}
@@ -263,7 +267,7 @@
loaded after euler. Type <return> to proceed
with incorrect \string\mathit, \string\mathbf, etc.
}
-\__fontspec_msg_new:nnnn {fontspec} {no-xcolor}
+\__fontspec_msg_new:nnn {no-xcolor}
{
Cannot load named colours without the xcolor package.
}
@@ -271,7 +275,7 @@
Sorry, I can't do anything to help. Instead of loading
the color package, use xcolor instead.
}
-\__fontspec_msg_new:nnnn {fontspec} {unknown-color-model}
+\__fontspec_msg_new:nnn {unknown-color-model}
{
Error loading colour `#1'; unknown colour model.
}
@@ -279,7 +283,7 @@
Sorry, I can't do anything to help. Please report this error
to my developer with a minimal example that causes the problem.
}
-\__fontspec_msg_new:nnnn {fontspec} {not-in-addfontfeatures}
+\__fontspec_msg_new:nnn {not-in-addfontfeatures}
{
The "#1" font feature cannot be used in \string\addfontfeatures.
}
@@ -289,17 +293,17 @@
confusion. You'll need to define multiple font families to achieve
what you want.
}
-\__fontspec_msg_new:nnn {fontspec} {tu-clash}
+\__fontspec_msg_new:nn {tu-clash}
{
I have found the tuenc.def encoding definition file but the TU encoding is not
defined by the LaTeX2e kernel; attempting to correct but you really should update
to the latest version of LaTeX2e.
}
-\__fontspec_msg_new:nnn {fontspec} {tu-missing}
+\__fontspec_msg_new:nn {tu-missing}
{
The TU encoding seems to be missing; please update to the latest version of LaTeX2e.
}
-\__fontspec_msg_new:nnn {fontspec} {addfontfeatures-ignored}
+\__fontspec_msg_new:nn {addfontfeatures-ignored}
{
\string\addfontfeature (s) ignored \msg_line_context:;
it cannot be used with a font that wasn't selected by a fontspec command.\\
@@ -309,81 +313,81 @@
{ The requested feature is "#1". }
{ The requested features are "#1". }
}
-\__fontspec_msg_new:nnn {fontspec} {feature-option-overwrite}
+\__fontspec_msg_new:nn {feature-option-overwrite}
{
Option '#2' of font feature '#1' overwritten.
}
-\__fontspec_msg_new:nnn {fontspec} {ot-tag-too-long}
+\__fontspec_msg_new:nn {ot-tag-too-long}
{
OpenType tag '#1' is too long; script, language, and feature tags must be four characters or fewer.
}
-\__fontspec_msg_new:nnn {fontspec} {aat-feature-not-exist}
+\__fontspec_msg_new:nn {aat-feature-not-exist}
{
'\l_keys_key_tl=\l_keys_value_tl' feature not supported
for AAT font '\l_fontspec_fontname_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {aat-feature-not-exist-in-font}
+\__fontspec_msg_new:nn {aat-feature-not-exist-in-font}
{
AAT feature '\l_keys_key_tl=\l_keys_value_tl' (#1) not available
in font '\l_fontspec_fontname_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {icu-feature-not-exist}
+\__fontspec_msg_new:nn {icu-feature-not-exist}
{
'\l_keys_key_tl=\l_keys_value_tl' feature not supported
for OpenType font '\l_fontspec_fontname_tl'
}
-\__fontspec_msg_new:nnn {fontspec} {icu-feature-not-exist-in-font}
+\__fontspec_msg_new:nn {icu-feature-not-exist-in-font}
{
OpenType feature '\l_keys_key_tl=\l_keys_value_tl' (#1) not available
for font '\l_fontspec_fontname_tl'
with script '\l__fontspec_script_name_tl' and language '\l__fontspec_lang_name_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {no-opticals}
+\__fontspec_msg_new:nn {no-opticals}
{
'#1' doesn't appear to have an Optical Size axis.
}
-\__fontspec_msg_new:nnn {fontspec} {language-not-exist}
+\__fontspec_msg_new:nn {language-not-exist}
{
Language '#1' not available
for font '\l_fontspec_fontname_tl'
with script '\l__fontspec_script_name_tl'.
}
-\__fontspec_msg_new:nnn {fontspec} {only-xetex-feature}
+\__fontspec_msg_new:nn {only-xetex-feature}
{
Ignored XeTeX-only feature: '#1'.
}
-\__fontspec_msg_new:nnn {fontspec} {only-luatex-feature}
+\__fontspec_msg_new:nn {only-luatex-feature}
{
Ignored LuaTeX-only feature: '#1'.
}
-\__fontspec_msg_new:nnn {fontspec} {unknown-renderer}
+\__fontspec_msg_new:nn {unknown-renderer}
{
Renderer '#1' unknown. Assuming Harfbuzz with 'shaper=#1'.
Please raise a fontspec issue to add this shaper to the interface.
}
-\__fontspec_msg_new:nnn {fontspec} {no-mapping}
+\__fontspec_msg_new:nn {no-mapping}
{
Input mapping not supported in LuaTeX.
}
-\__fontspec_msg_new:nnn {fontspec} {no-mapping-ligtex}
+\__fontspec_msg_new:nn {no-mapping-ligtex}
{
Input mapping not supported in LuaTeX.\\
Use "Ligatures=TeX" instead of "Mapping=tex-text".
}
-\__fontspec_msg_new:nnn {fontspec} {cm-default-obsolete}
+\__fontspec_msg_new:nn {cm-default-obsolete}
{
The "cm-default" package option is obsolete.
}
-\__fontspec_msg_new:nnn {fontspec} {font-index-needs-ttc}
+\__fontspec_msg_new:nn {font-index-needs-ttc}
{
The "FontIndex" feature is only supported by TTC (TrueType Collection) fonts.\\
Feature ignored.
}
-\__fontspec_msg_new:nnn {fontspec} {feat-cannot-remove}
+\__fontspec_msg_new:nn {feat-cannot-remove}
{
The "#1" feature cannot be deactivated. Request ignored.
}
-\__fontspec_msg_new:nnn {fontspec} {defining-font}
+\__fontspec_msg_new:nn {defining-font}
{
Font family '\g__fontspec_nfss_family_tl' created for font '#2'
with options [\l__fontspec_all_features_clist].\\
@@ -391,33 +395,33 @@
This font family consists of the following NFSS series/shapes:\\
\g__fontspec_defined_shapes_tl
}
-\__fontspec_msg_new:nnn {fontspec} {no-font-shape}
+\__fontspec_msg_new:nn {no-font-shape}
{
Could not resolve font "#1" (it probably doesn't exist).
}
-\__fontspec_msg_new:nnn {fontspec} {set-scale}
+\__fontspec_msg_new:nn {set-scale}
{
\l_fontspec_fontname_tl\space scale = \l__fontspec_scale_tl.
}
-\__fontspec_msg_new:nnn {fontspec} {setup-math}
+\__fontspec_msg_new:nn {setup-math}
{
Adjusting the maths setup (use [no-math] to avoid this).
}
-\__fontspec_msg_new:nnn {fontspec} {no-script}
+\__fontspec_msg_new:nn {no-script}
{
Font "#1" does not contain requested Script "#2".
}
-\__fontspec_msg_new:nnn {fontspec} {opa-twice}
+\__fontspec_msg_new:nn {opa-twice}
{
Opacity set twice, in both Colour and Opacity.\\
Using specification "Opacity=#1".
}
-\__fontspec_msg_new:nnn {fontspec} {opa-twice-col}
+\__fontspec_msg_new:nn {opa-twice-col}
{
Opacity set twice, in both Opacity and Colour.\\
Using an opacity specification in hex of "#1/FF".
}
-\__fontspec_msg_new:nnn {fontspec} {bad-colour}
+\__fontspec_msg_new:nn {bad-colour}
{
Bad colour declaration "#1".
Colour must be one of:\\
@@ -1235,7 +1239,7 @@
\keys_set_known:nn {fontspec-preparse-cfg} {#1}
\__fontspec_init_ttc:n {#2}
- \__fontspec_load_external_fontoptions:Nn \l_fontspec_fontname_tl {#2}
+ \__fontspec_load_external_fontoptions:N \l_fontspec_fontname_tl
\__fontspec_extract_all_features:n {#1}
\tl_set:Nx \l__fontspec_fontid_tl { \tl_to_str:N \l_fontspec_fontname_tl-:-\tl_to_str:N \l__fontspec_all_features_clist }
@@ -1291,11 +1295,10 @@
\__fontspec_sanitise_fontname:Nn \l__fontspec_fontname_bfit_tl {#1}
}
}
-\cs_new:Nn \__fontspec_load_external_fontoptions:Nn
+\cs_new:Nn \__fontspec_load_external_fontoptions:N
{
\bool_if:NT \l__fontspec_fontcfg_bool
{
- \__fontspec_sanitise_fontname:Nn #1 {#2}
\tl_set:Nx \l__fontspec_ext_filename_tl {#1.fontspec}
\tl_remove_all:Nn \l__fontspec_ext_filename_tl {~}
\prop_if_in:NVF \g__fontspec_fontopts_prop #1
@@ -1501,8 +1504,10 @@
\__fontspec_add_nfssfont:nnnn \bfdefault \shapedefault \l__fontspec_fontname_bf_tl \l__fontspec_fontfeat_bf_clist
\__fontspec_add_nfssfont:nnnn \mddefault \itdefault \l__fontspec_fontname_it_tl \l__fontspec_fontfeat_it_clist
\__fontspec_add_nfssfont:nnnn \mddefault \sldefault \l__fontspec_fontname_sl_tl \l__fontspec_fontfeat_sl_clist
+ \__fontspec_add_nfssfont:nnnn \mddefault \swdefault \l__fontspec_fontname_sw_tl \l__fontspec_fontfeat_sw_clist
\__fontspec_add_nfssfont:nnnn \bfdefault \itdefault \l__fontspec_fontname_bfit_tl \l__fontspec_fontfeat_bfit_clist
\__fontspec_add_nfssfont:nnnn \bfdefault \sldefault \l__fontspec_fontname_bfsl_tl \l__fontspec_fontfeat_bfsl_clist
+ \__fontspec_add_nfssfont:nnnn \bfdefault \swdefault \l__fontspec_fontname_bfsw_tl \l__fontspec_fontfeat_bfsw_clist
\prop_map_inline:Nn \l__fontspec_nfssfont_prop { \__fontspec_set_faces_aux:nnnnn ##2 }
}
\cs_new:Nn \__fontspec_set_faces_aux:nnnnn
@@ -1586,7 +1591,8 @@
}
\cs_new:Nn \__fontspec_load_fontname:Nn
{
- \__fontspec_load_external_fontoptions:Nn #1 {#2}
+ \__fontspec_sanitise_fontname:Nn #1 {#2}
+ \__fontspec_load_external_fontoptions:N #1
\prop_get:NVNF \g__fontspec_fontopts_prop #1 \l__fontspec_fontopts_clist
{ \clist_clear:N \l__fontspec_fontopts_clist }
\keys_set_groups:nnV {fontspec/fontname} {getfontname} \l__fontspec_fontopts_clist
@@ -1613,7 +1619,7 @@
\__fontspec_declare_shapes_normal:nn {#1} {#2}
\__fontspec_declare_shapes_smcaps:nn {#1} {#2}
\__fontspec_declare_shape_slanted:nn {#1} {#2}
- \__fontspec_declare_shapes_bx:nn {#1} {#2}
+ \__fontspec_declare_shapes_bx:nn {#1} {#2}
\__fontspec_declare_shape_loginfo:nn {#1} {#2}
}
\cs_generate_variant:Nn \__fontspec_declare_shape:nnnn {nnxx}
@@ -1688,7 +1694,7 @@
{
\tl_if_exist:cTF { \__fontspec_shape_merge:nn {#1} {\scdefault} }
{ \tl_use:c { \__fontspec_shape_merge:nn {#1} {\scdefault} } }
- { \scdefault }
+ { \scdefault#1 }
}
\cs_new:Nn \__fontspec_DeclareFontShape:nnnnnn
{
@@ -1760,8 +1766,10 @@
{\bfdefault/\shapedefault} {'bold'~}
{\mddefault/\itdefault} {'italic'~}
{\mddefault/\sldefault} {'slanted'~}
+ {\mddefault/\swdefault} {'swash'~}
{\bfdefault/\itdefault} {'bold~ italic'~}
{\bfdefault/\sldefault} {'bold~ slanted'~}
+ {\bfdefault/\swdefault} {'bold~ swash'~}
} (#1/#2)~
with~ NFSS~ spec.:~
\l__fontspec_nfss_tl
@@ -2334,6 +2342,10 @@
{
\fontspec_complete_fontname:Nn \l__fontspec_fontname_sl_tl {#1}
}
+\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {SwashFont}
+ {
+ \fontspec_complete_fontname:Nn \l__fontspec_fontname_sw_tl {#1}
+ }
\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldFont}
{
\tl_if_empty:nTF {#1}
@@ -2368,6 +2380,10 @@
{
\fontspec_complete_fontname:Nn \l__fontspec_fontname_bfsl_tl {#1}
}
+\__fontspec_keys_define_code:nnn {fontspec-preparse-external} {BoldSwashFont}
+ {
+ \fontspec_complete_fontname:Nn \l__fontspec_fontname_bfsw_tl {#1}
+ }
\__fontspec_keys_define_code:nnn {fontspec} {SmallCapsFont}
{
\tl_if_empty:nTF {#1}
@@ -2386,7 +2402,6 @@
\__fontspec_keys_define_code:nnn {fontspec-preparse} {BoldFeatures}
{
\clist_put_right:Nn \l__fontspec_fontfeat_bf_clist {#1}
-
}
\__fontspec_keys_define_code:nnn {fontspec-preparse} {ItalicFeatures}
{
@@ -2404,6 +2419,14 @@
{
\clist_put_right:Nn \l__fontspec_fontfeat_bfsl_clist {#1}
}
+\__fontspec_keys_define_code:nnn {fontspec-preparse} {SwashFeatures}
+ {
+ \clist_put_right:Nn \l__fontspec_fontfeat_sw_clist {#1}
+ }
+\__fontspec_keys_define_code:nnn {fontspec-preparse} {BoldSwashFeatures}
+ {
+ \clist_put_right:Nn \l__fontspec_fontfeat_bfsw_clist {#1}
+ }
\__fontspec_keys_define_code:nnn {fontspec} {SmallCapsFeatures}
{
\bool_if:NF \l__fontspec_firsttime_bool
@@ -3155,18 +3178,22 @@
\newfontscript{Chakma}{cakm}
\newfontscript{Cham}{cham}
\newfontscript{Cherokee}{cher}
+\newfontscript{Chorasmian}{chrs}
\newfontscript{CJK~Ideographic}{hani}
\newfontscript{Coptic}{copt}
\newfontscript{Cypriot~Syllabary}{cprt}
+\newfontscript{Cypro~Minoan}{cpmn}
\newfontscript{Cyrillic}{cyrl}
\newfontscript{Default}{DFLT}
\newfontscript{CustomDefault}{latn,DFLT}
\newfontscript{Deseret}{dsrt}
\newfontscript{Devanagari}{dev2,deva}
+\newfontscript{Dives~Akuru}{diak}
\newfontscript{Dogra}{dogr}
\newfontscript{Duployan}{dupl}
\newfontscript{Egyptian~Hieroglyphs}{egyp}
\newfontscript{Elbasan}{elba}
+\newfontscript{Elymaic}{elym}
\newfontscript{Ethiopic}{ethi}
\newfontscript{Georgian}{geor}
\newfontscript{Glagolitic}{glag}
@@ -3191,6 +3218,7 @@
\newfontscript{Kannada}{knd2,knda}
\newfontscript{Kayah~Li}{kali}
\newfontscript{Kharosthi}{khar}
+\newfontscript{Khitan~Small~Script}{kits}
\newfontscript{Khmer}{khmr}
\newfontscript{Khojki}{khoj}
\newfontscript{Khudawadi}{sind}
@@ -3225,8 +3253,10 @@
\newfontscript{Myanmar}{mym2,mymr}
\newfontscript{N'Ko}{nko~}
\newfontscript{Nabataean}{nbat}
+\newfontscript{Nandinagari}{nand}
\newfontscript{Newa}{newa}
\newfontscript{Nushu}{nshu}
+\newfontscript{Nyiakeng~Puachue~Hmong}{hmnp}
\newfontscript{Odia}{ory2,orya}
\newfontscript{Ogham}{ogam}
\newfontscript{Ol~Chiki}{olck}
@@ -3238,6 +3268,7 @@
\newfontscript{Old~Sogdian}{sogo}
\newfontscript{Old~South~Arabian}{sarb}
\newfontscript{Old~Turkic}{orkh}
+\newfontscript{Old~Uyghur}{ougr}
\newfontscript{Osage}{osge}
\newfontscript{Osmanya}{osma}
\newfontscript{Pahawh~Hmong}{hmng}
@@ -3269,6 +3300,7 @@
\newfontscript{Tai~Viet}{tavt}
\newfontscript{Takri}{takr}
\newfontscript{Tamil}{tml2,taml}
+\newfontscript{Tangsa}{tnsa}
\newfontscript{Tangut}{tang}
\newfontscript{Telugu}{tel2,telu}
\newfontscript{Thaana}{thaa}
@@ -3276,9 +3308,13 @@
\newfontscript{Tibetan}{tibt}
\newfontscript{Tifinagh}{tfng}
\newfontscript{Tirhuta}{tirh}
+\newfontscript{Toto}{toto}
\newfontscript{Ugaritic~Cuneiform}{ugar}
\newfontscript{Vai}{vai~}
+\newfontscript{Vithkuqi}{vith}
+\newfontscript{Wancho}{wcho}
\newfontscript{Warang~Citi}{wara}
+\newfontscript{Yezidi}{yezi}
\newfontscript{Yi}{yi~~}
\newfontscript{Zanabazar~Square}{zanb}
\newfontscript{CJK}{hani}
@@ -4047,13 +4083,17 @@
\providecommand*\scitdefault{\scdefault\itdefault}
\providecommand*\scsldefault{\scdefault\sldefault}
+\providecommand*\scswdefault{\scdefault\swdefault}
\cs_new:Nn \__fontspec_shape_merge:nn { c__fontspec_shape_#1_#2_tl }
\cs_new:Nn \__fontspec_merge_default_shapes:
{
+ \tl_const:cn { \__fontspec_shape_merge:nn \shapedefault\scdefault } {\scdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \itdefault \scdefault } {\scitdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \sldefault \scdefault } {\scsldefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \swdefault \scdefault } {\scswdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \itdefault } {\scitdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \sldefault } {\scsldefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \scdefault \swdefault } {\scswdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scsldefault \itdefault } {\scitdefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scitdefault \sldefault } {\scsldefault}
\tl_const:cn { \__fontspec_shape_merge:nn \scitdefault \shapedefault } {\scdefault}
@@ -4073,100 +4113,7 @@
}
\prg_return_true: \prg_return_false:
}
-\cs_if_exist:NTF \DeclareFontSeriesChangeRule
-{
- \cs_set_eq:NN \emfontdeclare \DeclareEmphSequence
-}
-{
-\DeclareRobustCommand{\sishape}
- {
- \not@math@alphabet\sishape\relax
- \fontshape{\scitdefault}\selectfont
- }
-\DeclareTextFontCommand{\textsi}{\sishape}
-\cs_new:Nn \__fontspec_merge_shape:n
- {
- \__fontspec_if_merge_shape:nTF {#1}
- { \fontshape { \tl_use:c { \__fontspec_shape_merge:nn {\f@shape} {#1} } } \selectfont }
- { \fontshape {#1} \selectfont }
- }
-\DeclareRobustCommand \itshape
- {
- \not@math@alphabet\itshape\mathit
- \__fontspec_merge_shape:n\itdefault
- }
-\DeclareRobustCommand \slshape
- {
- \not@math@alphabet\slshape\relax
- \__fontspec_merge_shape:n\sldefault
- }
-\DeclareRobustCommand \scshape
- {
- \not@math@alphabet\scshape\relax
- \__fontspec_merge_shape:n\scdefault
- }
-\DeclareRobustCommand \upshape
- {
- \not@math@alphabet\upshape\relax
- \__fontspec_merge_shape:n\updefault
- }
-\cs_set_protected:Npn \emfontdeclare #1
- {
- \prop_gclear:N \g__fontspec_em_prop
- \int_zero:N \l__fontspec_emdef_int
- \bool_gset_true:N \g__fontspec_em_normalise_slant_bool
-
- \tl_if_in:nnT {#1} {\slshape}
- {
- \tl_if_in:nnT {#1} {\itshape}
- {
- \bool_gset_false:N \g__fontspec_em_normalise_slant_bool
- }
- }
-
- \group_begin:
- \normalfont
- \clist_map_inline:nn {\emreset,#1}
- {
- ##1
- \prop_gput_if_new:NxV \g__fontspec_em_prop { \f@shape } { \l__fontspec_emdef_int }
- \prop_gput:Nxn \g__fontspec_em_prop { switch-\int_use:N \l__fontspec_emdef_int } { ##1 }
- \int_incr:N \l__fontspec_emdef_int
- }
- \group_end:
- }
-\DeclareRobustCommand \em
- {
- \@nomath\em
- \tl_set:Nx \l__fontspec_emshape_query_tl { \f@shape }
-
- \bool_if:NT \g__fontspec_em_normalise_slant_bool
- {
- \tl_replace_all:Nnn \l__fontspec_emshape_query_tl {/sl} {/it}
- }
-
- \prop_get:NxNT \g__fontspec_em_prop { \l__fontspec_emshape_query_tl } \l__fontspec_em_tmp_tl
- {
- \int_set:Nn \l__fontspec_em_int { \l__fontspec_em_tmp_tl }
- }
-
- \int_incr:N \l__fontspec_em_int
-
- \prop_get:NxNTF \g__fontspec_em_prop { switch-\int_use:N \l__fontspec_em_int } \l__fontspec_em_switch_tl
- { \l__fontspec_em_switch_tl }
- {
- \int_zero:N \l__fontspec_em_int
- \emreset
- }
-
- }
-\DeclareTextFontCommand{\emph}{\em}
-\cs_set:Npn \emreset { \upshape }
-\cs_set:Npn \emshape { \itshape }
-\cs_set:Npn \eminnershape { \upshape }
-\emfontdeclare{ \emshape, \eminnershape }
-\cs_new:Nn \fontspec_set_em_level:n { \int_set:Nn \l__fontspec_em_int {#1} }
-}
+\cs_set_eq:NN \emfontdeclare \DeclareEmphSequence
\cs_set_protected:Npn \strongfontdeclare #1
{
\prop_gclear:N \g__fontspec_strong_prop
@@ -4207,7 +4154,6 @@
\cs_set:Npn \reset@font
{
\normalfont
- \int_zero:N \l__fontspec_em_int
\int_zero:N \l__fontspec_strong_int
}
\cs_new:Nn \fontspec_set_strong_level:n { \int_set:Nn \l__fontspec_strong_int {#1} }
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.lua b/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
index e881468de80..9e200d460a4 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
@@ -23,8 +23,8 @@ fontspec = fontspec or {}
local fontspec = fontspec
fontspec.module = {
name = "fontspec",
- version = "2.7i",
- date = "2020/02/21",
+ version = "2.8a",
+ date = "2022/01/15",
description = "Font selection for XeLaTeX and LuaLaTeX",
author = "Khaled Hosny, Philipp Gesang, Will Robertson",
copyright = "Khaled Hosny, Philipp Gesang, Will Robertson",
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
index e9ec081bba1..3a2e5476cd1 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec.sty
@@ -21,7 +21,7 @@
\RequirePackage{xparse}
\ProvidesExplPackage{fontspec}%
- {2020/02/21}{2.7i}{Font selection for XeLaTeX and LuaLaTeX}
+ {2022/01/15}{2.8a}{Font selection for XeLaTeX and LuaLaTeX}
%%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <wspr.io/fontspec>
\sys_if_engine_luatex:T
@@ -40,6 +40,6 @@
{
The~ fontspec~ package~ requires~ either~ XeTeX~ or~ LuaTeX.\\\\
You~ must~ change~ your~ typesetting~ engine~ to,~ e.g.,~
- "xelatex"~ or~ "lualatex" instead~ of~ "latex"~ or~ "pdflatex".
+ "xelatex"~ or~ "lualatex"~ instead~ of~ "latex"~ or~ "pdflatex".
}
\msg_fatal:nn {fontspec} {cannot-use-pdftex}