Subject: cyrillix

From: cheviot.newcastle.ac.uk!EXETER.AC.UK!BOOTH.CM remote from sot-mao
Date: Mon, 11 May 87 16:54:49 BST

Here's the cyrillic files from barbara beeton:

cyracc.def - definitions supporting the cyrillic fonts
cyrmemo.def and cyrmemo.tex - input instructions
cyrillic.ligs - details of the ligaturing scheme used to
            implement the input scheme (for info)

cathy

Message 90 -- ************************
 8-May-87 22:00:50-EDT,12420;000000000001
Date: Fri 8 May 87 18:50:44-PDT
From: Barbara Beeton <[email-masked]>
Subject: Re: [[email-masked]: Documentation and CYRACC.DEF for Cyrillic]
To: crawford-j@osu-eddie

be glad to ftp the files.  in fact, ...

%                       *****   CYRACC.DEF      *****           11 Aug 85, bb
%
%       This file contains definitions of accents and special characters
%       required for cyrillic.  The \font specification(s) should be made
%       elsewhere, and should include
%               \newfam\cyrfam
%               \font\...cyr=mcyr...
%
%       An appropriate definition for cyrillic, usable in math and text, is
%               \def\cyr{\fam\cyrfam\...cyr\cyracc}
%
%       See end of file (after \endinput) for notes.

\def\ubar#1{\oalign{#1\crcr\hidewidth
    \vbox to.2ex{\hbox{\char22}\vss}\hidewidth}}
%       this is definition of \b from PLAIN; it may not work in math mode
\def\cydot{$\cdot$}     % temporary -- real dot will be in accent font

