Copyright (C) 2000-2012 |
GNU Info (screen.info)Character TranslationCharacter Translation ===================== `Screen' has a powerful mechanism to translate characters to arbitrary strings depending on the current font and terminal type. Use this feature if you want to work with a common standard character set (say ISO8851-latin1) even on terminals that scatter the more unusual characters over several national language font pages. Syntax: XC=<CHARSET-MAPPING>{,,<CHARSET-MAPPING>} <CHARSET-MAPPING> := <DESIGNATOR><TEMPLATE>{,<MAPPING>} <MAPPING> := <CHAR-TO-BE-MAPPED><TEMPLATE-ARG> The things in braces may be repeated any number of times. A <CHARSET-MAPPING> tells screen how to map characters in font <DESIGNATOR> (`B': Ascii, `A': UK, `K': german, etc.) to strings. Every <MAPPING> describes to what string a single character will be translated. A template mechanism is used, as most of the time the codes have a lot in common (for example strings to switch to and from another charset). Each occurrence of `%' in <TEMPLATE> gets substituted with the TEMPLATE-ARG specified together with the character. If your strings are not similar at all, then use `%' as a template and place the full string in <TEMPLATE-ARG>. A quoting mechanism was added to make it possible to use a real `%'. The `\' character quotes the special characters `\', `%', and `,'. Here is an example: termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]' This tells `screen', how to translate ISOlatin1 (charset `B') upper case umlaut characters on a `hp700' terminal that has a german charset. `\304' gets translated to `\E(K[\E(B' and so on. Note that this line gets parsed *three* times before the internal lookup table is built, therefore a lot of quoting is needed to create a single `\'. Another extension was added to allow more emulation: If a mapping translates the unquoted `%' char, it will be sent to the terminal whenever screen switches to the corresponding <DESIGNATOR>. In this special case the template is assumed to be just `%' because the charset switch sequence and the character mappings normally haven't much in common. This example shows one use of the extension: termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334' Here, a part of the german (`K') charset is emulated on an xterm. If screen has to change to the `K' charset, `\E(B' will be sent to the terminal, i.e. the ASCII charset is used instead. The template is just `%', so the mapping is straightforward: `[' to `\304', `\' to `\326', and `]' to `\334'. automatically generated by info2www version 1.2.2.9 |