summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luatexja/src/patches/lltjp-microtype.sty
blob: db2fac84813f1f989754d2578ef687d809de51eb (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
%
% lltjp-microtype.sty 2019-08-12
%
% (Work in Progress)
% 
\NeedsTeXFormat{LaTeX2e}

\RequirePackage{etoolbox}
\makeatletter

\def\MT@register@font{%
  \xdef\MT@font@list{\expandonce{\MT@font@list\MT@font},}% !!!
}
\def\MT@register@subst@font{\MT@exp@one@n\MT@in@clist\font@name\MT@font@list
  \ifMT@inlist@\else
	\xdef\MT@font@list{\expandonce{\MT@font@list\font@name},}% !!!
  \fi}
\let\ltj@MT@tracking@\MT@tracking@
\def\MT@tracking@{%
  \MT@exp@one@n\MT@in@clist\MT@font\MT@tr@font@list
  \ifMT@inlist@\else
    \MT@maybe@do{tr}%
    \ifMT@do\else
      \xdef\MT@tr@font@list{\expandonce{\MT@tr@font@list\MT@font,}}% !!!
    \fi
  \fi
}
\ifx\MT@tracking\ltj@MT@tracking@\let\MT@tracking\MT@tracking@\fi


%\endinput
\begingroup
  \catcode`\/=\z@
  /MT@map@tlist@n{/\LτJCHAREX}/@makeother /lccode`/τ=`/t
  /lowercase{%
    /def/x{/endgroup
      /def/MT@charstring{\CHAR"}%
      /def/MT@is@char##1\CHAR"##2##3##4/relax{%
		%/message{MIC <##1><##2><##3><##4>}%
        /ifx/relax##4/relax
            /expandafter/MT@is@char@ltja/MT@strip@prefix##1>/relax\LτJALCHAR\LτJALCHAR/relax
        /else
          /ifx/relax##1/relax
            /if##3\/relax
              /edef/MT@char@{/number"##2}%
              /MT@ifstreq/MT@charstring{##3##4}/relax/MT@norestfalse
            /else
              /edef/MT@char@{/number"##2##3}%
              /MT@ifstreq/MT@charstring{##4}/relax
                {/MT@is@xchar##2##3|##4\CHAR"/relax}%
            /fi
          /fi
        /fi
      }%
      /def/MT@ltjs@drop@##1>##2/relax{##1}%
      /def/MT@is@char@ltja##1\LτJALCHAR##2\LτJALCHAR##3/relax{%
        %/typeout{MICLTJA <##1><##2><##3>}%
        /ifx/relax##1/relax
          /ifx/relax##2/relax/else
            /edef/MT@char@{/expandafter/number/MT@ltjs@drop@##2>/relax}%
          /fi
        /fi
      }%
    }%
  }
/x
\endinput