2 % lltjp-unicode-math.sty
5 \NeedsTeXFormat{LaTeX2e}
6 \ProvidesPackage{lltjp-unicode-math}[2018/01/14 Patch to unicode-math for LuaTeX-ja]
8 \RequirePackage{unicode-math,luatexja,etoolbox}
13 \bool_new:N \__lltjp_um_patch_mathgroup_bool
14 \bool_set_true:N \__lltjp_um_patch_mathgroup_bool
15 \cs_gset:Nn \__um_define_math_chars: {
17 \cs_set:Npn \__um_sym:nnn ##1##2##3
20 { \mathord \mathalpha \mathbin \mathrel \mathpunct \mathop \mathfence }
23 \exp_last_unbraced:NNx \cs_gset_eq:NN ##2 { \char_generate:nn {##1} {12} }
24 \ltjsetmathletter{ ##1 }
27 \__um_input_math_symbol_table:
31 \bool_if:NT \__lltjp_um_patch_mathgroup_bool {
32 \cs_gset:Npn \use@mathgroup #1 #2
34 %\typeout{UM <#1><#2>}
35 \mode_if_math:T % <- not sure if this is really necessary since we've just checked for mmode and raised an error if not!
38 \cs_if_eq:cNF {M@\f@encoding} #1 {#1}
39 \__um_switchto_literal:
40 \ltj@tempcnta=#2 \expandafter\ltj@@mathJapaneseFonts\string#1\relax%
41 \ifin@ \jfam #2 \relax \else \mathgroup #2 \relax \fi
48 \ifcsname jsc@mag@xrealtrue \endcsname \else
49 \expandafter\expandafter\expandafter \ExplSyntaxOff \expandafter \endinput
52 \cs_if_exist:cTF { ltjs@orig@get@external@font } {
53 % ltjsclasses: use lua
54 \cs_new:Nn \lltjp_um_unmag_fsize:
56 \cs_gset:Nx \lltjp_um_f@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\f@size)}}
57 \cs_gset:Nx \lltjp_um_sf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\sf@size)}}
58 \cs_gset:Nx \lltjp_um_ssf@size: {\directlua{luatexja.ltjs_unmagnify_fsize(\ssf@size)}}
61 % bxjscls: use \jsc@preadjust@extract@font
62 \cs_new:Nn \lltjp_um_unmag_fsize:
65 \jsc@preadjust@extract@font
66 \cs_gset_eq:NN \lltjp_um_f@size: \f@size
69 \cs_set_eq:NN \f@size \sf@size \jsc@preadjust@extract@font
70 \cs_gset_eq:NN \lltjp_um_sf@size: \f@size
73 \cs_set_eq:NN \f@size \ssf@size \jsc@preadjust@extract@font
74 \cs_gset_eq:NN \lltjp_um_ssf@size: \f@size
78 \pretocmd { \__um_fontspec_select_font: } {
79 \cs_set_eq:NN \lltjp_um_orig_fsize: \f@size
80 \lltjp_um_unmag_fsize:
81 \cs_set_eq:NN \f@size \lltjp_um_f@size:
82 \cs_set_eq:NN \tf@size \lltjp_um_f@size:
83 \cs_set_eq:NN \sf@size \lltjp_um_sf@size:
84 \cs_set_eq:NN \ssf@size \lltjp_um_ssf@size:
86 \apptocmd { \__um_fontspec_select_font: } {
87 \cs_set_eq:NN \f@size \lltjp_um_orig_fsize: