UKTeX Digest Friday, 14 Sep 1990 Volume 90 : Issue 31 Today's Topics: Extended TeX Font Encoding Scheme - Latin; request for comments ----------------------------------------------------------------------------- Moderator: Peter Abbott Editor: David Osborne (University of Nottingham) <d.osborne@uk.ac.nott.clan> Submissions: uktex@uk.ac.aston Administration: uktex-request@uk.ac.aston Back Issues: These are stored in the Aston archive, in the directory DISK$TEX:[TEX-ARCHIVE.DIGESTS.UKTEX.90] Latest TeXhax: #59 Back Issues: These are stored in the Aston archive, in the directory DISK$TEX:[TEX-ARCHIVE.DIGESTS.TEXHAX.90] Latest TeXmag: V4 N3 Back Issues: These are stored in the Aston archive, in the directory DISK$TEX:[TEX-ARCHIVE.DIGESTS.TEX-MAG] E d i t o r 's N o t e This is a special TUG90 Cork edition of the digest, announcing a proposed font encoding scheme. The next regular issue should appear on Mon, 24th September. --Ed. ------------------------------------------------------------ Subject: Extended TeX Font Encoding Scheme - Latin; request for comments Reply-To: Norbert Schwarz <p920021@dbohub01.bitnet> Date: Fri, 14 Sep 90 10:41:46 BST From: David Osborne <cczdao@uk.ac.nott.clan> At the TUG90 meeting in Cork, the font-encoding Birds-of-a-Feather meeting devised the following encoding scheme for using all 256 glyphs supported by the 8-bit facilities in TeX 3.0. This is currently a draft for which comments are sought: please direct all correspondence to Norbert Schwarz <p920021@dbohub01.bitnet> The TeX file which follows should be typeset using the Plain format, and uses no extended characters. It can be typeset using TeX 2.x % This is the final definition of a 256 character code set for % TeX prepared by the TEX-CHAR working group, discussed at % the TeX conference at Cork. % % Cork, September 12, 1990 % % ----------------------------------------------------------------------- % % \advance\voffset by -1.5truecm \advance\vsize by 3truecm % \nopagenumbers \leftline{\bf Extended \TeX\ Font Encoding Scheme --- Latin } \medskip \hrule height 1pt \medskip \medskip \leftline{finished in Cork, September 12, 1990 (corrected a typo in text)} \bigskip % % % \newcount\m \newcount\n \newdimen\dim \def\oct#1{\hbox{\rm\'{}\kern-.2em\it#1\/\kern.05em}} % octal constant \def\hex#1{\hbox{\rm\H{}\tt#1}} % hexadecimal constant \def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal \m=\n \divide\m by 64 \xdef\0{\the\m}% \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}} \def\oddline{\cr \noalign{\nointerlineskip} \multispan{19}\hrulefill& \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr \noalign{\nointerlineskip}} \def\evenline{ \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m \expandafter\setdigs\meaning\next\fi \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi \next} \def\morechart{\cr\noalign{\hrule\penalty5000} \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m} \chartline \evenline} \def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&} \def\chartstrut{\lower4.5pt\vbox to14pt{}} \def\table{$$\global\n=0 \halign to\hsize\bgroup \chartstrut##\tabskip0pt plus10pt& &\hfil##\hfil&\vrule##\cr \lower6.5pt\null &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline} \def\endchart{\cr\noalign{\hrule} \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B& &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par} \def\:{\setbox0=\hbox{\csname ec\number\n\endcsname}% \ifdim\ht0>7.5pt\reposition \else\ifdim\dp0>2.5pt\reposition\fi\fi \box0\global\advance\n 1 } \def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0 \advance\dim 2pt \dp0=\dim} \def\centerlargechars{ \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}} \font\minisan=cmss10 \font\san=cmss10 scaled \magstep1 \font\San=cmss10 scaled \magstep2 \def\eng{{\san r \hskip-6pt\j}} \def\Eng{{\San r \hskip-7pt\j}} \def\Thorn{{\San\lower4pt\hbox{l} \hskip-8.5pt\relax b}} \def\thorn{{\san\lower3pt\hbox{l} \hskip-7pt\relax b}} \def\eth{{\minisan \raise4pt\hbox{$\times$} \hskip-8.5pt\relax o}} % \def\ogonek#1{\setbox0=\hbox{`}\ooalign{% \hidewidth\lower\ht0\copy0\hidewidth\crcr#1\crcr}} \font\tenu=cmu10 \def\ec#1{\expandafter\def\csname ec\number\n\endcsname{#1}\advance\n by 1{}} \n=0 % % % accents % % '000-'015 % \ec{\`{}} \ec{\'{}} \ec{\^{}} \ec{\~{}} \ec{\"{}} \ec{\H{}} \ec{\char23} \ec{\v{}} % \ec{\u{}} \ec{\={}} \ec{\.{}} \ec{\c{}} \ec{\ogonek{\ }} % % quotation marks % % '016-'024 \ec{,} \ec{$\scriptstyle<$} \ec{$\scriptstyle>$} \ec{``} \ec{''} \ec{,\hskip-1pt ,} \ec{$\scriptstyle\ll$} \ec{$\scriptstyle\gg$} % dashes \ec{--}\ec{---} % % compound word mark % \ec{{\tt<\san cwm\tt>}} % % a small 0, to extend % into 0/00 and 0/000 \ec{$_0$} % dotless i and j \ec{\i}\ec{\j} % f ligatures \ec{ff}\ec{fi}\ec{fl}\ec{ffi}\ec{ffl} % visible space \ec{{\tt\char32}} % the ASCII character set \ec{!}\ec{{\tt"}}\ec{\#}\ec{\$}\ec{\%}\ec{\&}\ec{'} \ec{(}\ec{)}\ec{*}\ec{+}\ec{,}\ec{-}\ec{.}\ec{/} \n=48 \ec{0}\ec{1}\ec{2}\ec{3}\ec{4}\ec{5}\ec{6}\ec{7}\ec{8}\ec{9} \ec{:}\ec{;}\ec{$<$}\ec{=}\ec{$>$}\ec{?} \n=64 \ec{@} \ec{A}\ec{B}\ec{C}\ec{D}\ec{E}\ec{F}\ec{G}\ec{H}\ec{I}\ec{J}\ec{K}\ec{L}\ec{M} \ec{N}\ec{O}\ec{P}\ec{Q}\ec{R}\ec{S}\ec{T}\ec{U}\ec{V}\ec{W}\ec{X}\ec{Y}\ec{Z} \ec{\lbrack} \ec{$\backslash$} \ec{\rbrack} \ec{{\tt\^{}}} \ec{{\tt\char`\_}} \n=96 \ec{`} \ec{a}\ec{b}\ec{c}\ec{d}\ec{e}\ec{f}\ec{g}\ec{h}\ec{i}\ec{j}\ec{k}\ec{l}\ec{m} \ec{n}\ec{o}\ec{p}\ec{q}\ec{r}\ec{s}\ec{t}\ec{u}\ec{v}\ec{w}\ec{x}\ec{y}\ec{z} \ec{$\{$} \ec{$|$} \ec{$\}$} \ec{{\tt\~{}}} \n=127 % hyphenation character \ec{{\sevenrm (hyph.char) }-} % % accented letters, mainly from ISO Latin 2 (8859/2), and some more % % '200-'237 uppercase % \ec{\u A} \ec{\ogonek{A}} \ec{\'C} \ec{\v C} \ec{\v D} \ec{\v E} \ec{\ogonek{E}} \ec{\u G} % \ec{\'L} \ec{L\kern-2pt'} \ec{\L} \ec{\'N} \ec{\v N} \ec{Eng/\Eng} \ec{\H O} \ec{\'R} % \ec{\v R} \ec{\'S} \ec{\v S} \ec{\c S} \ec{\v T} \ec{\c T} \ec{\H U} \ec{\accent 23U} %% \ec{\"Y} \ec{\'Z} \ec{\v Z} \ec{\.Z} \ec{IJ} \ec{\.I} \ec{d\llap{\raise0.7ex\hbox{--}}} \ec{\S} % % '240-'277 % \ec{\u a} \ec{\ogonek{a}} \ec{\'c} \ec{\v c} \ec{d\kern-1pt'} \ec{\v e} \ec{\ogonek{e}} \ec{\u g} % \ec{\'l} \ec{l\kern-1pt'} \ec{\l} \ec{\'n} \ec{\v n} \ec{eng/\eng} \ec{\H o} \ec{\'r} % \ec{\v r} \ec{\'s} \ec{\v s} \ec{\c s} \ec{t\kern-1pt'} \ec{\c t} \ec{\H u} \ec{\accent 23u} % \ec{\"y} \ec{\'z} \ec{\v z} \ec{\.z} \ec{ij} \ec{!`} \ec{?`} \ec{{\tenu\$}} % % accented letters, mainly from ISO Latin 1 % % '300-'337 uppercase characters % \ec{\`A} \ec{\'A} \ec{\^A} \ec{\~A} \ec{\"A} \ec{\AA} \ec{\AE} \ec{\c C} % \ec{\`E} \ec{\'E} \ec{\^E} \ec{\"E} \ec{\`I} \ec{\'I} \ec{\^I} \ec{\"I} % \ec{Eth/\rlap{\raise0.3ex\hbox{--}}D} \ec{\~N} \ec{\`O} \ec{\'O} \ec{\^O} \ec{\~O} \ec{\"O} \ec{\OE} % \ec{\O} \ec{\`U} \ec{\'U} \ec{\^U} \ec{\"U} \ec{\'Y} \ec{Thorn/\Thorn} \ec{SS} % % '340-'377 lowercase characters % \ec{\`a} \ec{\'a} \ec{\^a} \ec{\~a} \ec{\"a} \ec{\aa} \ec{\ae} \ec{\c c} % \ec{\`e} \ec{\'e} \ec{\^e} \ec{\"e} \ec{\`\i} \ec{\'\i} \ec{\^\i} \ec{\"\i} % \ec{eth/\eth} \ec{\~n} \ec{\`o} \ec{\'o} \ec{\^o} \ec{\~o} \ec{\"o} \ec{\oe} % \ec{\o} \ec{\`u} \ec{\'u} \ec{\^u} \ec{\"u} \ec{\'y} \ec{thorn/\thorn} \ec{\ss} % \table \noindent{\bf A few words of explanation:} \medskip \noindent \oct{000}--\oct{014} are accents. \oct{014} is an ogonek. \oct{015}--\oct{024} are quotation marks. \oct{030} is a small 0 to put after the per cent sign, to turn it into a per thousand (\%$_0$) or per million (\%$_{00}$) sign. \oct{027} ({\san cwm}) is a compound word mark (a zero-width invisible character) used e.g.\ for avoiding ligatures. \oct{040} is a visible space. \oct{042} is a {\it straight} double quotation mark. \noindent \oct{041}--\oct{176} is like the 7 bit ASCII code. Some characters that --- at first glance --- appear duplicated as accent characters usually have a different shape. \noindent \oct{177} is the hyphen character (that may be different from the dash (\oct{055})). \oct{201}, \oct{206}, \oct{241}, and \oct{246} are A's and E's with ogonek accents. \medskip \noindent The table has been sorted to reflect {\tt\string\uppercase} {\tt\string\lowercase} mechanism for all characters. \medskip \noindent This table shows the character codes positions, but the shapes are only approximations. \bye ------------------------------ !! UK TeX ARCHIVE at ASTON UNIVERSITY: !! !! Files of interest !! [tex-archive]000aston.readme [tex-archive]000directory.list !! [tex-archive]000directory_dates.list [tex-archive]000directory.size !! [tex-archive]000last30days.files !! !! FTP access: site uk.ac.aston.tex !! username public !! password public !! !! !! I have a tape labelled TeX 2.993(==3.0) LaTeX 2.09 Metafont 1.9 (2.0) !! Unix 4.2/3BSD & System V. Tar 1600 bpi blocked 20 1 file dated !! 28 March 1990 (from washington.edu) !! !! I have the facility to copy this tape for anyone who sends the following !! 1 2400 tape with return labels AND RETURN postage. (2.50 pounds sterling !! for UK users, payable to `Aston University') Outside UK please ask me. !! UK users send 4.25 for two tapes or 6.60 for three tapes. !! Send to !! !! P Abbott !! Computing Service !! Aston University !! Aston Triangle !! Birmingham B4 7ET !! !! A VMS backup of the archive requires 2 (two ) 2400' tapes at 6250bpi. !! Remaining details as above. !! !! A VMS backup of TeX 2.991 plus PSprint is available; one tape is needed. !! !! Exabyte tape drive with Video 8 cassettes: !! Same formats available as 1/2in tapes. We use the following tapes !! SONY Video 8 cassette P5 90MP, MAXCELL Video 8 cassette P5-90 !! TDK Video 8 cassette P5-90MPB !! Postage 35p UK (stamp please), 1 pound sterling Europe, other areas 2 pounds !! !! OzTeX - Send 10 UNFORMATTED (800k) disks with return postage. !! !! ---Peter Abbott. End of UKTeX Digest *******************