[comp.text.tex] Code Pages in TeXRe: TeX 3.1 for Atari ST -- yet another implementation

dhosek@freke.claremont.edu (Don Hosek) (02/16/91)

X-News: freke comp.text.tex:5635

>Another ST port of TeX 3.1 is available via anonymous ftp from
>ifi.informatik.uni-stuttgart.de [129.69.211.1] in pub/atari.st/tex
>or from forwiss.uni-passau.de [132.231.1.10] in pub/atari/tex.
>  * codepage support
>    There are only two other TeX implementations with
>    codepages: SBTEX and emTeX, both for PC.

Ahem.

Codepage support of this type is not only an extension to TeX
that jeopardizes the status of the implementation being able to
be called TeX (just because an implementation passes the trip
test doesn't make it TeX:  any file that runs under one version
of TeX MUST run under another version WITHOUT MODIFICATION. The
only exception is the differences between TeX 3.0 and older TeX82
implementations and between TeX82 and TeX78.)

Furthermore, looking at how the support is implemented in emTeX,
at least, it seems that not only is it something of an invalid
extension, it's also something of a stupid extension. There is
little if anything that can be done with emTeX's codepages that
could not be done through macros (and portably that way as well).

It took me fifteen minutes to put together a file for my current
contract employer which remapped the PC-extended character set to
something that gives the intended results in TeX through a series
of maybe two dozen lines of the form:

\catcode`^^80=\active     \def^^80{\c{C}}

Because of my contractee's regulations on intellectual property,
I am not able to distribute this file trivial as it is. However,
anyone with the ability to generalize and the line above should
be able to build any code page they want.

But wait, there are more arguments for this approach: How many
code pages can you have per document with the codepage extension?
(Hint: the answer is one). How many code pages can you have per
document by using codepages defined in the above manner? (Hint:
the answer is not one).

And what about arbitrary remappings? Another thing that I've done
for my contractee is provide the ability for them to use PC ASCII
files that have Cyrillic characters indicated by character
positions greater than 127. Hmm, wouldn't it be nice to be able
to just use those characters as is? Well they can:

\catcode^^80=\active   \def^^80{A}
\catcode^^81=\active   \def^^81{B}

and so forth. And guess what? Kerning still works, hyphenation
still works. Ligatures could work but aren't applicable in this
case. Gosh, isn't this swell!

So does anybody still wonder why there hasn't been a big rush to
add code page support of this nature to TeX?

-dh

[As an aside, there is some reason to have codepage support in
TeX, but I would like it to be of a more general nature than what
can reasonably be provided without making a TeX+. In particular,
I would like the ability to deal with arbitrary length input-sets
(8bit, 16bit, 32bit, ...) and have the full features of the VF
facility built into TeX. Maybe when somebody sits down to write a
real TeX+ instead of cobbling a half-solution that only makes
their TeX incompatible with the rest of the world...]
---
Don Hosek   To retrieve files from ymir via the    | dhosek@ymir.claremont.edu
            mailserver, send a message to          | Quixote TeX Consulting
            mailserv@ymir.claremont.edu with a     | 714-625-0147
            line saying send [DIRECTORY]FILENAME 
            where DIRECTORY is the FTP directory (sans "anonymous") and 
            FILENAME is the filename, e.g. "send [tex]00readme.txt". There is
            a list of files in each directory under the name 00files.txt
            Binary files are not available by this technique.