From ef11f9797a0032405f518a82bdda918a5958a8de Mon Sep 17 00:00:00 2001 From: Kazuki Maeda Date: Sat, 21 Jun 2014 13:08:34 +0900 Subject: [PATCH] luatexja-fontspec: Add \defaultjfontfeatures+. --- src/addons/luatexja-fontspec-24.sty | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/src/addons/luatexja-fontspec-24.sty b/src/addons/luatexja-fontspec-24.sty index 894f3cf..29f0ed5 100644 --- a/src/addons/luatexja-fontspec-24.sty +++ b/src/addons/luatexja-fontspec-24.sty @@ -122,7 +122,7 @@ \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 @@ -218,24 +218,30 @@ \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} { -- 2.11.0