summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/fonts/lh/tex/likermac.tex
blob: 99cea30439e60485f52d59b3ef1b3dc3c7ae201a (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
%
% likermac.tex
%
%% Cyrillic font container with T2 encoding beta-support
%
% This file is future part of lxfonts package
% Version 3.4 // Patchlevel=0
% (c) O.Lapko
%
% This package belongs to the public domain under conditions similar to
% those of D. E. Knuth specified for the Computer Modern family of fonts.
% In particular, only the authors are entitled to modify this file
% and to save it under the same name.
%
% Content:
%
% TeX style file of ligs & kerns creation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\lhvercheck(3,4)

\catcode`\@=11
\catcode`\#=12 \catcode`\$=6 %\catcode`\_=11

%%% from LaTeX
\long\def\@ifundefined$1$2$3{\expandafter\ifx\csname
  $1\endcsname\relax$2\else$3\fi}
%%%

\def\@wrilig{\immediate\write\ligoutput}

\def\lkgroup$1$2{\expandafter\def\csname LiK@r $1\endcsname{$2}}
\def\<$1>{\csname LiK@r $1\endcsname
	\@ifundefined{LiK@r$1}{}{\errmessage{group $1 undefined}}
	}

\def\@letteri  $1{\@ifundefined{MF$1}{\ifchartest\ifx\phanfont\undefined
	\errmessage{letter $1 undefined}\fi\else\relax\fi}{\@lettertrue}%
     }
\def\@letterii $1{\@ifundefined{MF$1}{\relax}{\@colonfalse}%
     }

\def\@letteriii$1{\@ifundefined{MF$1}{\relax}%
      {\if@colon\@wrilig{\.\|\|\| CYR_.$1}\@colonfalse% first letter
       \else    \@wrilig{\.\|\|\|,CYR_.$1}\fi}% next letter
     }

\def\@kerni    $1{\@ifundefined{MF$1}{\ifchartest\ifx\phanfont\undefined
	\errmessage{letter $1 undefined}\fi\else\relax\fi}{\if@letter\@ligtrue\fi}%
     }

\def\@kerniii  $1{\@ifundefined{MF$1}{\relax}%
      {\if@colon\@wrilig{\.\|\|\|\|\|\| CYR_.$1}\@colonfalse% first letter
       \else    \@wrilig{\.\|\|\|\|\|\|,CYR_.$1}\fi}% next letter
     }

\def\@kerniv   $1{%
       \if@colon\@wrilig{\.\|\|\|\|\|\| $1}\@colonfalse% first letter
        \else   \@wrilig{\.\|\|\|\|\|\|,$1}\fi% next letter
     }

\long\def\beginligtable$1\endligtable{%
   \@letterfalse\@ligfalse\@wrioutfalse
% FIRST RUN :
% full check of existance of letters and ligs&kerns
  \def\labeligchar$$1$$2{\@ifundefined{MF$$1}{\relax}%
	{\@lettertrue\@ligtrue}}%
  \def\labelchar$$1{\def\($$$$1){\@letteri{$$$$1}}%
 	$$1}
  \def\setcern[$$1]$$2{\def\($$$$1){\@kerni{$$$$1}}%
 	$$2}
  \def\setkern[$$1]$$2{}% nothing to check
  \def\WL$$1{}%
  $1 % run text for ligtable first time
% SECOND RUN :
  \if@letter % any ligtable letter defined
   \if@lig   % any kern for letters defined
    \@wriouttrue
%%
    \def\labeligchar$$1$$2{\@ifundefined{MF$$1}{\relax}% repeat check of letter
        {\@wrilig{\.\|labelchar ( CYR_.$$1 );\ifwncoding ^^J\.\|\|\|$$2 \fi}}} % writing
%%
    \def\labelchar$$1{\begingroup\@colontrue
   	\def\($$$$1){\@letterii{$$$$1}}% repeat check of letters in lettergroup
	\def\WL$$$$1{}
	$$1
	\if@colon\relax
	\else\@colontrue % THIRD : writing
	   \def\($$$$1){\@letteriii{$$$$1}}
	   \def\WL$$$$1{\@wrilig{\.\|\|$$$$1}}
%
	   \@wrilig{\.\|labelchar (} $$1 \@wrilig{\.\| );}
	\fi\endgroup}
%%
    \def\setcern[$$1]$$2{\begingroup\@colontrue
	\def\($$$$1){\@letterii{$$$$1}}% repeat check of letters in lettergroup
	\def\WL$$$$1{}
	$$2
	\if@colon\relax
	\else\@colontrue % THIRD : writing
	   \def\($$$$1){\@kerniii{$$$$1}}
	   \def\WL$$$$1{\@wrilig{\.\|\|\|\|\|$$$$1}}
%
	   \@wrilig{\.\|\|\|\|setkern [$$1] (} $$2 \@wrilig{\.\|\|\|\| );}
	\fi\endgroup}
%%
    \def\setkern[$$1]$$2{\begingroup\@colontrue
	\def\($$$$1){\@kerniv{$$$$1}}
	\def\WL$$$$1{\@wrilig{\.\|\|\|\|\|$$$$1}}
%
	\@wrilig{\.\|\|\|\|setkern [$$1] (} $$2 \@wrilig{\.\|\|\|\| );}
	\endgroup}
%%%
   \def\WL$$1{\@wrilig{\.\|$$1}}
   \@wrilig{^^J\.beginligtable}%
% RUN
   $1 % run text for ligtable output
   \@wrilig{\. endligtable;^^J}%
%
 \fi\fi
 }

\def\wl$1{\@wrilig{\.$1}}
\let\.\empty
%
% end of likermac.tex