diff options
author | Karl Berry <karl@freefriends.org> | 2017-02-12 23:33:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-02-12 23:33:12 +0000 |
commit | 2783c1b2807e488a59202f7e4605c8d5693c9ab7 (patch) | |
tree | 9507bb165af179f4b55f0cf049b2465965909193 /Master/texmf-dist/source/latex/fontspec/fontspec-user.dtx | |
parent | 88ad6ed6179838d65a8c79c1867b8c1de2db3079 (diff) |
fontspec (12feb17)
git-svn-id: svn://tug.org/texlive/trunk@43202 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/fontspec/fontspec-user.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/fontspec/fontspec-user.dtx | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-user.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-user.dtx index 7800ec00a7e..89fe42b971e 100644 --- a/Master/texmf-dist/source/latex/fontspec/fontspec-user.dtx +++ b/Master/texmf-dist/source/latex/fontspec/fontspec-user.dtx @@ -337,10 +337,17 @@ { \keys_if_exist:nnF { fontspec / options } {#1} { \@@_define_opentype_feature_group:n {#1} } + \keys_if_choice_exist:nnnT {fontspec} {#1} {#2} { \@@_warning:nxx {feature-option-overwrite} {#1} {#2} } - \@@_define_opentype_feature:nnn {#1}{#2}{#3} + + \exp_args:Nnnx \@@_define_opentype_feature:nnnnn {#1}{#2}{ \@@_strip_plus_minus:n {#3} }{#3}{} } + +\cs_new:Nn \@@_strip_plus_minus:n { \@@_strip_plus_minus_aux:Nq #1 \q_nil } +\cs_new:Npn \@@_strip_plus_minus_aux:Nq #1#2 \q_nil + { \str_case:nnF {#1} { {+} {#2} {-} {#2} } {#1#2} } + % \end{macrocode} % \end{macro} % @@ -359,11 +366,8 @@ %<debug> \typeout{::::::::::::::::::::^^J:: aliasfontfeature{#1}{#2}} \bool_set_false:N \l_@@_alias_bool - \clist_map_inline:nn - { fontspec, fontspec-opentype, fontspec-aat, fontspec-preparse, fontspec-preparse-external, - fontspec-preparse-nested, fontspec-renderer } + \clist_map_inline:Nn \g_@@_all_keyval_modules_clist { - \keys_if_exist:nnT {##1} {#1} { %<debug> \typeout{:::: Key~exists~##1~/~#1} @@ -387,16 +391,17 @@ \clist_map_inline:Nn \g_@@_all_keyval_modules_clist { - - \keys_if_exist:nnT {##1} {#1} + \keys_if_exist:nnT { ##1 / #1 } {#2} { +%<debug> \typeout{:::: Keyval~exists~##1~/~#1~=~#2} \bool_set_true:N \l_@@_alias_bool - \keys_define:nn { ##1 / #1 } { #3 .meta:n = {#2} } + \keys_define:nn { ##1 / #1 } + { #3 .code:n = { \keys_set:nn {##1} { #1 = {#2} } } } } } \bool_if:NF \l_@@_alias_bool - { \@@_warning:nx {rename-feature-not-exist} {#1} } + { \@@_warning:nx {rename-feature-not-exist} {#1/#2} } } % \end{macrocode} % \end{macro} @@ -437,7 +442,7 @@ % \end{macro} -% \begin{macro}{\IfFontFeaturesTF} +% \begin{macro}{\IfFontFeatureActiveTF} % \begin{macrocode} \DeclareDocumentCommand \IfFontFeatureActiveTF {mmm} { |