%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-25c}[2017/01/23 fontspec support of LuaTeX-ja]
-\RequirePackage{l3keys2e,luatexja}
+\ProvidesPackage{luatexja-fontspec-25c}[2019/05/14 fontspec support of LuaTeX-ja]
+\RequirePackage{l3keys2e}
\ExplSyntaxOn
%%%%%%%% Change Japanese font family by \rmfamily or not
\cs_new:Npn \ltj_fontspec_match_cmd {
\renewcommand\jttdefault{\gtdefault}
\@ltj@match@familytrue
- \DeclareDocumentCommand \setmonojfont { O{} m } {
- \ltj_fontspec_set_family:Nnn \jttdefault {##1}{##2}
+ \DeclareDocumentCommand \setmonojfont { O{} m O{} } {
+ \ltj_fontspec_set_family:Nnn \jttdefault {##1,##3}{##2}
\normalfont
}
}
-\bool_if:NT \ltj_fontspec_match_bool \ltj_fontspec_match_cmd
-
-%%%%%%%% fontspec v2.5c overwrites \rmfamily etc. in \setmainfont
-\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 \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 }
- \normalfont
- \ignorespaces
- }
-\DeclareDocumentCommand \setsansfont { O{} m O{} }
- {
- \fontspec_set_family:Nnn \g__fontspec_sffamily_family {#1,#3} {#2}
- \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 \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 }
- \normalfont
- \ignorespaces
- }
-\DeclareDocumentCommand \setmonofont { O{} m O{} }
- {
- \fontspec_set_family:Nnn \g__fontspec_ttfamily_family {#1,#3} {#2}
- \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 \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 }
- \normalfont
- \ignorespaces
- }
-
+\bool_if:NT \__ltj_fontspec_match_bool \ltj_fontspec_match_cmd
%%%%%%%% Messages
\msg_new:nnn {luatexja-fontspec} {addjfontfeatures-ignored}
Kerning/Off.code:n=\__fontspec_update_featstr:n {-kern}
}
\clist_set:Nx \g__fontspec_default_fontopts_clist {
- YokoFeatures = { JFM=ujis }, TateFeatures = { JFM=ujisv },
- Scale=\fp_use:N \g_ltj_fontspec_scale_fp, Kerning=Off,
+ YokoFeatures = { JFM=\ltj@stdyokojfm }, TateFeatures = { JFM=\ltj@stdtatejfm },
+ Scale=\Cjascale, Kerning=Off, Script=CJK,
\g__ltj_fontspec_default_fontopts_clist
}
\prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
\DeclareDocumentCommand \setmainjfont { O{} m O{} } {
\ltj_fontspec_set_family:Nnn \mcdefault {#1,#3}{#2}
- \DeclareSymbolFont{mincho}{JY3}{\l_fontspec_family_tl}{m}{n}
- \SetSymbolFont{mincho}{bold}{JY3}{\l_fontspec_family_tl}{bx}{n}
+ \unless\ifltj@disablejfam
+ \DeclareSymbolFont{mincho}{JY3}{\l_fontspec_family_tl}{\mddefault}{n}
+ \SetSymbolFont{mincho}{bold}{JY3}{\l_fontspec_family_tl}{\bfdefault}{n}
+ \fi
\normalfont
}
\DeclareDocumentCommand \setsansjfont { O{} m O{} } {
\ltj_fontspec_set_family:Nnn \gtdefault {#1,#3}{#2}
- \DeclareMathAlphabet{\mathgt}{JY3}{\l_fontspec_family_tl}{m}{n}
+ \unless\ifltj@disablejfam
+ \DeclareMathAlphabet{\mathgt}{JY3}{\l_fontspec_family_tl}{\mddefault}{n}
+ \fi
\normalfont
}