GNU Info

Info Node: (web2c.info)\charsubdef

(web2c.info)\charsubdef


Next: \tracingcharsubdef Up: MLTeX
Enter node , (file) or (file)node

`\charsubdef': Character substitutions
......................................

  The most important primitive MLTeX adds is `\charsubdef', used in a
way reminiscent of `\chardef':
     \charsubdef COMPOSITE [=] ACCENT BASE

  Each of COMPOSITE, ACCENT, and BASE are font glyph numbers, expressed
in the usual TeX syntax: `\e symbolically, '145 for octal, "65 for hex,
101 for decimal.

  MLTeX's `\charsubdef' declares how to construct an accented character
glyph (not necessarily existing in the current font) using two
character glyphs (that do exist).  Thus it defines whether a character
glyph code, either typed as a single character or using the `\char'
primitive, will be mapped to a font glyph or to an `\accent' glyph
construction.

  For example, if you assume glyph code 138 (decimal) for an
e-circumflex and you are using the Computer Modern fonts, which have
the circumflex accent in position 18 and lowercase `e' in the usual
ASCII position 101 decimal, you would use `\charsubdef' as follows:

     \charsubdef 138 = 18 101

  For the plain TeX format to make use of this substitution, you have
to redefine the circumflex accent macro `\^' in such a way that if its
argument is character `e' the expansion `\char138 ' is used instead of
`\accent18 e'.  Similar `\charsubdef' declaration and macro
redefinitions have to be done for all other accented characters.

  To disable a previous `\charsubdef C', redefine C as a pair of zeros.
For example:
     \charsubdef '321 = 0 0  % disable N tilde

(Octal '321 is the ISO Latin-1 value for the Spanish N tilde.)

  `\charsubdef' commands should only be given once.  Although in
principle you can use `\charsubdef' at any time, the result is
unspecified.  If `\charsubdef' declarations are changed, usually either
incorrect character dimensions will be used or MLTeX will output
missing character warnings.  (The substitution of a `\charsubdef' is
used by TeX when appending the character node to the current horizontal
list, to compute the width of a horizontal box when the box gets
packed, and when building the `\accent' construction at
`\shipout'-time.  In summary, the substitution is accessed often, so
changing it is not desirable, nor generally useful.)


automatically generated by info2www version 1.2.2.9