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.