summaryrefslogtreecommitdiff
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
parenta07c0952502421e98b75cb81f9871f9b825b2ea3 (diff)
fontspec (15jan22)
git-svn-id: svn://tug.org/texlive/trunk@61617 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/fontspec/CHANGES.md13
-rw-r--r--Master/texmf-dist/doc/latex/fontspec/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdfbin629912 -> 657454 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fontspec/fontspec.pdfbin600048 -> 606613 bytes
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-closing.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-enc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-aat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-fontload.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-graphite.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-interfaces.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx23
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx25
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-lang.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-load.dtx4
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-math.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-msg.dtx82
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-scripts.dtx15
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-user.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-vars.dtx6
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx159
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code.ltx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-api.tex2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-enc.tex2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-featset.tex35
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex52
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-intro.tex2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-luatex.tex4
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-opentype.tex9
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-xetex.tex2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-lua.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec.dtx8
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec.ins2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec.ltx2
-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
41 files changed, 387 insertions, 566 deletions
diff --git a/Master/texmf-dist/doc/latex/fontspec/CHANGES.md b/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
index 63ae8620b4b..10841c18c31 100644
--- a/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
+++ b/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
@@ -1,6 +1,17 @@
Change history
==============
+## v2.8a (2022/01/15)
+
+ * Add `SwashFont` and `BoldSwashFont` features to support LaTeX's now-builtin `\textsw`
+ and `\swshape` commands, with matching `SwashFeatures` and `BoldSwashFeatures`.
+ A simple implementation that has scope to get more complex if need be.
+ * Remove some legacy code that extended the NFSS in ways that are now handled by
+ LaTeX2e natively.
+ * Long neglected updates through various Github Issues and pull requests.
+ Thanks for your patience with the delays.
+
+
## v2.7i (2020/02/21)
* Define both `b` and `bx` font series by default to avoid spurious warnings in some
@@ -15,6 +26,7 @@ Change history
* Fix regression with `unicode-math` related log files showing the wrong
NFSS-based font ‘identifier’.
+
## v2.7g (2020/01/26)
* Fix regression that broke changing the default encoding after `fontspec` was loaded
@@ -24,6 +36,7 @@ Change history
* Use `\familydefault` instead of `\rmdefault` when calculating scaling parameters in
`Scale=MatchLowercase` and `Scale=MatchUppercase`.
+
## v2.7f (2020/01/24)
* Rename font feature `Letters=Uppercase` to `Style=Uppercase`, as this feature does
diff --git a/Master/texmf-dist/doc/latex/fontspec/README.md b/Master/texmf-dist/doc/latex/fontspec/README.md
index cd01b539d8b..f5dceebaeb7 100644
--- a/Master/texmf-dist/doc/latex/fontspec/README.md
+++ b/Master/texmf-dist/doc/latex/fontspec/README.md
@@ -74,10 +74,8 @@ If you wish to use the latest development version from Github, either use git to
(For bleeding edge versions, see the `working` branch.)
Having obtained the package from Github, install the package code by running
- texlua build.lua install
+ l3build install
This will compile the documentation and install all necessary files in your
local texmf tree. Depending how your TeX distribution is configured
you may then need to update the filename database with `texhash`.
-
-
diff --git a/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf b/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf
index 52d9e28cded..0a86c16bf72 100644
--- a/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf
+++ b/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf b/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf
index 97e8a293a0c..3e223342f55 100644
--- a/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf
+++ b/Master/texmf-dist/doc/latex/fontspec/fontspec.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx
index b0b6b0a87de..17f22a23e76 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-api.dtx
@@ -378,7 +378,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-closing.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-closing.dtx
index 4dca137a7dc..5adc879707c 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-closing.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-closing.dtx
@@ -32,7 +32,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-enc.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-enc.dtx
index 7d304480029..f4779981308 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-enc.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-enc.dtx
@@ -146,7 +146,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-aat.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-aat.dtx
index cf9736c0356..994fae553c4 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-aat.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-aat.dtx
@@ -231,7 +231,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx
index 77d431ccf84..a2780574423 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-feat-opentype.dtx
@@ -571,7 +571,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-fontload.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-fontload.dtx
index ac403028e18..4f3dcea6903 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-fontload.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-fontload.dtx
@@ -124,7 +124,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-graphite.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-graphite.dtx
index c840d2af604..2a26211c2a6 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-graphite.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-graphite.dtx
@@ -116,7 +116,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-interfaces.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-interfaces.dtx
index b5c909fcfcc..d76dd61d601 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-interfaces.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-interfaces.dtx
@@ -284,7 +284,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
index 375fc7be2e9..ee7e36cc887 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
@@ -47,7 +47,7 @@
\keys_set_known:nn {fontspec-preparse-cfg} {#1}
\@@_init_ttc:n {#2}
- \@@_load_external_fontoptions:Nn \l_fontspec_fontname_tl {#2}
+ \@@_load_external_fontoptions:N \l_fontspec_fontname_tl
\@@_extract_all_features:n {#1}
\tl_set:Nx \l_@@_fontid_tl { \tl_to_str:N \l_fontspec_fontname_tl-:-\tl_to_str:N \l_@@_all_features_clist }
@@ -138,16 +138,16 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_load_external_fontoptions:Nn}
+% \begin{macro}{\@@_load_external_fontoptions:N}
% Load a possible \texttt{.fontspec} font configuration file.
% This file could set font-specific options for the font about to be loaded.
+% The parameter should be a tokenlist containing a sanitised fontname.
% \begin{macrocode}
-\cs_new:Nn \@@_load_external_fontoptions:Nn
+\cs_new:Nn \@@_load_external_fontoptions:N
{
\bool_if:NT \l_@@_fontcfg_bool
{
-%<debug> \typeout{:: @@_load_external_fontoptions:Nn \exp_not:N #1 {#2} }
- \@@_sanitise_fontname:Nn #1 {#2}
+%<debug> \typeout{:: @@_load_external_fontoptions:N \exp_not:N #1 }
\tl_set:Nx \l_@@_ext_filename_tl {#1.fontspec}
\tl_remove_all:Nn \l_@@_ext_filename_tl {~}
\prop_if_in:NVF \g_@@_fontopts_prop #1
@@ -500,8 +500,10 @@
\@@_add_nfssfont:nnnn \bfdefault \shapedefault \l_@@_fontname_bf_tl \l_@@_fontfeat_bf_clist
\@@_add_nfssfont:nnnn \mddefault \itdefault \l_@@_fontname_it_tl \l_@@_fontfeat_it_clist
\@@_add_nfssfont:nnnn \mddefault \sldefault \l_@@_fontname_sl_tl \l_@@_fontfeat_sl_clist
+ \@@_add_nfssfont:nnnn \mddefault \swdefault \l_@@_fontname_sw_tl \l_@@_fontfeat_sw_clist
\@@_add_nfssfont:nnnn \bfdefault \itdefault \l_@@_fontname_bfit_tl \l_@@_fontfeat_bfit_clist
\@@_add_nfssfont:nnnn \bfdefault \sldefault \l_@@_fontname_bfsl_tl \l_@@_fontfeat_bfsl_clist
+ \@@_add_nfssfont:nnnn \bfdefault \swdefault \l_@@_fontname_bfsw_tl \l_@@_fontfeat_bfsw_clist
\prop_map_inline:Nn \l_@@_nfssfont_prop { \@@_set_faces_aux:nnnnn ##2 }
}
% \end{macrocode}
@@ -677,7 +679,8 @@
\cs_new:Nn \@@_load_fontname:Nn
{
%<debug> \typeout{:: @@_load_fontname:Nn \exp_not:N #1 (#1) {#2} }
- \@@_load_external_fontoptions:Nn #1 {#2}
+ \@@_sanitise_fontname:Nn #1 {#2}
+ \@@_load_external_fontoptions:N #1
\prop_get:NVNF \g_@@_fontopts_prop #1 \l_@@_fontopts_clist
{ \clist_clear:N \l_@@_fontopts_clist }
\keys_set_groups:nnV {fontspec/fontname} {getfontname} \l_@@_fontopts_clist
@@ -724,7 +727,7 @@
\@@_declare_shapes_normal:nn {#1} {#2}
\@@_declare_shapes_smcaps:nn {#1} {#2}
\@@_declare_shape_slanted:nn {#1} {#2}
- \@@_declare_shapes_bx:nn {#1} {#2}
+ \@@_declare_shapes_bx:nn {#1} {#2}
\@@_declare_shape_loginfo:nn {#1} {#2}
}
% \end{macrocode}
@@ -831,7 +834,7 @@
{
\tl_if_exist:cTF { \@@_shape_merge:nn {#1} {\scdefault} }
{ \tl_use:c { \@@_shape_merge:nn {#1} {\scdefault} } }
- { \scdefault }
+ { \scdefault#1 }
}
% \end{macrocode}
% \end{macro}
@@ -930,8 +933,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_@@_nfss_tl
@@ -1205,7 +1210,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx
index 87a93c176bd..bb18912f8a6 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx
@@ -223,6 +223,13 @@
}
% \end{macrocode}
%
+% \begin{macrocode}
+\@@_keys_define_code:nnn {fontspec-preparse-external} {SwashFont}
+ {
+ \fontspec_complete_fontname:Nn \l_@@_fontname_sw_tl {#1}
+ }
+% \end{macrocode}
+%
%
% \paragraph{Bold (NFSS) Series}
% By default, \pkg{fontspec} uses the default bold series, \cs{bfdefault}.
@@ -282,6 +289,13 @@
}
% \end{macrocode}
%
+% \begin{macrocode}
+\@@_keys_define_code:nnn {fontspec-preparse-external} {BoldSwashFont}
+ {
+ \fontspec_complete_fontname:Nn \l_@@_fontname_bfsw_tl {#1}
+ }
+% \end{macrocode}
+%
% \paragraph{Small caps}
% Small caps isn't pre-parsed because it can vary with others above:
% \begin{macrocode}
@@ -309,7 +323,6 @@
\@@_keys_define_code:nnn {fontspec-preparse} {BoldFeatures}
{
\clist_put_right:Nn \l_@@_fontfeat_bf_clist {#1}
-
% \prop_put:NxV \l_@@_nfss_prop
% {BoldFont-\g_@@_curr_series_tl} \l_@@_curr_bfname_tl
}
@@ -329,6 +342,14 @@
{
\clist_put_right:Nn \l_@@_fontfeat_bfsl_clist {#1}
}
+\@@_keys_define_code:nnn {fontspec-preparse} {SwashFeatures}
+ {
+ \clist_put_right:Nn \l_@@_fontfeat_sw_clist {#1}
+ }
+\@@_keys_define_code:nnn {fontspec-preparse} {BoldSwashFeatures}
+ {
+ \clist_put_right:Nn \l_@@_fontfeat_bfsw_clist {#1}
+ }
% \end{macrocode}
% Note that small caps features can vary by shape, so these in fact \emph{aren't} pre-parsed.
% \begin{macrocode}
@@ -893,7 +914,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-lang.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-lang.dtx
index f9ea7f6cd70..22bde488348 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-lang.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-lang.dtx
@@ -407,7 +407,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-load.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-load.dtx
index 7d0501b89e1..4f7ec3bd830 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-load.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-load.dtx
@@ -42,7 +42,7 @@
{
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}
% \end{macrocode}
@@ -60,7 +60,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-math.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-math.dtx
index bbe70ef437c..73f29782af9 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-math.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-math.dtx
@@ -248,7 +248,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-msg.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-msg.dtx
index f23ec2d85f7..1eafe2333d2 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-msg.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-msg.dtx
@@ -26,27 +26,27 @@
% \begin{macrocode}
\cs_generate_variant:Nn \msg_new:nnn {nnx}
\cs_generate_variant:Nn \msg_new:nnnn {nnxx}
+\cs_new:Nn \@@_msg_new:nn
+ { \msg_new:nnx {fontspec} {#1} { \tl_trim_spaces:n {#2} } }
\cs_new:Nn \@@_msg_new:nnn
- { \msg_new:nnx {#1} {#2} { \tl_trim_spaces:n {#3} } }
-\cs_new:Nn \@@_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}
% \end{macrocode}
%
% \subsection{Errors}
%
% \begin{macrocode}
-\@@_msg_new:nnn {fontspec} {only-inside-encdef}
+\@@_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.
}
-\@@_msg_new:nnn {fontspec} {no-size-info}
+\@@_msg_new:nn {no-size-info}
{
Size information must be supplied.\\
For example, SizeFeatures={Size={8-12},...}.
}
-\@@_msg_new:nnnn {fontspec} {font-not-found}
+\@@_msg_new:nnn {font-not-found}
{
The font "#1" cannot be found.
}
@@ -55,18 +55,18 @@
Check the spelling, where the font is installed etc. etc.\\\\
When in doubt, ask someone for help!
}
-\@@_msg_new:nnnn {fontspec} {rename-feature-not-exist}
+\@@_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.
}
-\@@_msg_new:nnn {fontspec} {no-glyph}
+\@@_msg_new:nn {no-glyph}
{
'#1' does not contain glyph #2.
}
-\@@_msg_new:nnnn {fontspec} {euler-too-late}
+\@@_msg_new:nnn {euler-too-late}
{
The euler package must be loaded BEFORE fontspec.
}
@@ -76,7 +76,7 @@
loaded after euler. Type <return> to proceed
with incorrect \string\mathit, \string\mathbf, etc.
}
-\@@_msg_new:nnnn {fontspec} {no-xcolor}
+\@@_msg_new:nnn {no-xcolor}
{
Cannot load named colours without the xcolor package.
}
@@ -84,7 +84,7 @@
Sorry, I can't do anything to help. Instead of loading
the color package, use xcolor instead.
}
-\@@_msg_new:nnnn {fontspec} {unknown-color-model}
+\@@_msg_new:nnn {unknown-color-model}
{
Error loading colour `#1'; unknown colour model.
}
@@ -92,7 +92,7 @@
Sorry, I can't do anything to help. Please report this error
to my developer with a minimal example that causes the problem.
}
-\@@_msg_new:nnnn {fontspec} {not-in-addfontfeatures}
+\@@_msg_new:nnn {not-in-addfontfeatures}
{
The "#1" font feature cannot be used in \string\addfontfeatures.
}
@@ -107,17 +107,17 @@
% \subsection{Warnings}
%
% \begin{macrocode}
-\@@_msg_new:nnn {fontspec} {tu-clash}
+\@@_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.
}
-\@@_msg_new:nnn {fontspec} {tu-missing}
+\@@_msg_new:nn {tu-missing}
{
The TU encoding seems to be missing; please update to the latest version of LaTeX2e.
}
-\@@_msg_new:nnn {fontspec} {addfontfeatures-ignored}
+\@@_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.\\
@@ -127,77 +127,77 @@
{ The requested feature is "#1". }
{ The requested features are "#1". }
}
-\@@_msg_new:nnn {fontspec} {feature-option-overwrite}
+\@@_msg_new:nn {feature-option-overwrite}
{
Option '#2' of font feature '#1' overwritten.
}
-\@@_msg_new:nnn {fontspec} {ot-tag-too-long}
+\@@_msg_new:nn {ot-tag-too-long}
{
OpenType tag '#1' is too long; script, language, and feature tags must be four characters or fewer.
}
-\@@_msg_new:nnn {fontspec} {aat-feature-not-exist}
+\@@_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'.
}
-\@@_msg_new:nnn {fontspec} {aat-feature-not-exist-in-font}
+\@@_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'.
}
-\@@_msg_new:nnn {fontspec} {icu-feature-not-exist}
+\@@_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'
}
-\@@_msg_new:nnn {fontspec} {icu-feature-not-exist-in-font}
+\@@_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_@@_script_name_tl' and language '\l_@@_lang_name_tl'.
}
-\@@_msg_new:nnn {fontspec} {no-opticals}
+\@@_msg_new:nn {no-opticals}
{
'#1' doesn't appear to have an Optical Size axis.
}
-\@@_msg_new:nnn {fontspec} {language-not-exist}
+\@@_msg_new:nn {language-not-exist}
{
Language '#1' not available
for font '\l_fontspec_fontname_tl'
with script '\l_@@_script_name_tl'.
}
-\@@_msg_new:nnn {fontspec} {only-xetex-feature}
+\@@_msg_new:nn {only-xetex-feature}
{
Ignored XeTeX-only feature: '#1'.
}
-\@@_msg_new:nnn {fontspec} {only-luatex-feature}
+\@@_msg_new:nn {only-luatex-feature}
{
Ignored LuaTeX-only feature: '#1'.
}
-\@@_msg_new:nnn {fontspec} {unknown-renderer}
+\@@_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.
}
-\@@_msg_new:nnn {fontspec} {no-mapping}
+\@@_msg_new:nn {no-mapping}
{
Input mapping not supported in LuaTeX.
}
-\@@_msg_new:nnn {fontspec} {no-mapping-ligtex}
+\@@_msg_new:nn {no-mapping-ligtex}
{
Input mapping not supported in LuaTeX.\\
Use "Ligatures=TeX" instead of "Mapping=tex-text".
}
-\@@_msg_new:nnn {fontspec} {cm-default-obsolete}
+\@@_msg_new:nn {cm-default-obsolete}
{
The "cm-default" package option is obsolete.
}
-\@@_msg_new:nnn {fontspec} {font-index-needs-ttc}
+\@@_msg_new:nn {font-index-needs-ttc}
{
The "FontIndex" feature is only supported by TTC (TrueType Collection) fonts.\\
Feature ignored.
}
-\@@_msg_new:nnn {fontspec} {feat-cannot-remove}
+\@@_msg_new:nn {feat-cannot-remove}
{
The "#1" feature cannot be deactivated. Request ignored.
}
@@ -206,7 +206,7 @@
% \subsection{Info messages}
%
% \begin{macrocode}
-\@@_msg_new:nnn {fontspec} {defining-font}
+\@@_msg_new:nn {defining-font}
{
Font family '\g_@@_nfss_family_tl' created for font '#2'
with options [\l_@@_all_features_clist].\\
@@ -214,33 +214,33 @@
This font family consists of the following NFSS series/shapes:\\
\g_@@_defined_shapes_tl
}
-\@@_msg_new:nnn {fontspec} {no-font-shape}
+\@@_msg_new:nn {no-font-shape}
{
Could not resolve font "#1" (it probably doesn't exist).
}
-\@@_msg_new:nnn {fontspec} {set-scale}
+\@@_msg_new:nn {set-scale}
{
\l_fontspec_fontname_tl\space scale = \l_@@_scale_tl.
}
-\@@_msg_new:nnn {fontspec} {setup-math}
+\@@_msg_new:nn {setup-math}
{
Adjusting the maths setup (use [no-math] to avoid this).
}
-\@@_msg_new:nnn {fontspec} {no-script}
+\@@_msg_new:nn {no-script}
{
Font "#1" does not contain requested Script "#2".
}
-\@@_msg_new:nnn {fontspec} {opa-twice}
+\@@_msg_new:nn {opa-twice}
{
Opacity set twice, in both Colour and Opacity.\\
Using specification "Opacity=#1".
}
-\@@_msg_new:nnn {fontspec} {opa-twice-col}
+\@@_msg_new:nn {opa-twice-col}
{
Opacity set twice, in both Opacity and Colour.\\
Using an opacity specification in hex of "#1/FF".
}
-\@@_msg_new:nnn {fontspec} {bad-colour}
+\@@_msg_new:nn {bad-colour}
{
Bad colour declaration "#1".
Colour must be one of:\\
@@ -268,7 +268,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx
index b8fb02e9e8e..60253a1ea89 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opening.dtx
@@ -201,7 +201,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx
index be0b8be7686..94be4acfcac 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-opentype.dtx
@@ -466,7 +466,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-scripts.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-scripts.dtx
index 32e861f5660..7c2f79117cb 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-scripts.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-scripts.dtx
@@ -33,18 +33,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}
@@ -69,6 +73,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}
@@ -103,8 +108,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}
@@ -116,6 +123,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}
@@ -147,6 +155,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}
@@ -154,9 +163,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}
% \end{macrocode}
@@ -182,7 +195,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-user.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-user.dtx
index a4a754d598c..eeb704df580 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-user.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-user.dtx
@@ -540,7 +540,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-vars.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-vars.dtx
index 6350d24cc51..d24776218fd 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-vars.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-vars.dtx
@@ -135,6 +135,8 @@
\clist_new:N \l_@@_fontfeat_bfit_clist
\clist_new:N \l_@@_fontfeat_sl_clist
\clist_new:N \l_@@_fontfeat_bfsl_clist
+\clist_new:N \l_@@_fontfeat_sw_clist
+\clist_new:N \l_@@_fontfeat_bfsw_clist
\clist_new:N \l_@@_fontfeat_sc_clist
% \end{macrocode}
%
@@ -255,6 +257,8 @@
\tl_new:N \l_@@_fontname_bfit_tl
\tl_new:N \l_@@_fontname_sl_tl
\tl_new:N \l_@@_fontname_bfsl_tl
+\tl_new:N \l_@@_fontname_sw_tl
+\tl_new:N \l_@@_fontname_bfsw_tl
\tl_new:N \l_@@_fontname_sc_tl
% \end{macrocode}
%
@@ -324,7 +328,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx
index fef300a078b..ecbad84167d 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx
@@ -12,6 +12,7 @@
% \begin{macrocode}
\providecommand*\scitdefault{\scdefault\itdefault}
\providecommand*\scsldefault{\scdefault\sldefault}
+\providecommand*\scswdefault{\scdefault\swdefault}
% \end{macrocode}
% \LaTeX's `shape' font axis needs to be overloaded to support italic small caps and slanted small caps.
% These are the combinations to support:
@@ -19,10 +20,13 @@
\cs_new:Nn \@@_shape_merge:nn { c_@@_shape_#1_#2_tl }
\cs_new:Nn \@@_merge_default_shapes:
{
+ \tl_const:cn { \@@_shape_merge:nn \shapedefault\scdefault } {\scdefault}
\tl_const:cn { \@@_shape_merge:nn \itdefault \scdefault } {\scitdefault}
\tl_const:cn { \@@_shape_merge:nn \sldefault \scdefault } {\scsldefault}
+ \tl_const:cn { \@@_shape_merge:nn \swdefault \scdefault } {\scswdefault}
\tl_const:cn { \@@_shape_merge:nn \scdefault \itdefault } {\scitdefault}
\tl_const:cn { \@@_shape_merge:nn \scdefault \sldefault } {\scsldefault}
+ \tl_const:cn { \@@_shape_merge:nn \scdefault \swdefault } {\scswdefault}
\tl_const:cn { \@@_shape_merge:nn \scsldefault \itdefault } {\scitdefault}
\tl_const:cn { \@@_shape_merge:nn \scitdefault \sldefault } {\scsldefault}
\tl_const:cn { \@@_shape_merge:nn \scitdefault \shapedefault } {\scdefault}
@@ -51,159 +55,9 @@
%
%
% \begin{macrocode}
-\cs_if_exist:NTF \DeclareFontSeriesChangeRule
-{
- \cs_set_eq:NN \emfontdeclare \DeclareEmphSequence
-}
-{
+\cs_set_eq:NN \emfontdeclare \DeclareEmphSequence
% \end{macrocode}
%
-% \begin{macro}{\sishape}
-% \begin{macro}{\textsi}
-% These commands for actually selecting italic small caps have been defined for many years; I'm inclined to drop them.
-% They're probably used very infrequently; I personally prefer just writing
-% |\textit{\textsc{...}}| instead.
-%
-% \begin{macrocode}
-\DeclareRobustCommand{\sishape}
- {
- \not@math@alphabet\sishape\relax
- \fontshape{\scitdefault}\selectfont
- }
-\DeclareTextFontCommand{\textsi}{\sishape}
-% \end{macrocode}
-% \end{macro} \end{macro}
-%
-%
-% \begin{macro}{\@@_merge_shape:n}
-% These macros enable the overload on the |\..shape| commands.
-% First, a shape `new+current' (prefix) or `current+new' (suffix) is tried.
-% If not found, fall back on the `new' shape.
-% \begin{macrocode}
-\cs_new:Nn \@@_merge_shape:n
- {
- \@@_if_merge_shape:nTF {#1}
- { \fontshape { \tl_use:c { \@@_shape_merge:nn {\f@shape} {#1} } } \selectfont }
- { \fontshape {#1} \selectfont }
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\itshape} \begin{macro}{\scshape} \begin{macro}{\upshape} \begin{macro}{\slshape}
-% The original |\..shape| commands are redefined to use the merge shape macro.
-% \begin{macrocode}
-\DeclareRobustCommand \itshape
- {
- \not@math@alphabet\itshape\mathit
- \@@_merge_shape:n\itdefault
- }
-\DeclareRobustCommand \slshape
- {
- \not@math@alphabet\slshape\relax
- \@@_merge_shape:n\sldefault
- }
-\DeclareRobustCommand \scshape
- {
- \not@math@alphabet\scshape\relax
- \@@_merge_shape:n\scdefault
- }
-\DeclareRobustCommand \upshape
- {
- \not@math@alphabet\upshape\relax
- \@@_merge_shape:n\updefault
- }
-% \end{macrocode}
-% \end{macro} \end{macro} \end{macro} \end{macro}
-%
-%
-%
-% \subsection{Emphasis}
-%
-% \begin{macro}{\emfontdeclare}
-% \begin{macrocode}
-\cs_set_protected:Npn \emfontdeclare #1
- {
- \prop_gclear:N \g_@@_em_prop
- \int_zero:N \l_@@_emdef_int
- \bool_gset_true:N \g_@@_em_normalise_slant_bool
-
- \tl_if_in:nnT {#1} {\slshape}
- {
- \tl_if_in:nnT {#1} {\itshape}
- {
- \bool_gset_false:N \g_@@_em_normalise_slant_bool
- }
- }
-
- \group_begin:
- \normalfont
- \clist_map_inline:nn {\emreset,#1}
- {
- ##1
- \prop_gput_if_new:NxV \g_@@_em_prop { \f@shape } { \l_@@_emdef_int }
- \prop_gput:Nxn \g_@@_em_prop { switch-\int_use:N \l_@@_emdef_int } { ##1 }
- \int_incr:N \l_@@_emdef_int
- }
- \group_end:
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\em}
-% \begin{macrocode}
-\DeclareRobustCommand \em
- {
- \@nomath\em
- \tl_set:Nx \l_@@_emshape_query_tl { \f@shape }
-
- \bool_if:NT \g_@@_em_normalise_slant_bool
- {
- \tl_replace_all:Nnn \l_@@_emshape_query_tl {/sl} {/it}
- }
-
-%<debug> \typeout{Emph~ level:~\int_use:N \l_@@_em_int}
- \prop_get:NxNT \g_@@_em_prop { \l_@@_emshape_query_tl } \l_@@_em_tmp_tl
- {
- \int_set:Nn \l_@@_em_int { \l_@@_em_tmp_tl }
-%<debug> \typeout{Shape~ (\l_@@_emshape_query_tl)~ detected;~ new~ level:~\int_use:N \l_@@_em_int}
- }
-
- \int_incr:N \l_@@_em_int
-
- \prop_get:NxNTF \g_@@_em_prop { switch-\int_use:N \l_@@_em_int } \l_@@_em_switch_tl
- { \l_@@_em_switch_tl }
- {
- \int_zero:N \l_@@_em_int
- \emreset
- }
-
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\emph}
-% \begin{macro}{\emshape}
-% \begin{macro}{\eminnershape}
-% \begin{macro}{\emreset}
-% \begin{macrocode}
-\DeclareTextFontCommand{\emph}{\em}
-\cs_set:Npn \emreset { \upshape }
-\cs_set:Npn \emshape { \itshape }
-\cs_set:Npn \eminnershape { \upshape }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-\emfontdeclare{ \emshape, \eminnershape }
-\cs_new:Nn \fontspec_set_em_level:n { \int_set:Nn \l_@@_em_int {#1} }
-% \end{macrocode}
-%
-% \begin{macrocode}
-}
-% \end{macrocode}
%
%
%
@@ -271,7 +125,6 @@
\cs_set:Npn \reset@font
{
\normalfont
- \int_zero:N \l_@@_em_int
\int_zero:N \l_@@_strong_int
}
% \end{macrocode}
@@ -298,7 +151,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-code.ltx b/Master/texmf-dist/source/latex/fontspec/fontspec-code.ltx
index 1dcdea07cbb..5ee01ccc80c 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code.ltx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code.ltx
@@ -30,7 +30,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-api.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-api.tex
index 3ef857e9143..42970e3f37b 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-api.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-api.tex
@@ -339,7 +339,7 @@ OpenType language tag |#1|.
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-enc.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-enc.tex
index 2a706a6252c..8ab667b288c 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-enc.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-enc.tex
@@ -204,7 +204,7 @@ the process of defining Unicode font range encodings:
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-featset.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-featset.tex
index 90b1019561e..4bb75d14b5e 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-featset.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-featset.tex
@@ -150,6 +150,8 @@ features requested.
\feat{BoldItalicFeatures}\texttt=\marg{features} \\
\feat{SlantedFeatures}\texttt=\marg{features} \\
\feat{BoldSlantedFeatures}\texttt=\marg{features} \\
+ \feat{SwashFeatures}\texttt=\marg{features} \\
+ \feat{BoldSwashFeatures}\texttt=\marg{features} \\
\feat{SmallCapsFeatures}\texttt=\marg{features} \\
\feat{UprightFeatures}\texttt=\marg{features}
}
@@ -160,8 +162,7 @@ feature options that are completely unavailable in the upright shapes.
The font features defined at the top level of the optional \cmd\fontspec\
argument are applied to \emph{all} shapes of the family.
-Using \feat{Upright-}, \feat{SmallCaps-}, \feat{Bold-},
-\feat{Italic-}, and \feat{BoldItalicFeatures},
+Using the \feat{xxFeatures} options shown above,
separate font features may be defined to their respective shapes
\emph{in addition} to, and with precedence over, the `global' font features.
See \exref{itfeat}.
@@ -178,7 +179,7 @@ Note that because most fonts include their small caps glyphs
within the main font, features specified with \feat{SmallCapsFeatures} are applied \emph{in addition} to
any other shape-specific features as defined above, and hence \feat{SmallCapsFeatures}
can be nested within \feat{ItalicFeatures} and friends. Every combination
-of upright, italic, bold and small caps can thus be assigned individual
+of upright, italic, bold, (etc.), and small caps can thus be assigned individual
features, as shown in the somewhat ludicrous \exref{scfeat}.
\begin{Xexample}{scfeat}{An example of setting the \feat{SmallCapsFeatures}
@@ -326,7 +327,7 @@ Features introduced in this section may be used with any font.
the text.
You should think of this as the literal glyphs of the font being coloured in a certain way.
Notably, this mechanism is different to that of the \pkg{color}/\pkg{xcolor}/\pkg{hyperref}/etc.\ packages, and in fact using \pkg{fontspec} commands to set colour will prevent your text from changing colour using those packages at all!
-For example, if you set the colour in a \verb|\setmainfont| command, \verb|\color{...}| and related commands, including hyperlink colouring, will no longer have any effect on text in this font.)
+(For example, if you set the colour in a \verb|\setmainfont| command, \verb|\color{...}| and related commands, including hyperlink colouring, will no longer have any effect on text in this font.)
Therefore, \pkg{fontspec}'s colour commands are best used to set explicit colours in specific situations, and the \pkg{xcolor} package is recommended for more general colour functionality.
The colour is defined as a triplet of two-digit Hex RGB
@@ -417,10 +418,9 @@ automatically.
\subsection{Interword space}
-While the space between words can be varied on an individual
-basis with the \TeX\ primitive \cmd\spaceskip\ command, it is
-more convenient to specify this information when the font is
-first defined.
+While the space between words can be varied with the \TeX\ primitive
+\cmd\spaceskip\ command, \pkg{fontspec} also supports changing the
+interword spacing when a given font is loaded.
The space in between words in a paragraph will be chosen automatically,
and generally will not need to be adjusted. For those
@@ -454,10 +454,7 @@ use this feature in \cs{addfontfeatures}.
\subsection{Post-punctuation space}
-If \cmd\frenchspacing\ is \emph{not} in effect, \TeX\ will allow extra
-space after some punctuation in its goal of justifying the lines of text.
-Generally, this is considered old-fashioned, but occasionally in small amounts the
-effect can be justified, pardon the pun.
+If \cmd\frenchspacing\ is \emph{not} in effect (which is the default), \TeX\ will allow extra space after some punctuation in its goal of justifying the lines of text.
The \feat{PunctuationSpace} feature takes a scaling factor by which to
adjust the nominal value chosen for the font; this is demonstrated in
@@ -569,14 +566,14 @@ of font size. For example, something like:
In rare situations users may want to mechanically distort the shapes of the glyphs in the current font such as shown in \exref{fake}. Please don't overuse these features; they are \emph{not} a good alternative to having the real shapes.
\begin{Xexample}{fake}{Articifial font transformations.}
- \fontspec{Quattrocento.otf} \emph{ABCxyz} \quad
- \fontspec{Quattrocento.otf}[FakeSlant=0.2] ABCxyz
+ \fontspec{Quattrocento-Regular.otf} \emph{ABCxyz} \quad
+ \fontspec{Quattrocento-Regular.otf}[FakeSlant=0.2] ABCxyz
- \fontspec{Quattrocento.otf} ABCxyz \quad
- \fontspec{Quattrocento.otf}[FakeStretch=1.2] ABCxyz
+ \fontspec{Quattrocento-Regular.otf} ABCxyz \quad
+ \fontspec{Quattrocento-Regular.otf}[FakeStretch=1.2] ABCxyz
- \fontspec{Quattrocento.otf} \textbf{ABCxyz} \quad
- \fontspec{Quattrocento.otf}[FakeBold=1.5] ABCxyz
+ \fontspec{Quattrocento-Regular.otf} \textbf{ABCxyz} \quad
+ \fontspec{Quattrocento-Regular.otf}[FakeBold=1.5] ABCxyz
\end{Xexample}
If values are omitted, their defaults are as shown above.
@@ -617,7 +614,7 @@ Also see the OpenType \opt{Uppercase} option of the \feat{Letters} feature (\vre
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex
index 85ad1ea75d0..d6ac139ef61 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex
@@ -356,6 +356,8 @@ in \exref{nfface}, which is repeated in \vref{sec:contextuals}.
\feat{~BoldItalicFont} = \meta{font name} \\
\feat{SlantedFont} = \meta{font name} \\
\feat{BoldSlantedFont} = \meta{font name} \\
+ \feat{SwashFont} = \meta{font name} \\
+ \feat{BoldSwashFont} = \meta{font name} \\
\feat{SmallCapsFont} = \meta{font name} \\
\feat{UprightFont} = \meta{font name}
}
@@ -385,23 +387,12 @@ feature is provided.
-\subsubsection{Small caps and slanted font shapes}
-
-When a font family has both slanted \emph{and} italic shapes, these may be specified separately using the analogous features \feat{SlantedFont} and \feat{BoldSlantedFont}.
-Without these, however, the \LaTeX\ font switches for slanted (\cs{textsl}, \cs{slshape}) will default to the italic shape.
+\subsubsection{Small caps shapes}
For modern OpenType fonts, small caps glyphs are included within a fontface and \pkg{fontspec} will automatically detect them
for use with the \cs{textsc} and \cs{scshape} commands.
Pre-OpenType, it was common for font families to be distributed with small caps glyphs in separate fonts, due to the limitations on the number of glyphs allowed in the PostScript Type~1 format.
-Such fonts may be used by declaring the \feat{SmallCapsFont} of the family you are specifying:
-\begin{Verbatim}
- \setmainfont{Minion MM Roman}[
- SmallCapsFont={Minion MM Small Caps & Oldstyle Figures}
- ]
- Roman 123 \\ \textsc{Small caps 456}
-\end{Verbatim}
-In fact, this example is overly simplistic since it does not cover the other shapes in a font family.
-You should specify the small caps font for each individual bold and italic shape as in
+Such fonts may be used by declaring the \feat{SmallCapsFont} for each font of the family you are specifying:
\begin{Verbatim}
\setmainfont{ <upright> }[
UprightFeatures = { SmallCapsFont={ <sc> } } ,
@@ -426,6 +417,39 @@ should write instead, if necessary,
]
\end{Verbatim}
+
+\subsubsection{Slanted font shapes}
+
+When a font family has both slanted \emph{and} italic shapes, these may be specified separately using the analogous features \feat{SlantedFont} and \feat{BoldSlantedFont}.
+Without these, however, the \LaTeX\ font switches for slanted (\cs{textsl}, \cs{slshape}) will default to the italic shape.
+
+
+\subsubsection{Swash font shapes}
+
+Swash font shapes in a family is supported by \LaTeX's commands \cs{textsw} and \cs{swshape}. These commands assume that swash shapes are in a sense `parallel' to italic shapes --- for instance, writing both \cs{swshape} and \cs{itshape} would not result in an italic swash shape (you would get whichever was declared last).
+The \pkg{fontspec} package adopts this approach, while recognising that OpenType fonts in theory could have any crazy combination of shapes such as `italic swash small caps'.
+Attempting to support arbitrarily complex situations makes setup (and the code) more difficult with let's say infrequent benefit --- \pkg{fontspec}'s alternate feature selection mechanisms (such as verb|\addfontfeature{Style=Swash}|) can be used in such situations.
+
+Therefore, setup is quite simple:
+\begin{Verbatim}
+ \setmainfont{...}[
+ SwashFont = {...} ,
+ BoldSwashFont = {...} ,
+ ]
+\end{Verbatim}
+No assumptions are made about the |+swsh| OpenType feature availability, and if desired the `Swash' feature needs to be explicitly requested as in:
+\begin{Verbatim}
+ \setmainfont{...}[
+ SwashFont = {...} ,
+ SwashFeatures = {Style=Swash} ,
+ ...
+ ]
+\end{Verbatim}
+This may become more automatic in the future.
+
+
+
+
\subsection{Specifically choosing the \NFSS\ family}
In \LaTeX's \NFSS, font families are defined with names such as `\texttt{ppl}' (Palatino), `\texttt{lmr}' (Latin Modern Roman), and so on, which are selected with the \cs{fontfamily} command:
@@ -617,7 +641,7 @@ if it were a `naked' control sequence; \eg, `|M. \fontspec{...} N|' and
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-intro.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-intro.tex
index 7f32adb0099..4e913b61073 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-intro.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-intro.tex
@@ -184,7 +184,7 @@ An example for setting up a font family for use with \cs{strong} is discussed in
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-luatex.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-luatex.tex
index 7365160b498..e0ed5881d69 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-luatex.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-luatex.tex
@@ -26,7 +26,7 @@ From 2019 the possibility of using the Harfbuzz text shaping engine within \LuaT
been developed by Khaled Hosny. When running a suitable \LuaTeX\ engine with Harfbuzz support, \pkg{fontspec} provides the following options:
\begin{itemize}
-\item \feat{Renderer} = \opt{Harfbuzz} : use the Harfbuzz engine without an explicit `shaper'.
+\item \feat{Renderer} = \opt{HarfBuzz} : use the Harfbuzz engine without an explicit `shaper' (the old \opt{Harfbuzz} name is kept for compatibility).
\item \feat{Renderer} = \opt{OpenType} : use the Harfbuzz engine with the OpenType shaper.
\item \feat{Renderer} = \opt{AAT} : use the Harfbuzz engine with the AAT shaper.
\item \feat{Renderer} = \opt{Graphite} : use the Harfbuzz engine with the Graphite shaper.
@@ -81,7 +81,7 @@ Please refer to the \LuaTeX/\pkg{luaotfload} documentation for more details.
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-opentype.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-opentype.tex
index fb08645abb5..3d6aa4601bd 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-opentype.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-opentype.tex
@@ -1171,12 +1171,13 @@ selected numerically such as for the \feat{Annotation} feature.
\begin{features}{Style}
\otf*{Alternate}{salt}
+\otf*{Cursive}{curs}
+\otf*{Historic}{hist}
\otf*{Italic}{ital}
\otf*{Ruby}{ruby}
\otf*{Swash}{swsh}
-\otf*{Cursive}{curs}
-\otf*{Historic}{hist}
\otf*{Titling}{titl}
+\otf*{Uppercase}{case}
\otf*{HorizontalKana}{hkna}
\otf*{VerticalKana}{vkna}
\cmidrule{2-4}
@@ -1195,7 +1196,7 @@ particular substitutions are organised with which feature largely up to the font
\begin{Xexample}[firstline=2]{style-alt}{Example of the \opt{Alternate} option of the \feat{Style} feature.}
\Large
- \fontspec{Quattrocento.otf}
+ \fontspec{Quattrocento-Regular.otf}
M Q W \\
\addfontfeature{Style=Alternate}
M Q W
@@ -1466,7 +1467,7 @@ however; please get in touch if there are improvements that could be made.
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-xetex.tex b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-xetex.tex
index 5c1e3e3e7d4..4f1369ddd6d 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-xetex.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-xetex.tex
@@ -282,7 +282,7 @@ options: \opt{Off},
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-lua.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-lua.dtx
index fdbe11e9d18..0ec31271885 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-lua.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-lua.dtx
@@ -89,7 +89,7 @@ end
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
index 5d07989465f..e6d8105a7af 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
@@ -70,7 +70,7 @@
\ProvidesExplFile{fontspec.dtx}
%</dtx>
%<*fontspec>
- {2020/02/21}{2.7i}{Font selection for XeLaTeX and LuaLaTeX}
+ {2022/01/15}{2.8a}{Font selection for XeLaTeX and LuaLaTeX}
%</fontspec>
% \end{macrocode}
%
@@ -89,8 +89,8 @@
%<lua>local fontspec = fontspec
%<lua>fontspec.module = {
%<lua> name = "fontspec",
-%<lua> version = "2.7i",
-%<lua> date = "2020/02/21",
+%<lua> version = "2.8a",
+%<lua> date = "2022/01/15",
%<lua> description = "Font selection for XeLaTeX and LuaLaTeX",
%<lua> author = "Khaled Hosny, Philipp Gesang, Will Robertson",
%<lua> copyright = "Khaled Hosny, Philipp Gesang, Will Robertson",
@@ -104,7 +104,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec.ins b/Master/texmf-dist/source/latex/fontspec/fontspec.ins
index adace502d2f..be45e40b826 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec.ins
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec.ins
@@ -48,7 +48,7 @@ the conditions of the LaTeX Project Public License, version 1.3c or higher
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec.ltx b/Master/texmf-dist/source/latex/fontspec/fontspec.ltx
index b4979486961..239069ff7ea 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec.ltx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec.ltx
@@ -28,7 +28,7 @@
% ------------------------------------------------
% The FONTSPEC package <wspr.io/fontspec>
% ------------------------------------------------
-% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2004-2022 Will Robertson, LPPL "maintainer"
% Copyright 2009-2015 Khaled Hosny
% Copyright 2013 Philipp Gesang
% Copyright 2013-2016 Joseph Wright
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}