\RequirePackage{unicode-math,luatexja}
\ExplSyntaxOn
-\cs_set:Npn \um_set_mathcode:nnnn #1#2#3#4 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
- \directlua{luatexja.math.is_math_letters[\int_eval:n {#4}]=true}
-}
-\cs_set:Npn \um_set_mathcode:nnn #1#2#3 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#1} \scan_stop:
- \directlua{luatexja.math.is_math_letters[\int_eval:n {#1}]=true}
-}
-\cs_set:Npn \um_set_mathchar:NNnn #1#2#3#4 {
- \Umathchardef #1 =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
- \directlua{luatexja.math.is_math_letters[\int_eval:n {#4}]=true}
-}
+
\group_begin:
- \char_set_catcode_other:N \^
- \gdef\q{hoge}\gdef\r{piyo}
\cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil {%"
- \tl_set:Nn \l_tmpa_tl {\ifmmode\char"#2\else\ltjalchar"#2\relax\fi}
- \cs_gset_eq:NN #1 \l_tmpa_tl
+ \group_begin:
+ %\typeout {um: \string#1, \int_from_hexadecimal:n {#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}
+ \cs_gset_eq:NN #1 \l_tmpa_tl
+ }
+ \ltjsetmathletter{ \int_from_hexadecimal:n {#2} }
+ \group_end:
}
\group_end:
\ExplSyntaxOff
+
\endinput
+
+