X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fpatches%2Flltjp-unicode-math.sty;h=db9361abd1bf228ed8140623c9cfc5c06acfeaed;hb=5a3c83b4d85a61323ce52fa3af193094adbc8720;hp=d33e44f3787c832e0772492a7cdc510ac7e75e6a;hpb=67291f7f1dee7f7ace5c41e9b881eb3ca8b727c3;p=luatex-ja%2Fluatexja.git diff --git a/src/patches/lltjp-unicode-math.sty b/src/patches/lltjp-unicode-math.sty index d33e44f..db9361a 100644 --- a/src/patches/lltjp-unicode-math.sty +++ b/src/patches/lltjp-unicode-math.sty @@ -3,14 +3,40 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjp-unicode-math}[2013/05/14 Patch to unicode-math for LuaTeX-ja] +\ProvidesPackage{lltjp-unicode-math}[2015/10/28 Patch to unicode-math for LuaTeX-ja] \RequirePackage{unicode-math,luatexja} \ExplSyntaxOn \group_begin: - \cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil {%" + \bool_new:N \lltjp_um_patch_mathgroup_bool +\@ifpackagelater{unicode-math}{2015/09/24}{% +%%%%%%%% 2015/09/24 0.8c + \bool_set_true:N \lltjp_um_patch_mathgroup_bool + \cs_gset:Nn \__um_define_math_chars: { + \group_begin: + \cs_set:Npn \__um_sym:nnn ##1##2##3 + { + \tl_if_in:nnT + { \mathord \mathalpha \mathbin \mathrel \mathpunct \mathop \mathfence } + {##3} + { + \exp_last_unbraced:NNx \cs_gset_eq:NN ##2 { \Ucharcat ##1 ~ 12 ~ } + \ltjsetmathletter{ ##1 } + } + } + \__um_input_math_symbol_table: + \group_end: + } +}{ + \cs_if_exist:cTF { __um_cs_set_eq_active_char:Nw } { + \tl_set:Nn \l_tmpa_tl { __um_cs_set_eq_active_char:Nw } + \bool_set_true:N \lltjp_um_patch_mathgroup_bool + }{ + \tl_set:Nn \l_tmpa_tl { um_cs_set_eq_active_char:Nw } + } + \cs_gset:cpn { \tl_use:N \l_tmpa_tl } #1 = "#2 \q_nil {%" \group_begin: %\typeout {um: \string#1, \int_from_hexadecimal:n {#2}, #2}% <- for debug \char_set_lccode:nn { `! } { "#2 }%" @@ -22,6 +48,22 @@ \ltjsetmathletter{ \int_from_hexadecimal:n {#2} } \group_end: } +} + +\bool_if:NT \lltjp_um_patch_mathgroup_bool { + \cs_gset:Npn \use@mathgroup #1 #2 + { + \mode_if_math:T % <- not sure if this is really necessary since we've just checked for mmode and raised an error if not! + { + \math@bgroup + \cs_if_eq:cNF {M@\f@encoding} #1 {#1} + \__um_switchto_literal: + \ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax% + \ifin@ \jfam #2 \relax \else \mathgroup #2 \relax \fi + \math@egroup + } + } +} \group_end: \ExplSyntaxOff