OSDN Git Service

luatexja-fontspec: Add \defaultjfontfeatures+.
authorKazuki Maeda <kmaeda@kmaeda.net>
Sat, 21 Jun 2014 04:08:34 +0000 (13:08 +0900)
committerKazuki Maeda <kmaeda@kmaeda.net>
Sat, 21 Jun 2014 04:08:34 +0000 (13:08 +0900)
src/addons/luatexja-fontspec-24.sty

index 894f3cf..29f0ed5 100644 (file)
   \tl_set:Nn \g_fontspec_encoding_tl {JY3}
   \clist_set:Nx \g__fontspec_default_fontopts_clist
              {JFM=ujis, Scale=\fp_use:N \g_ltj_fontspec_scale_fp,
-              Kerning=Off, \g_ltj_fontspec_default_fontopts_tl}
+              Kerning=Off, \g__ltj_fontspec_default_fontopts_clist}
   \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
   \cs_set_eq:NN \__fontspec_make_font_shapes:Nnnnn \ltj_fontspec_make_font_shapes:Nnnnn
   \cs_set_eq:NN \DeclareFontFamily \DeclareKanjiFamily
   \newjfontfamily #1 [ BoldFont={},ItalicFont={},SmallCapsFont={},#2 ] {#3}
 }
 
-\tl_new:N \g_ltj_fontspec_default_fontopts_tl
+\clist_new:N \g__ltj_fontspec_default_fontopts_clist
 \prop_new:N \g__ltj_fontspec_fontopts_prop
-\DeclareDocumentCommand \defaultjfontfeatures { o m }
+\DeclareDocumentCommand \defaultjfontfeatures { t+ o m }
  {
-  \IfNoValueTF {#1}
-   { \__ltj_fontspec_set_default_features:n {#2} }
-   { \__ltj_fontspec_set_font_default_features:nn {#1} {#2} }
+  \IfNoValueTF {#2}
+   { \__ltj_fontspec_set_default_features:nn {#1} {#3} }
+   { \__ltj_fontspec_set_font_default_features:nnn {#1} {#2} {#3} }
+  \ignorespaces
  }
-\cs_new:Nn \__ltj_fontspec_set_default_features:n
+\cs_new:Nn \__ltj_fontspec_set_default_features:nn
  {
-  \tl_set:Nn \g_ltj_fontspec_default_fontopts_tl {#1,}
+   \clist_set_eq:NN \l__ltj_fontspec_tmp_clist \g__fontspec_default_fontopts_clist
+   \clist_set_eq:NN \g__fontspec_default_fontopts_clist \g__ltj_fontspec_default_fontopts_clist
+   \__fontspec_set_default_features:nn {#1} {#2}
+   \clist_set_eq:NN \g__ltj_fontspec_default_fontopts_clist \g__fontspec_default_fontopts_clist
+   \clist_set_eq:NN \g__fontspec_default_fontopts_clist \l__ltj_fontspec_tmp_clist
  }
-\cs_new:Nn \__ltj_fontspec_set_font_default_features:nn
+\cs_new:Nn \__ltj_fontspec_set_font_default_features:nnn
  {
-  \__fontspec_sanitise_fontname:Nn \l__fontspec_tmp_tl {#1}
-  \tl_if_empty:nTF {#2}
-   { \prop_gremove:NV \g__ltj_fontspec_fontopts_prop \l__fontspec_tmp_tl }
-   { \prop_gput:NVn   \g__ltj_fontspec_fontopts_prop \l__fontspec_tmp_tl {#2} }
+   \prop_set_eq:NN \l__ltj_fontspec_tmp_prop \g__fontspec_fontopts_prop
+   \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop
+   \__fontspec_set_font_default_features:nnn {#1} {#2} {#3}
+   \prop_set_eq:NN \g__ltj_fontspec_fontopts_prop \g__fontspec_fontopts_prop
+   \prop_set_eq:NN \g__fontspec_fontopts_prop \l__ltj_fontspec_tmp_prop
  }
 
 \DeclareDocumentCommand \addjfontfeatures {m} {