summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec-immediate.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec-immediate.sty')
-rw-r--r--Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec-immediate.sty77
1 files changed, 70 insertions, 7 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec-immediate.sty b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec-immediate.sty
index 22209731d32..a0ee7b6dba4 100644
--- a/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec-immediate.sty
+++ b/Master/texmf-dist/tex/luatex/luatexja/patches/lltjp-fontspec-immediate.sty
@@ -8,22 +8,85 @@
\RequirePackage{fontspec,luatexja}
\ExplSyntaxOn
-\@ifpackagelater{fontspec}{2017/01/01}{
+% <= v2.6g uses \l__fontspec_nfss_enc_tl instead of \g__fontspec_nfss_enc_tl
+\ifdefined \g__fontspec_nfss_enc_tl \else
+ \def \g__fontspec_nfss_enc_tl { \l__fontspec_nfss_enc_tl }
+\fi
+
%%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont
+\@ifpackagelater{fontspec}{2018/07/29}{ %% 2.6h or later
+\cs_set:Nn \__fontspec_main_setmainfont:nn
+ {
+ \fontspec_set_family:Nnn \l__fontspec_rmfamily_family_tl {#1} {#2}
+ \tl_set_eq:NN \rmdefault \l__fontspec_rmfamily_family_tl
+ \use:x
+ {
+ \exp_not:n { \DeclareRobustCommand \rmfamily }
+ {
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \l__fontspec_rmfamily_family_tl }
+ \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\rmdefault}
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
+ \__fontspec_setmainfont_hook:nn {#1} {#2}
+ \normalfont
+ }
+\cs_set:Nn \__fontspec_main_setsansfont:nn
+ {
+ \fontspec_set_family:Nnn \l__fontspec_sffamily_family_tl {#1} {#2}
+ \tl_set_eq:NN \sfdefault \l__fontspec_sffamily_family_tl
+ \use:x
+ {
+ \exp_not:n { \DeclareRobustCommand \sffamily }
+ {
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \l__fontspec_sffamily_family_tl }
+ \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\sfdefault}
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
+ \__fontspec_setsansfont_hook:nn {#1} {#2}
+ \normalfont
+ }
+\cs_set:Nn \__fontspec_main_setmonofont:nn
+ {
+ \fontspec_set_family:Nnn \l__fontspec_ttfamily_family_tl {#1} {#2}
+ \tl_set_eq:NN \ttdefault \l__fontspec_ttfamily_family_tl
+ \use:x
+ {
+ \exp_not:n { \DeclareRobustCommand \ttfamily }
+ {
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
+ \exp_not:N \fontfamily { \l__fontspec_ttfamily_family_tl }
+ \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
+ \exp_not:N \selectfont
+ }
+ }
+ \str_if_eq_x:nnT {\familydefault} {\ttdefault}
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
+ \__fontspec_setmonofont_hook:nn {#1} {#2}
+ \normalfont
+ }
+}{ %% <= 2.6g
\DeclareDocumentCommand \setmainfont { O{} m O{} }
{
\fontspec_set_family:Nnn \g__fontspec_rmfamily_family {#1,#3} {#2}
\tl_set_eq:NN \rmdefault \g__fontspec_rmfamily_family
\use:x { \exp_not:n { \DeclareRobustCommand \rmfamily }
{
- \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
\exp_not:N \fontfamily { \g__fontspec_rmfamily_family }
\exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
\exp_not:N \selectfont
}
}
\str_if_eq_x:nnT {\familydefault} {\rmdefault}
- { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
@@ -33,14 +96,14 @@
\tl_set_eq:NN \sfdefault \g__fontspec_sffamily_family
\use:x { \exp_not:n { \DeclareRobustCommand \sffamily }
{
- \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
\exp_not:N \fontfamily { \g__fontspec_sffamily_family }
\exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
\exp_not:N \selectfont
}
}
\str_if_eq_x:nnT {\familydefault} {\sfdefault}
- { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}
@@ -50,14 +113,14 @@
\tl_set_eq:NN \ttdefault \g__fontspec_ttfamily_family
\use:x { \exp_not:n { \DeclareRobustCommand \ttfamily }
{
- \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
+ \exp_not:N \fontencoding { \g__fontspec_nfss_enc_tl }
\exp_not:N \fontfamily { \g__fontspec_ttfamily_family }
\exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
\exp_not:N \selectfont
}
}
\str_if_eq_x:nnT {\familydefault} {\ttdefault}
- { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
+ { \tl_set_eq:NN \encodingdefault \g__fontspec_nfss_enc_tl }
\normalfont
\ignorespaces
}