OSDN Git Service

#4
[luatex-ja/luatexja.git] / src / addons / luatexja-fontspec-27c.sty
index d872da8..76ebf87 100644 (file)
@@ -3,21 +3,15 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{luatexja-fontspec-27c}[2019/05/14 fontspec support of LuaTeX-ja]
+\ProvidesPackage{luatexja-fontspec-27c}[2024-02-19 fontspec support of LuaTeX-ja]
 \RequirePackage{l3keys2e}
 \ExplSyntaxOn
 
 %%%%%%%% Change Japanese font family by \rmfamily or not
-\cs_new:Npn \__ltj_fontspec_match_cmd {
+\bool_if:NT  \__ltj_fontspec_match_bool {
   \renewcommand\jttdefault{\gtdefault}
   \@ltj@match@familytrue
-  \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
-
 %%%%%%%% Messages
 \msg_new:nnn {luatexja-fontspec} {addjfontfeatures-ignored}
 {
 %% save and restore global variable
 \tl_new:N \g__ltj_fontspec_kanji_nfss_family_tl
 \tl_new:N \g__ltj_fontspec_orig_nfss_family_tl
-\seq_new:N \g__ltj_fontspec_kanji_bf_series_seq
-\seq_new:N \g__ltj_fontspec_orig_bf_series_seq
+\seq_new:N \l__ltj_fontspec_kanji_bf_series_seq
+\seq_new:N \l__ltj_fontspec_orig_bf_series_seq
 \clist_new:N \g__ltj_fontspec_kanji_default_fontopts_clist
 \clist_new:N \g__ltj_fontspec_orig_default_fontopts_clist
 
 \cs_new:Nn \__ltj_set_global_variable_for_kanji: {
   \tl_gset_eq:NN \g__ltj_fontspec_orig_nfss_family_tl \g__fontspec_nfss_family_tl
   \tl_gset_eq:NN \g__fontspec_nfss_family_tl \g__ltj_fontspec_kanji_nfss_family_tl
-  \seq_gset_eq:NN \g__ltj_fontspec_orig_bf_series_seq \g__fontspec_bf_series_seq
-  \seq_gset_eq:NN \g__fontspec_bf_series_seq \g__ltj_fontspec_kanji_bf_series_seq
+  \seq_set_eq:NN \l__ltj_fontspec_orig_bf_series_seq \l__fontspec_bf_series_seq
+  \seq_set_eq:NN \l__fontspec_bf_series_seq \l__ltj_fontspec_kanji_bf_series_seq
   %\seq_gclear:N \g__fontspec_bf_series_seq
   \clist_set_eq:NN \g__ltj_fontspec_orig_default_fontopts_clist \g__fontspec_default_fontopts_clist
   \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_kanji_default_fontopts_clist
 \cs_new:Nn \__ltj_restore_global_variable: {
   \tl_gset_eq:NN \g__ltj_fontspec_kanji_nfss_family_tl \g__fontspec_nfss_family_tl
   \tl_gset_eq:NN \g__fontspec_nfss_family_tl \g__ltj_fontspec_orig_nfss_family_tl
-  \seq_gset_eq:NN \g__ltj_fontspec_kanji_bf_series_seq \g__fontspec_bf_series_seq
-  \seq_gset_eq:NN \g__fontspec_bf_series_seq \g__ltj_fontspec_orig_bf_series_seq
+  \seq_set_eq:NN \l__ltj_fontspec_kanji_bf_series_seq \l__fontspec_bf_series_seq
+  \seq_set_eq:NN \l__fontspec_bf_series_seq \l__ltj_fontspec_orig_bf_series_seq
   \clist_set_eq:NN \g__ltj_fontspec_kanji_default_fontopts_clist \g__fontspec_default_fontopts_clist
   \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_orig_default_fontopts_clist
 }
       \l__fontspec_sizing_leftover_clist
     \tl_if_empty:NT \l__fontspec_size_tl { \__fontspec_error:n {no-size-info} }
 
-       \str_if_eq:nnTF { \g__fontspec_nfss_enc_tl } { JY3 } {
+       \str_if_eq:eeTF { \g__fontspec_nfss_enc_tl } { JY3 } {
       % "normal"
       \__fontspec_load_fontname:Nn \l_fontspec_fontname_tl {\l__fontspec_sizedfont_tl}
     } {
 %%% Altfont 内部処理部
 \cs_new:Nn \__ltj_fontspec_make_font_shapes_alt:Nnnnnn {
   \group_begin:
-    \str_if_eq:nnTF { #6 } { JY3 } {
+    \str_if_eq:eeTF { #6 } { JY3 } {
       \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape_yoko:nnxx
     }{
       \cs_set_eq:NN \__fontspec_declare_shape:nnxx \__ltj_fontspec_declare_shape_tate:nnxx
 }
 
 \DeclareDocumentCommand \setmainjfont { O{} m O{} } {
+  \ifdefined\DeclareFontSeriesDefault
+    \DeclareFontSeriesDefault[mc]{bf}{\bfdefault}
+  \fi
   \__ltj_fontspec_set_family:Nnn \mcdefault {#1,#3}{#2}
   \unless\ifltj@disablejfam
     \DeclareSymbolFont{mincho}{JY3}{\mcdefault}{\mddefault}{n}
 }
 
 \DeclareDocumentCommand \setsansjfont { O{} m O{} } {
+  \ifdefined\DeclareFontSeriesDefault
+    \DeclareFontSeriesDefault[gt]{bf}{\bfdefault}
+  \fi
   \__ltj_fontspec_set_family:Nnn \gtdefault {#1,#3}{#2}
   \unless\ifltj@disablejfam
     \DeclareMathAlphabet{\mathgt}{JY3}{\gtdefault}{\mddefault}{n}
   \normalfont
 }
 
+\DeclareDocumentCommand \setmonojfont { O{} m O{} } {
+  \ifdefined\DeclareFontSeriesDefault
+    \DeclareFontSeriesDefault[jtt]{bf}{\bfdefault}
+  \fi
+  \__ltj_fontspec_set_family:Nnn \jttdefault {#1,#3}{#2}
+  \normalfont
+}
+
 \DeclareDocumentCommand \newjfontfamily { m O{} m O{} } {
   \cs_set_eq:NN \fontspec_set_family:Nnn \__ltj_fontspec_set_family:Nnn
   \newfontfamily #1 [#2,#4] {#3}
   \newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2,#4 ] {#3}
 }
 
+\prop_new:N \l__ltj_fontspec_tmp_prop
 \prop_new:N \g__ltj_fontspec_fontopts_prop
 \DeclareDocumentCommand \defaultjfontfeatures { t+ o m }
  {