2 % lltjp-unicode-math.sty 2018-08-24
5 \NeedsTeXFormat{LaTeX2e}
7 \RequirePackage{unicode-math,luatexja,etoolbox}
11 \cs_set:Nn \__um_define_math_chars: {
13 \cs_set:Npn \__um_sym:nnn ##1##2##3
15 \ltjsetmathletter{ ##1 }
17 { \mathord \mathalpha \mathbin \mathrel \mathpunct \mathop \mathfence }
20 \exp_last_unbraced:NNx \cs_gset_eq:NN ##2 { \char_generate:nn {##1} {12} }
23 \__um_input_math_symbol_table:
26 \cs_set:Npn \use@mathgroup #1 #2
28 %\typeout{UM <#1><#2>}
29 \mode_if_math:T % <- not sure
32 \cs_if_eq:cNF {M@\f@encoding} #1 {#1}
33 \__um_switchto_literal:
34 \ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax%
35 \ifin@ \jfam #2 \relax \else \mathgroup #2 \relax \fi
40 \ifcsname jsc@mag@xrealtrue \endcsname \else
41 \expandafter\expandafter\expandafter \ExplSyntaxOff \expandafter \endinput
44 \cs_if_exist:cTF { ltjs@orig@get@external@font } {
45 % ltjsclasses: use lua
46 \cs_new:Nn \lltjp_um_unmag_fsize:
48 \cs_gset:Nx \lltjp_um_f@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\f@size)}}
49 \cs_gset:Nx \lltjp_um_sf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\sf@size)}}
50 \cs_gset:Nx \lltjp_um_ssf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\ssf@size)}}
53 % bxjscls: use \jsc@preadjust@extract@font
54 \cs_new:Nn \lltjp_um_unmag_fsize:
57 \jsc@preadjust@extract@font
58 \cs_gset_eq:NN \lltjp_um_f@size: \f@size
61 \cs_set_eq:NN \f@size \sf@size \jsc@preadjust@extract@font
62 \cs_gset_eq:NN \lltjp_um_sf@size: \f@size
65 \cs_set_eq:NN \f@size \ssf@size \jsc@preadjust@extract@font
66 \cs_gset_eq:NN \lltjp_um_ssf@size: \f@size
70 \pretocmd { \__um_fontspec_select_font: } {
71 \cs_set_eq:NN \lltjp_um_orig_fsize: \f@size
72 \lltjp_um_unmag_fsize:
73 \cs_set_eq:NN \f@size \lltjp_um_f@size:
74 \cs_set_eq:NN \tf@size \lltjp_um_f@size:
75 \cs_set_eq:NN \sf@size \lltjp_um_sf@size:
76 \cs_set_eq:NN \ssf@size \lltjp_um_ssf@size:
78 \apptocmd { \__um_fontspec_select_font: } {
79 \cs_set_eq:NN \f@size \lltjp_um_orig_fsize: