blob: b6d17a6031fd79795ab6d3415aa87986e8f83b8b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
%
% lltjp-unicode-math.sty
%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{lltjp-unicode-math}[2015/10/28 Patch to unicode-math for LuaTeX-ja]
\RequirePackage{unicode-math,luatexja}
\ExplSyntaxOn
\group_begin:
\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_hex:n {#2}, #2}% <- for debug
\char_set_lccode:nn { `! } { "#2 }%"
\tex_lowercase:D {
\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_hex: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
\endinput
|