OSDN Git Service

2020->2021; also regenerated luatexja-{ja,en}.pdf
[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   {\ltj@@is@kenc{\f@encoding}\unless\ifin@
16      \xdef\MT@font@list{\MT@font@list\MT@font,}%
17    \fi
18    }{}{}
19 \patchcmd\MT@register@subst@font
20   {\xdef\MT@font@list{\MT@font@list\font@name,}}%
21   {\ltj@@is@kenc{\f@encoding}\unless\ifin@
22      \xdef\MT@font@list{\MT@font@list\font@name,}%
23    \fi}{}{}
24 \let\ltj@MT@tracking@\MT@tracking@
25 \patchcmd\MT@tracking@
26   {\xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}}%
27   {\ltj@@is@kenc{\f@encoding}\unless\ifin@
28      \xdef\MT@tr@font@list{\MT@tr@font@list\MT@font,}%
29    \fi}{}{}
30 \ifx\MT@tracking\ltj@MT@tracking@\let\MT@tracking\MT@tracking@\fi
31
32 %\endinput
33 \begingroup
34   \catcode`\/=\z@
35   /MT@map@tlist@n{/\LτJCHAREX}/@makeother /lccode`/τ=`/t
36   /lowercase{%
37     /def/x{/endgroup
38       /def/MT@charstring{\CHAR"}%
39       /def/MT@is@char##1\CHAR"##2##3##4/relax{%
40                 %/message{MIC <##1><##2><##3><##4>}%
41         /ifx/relax##4/relax
42             /expandafter/MT@is@char@ltja/MT@strip@prefix##1>/relax\LτJALCHAR\LτJALCHAR/relax
43         /else
44           /ifx/relax##1/relax
45             /if##3\/relax
46               /edef/MT@char@{/number"##2}%
47               /MT@ifstreq/MT@charstring{##3##4}/relax/MT@norestfalse
48             /else
49               /edef/MT@char@{/number"##2##3}%
50               /MT@ifstreq/MT@charstring{##4}/relax
51                 {/MT@is@xchar##2##3|##4\CHAR"/relax}%
52             /fi
53           /fi
54         /fi
55       }%
56       /def/MT@ltjs@drop@##1>##2/relax{##1}%
57       /def/MT@is@char@ltja##1\LτJALCHAR##2\LτJALCHAR##3/relax{%
58         %/typeout{MICLTJA <##1><##2><##3>}%
59         /ifx/relax##1/relax
60           /ifx/relax##2/relax/else
61             /edef/MT@char@{/expandafter/number/MT@ltjs@drop@##2>/relax}%
62           /fi
63         /fi
64       }%
65     }%
66   }
67 /x
68 \endinput