OSDN Git Service

Fix lltjext.sty
[luatex-ja/luatexja.git] / src / patches / lltjp-unicode-math.sty
index 2db4cf9..0b6e556 100644 (file)
@@ -3,19 +3,36 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{lltjp-unicode-math}[2011/11/22 Patch to unicode-math for LuaLaTeX-ja]
+\ProvidesPackage{lltjp-unicode-math}[2015/08/27 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 {%"
+  \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!
+       {
+        \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
+       }
+     }
+  }
+  \cs_gset:cpn { \tl_use:N \l_tmpa_tl } #1 = "#2 \q_nil {%"
     \group_begin:
-      %\typeout {um: \string#1, \int_from_hexadecimal:n {#2}} <- for debug
-      \char_set_lccode:nn { `! } { "#2 }
+      %\typeout {um: \string#1, \int_from_hexadecimal:n {#2}, #2}% <- for debug
+      \char_set_lccode:nn { `! } { "#2 }%"
       \tex_lowercase:D {
-        \tl_set:Nn \l_tmpa_tl {\ifmmode!\else{\directlua{tex.globaldefs = 0}\ltj@allalchar!}\fi}
+        \tl_set:Nn \l_tmpa_tl {  \relax
+          \ifmmode!\else{\directlua{tex.globaldefs = 0}\ltj@allalchar!}\fi}
         \cs_gset_eq:NN #1 \l_tmpa_tl
       }
       \ltjsetmathletter{ \int_from_hexadecimal:n {#2} }
@@ -26,5 +43,3 @@
 \ExplSyntaxOff
 
 \endinput
-
-