OSDN Git Service

lltjp-microtype.sty: Oops, forgot %...
[luatex-ja/luatexja.git] / src / patches / lltjp-microtype.sty
1 %
2 % lltjp-microtype.sty
3 %
4 % (Work in Progress)
5
6 \NeedsTeXFormat{LaTeX2e}
7 \RequirePackage{etoolbox}
8 \makeatletter
9
10 \PackageWarningNoLine{luatexja}%
11   {LuaTeX-ja's patch against the microtype package \MessageBreak
12    (lltjp-microtype.sty, 2019-11-08) may not work}
13 \patchcmd\MT@register@font
14   {\xdef\MT@font@list{\MT@font@list\MT@font,}}%
15   {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
16    \unless\ifin@
17      \xdef\MT@font@list{\MT@font@list\MT@font,}%
18    \fi
19    }{}{}
20 \patchcmd\MT@register@subst@font
21   {\xdef\MT@font@list{\MT@font@list\font@name,}}%
22   {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
23    \unless\ifin@
24      \xdef\MT@font@list{\MT@font@list\font@name,}%
25    \fi}{}{}
26 \let\ltj@MT@tracking@\MT@tracking@
27 \patchcmd\MT@tracking@
28   {\xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}}%
29   {\directlua{luatexja.jfont.is_kenc('\luatexluaescapestring{\f@encoding}')}%
30    \unless\ifin@
31      \xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}%
32    \fi}{}{}
33 \ifx\MT@tracking\ltj@MT@tracking@\let\MT@tracking\MT@tracking@\fi
34
35 %\endinput
36 \begingroup
37   \catcode`\/=\z@
38   /MT@map@tlist@n{/\LτJCHAREX}/@makeother /lccode`/τ=`/t
39   /lowercase{%
40     /def/x{/endgroup
41       /def/MT@charstring{\CHAR"}%
42       /def/MT@is@char##1\CHAR"##2##3##4/relax{%
43                 %/message{MIC <##1><##2><##3><##4>}%
44         /ifx/relax##4/relax
45             /expandafter/MT@is@char@ltja/MT@strip@prefix##1>/relax\LτJALCHAR\LτJALCHAR/relax
46         /else
47           /ifx/relax##1/relax
48             /if##3\/relax
49               /edef/MT@char@{/number"##2}%
50               /MT@ifstreq/MT@charstring{##3##4}/relax/MT@norestfalse
51             /else
52               /edef/MT@char@{/number"##2##3}%
53               /MT@ifstreq/MT@charstring{##4}/relax
54                 {/MT@is@xchar##2##3|##4\CHAR"/relax}%
55             /fi
56           /fi
57         /fi
58       }%
59       /def/MT@ltjs@drop@##1>##2/relax{##1}%
60       /def/MT@is@char@ltja##1\LτJALCHAR##2\LτJALCHAR##3/relax{%
61         %/typeout{MICLTJA <##1><##2><##3>}%
62         /ifx/relax##1/relax
63           /ifx/relax##2/relax/else
64             /edef/MT@char@{/expandafter/number/MT@ltjs@drop@##2>/relax}%
65           /fi
66         /fi
67       }%
68     }%
69   }
70 /x
71 \endinput