编辑: kieth | 2013-05-07 |
127 in a text with a di?erent code page since the \lccode are adapted to that code page6 . Despite this fact, the use of a pattern ?le containing characters above
127 is a good idea7 , because the results are surprisingly good (almost with French language). Moreover, the package codepage provides the command \MakeHyphenationLetter to adapt locally the \lccode value to a value usable by the \hyphenation command.
2 The user interface The prime goal of the interface was to be as simple as possible . Therefore it'
s composed by two macros and some constants: The code pages are de?ned by constants: \FourThreeSeven for the code page
437 of the PC;
this code page is the standard code page used with English system. \EightFiveZero for the code page 850. This code page is similar to code page
437 but contain more accented characters and less mathematical and special glyphs. It is used by international systems. \IsoOne Iso Latin set
1 (the windows characters). \Mac Mac Intosh characters. The TEX encoding are de?ned by two other constants: \CM for the standard original TEX encoding. This code is de?ned on only
128 position and does not contain characters with diacritical marks. \DC for the new code de?ned at Cork. When this code is chosen, the Dc fonts should be available. Now the two main macros: \codepage#1#2 This macro has two parameters which should be the constants de?ned above. The ?rst parameter is the local code page, the second the encoding of the fonts used with TEX (\DC,\CM). This macro rede?nes all the macros for putting accent over a letter, the original macro is saved under a new name. 4If, one day, a such standard should be established, no doubts it will be de?ned on sixteen bits (number from
1 to 65535) to allow special characters for every applications (math symbols, foreign languages, etc...). 5A format is a precompiled version of commands used to composed a document. 6This is mandatory to have a correct behaviour with the command \uppercase and \lowercase, which transform a character in lower or upper case, according to the values: \lccode and \uccode. 7The modi?cation of the original pattern ?le should not be done to preserve portability and (often) to respect the wish of maintainer who want to have a standard ?le.
2 New name Original command \Grave \'
\Circumflex \^ \Tilda \~ \OverBar \= \UnderBar \b \Join \t \HungarUmlaut \H \Acute \'
\Diaresis \ \Breve \u \OverDot \. \UnderDot \d \Tcheche \v \Cedille \c After the call of \codepage all the characters above
127 are active . \MakeHyphenationLetter#1#2 This macro has two parameters, the ?rst is the local code page and the second is a character above 127. This macro should always be called in a group (i.e. inside braces) to avoid undesirable change of \lccode. After the call, the letter can be use in the macro \hyphenation to construct correct pattern for hyphenation exceptions. Unfortunately this is not one way transformation, and two di?erent characters above
127 could have the same \lccode. In this case a warning is used, but this could a?ect........