summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-03-14 20:56:10 +0000
committerKarl Berry <karl@freefriends.org>2019-03-14 20:56:10 +0000
commitc246f6145fce9bea420e9a89bc56885de57855e5 (patch)
tree6bffcc60d0e6473b9b074bcb330e2ed1414dd1b7 /Master
parentf325d429c265c8eb01cd3b572d5f96207ae8cafa (diff)
fontspec (14mar19)
git-svn-id: svn://tug.org/texlive/trunk@50387 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/fontspec/CHANGES.md7
-rw-r--r--Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdfbin636361 -> 637164 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fontspec/fontspec.pdfbin690207 -> 690085 bytes
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx9
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx2
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx32
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex4
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-doc-style.sty4
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec.dtx6
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty43
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty43
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec.lua4
-rw-r--r--Master/texmf-dist/tex/latex/fontspec/fontspec.sty2
13 files changed, 92 insertions, 64 deletions
diff --git a/Master/texmf-dist/doc/latex/fontspec/CHANGES.md b/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
index 8051191ed1c..4fc699d0bed 100644
--- a/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
+++ b/Master/texmf-dist/doc/latex/fontspec/CHANGES.md
@@ -1,6 +1,13 @@
Change history
==============
+## v2.7c (2019/03/15)
+
+ * Two optimisations reduce time for font definitions with a large number of
+ `FontFace` options. Thanks to Bob Tennent for the test file and bringing
+ the problem to my attention.
+
+
## v2.7b (2019/02/12)
* Fix regression in loading `Language=Turkish`. This now allows users to define more
diff --git a/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf b/Master/texmf-dist/doc/latex/fontspec/fontspec-code.pdf
index 443c93d0447..2d68690c48b 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 1ef90965884..594815b8680 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-internal.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
index a195afa3b16..50ae7498cd3 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-internal.dtx
@@ -713,12 +713,15 @@
\cs_new:Nn \@@_declare_shape:nnnn
{
%<debug>\typeout{=~ declare_shape:~{\l_fontspec_fontname_tl}~{#1}~{#2}}
- \tl_clear:N \l_@@_nfss_tl
- \tl_clear:N \l_@@_nfss_sc_tl
+ \tl_build_begin:N \l_@@_nfss_tl
+ \tl_build_begin:N \l_@@_nfss_sc_tl
\tl_set_eq:NN \l_@@_saved_fontname_tl \l_fontspec_fontname_tl
\exp_args:Nx \clist_map_inline:nn {#4} { \@@_setup_single_size:nn {#3} {##1} }
+ \tl_build_end:N \l_@@_nfss_tl
+ \tl_build_end:N \l_@@_nfss_sc_tl
+
\@@_declare_shapes_normal:nn {#1} {#2}
\@@_declare_shapes_smcaps:nn {#1} {#2}
\@@_declare_shape_slanted:nn {#1} {#2}
@@ -791,7 +794,7 @@
\tl_set:Nx \l_@@_scale_tl { s*[\l_@@_scale_tl] }
}
- \tl_put_right:Nx #1
+ \tl_build_put_right:Nx #1
{
<\l_@@_size_tl> \l_@@_scale_tl
\@@_construct_font_call:nn { \l_fontspec_fontname_tl }
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 db10ba9ca70..b68bb8bbded 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-keyval.dtx
@@ -407,7 +407,7 @@
% \paragraph{NFSS series/shape}
% This option looks similar in name but has a very different function.
% \begin{macrocode}
-\@@_keys_define_code:nnn {fontspec} {FontFace}
+\@@_keys_define_code:nnn {fontspec-preparse} {FontFace}
{
\tl_clear:N \l_@@_this_font_tl
\clist_set:No \l_@@_arg_clist { \use_iii:nnn #1 }
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 1d408074909..4f1bdd2d564 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-code-xfss.dtx
@@ -31,22 +31,26 @@
% These are the combinations to support:
% \begin{macrocode}
\cs_new:Nn \@@_shape_merge:nn { c_@@_shape_#1_#2_tl }
-\tl_const:cn { \@@_shape_merge:nn \itdefault \scdefault } {\itscdefault}
-\tl_const:cn { \@@_shape_merge:nn \sldefault \scdefault } {\slscdefault}
-\tl_const:cn { \@@_shape_merge:nn \scdefault \itdefault } {\itscdefault}
-\tl_const:cn { \@@_shape_merge:nn \scdefault \sldefault } {\slscdefault}
-\tl_const:cn { \@@_shape_merge:nn \slscdefault \itdefault } {\itscdefault}
-\tl_const:cn { \@@_shape_merge:nn \itscdefault \sldefault } {\slscdefault}
-\tl_const:cn { \@@_shape_merge:nn \itscdefault \updefault } {\scdefault}
-\tl_const:cn { \@@_shape_merge:nn \slscdefault \updefault } {\scdefault}
+\cs_new:Nn \@@_merge_default_shapes:
+ {
+ \tl_const:cn { \@@_shape_merge:nn \itdefault \scdefault } {\itscdefault}
+ \tl_const:cn { \@@_shape_merge:nn \sldefault \scdefault } {\slscdefault}
+ \tl_const:cn { \@@_shape_merge:nn \scdefault \itdefault } {\itscdefault}
+ \tl_const:cn { \@@_shape_merge:nn \scdefault \sldefault } {\slscdefault}
+ \tl_const:cn { \@@_shape_merge:nn \slscdefault \itdefault } {\itscdefault}
+ \tl_const:cn { \@@_shape_merge:nn \itscdefault \sldefault } {\slscdefault}
+ \tl_const:cn { \@@_shape_merge:nn \itscdefault \updefault } {\scdefault}
+ \tl_const:cn { \@@_shape_merge:nn \slscdefault \updefault } {\scdefault}
+ }
+\@@_merge_default_shapes:
% \end{macrocode}
%
-% \begin{macro}{\fontspec_merge_shape:n}
+% \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 \fontspec_merge_shape:n
+\cs_new:Nn \@@_merge_shape:n
{
\@@_if_merge_shape:nTF {#1}
{ \fontshape { \tl_use:c { \@@_shape_merge:nn {\f@shape} {#1} } } \selectfont }
@@ -78,22 +82,22 @@
\DeclareRobustCommand \itshape
{
\not@math@alphabet\itshape\mathit
- \fontspec_merge_shape:n\itdefault
+ \@@_merge_shape:n\itdefault
}
\DeclareRobustCommand \slshape
{
\not@math@alphabet\slshape\relax
- \fontspec_merge_shape:n\sldefault
+ \@@_merge_shape:n\sldefault
}
\DeclareRobustCommand \scshape
{
\not@math@alphabet\scshape\relax
- \fontspec_merge_shape:n\scdefault
+ \@@_merge_shape:n\scdefault
}
\DeclareRobustCommand \upshape
{
\not@math@alphabet\upshape\relax
- \fontspec_merge_shape:n\updefault
+ \@@_merge_shape:n\updefault
}
% \end{macrocode}
% \end{macro} \end{macro} \end{macro} \end{macro}
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 5174a421d75..c1900322c09 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-fontsel.tex
@@ -57,7 +57,7 @@ ad hoc commands best suited for testing and loading fonts on a one-off basis.
All of the commands listed above accept comma-separated
\meta{font feature}=\meta{option} lists; these are described later:
-\begin{itemize}[nosep]
+\begin{itemize}
\item For general font features, see \vref{sec:font-ind-features}
\item For OpenType fonts, see Part~\vref{sec:opentype-features}
\item For \XeTeX-only general font features, see Part~\vref{sec:xetex-features}
@@ -329,7 +329,7 @@ A legacy \TeX\ font. {\unicodefont A unicode font.}
\cmdbox{%
\CMD{\string\newfontface}\meta{cmd}\marg{font}\oarg{font features}\\
\CMD{\string\setfontface}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}\\
- \CMD{\string\renewfontface}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}
+ \CMD{\string\renewfontface}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}\\
\CMD{\string\providefontface}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}
}
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-style.sty b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-style.sty
index f5030a2bc90..43fbc38442f 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec-doc-style.sty
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-doc-style.sty
@@ -5,8 +5,8 @@
\input{fontspec.dtx}
\ExplSyntaxOff
-\usepackage{fontspec,booktabs,calc,caption,color,enumitem,flafter,fancyvrb,hologo,graphicx,
- ifthen,url,varioref,varwidth,microtype,tocloft,framed,xparse,docmute}
+\usepackage{fontspec,booktabs,caption,xcolor,flafter,fancyvrb,hologo,graphicx,
+ url,varioref,varwidth,microtype,tocloft,framed,xparse,docmute}
%% Various labelling commands:
\newcommand*\name[1]{{#1}}
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
index 78dc706b88b..32d51078ce1 100644
--- a/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec.dtx
@@ -71,7 +71,7 @@
\ProvidesExplFile{fontspec.dtx}
%</dtx>
%<*fontspec>
- {2019/02/12}{2.7b}{Font selection for XeLaTeX and LuaLaTeX}
+ {2019/03/15}{2.7c}{Font selection for XeLaTeX and LuaLaTeX}
%</fontspec>
% \end{macrocode}
%
@@ -90,8 +90,8 @@
%<lua>local fontspec = fontspec
%<lua>fontspec.module = {
%<lua> name = "fontspec",
-%<lua> version = "2.7b",
-%<lua> date = "2019/02/12",
+%<lua> version = "2.7c",
+%<lua> date = "2019/03/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",
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
index 987a42e5d85..da486464f58 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
@@ -41,7 +41,7 @@
\RequirePackage{xparse}
\ProvidesExplPackage{fontspec-luatex}%
- {2019/02/12}{2.7b}{Font selection for XeLaTeX and LuaLaTeX}
+ {2019/03/15}{2.7c}{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>
@@ -1585,12 +1585,15 @@
}
\cs_new:Nn \__fontspec_declare_shape:nnnn
{
- \tl_clear:N \l__fontspec_nfss_tl
- \tl_clear:N \l__fontspec_nfss_sc_tl
+ \tl_build_begin:N \l__fontspec_nfss_tl
+ \tl_build_begin:N \l__fontspec_nfss_sc_tl
\tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
\exp_args:Nx \clist_map_inline:nn {#4} { \__fontspec_setup_single_size:nn {#3} {##1} }
+ \tl_build_end:N \l__fontspec_nfss_tl
+ \tl_build_end:N \l__fontspec_nfss_sc_tl
+
\__fontspec_declare_shapes_normal:nn {#1} {#2}
\__fontspec_declare_shapes_smcaps:nn {#1} {#2}
\__fontspec_declare_shape_slanted:nn {#1} {#2}
@@ -1644,7 +1647,7 @@
\tl_set:Nx \l__fontspec_scale_tl { s*[\l__fontspec_scale_tl] }
}
- \tl_put_right:Nx #1
+ \tl_build_put_right:Nx #1
{
<\l__fontspec_size_tl> \l__fontspec_scale_tl
\__fontspec_construct_font_call:nn { \l_fontspec_fontname_tl }
@@ -2304,7 +2307,7 @@
{
\tl_set:Nx \l__fontspec_nfss_fam_tl { #1 }
}
-\__fontspec_keys_define_code:nnn {fontspec} {FontFace}
+\__fontspec_keys_define_code:nnn {fontspec-preparse} {FontFace}
{
\tl_clear:N \l__fontspec_this_font_tl
\clist_set:No \l__fontspec_arg_clist { \use_iii:nnn #1 }
@@ -3746,15 +3749,19 @@
}
\DeclareTextFontCommand{\textsi}{\sishape}
\cs_new:Nn \__fontspec_shape_merge:nn { c__fontspec_shape_#1_#2_tl }
-\tl_const:cn { \__fontspec_shape_merge:nn \itdefault \scdefault } {\itscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \sldefault \scdefault } {\slscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \itdefault } {\itscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \sldefault } {\slscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \itdefault } {\itscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \sldefault } {\slscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \updefault } {\scdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \updefault } {\scdefault}
-\cs_new:Nn \fontspec_merge_shape:n
+\cs_new:Nn \__fontspec_merge_default_shapes:
+ {
+ \tl_const:cn { \__fontspec_shape_merge:nn \itdefault \scdefault } {\itscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \sldefault \scdefault } {\slscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \scdefault \itdefault } {\itscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \scdefault \sldefault } {\slscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \itdefault } {\itscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \sldefault } {\slscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \updefault } {\scdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \updefault } {\scdefault}
+ }
+\__fontspec_merge_default_shapes:
+\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 }
@@ -3776,22 +3783,22 @@
\DeclareRobustCommand \itshape
{
\not@math@alphabet\itshape\mathit
- \fontspec_merge_shape:n\itdefault
+ \__fontspec_merge_shape:n\itdefault
}
\DeclareRobustCommand \slshape
{
\not@math@alphabet\slshape\relax
- \fontspec_merge_shape:n\sldefault
+ \__fontspec_merge_shape:n\sldefault
}
\DeclareRobustCommand \scshape
{
\not@math@alphabet\scshape\relax
- \fontspec_merge_shape:n\scdefault
+ \__fontspec_merge_shape:n\scdefault
}
\DeclareRobustCommand \upshape
{
\not@math@alphabet\upshape\relax
- \fontspec_merge_shape:n\updefault
+ \__fontspec_merge_shape:n\updefault
}
\cs_new_protected:Npn \emfontdeclare #1
{
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
index ba9bcca405c..84672a8a2f3 100644
--- a/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
+++ b/Master/texmf-dist/tex/latex/fontspec/fontspec-xetex.sty
@@ -41,7 +41,7 @@
\RequirePackage{xparse}
\ProvidesExplPackage{fontspec-xetex}%
- {2019/02/12}{2.7b}{Font selection for XeLaTeX and LuaLaTeX}
+ {2019/03/15}{2.7c}{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>
@@ -1602,12 +1602,15 @@
}
\cs_new:Nn \__fontspec_declare_shape:nnnn
{
- \tl_clear:N \l__fontspec_nfss_tl
- \tl_clear:N \l__fontspec_nfss_sc_tl
+ \tl_build_begin:N \l__fontspec_nfss_tl
+ \tl_build_begin:N \l__fontspec_nfss_sc_tl
\tl_set_eq:NN \l__fontspec_saved_fontname_tl \l_fontspec_fontname_tl
\exp_args:Nx \clist_map_inline:nn {#4} { \__fontspec_setup_single_size:nn {#3} {##1} }
+ \tl_build_end:N \l__fontspec_nfss_tl
+ \tl_build_end:N \l__fontspec_nfss_sc_tl
+
\__fontspec_declare_shapes_normal:nn {#1} {#2}
\__fontspec_declare_shapes_smcaps:nn {#1} {#2}
\__fontspec_declare_shape_slanted:nn {#1} {#2}
@@ -1661,7 +1664,7 @@
\tl_set:Nx \l__fontspec_scale_tl { s*[\l__fontspec_scale_tl] }
}
- \tl_put_right:Nx #1
+ \tl_build_put_right:Nx #1
{
<\l__fontspec_size_tl> \l__fontspec_scale_tl
\__fontspec_construct_font_call:nn { \l_fontspec_fontname_tl }
@@ -2419,7 +2422,7 @@
{
\tl_set:Nx \l__fontspec_nfss_fam_tl { #1 }
}
-\__fontspec_keys_define_code:nnn {fontspec} {FontFace}
+\__fontspec_keys_define_code:nnn {fontspec-preparse} {FontFace}
{
\tl_clear:N \l__fontspec_this_font_tl
\clist_set:No \l__fontspec_arg_clist { \use_iii:nnn #1 }
@@ -4014,15 +4017,19 @@
}
\DeclareTextFontCommand{\textsi}{\sishape}
\cs_new:Nn \__fontspec_shape_merge:nn { c__fontspec_shape_#1_#2_tl }
-\tl_const:cn { \__fontspec_shape_merge:nn \itdefault \scdefault } {\itscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \sldefault \scdefault } {\slscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \itdefault } {\itscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \scdefault \sldefault } {\slscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \itdefault } {\itscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \sldefault } {\slscdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \updefault } {\scdefault}
-\tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \updefault } {\scdefault}
-\cs_new:Nn \fontspec_merge_shape:n
+\cs_new:Nn \__fontspec_merge_default_shapes:
+ {
+ \tl_const:cn { \__fontspec_shape_merge:nn \itdefault \scdefault } {\itscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \sldefault \scdefault } {\slscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \scdefault \itdefault } {\itscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \scdefault \sldefault } {\slscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \itdefault } {\itscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \sldefault } {\slscdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \itscdefault \updefault } {\scdefault}
+ \tl_const:cn { \__fontspec_shape_merge:nn \slscdefault \updefault } {\scdefault}
+ }
+\__fontspec_merge_default_shapes:
+\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 }
@@ -4044,22 +4051,22 @@
\DeclareRobustCommand \itshape
{
\not@math@alphabet\itshape\mathit
- \fontspec_merge_shape:n\itdefault
+ \__fontspec_merge_shape:n\itdefault
}
\DeclareRobustCommand \slshape
{
\not@math@alphabet\slshape\relax
- \fontspec_merge_shape:n\sldefault
+ \__fontspec_merge_shape:n\sldefault
}
\DeclareRobustCommand \scshape
{
\not@math@alphabet\scshape\relax
- \fontspec_merge_shape:n\scdefault
+ \__fontspec_merge_shape:n\scdefault
}
\DeclareRobustCommand \upshape
{
\not@math@alphabet\upshape\relax
- \fontspec_merge_shape:n\updefault
+ \__fontspec_merge_shape:n\updefault
}
\cs_new_protected:Npn \emfontdeclare #1
{
diff --git a/Master/texmf-dist/tex/latex/fontspec/fontspec.lua b/Master/texmf-dist/tex/latex/fontspec/fontspec.lua
index 81ba4d6cc29..2b8f73a8436 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.7b",
- date = "2019/02/12",
+ version = "2.7c",
+ date = "2019/03/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 0d60008ae5f..6a0eace2473 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}%
- {2019/02/12}{2.7b}{Font selection for XeLaTeX and LuaLaTeX}
+ {2019/03/15}{2.7c}{Font selection for XeLaTeX and LuaLaTeX}
%%^^A%% fontspec-code-load.dtx -- part of FONTSPEC <wspr.io/fontspec>
\sys_if_engine_luatex:T