From d318611dd6f23fcfedd50e9b9e24620b102ba96a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 21:44:05 +0200 Subject: Adding upstream version 1.23.0. Signed-off-by: Daniel Baumann --- doc/groff.html.node/Character-Translations.html | 200 ++++++++++++++++++++++++ 1 file changed, 200 insertions(+) create mode 100644 doc/groff.html.node/Character-Translations.html (limited to 'doc/groff.html.node/Character-Translations.html') diff --git a/doc/groff.html.node/Character-Translations.html b/doc/groff.html.node/Character-Translations.html new file mode 100644 index 0000000..a867be8 --- /dev/null +++ b/doc/groff.html.node/Character-Translations.html @@ -0,0 +1,200 @@ + + + + + + +Character Translations (The GNU Troff Manual) + + + + + + + + + + + + + + + + + + + + +
+ +
+

5.13 Character Translations

+ + + +

A translation is a mapping of an input character to an output +glyph. The mapping occurs at output time, i.e., the input character +gets assigned the metric information of the mapped output character +right before input tokens are converted to nodes (see gtroff Internals, for more on this process). +

+
+
Request: .tr abcd
+
+
Request: .trin abcd
+
+

Translate character a to glyph b, character c to +glyph d, and so on. If there is an odd number of characters +in the argument, the last one is translated to a fixed-width space (the +same one obtained by the \SP escape sequence). +

+

The trin request is identical to tr, but when you unformat +a diversion with asciify it ignores the translation. +See Diversions, for details about the asciify request. +

+

Some notes: +

+
    +
  • + + + + + + + + + + + + +Special characters (\(xx, \[xxx], +\C'xxx', \', \`, \-, \_), +glyphs defined with the char request, and numbered glyphs +(\N'xxx') can be translated also. + +
  • +The \e escape can be translated also. + +
  • + +Characters can be mapped onto the \% and \~ escape +sequences (but \% and \~ can’t be mapped onto another +glyph). + +
  • + + + + + + + + + +The following characters can’t be translated: space (with one exception, +see below), backspace, newline, leader (and \a), tab (and +\t). + +
  • +Translations are not considered for finding the soft hyphen character +set with the shc request. + +
  • +The pair ‘c\&’ (an arbitrary character c followed +by the dummy character) maps this character to “nothing”. + +
    +
    .tr a\&
    +foo bar
    +    ⇒ foo br
    +
    + +

    Even the space character can be mapped to the dummy character. +

    +
    +
    .tr aa \&
    +foo bar
    +    ⇒ foobar
    +
    + +

    As shown in the example, the space character can’t be the first +character/glyph pair as an argument of tr. Additionally, it is +not possible to map the space character to any other glyph; requests +like ‘.tr aa x undo ‘.tr aa \& instead. +

    +

    If justification is active, lines are justified in spite of the ‘empty’ +space character (but there is no minimal distance, i.e., the space +character, between words). +

    +
  • After an output glyph has been constructed (this happens at the moment +immediately before the glyph is appended to an output glyph list, either +by direct output, in a macro, diversion, or string), it is no longer +affected by tr. + +
  • Translating character to glyphs where one of them or both are undefined +is possible also; tr does not check whether the elements of its +argument exist. + +

    See gtroff Internals. +

    +
  • Without an argument, the tr request is ignored. +
+
+ +
+
Request: .trnt abcd
+
+ +

trnt is the same as the tr request except that the +translations do not apply to text that is transparently throughput into +a diversion with \!. See Diversions. +

+

For example, +

+
+
.tr ab
+.di x
+\!.tm a
+.di
+.x
+
+ +

prints ‘b’ to the standard error stream; if trnt is used +instead of tr it prints ‘a’. +

+ + + +
+
+ + + + + + -- cgit v1.2.3