From 5a3c83b4d85a61323ce52fa3af193094adbc8720 Mon Sep 17 00:00:00 2001 From: Hironori Kitagawa Date: Wed, 28 Oct 2015 17:40:59 +0900 Subject: [PATCH] Adapted to unicode-math v0.8c (2015/09/24) --- src/patches/lltjp-unicode-math.sty | 54 ++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/src/patches/lltjp-unicode-math.sty b/src/patches/lltjp-unicode-math.sty index 0b6e556..db9361a 100644 --- a/src/patches/lltjp-unicode-math.sty +++ b/src/patches/lltjp-unicode-math.sty @@ -3,28 +3,38 @@ % \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lltjp-unicode-math}[2015/08/27 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: - \tl_set:Nn \l_tmpa_tl { um_cs_set_eq_active_char:Nw } - \cs_if_exist:cT { __um_cs_set_eq_active_char:Nw } { - \tl_set:Nn \l_tmpa_tl { __um_cs_set_eq_active_char:Nw } - \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! + \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 { - \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 + \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: @@ -38,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 -- 2.11.0