OSDN Git Service

Fix #39431: support notdef=... (introduced in luaotfload v2.98)
[luatex-ja/luatexja.git] / src / addons / luatexja-fontspec-25c.sty
index b333011..9c67b70 100644 (file)
@@ -3,74 +3,20 @@
 %
 
 \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
 }