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) 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 Date: Fri, 14 Sep 90 10:41:46 BST From: David Osborne 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 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 *******************