Extended character support entries
- Last Updated: January 16, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
You can define mappings between standard ASCII (7-bit)
characters and extended (8-bit) characters in the PROTERMCAP file.
Extended characters are typically non-English alphabetical characters. OpenEdge uses
these mappings to build a translation table for processing characters
in the input and output streams.
If you use extended character sets, you must specify character
mappings for each character set on a per-terminal basis. For example,
the following code fragment from the PROTERMCAP file
demonstrates how to map characters on the Wyse 60 keyboard to German
language characters:
|
The IN statements in the preceding example map ASCII
characters (B, A, a, O, o, U, and u) to German characters (ß, Ä,
ä, Ö, ö, Ü, and ü). When OpenEdge sees the character A (\101)
on input, it converts the character to Ä (\216). Likewise, when OpenEdge needs
to send an Ä to the terminal, it sends (\101). The terminal sees
A and displays Ä.
Suppose the terminal cannot display an Ä. You can use the OUT statement
to specify an appropriate character to display for Ä, such as capital
A. For example:
|
The IN and OUT statements express
both the ASCII character and the extended character in octal (\nnn)
format.
Given the appropriate PROTERMCAP file entries
for a language and terminal, set the TERM environment
variable to terminal/language (for example, TERM=wy60/german).
You can also specify character mappings for the input and output
streams using the MAP option with each of the following
ABL language elements:
-
INPUT FROMstatement -
INPUT THROUGHstatement -
INPUT-OUTPUT THROUGHstatement -
OUTPUT THROUGHstatement -
OUTPUT TOstatement
For more information about these language elements, see ABL Reference.