X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Faddons%2Fluatexja-fontspec-24.sty;h=894f3cf7f8cbfe27c998ff5703ce786a5bec623d;hb=f36569001f184028d0bffed4c8b2fe1b4f7e0d06;hp=7696714edcd4e1df71bbc66a732c34c360a6270e;hpb=065f3426b472ec19b4d81b8dc05df2abb0a77419;p=luatex-ja%2Fluatexja.git diff --git a/src/addons/luatexja-fontspec-24.sty b/src/addons/luatexja-fontspec-24.sty index 7696714..894f3cf 100644 --- a/src/addons/luatexja-fontspec-24.sty +++ b/src/addons/luatexja-fontspec-24.sty @@ -91,11 +91,11 @@ } \cs_new:Nn \__ltj_fontspec_altfont_key_code:n - { +{ \clist_set:Nn \l_ltj_fontspec_altfont_clist {#1} - \fontspec_update_fontid:n {alt:#1} - } +} +\cs_set_eq:NN \__ltj_orig_fontspec_select:nn \fontspec_select:nn \cs_new:Nn \ltj_fontspec_select:nn { \group_begin: \ltj_fontspec_define_option:nn {AltFont} { @@ -112,7 +112,7 @@ \__fontspec_update_featstr:n {jfmvar=##1} } \ltj_fontspec_define_preparse_external:nn {NoEmbed} { - \cs_set:Nn \fontspec_namewrap:n {psft:####1} + \cs_set:Nn \__fontspec_namewrap:n {psft:####1} } %% Omit the warning message %% "OpenType feature 'Kerning=Off' (-kern) not available ..." @@ -124,9 +124,9 @@ {JFM=ujis, Scale=\fp_use:N \g_ltj_fontspec_scale_fp, Kerning=Off, \g_ltj_fontspec_default_fontopts_tl} \prop_set_eq:NN \g__fontspec_fontopts_prop \g__ltj_fontspec_fontopts_prop - \cs_set_eq:NN \fontspec_make_font_shapes:nnnn \ltj_fontspec_make_font_shapes:nnnn + \cs_set_eq:NN \__fontspec_make_font_shapes:Nnnnn \ltj_fontspec_make_font_shapes:Nnnnn \cs_set_eq:NN \DeclareFontFamily \DeclareKanjiFamily - \fontspec_select:nn{#1}{#2} + \__ltj_orig_fontspec_select:nn{#1}{#2} \group_end: } @@ -134,16 +134,15 @@ \ltj_fontspec_select:nn{#2}{#3} \tl_set_eq:NN #1 \l_fontspec_family_tl } -\cs_set_eq:NN \__ltj_orig_fontspec_make_font_shapes:nnnn \fontspec_make_font_shapes:nnnn +\cs_set_eq:NN \__ltj_orig_fontspec_make_font_shapes:Nnnnn \__fontspec_make_font_shapes:Nnnnn \cs_set_eq:NN \__ltj_fontspec_orig_DeclareFontShape \DeclareFontShape -\cs_new:Nn \ltj_fontspec_make_font_shapes:nnnn { - \__ltj_orig_fontspec_make_font_shapes:nnnn {#1} {#2} {#3} {#4} +\cs_new:Nn \ltj_fontspec_make_font_shapes:Nnnnn { + \__ltj_orig_fontspec_make_font_shapes:Nnnnn {#1} {#2} {#3} {#4} {#5} \group_begin: %% Parse font features. However, we have to avoid redefine already defined shape. \__fontspec_load_fontname:n {#1} \cs_set_eq:NN \DeclareFontShape \use_none:nnnnnn - \fontspec_declare_shape:nnn {#2}{#3} - { \quark_if_no_value:NF \l__fontspec_fontopts_clist {\l__fontspec_fontopts_clist,} #4 } + \__fontspec_declare_shape:nnxx {#2} {#3} { \l__fontspec_fontopts_clist, #4 } {#5} \cs_set_eq:NN \DeclareFontShape \__ltj_fontspec_orig_DeclareFontShape %% \clist_if_empty:NF \l_ltj_fontspec_altfont_clist { @@ -168,12 +167,10 @@ } { \group_begin: \__fontspec_load_fontname:n { \l_ltj_fontspec_altname_tl } - \fontspec_declare_shape:nnn {#2} + \__fontspec_declare_shape:nnxx {#2} {#3 _ alt \int_use:N \g_ltj_fontspec_altnumber_int } - { - \quark_if_no_value:NF \l__fontspec_fontopts_clist {\l__fontspec_fontopts_clist,} - #4 , \l_ltj_fontspec_altfont_leftover_clist - } + {\l__fontspec_fontopts_clist, #4 , \l_ltj_fontspec_altfont_leftover_clist} + {#5} \group_end: \DeclareAlternateKanjiFont {JY3}{ \l_fontspec_family_tl }{#2}{#3}% @@ -242,24 +239,28 @@ } \DeclareDocumentCommand \addjfontfeatures {m} { - \ifcsname zf@family@fontdef\k@family\endcsname + \ltj_fontspec_if_fontspec_font:TF + { \group_begin: - \tl_clear:N \g_ltj_fontspec_default_fontopts_tl - \use:x { - \exp_not:N\ltj_fontspec_select:nn - {\csname zf@family@options\k@family\endcsname,#1} - {\csname zf@family@fontname\k@family\endcsname} - } + \tl_set_eq:NN \f@family \k@family + \cs_set_eq:NN \fontspec_select:nn \ltj_fontspec_select:nn + \addfontfeatures {#1} \group_end: \fontfamily\l_fontspec_family_tl\selectfont - \else + }{ \msg_warning:nn {luatexja-fontspec} {addjfontfeatures-ignored} - \fi + } \ignorespaces } \cs_set_eq:NN \addjfontfeature \addjfontfeatures +\prg_new_conditional:Nnn \ltj_fontspec_if_fontspec_font: {TF,T,F} +{ + \cs_if_exist:cTF {g__fontspec_ \k@family _prop} \prg_return_true: \prg_return_false: +} + + %%% CJKShape=JIS2004 \__fontspec_define_feature_option:nnnnn{CJKShape}{JIS2004}{20}{5}{+jp04}