OSDN Git Service

moved fontspec v2.5c support
[luatex-ja/luatexja.git] / src / patches / lltjp-fontspec-immediate.sty
1 %
2 % lltjp-fontspec-immediate.sty
3 %
4
5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{lltjp-fontspec-immediate}[2017/01/28 Patch to fontspec for LuaTeX-ja]
7
8 \RequirePackage{fontspec,luatexja}
9 \ExplSyntaxOn
10
11 \@ifpackagelater{fontspec}{2017/01/01}{
12 %%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont
13 \DeclareDocumentCommand \setmainfont { O{} m O{} }
14  {
15   \fontspec_set_family:Nnn \g__fontspec_rmfamily_family {#1,#3} {#2}
16   \tl_set_eq:NN \rmdefault \g__fontspec_rmfamily_family
17   \use:x { \exp_not:n { \DeclareRobustCommand \rmfamily }
18    {
19     \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
20     \exp_not:N \fontfamily { \g__fontspec_rmfamily_family }
21     \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\mcdefault\exp_not:N\fi%%%
22     \exp_not:N \selectfont
23    }
24   }
25   \str_if_eq_x:nnT {\familydefault} {\rmdefault}
26     { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
27   \normalfont
28   \ignorespaces
29  }
30 \DeclareDocumentCommand \setsansfont { O{} m O{} }
31  {
32   \fontspec_set_family:Nnn \g__fontspec_sffamily_family {#1,#3} {#2}
33   \tl_set_eq:NN \sfdefault \g__fontspec_sffamily_family
34   \use:x { \exp_not:n { \DeclareRobustCommand \sffamily }
35    {
36     \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
37     \exp_not:N \fontfamily { \g__fontspec_sffamily_family }
38     \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\gtdefault\exp_not:N\fi%%%
39     \exp_not:N \selectfont
40    }
41   }
42   \str_if_eq_x:nnT {\familydefault} {\sfdefault}
43     { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
44   \normalfont
45   \ignorespaces
46  }
47 \DeclareDocumentCommand \setmonofont { O{} m O{} }
48  {
49   \fontspec_set_family:Nnn \g__fontspec_ttfamily_family {#1,#3} {#2}
50   \tl_set_eq:NN \ttdefault \g__fontspec_ttfamily_family
51   \use:x { \exp_not:n { \DeclareRobustCommand \ttfamily }
52    {
53     \exp_not:N \fontencoding { \l__fontspec_nfss_enc_tl }
54     \exp_not:N \fontfamily { \g__fontspec_ttfamily_family }
55     \exp_not:N\if@ltj@match@family\exp_not:N\kanjifamily\exp_not:N\jttdefault\exp_not:N\fi%%%
56     \exp_not:N \selectfont
57    }
58   }
59   \str_if_eq_x:nnT {\familydefault} {\ttdefault}
60     { \tl_set_eq:NN \encodingdefault \l__fontspec_nfss_enc_tl }
61   \normalfont
62   \ignorespaces
63  }
64 }
65 \ExplSyntaxOff
66 \endinput
67