\def\cprime{$'$}
\def\Cprime{$'$}
\def\cdprime{$''$}
\def\Cdprime{$\ubar{\hbox{$''$}}$}

\def\dbar{dj}           % make real barred d when accent font available
\def\Dbar{Dj}           %  ""

\def\dz{dz}             % ultimately, d will have to become active, to
\def\Dz{Dz}             % make these control sequences unnecessary
\def\dzh{dzh\cydot }
\def\Dzh{Dzh\cydot }

\def\cyracc{\def\cydot{{\kern0pt}}%
        \def\cprime{\char"7E }\def\Cprime{\char"5E }%
        \def\cdprime{\char"7F }\def\Cdprime{\char"5F }%
        \def\dbar{dj}\def\Dbar{Dj}%
        \def\dz{\char"1E }\def \Dz{\char"16 }%
        \def\dzh{\char"0A }\def \Dzh{\char"02 }%
        \def\'##1{\if c##1\char"0F %
                \else \if C##1\char"07 %
                \else \accent"26 ##1\fi \fi }%
        \def\`##1{\if e##1\char"0B %
                \else \if E##1\char"03 %
                \else \errmessage{accent \string\` not defined in cyrillic}%
                                ##1\fi \fi }%
        \def\=##1{\if e##1\char"0D %
                \else \if E##1\char"05 %
                \else \if \i##1\char"0C %
                \else \if I##1\char"04 %
                \else \errmessage{accent \string\= not defined in cyrillic}%
                                ##1\fi \fi \fi \fi }%
        \def\u##1{\if \i##1\accent"24 i%
                \else \accent"24 ##1\fi }%
        \def\"##1{\if \i##1\accent"20 \char"3D %
                \else \if I##1\accent"20 \char"04 %
                \else \accent"20 ##1\fi \fi }}

\endinput
 % octal 214 removed jmcosu

%                       *****   CYRMEMO.TEX      *****           18 Aug 84, bb
%
%       Access to the cyrillic is through the new MR transliteration scheme,
%       using TeX/Metafont ligature capability.  (An alternate set of
%       ligatures exists, for accessing letters beyond the 26 located in
%       the font positions of the 26 roman letters.  An authoritative list
%       of the ligature rules is in the file  cyrillic.ligs.)  Successful
%       use of this file requires appropriate cyrillic and accent fonts,
%       arranged according to the AMS/MR scheme.
%
%       This is an interim version.  Not everything works yet.
%       The following are known to be less than satisfactory:
%
%       the intermediate `ligatures' for shch access numerals;
%       primes (transliteration of hard/soft signs) use math mode;
%       underbar on `cap' double prime is too low (hard sign);
%       thorn d's don't yet exist;
%       \cydot uses math mode.
%
%
%       Notes on the macros:
%
%       The single space following each hex character code is necessary
%       to prevent the next input character from being gobbled.

%%%%%%%%%%

\input cyrmemo.def

\date 12 August 1985<
\fromname Barbara N. Beeton\\
        Computer Services Division<

\toname Users of AMS cyrillic in \TeX<

\longsub \TeX82 Cyrillic input instructions<
\shortsub \TeX82 Cyrillic input<

\topinfo

The AMS cyrillic fonts have been designed so that input using the
``new'' (post-1982) Math.~Reviews cyrillic transliteration will be
converted directly to cyrillic text.  An alternate input form is
available for most cyrillic letters which are not transliterated by
the equivalent single roman letters.  Numerals and punctuation follow
the normal input conventions for roman.  Cyrillic is indicated to
\TeX\ by the command |{\cyr...}|.

The table below is in alphabetical order as given in the table published
in the 1983 MR Author Index.  The three paired columns contain:\ \ %
(1)~cyrillic;
(2)~transliteration-style input;
(3)~alternate input, if any.

\bigskip

\parindent=0pt
\parskip=0pt
\baselineskip=15pt

\newbox\BoxA
\newbox\BoxB

\def\TwoUp{\centerline{%
        \valign{##\vfil\cr
                \box\BoxA\cr
                \noalign{\hfil\vrule\hfil}
                \box\BoxB\cr}}}

\newbox\TestBox
\setbox\TestBox=\hbox{\quad\cyr Zh}
\newdimen\cyrwd
\cyrwd=\wd\TestBox
\setbox\TestBox=\hbox{\enskip\tt xCdprime}
\newdimen\ttawd
\ttawd=\wd\TestBox
\setbox\TestBox=\hbox{\enskip\tt N0}
\newdimen\ttbwd
\ttbwd=\wd\TestBox

\settabs \+\hskip\cyrwd &\hskip\cyrwd\quad
                &\hskip\ttawd &\hskip\ttawd\quad
                &\hskip\ttbwd &\hskip\ttbwd\cr

% \def\1 #1,#2;#3,#4;#5,#6<{\+{\cyr\ignorespaces#1}%
%       &{\cyr\ignorespaces#2\hfil}%
%       &\ignorespaces#3\hfil &\ignorespaces#4\hfil
%       &{\tt\ignorespaces#5\hfil}&{\tt\ignorespaces#6\hfil}}

\setbox\BoxA=\vbox{\hsize=.45\hsize \tt
\+{\cyr A}&{\cyr a}& |A| & |a| &  & \cr
\+{\cyr B}&{\cyr b}& |B| & |b| &  & \cr
\+{\cyr V}&{\cyr v}& |V| & |v| &  & \cr
\+{\cyr G}&{\cyr g}& |G| & |g| &  & \cr
\+{\cyr D}&{\cyr d}& |D| & |d| &  & \cr
\+{\cyr Dj}&{\cyr dj}& |Dj| & |dj| & D1 & d1\cr
\+{\cyr \'G}&{\cyr \'g}& |\'G| & |\'g| &  & \cr
\+{\cyr E}&{\cyr e}& |E| & |e| &  & \cr
\+{\cyr \"E}&{\cyr \"e}& |\"E| & |\"e| &  & \cr
\+{\cyr \=E}&{\cyr \=e}& |\=E| & |\=e| & E2 & e2\cr
\+{\cyr Zh}&{\cyr zh}& |Zh| & |zh| & Z1 & z1\cr
\+{\cyr Z}&{\cyr z}& |Z| & |z| &  & \cr
\+{\cyr I}&{\cyr i}& |I| & |i| &  & \cr
\+{\cyr \=I}&{\cyr \=\i}& |\=I| & |\=\i| & I1 & i1\cr
\+{\cyr \"I}&{\cyr \"\i}& |\"I| & |\"\i| &  & \cr
\+{\cyr J}&{\cyr j}& |J| & |j| &  & \cr
\+{\cyr \u I}&{\cyr \u\i}& |\u I| & |\u\i| &  & \cr
\+{\cyr K}&{\cyr k}& |K| & |k| &  & \cr
\+{\cyr L}&{\cyr l}& |L| & |l| &  & \cr
\+{\cyr Lj}&{\cyr lj}& |Lj| & |lj| & L1 & l1\cr
\+{\cyr M}&{\cyr m}& |M| & |m| &  & \cr
\+{\cyr N}&{\cyr n}& |N| & |n| &  & \cr
\+{\cyr Nj}&{\cyr nj}& |Nj| & |nj| & N1 & n1\cr
\+{\cyr O}&{\cyr o}& |O| & |o| &  & \cr
\+{\cyr P}&{\cyr p}& |P| & |p| &  & \cr
}       % end \BoxA

\setbox\BoxB=\vbox{\hsize=.45\hsize \tt
\+{\cyr R}&{\cyr r}& |R| & |r| &  & \cr
\+{\cyr S}&{\cyr s}& |S| & |s| &  & \cr
\+{\cyr T}&{\cyr t}& |T| & |t| &  & \cr
\+{\cyr \'C}&{\cyr \'c}& |\'C| & |\'c| & C1 & c1\cr
\+{\cyr \'K}&{\cyr \'k}& |\'K| & |\'k| &  & \cr
\+{\cyr U}&{\cyr u}& |U| & |u| &  & \cr
\+{\cyr \u U}&{\cyr \u u}& |\u U| & |\u u| &  & \cr
\+{\cyr F}&{\cyr f}& |F| & |f| &  & \cr
\+{\cyr Kh}&{\cyr kh}& |Kh| & |kh| & H & h\cr
\+{\cyr Ts}&{\cyr ts}& |Ts| & |ts| & C & c\cr
\+{\cyr Ch}&{\cyr ch}& |Ch| & |ch| & Q & q\cr
\+{\cyr \Dzh}&{\cyr \dzh}& |\Dzh| & |\dzh| & D2 & d2\cr
\+{\cyr Sh}&{\cyr sh}& |Sh| & |sh| & X & x\cr
\+{\cyr Shch}&{\cyr shch}& |Shch| & |shch| & W & w\cr
\+{\cyr \Cdprime}&{\cyr \cdprime}& |\Cdprime| & |\cdprime| & P2 & p2\cr
\+{\cyr Y}&{\cyr y}& |Y| & |y| &  & \cr
\+{\cyr \Cprime}&{\cyr \cprime}& |\Cprime| & |\cprime| & P1 & p1\cr
\+{\cyr \`E}&{\cyr \`e}& |\`E| & |\`e| & E1 & e1\cr
\+{\cyr Yu}&{\cyr yu}& |Yu| & |yu| & J2 & j2\cr
\+{\cyr Ya}&{\cyr ya}& |Ya| & |ya| & J1 & j1\cr
\+{\cyr \Dz}&{\cyr \dz}& |\Dz| & |\dz| & D3 & d3\cr
\+{\cyr N0}&  &  &  & N0 & \cr
\+{\cyr <}&  & |<| &  &  & \cr
\+{\cyr >}&  & |>| &  &  & \cr
\+\hbox to \hsize{}\cr
}       % end \BoxB

\TwoUp

\bigskip
\normalbaselines

\noindent In addition to the input codes shown in the table, the code
|\cydot| is used between letters that ordinarily become ligatures to
indicate that they are really separate letters.  For example,
|t\cydot s|${}\mapsto{}${\cyr t\cydot s} (in transliteration, t\cydot s)
as opposed to |ts|${}\mapsto{}${\cyr ts}.

\medskip

\noindent {\bf Technical notes:}\ \ The names of the AMS cyrillic fonts
begin with the letters ``|MC|'' (for ``Math Society cyrillic'').  Only
|MCYR| (lightface) is available at present, but several other styles
are under construction: |MCB| (bold), |MCSS| (sans serif),
|MCSSB| (bold sans serif), and others may be added from time to time.
These fonts were prepared using {\smc Metafont79}.
In addition to the font files, the file |CYRACC.DEF| must also be
input for the complete cyrillic alphabet to be usable according to these
instructions.

\vfil\end

%%%%%%%%%%

%               *****   CYRMEMO.DEF     *****                   11 Aug 85, bb
%
%       This file contains the instructions necessary to produce the memos
%       which describe the use of the AMS cyrillic font.  PLAIN is presumed
%       to be preloaded.  The cyrillic 10-point font is required, as is
%       the file CYRACC.DEF.

\newfam\cyrfam
\font\tencyr=mcyr10
\font\tensmc=amcsc10 \def\smc{\tensmc}

\input cyracc.def

\def\cyr{\tencyr\cyracc}

\newif\iffirstpage
\firstpagetrue
\newdimen\pagelgt
\pagelgt=9in
\newbox\letterhead
\setbox\letterhead=\vbox{\vskip 1pc
        \vbox to 0pt{\halign{\hss{#}\hss\cr
                \bf American Mathematical Society\cr
                P.\thinspace O.~Box 6248\cr
                Providence, RI 02940\cr}\vss}}
\vsize=\pagelgt
\advance\vsize by-\ht\letterhead

\headline={\iffirstpage \centerline{\bf INTEROFFICE MEMORANDUM}\else
   \line{\ssub \hfil \rdate\quad Page \folio}\fi}
\footline={\iffirstpage \rightline{\box\letterhead}\global\vsize=\pagelgt
   \global\firstpagefalse \fi}

\def \topitem#1#2{\leavevmode \hangindent 5pc \hbox to 5pc{\bf #1\hss}#2\par }

\def \toname #1<{\gdef\mto{\topitem{To:}{#1}}}
\def \fromname #1<{\gdef\mfrom{\topitem{From:}{#1}}}
\def \longsub #1<{\gdef\lsub{\topitem{Subject:}{#1}}}
\def \shortsub #1<{\gdef\ssub{#1}}

\def \date #1<{\gdef\mdate{\topitem{\bf Date:}{#1}}
                \gdef\rdate{#1}}

\def \topinfo{{\parindent=0pt
        \parskip=.5\baselineskip
        \def \\{\hfil\break }
        \mdate
        \mto
        \mfrom
        \lsub
        \vskip\baselineskip }}

 % octal 214 removed jmcosu

%       Support verbatim listing of TeX source, as defined in TeXbook, p. 421
%       lifted from MANMAC.TEX, and modified slightly as for TUGboat

\chardef\other=12
\def\ttverbatim{\begingroup
  \catcode`\\=\other \catcode`\{=\other
  \catcode`\}=\other \catcode`\$=\other \catcode`\&=\other
  \catcode`\#=\other \catcode`\%=\other \catcode`\~=\other
  \catcode`\_=\other \catcode`\^=\other
  \obeyspaces \obeylines \tt}

\newdimen\ttrightskip
\ttrightskip=5pc
   
\outer\def\begintt{$$\let\par=\endgraf \ttverbatim \parskip=\z@
  \catcode`\|=0 \rightskip=-\ttrightskip \ttfinish}
{\catcode`\|=0 |catcode`|\=\other % | is temporary escape character
  |obeylines % end of line is active
  |gdef|ttfinish#1^^M#2\endtt{#1|vbox{#2}|endgroup$$}}

\catcode`\|=\active
{\obeylines \gdef|{\ttverbatim \spaceskip\ttglue \let^^M=\  \let|=\endgroup}}

\newskip\ttglue
{\tentt \global\ttglue=.5em plus .25em minus .15em}
% this should be installed in each font

%%%%%%%%%%

<mf82.amf>CYRILLIC.LIGS   This is a list of all the letter ligatures in
the AMS cyrillic fonts.  Please keep this file up to date.      29 Jun 84

LOWER CASE LIGATURES
    A.  All-letter ligatures

ch = `q
dj = '016
kh = `h
lj = '011
nj = '010
sh = `x; xc = `7 (shc); 7h = `w (shch)
ts = `c
ya = '037
yu = '030
zh = '031

    B.  Ligatures with keyed numerals

c1 = '017
d1 = '016 (dj); d2 = '012 (dzh); d3 = '036 (dz)
e1 = '013; e2 = '015
i1 = '014
j1 = '037 (ya); j2 = '030 (yu)
l1 = '011 (lj)
n1 = '010 (nj)
p1 = '176; p2 = '177
z1 = '031 (zh)

UPPER CASE LIGATURES
    A.  All-letter ligatures

CH, Ch = `Q
KH, Kh = `H
LJ, Lj = '001
NJ, Nj = '000
SH, Sh = `X; XH, Xh = `6 (SHC, SHc, Shc); 6H, 6h = `W (SHCH, SHCh, SHch, Shch)
TS, Ts = `C
YA, Ya = '027
YU, Yu = '020
ZH, Zh = '021

    B.  Ligatures with keyed numerals

C1 = '007
D1 = '006 (DJ); D2 = '002 (DZH); D3 = '026 (DZ)
E1 = '003; E2 = '005
I1 = '004
J1 = '027 (YA); J2 = '020 (YU)
L1 = '001 (LJ)
N0 = '175 (Number sign); N1 = '000 (NJ)
P1 = '136; P2 = '137
Z1 = '021 (ZH)

DEACTIVATED LIGATURES
The following were the original way of building dzh and DZH ligs, but were not
compatible with desired keyboarding schemes.

dz = '036; '036(roman s)h = '012 (dzh)
DZ = '026; '026(roman S)H = '002 (DZH)
-------