[META_CharSet]

Use the [META_CharSet] section of the assignment file to map characters in the Uniface meta character set, for example [META_Japanese] or [META_Western], to and from Unicode.

Syntax

[META_CharSet]

Font.Char-IN; Unicode; Font.Char-OUT;

For example:

[META_JAPANESE]
7.] ± 7.]

Arguments

  • CharSet—character-set name, such as Western or Cyrillic.
  • Font.Char-IN and Font.Char-OUT—codes in the Uniface meta character set. The format of each is FontNumber.&#ColumnNumber. For example, 33.&#93.
  • Unicode—either a Unicode prefixed with &#, or a single character. For example, &#x00B1 or ±.

Description

During input (for example, retrieving characters from a database to Uniface), Font.Char-IN is mapped to Unicode. During output (for example, storing characters to a database), Unicode is mapped to Font.Char-OUT.

Some characters in Uniface-supported character sets are not in Unicode. Unicode is the internal character set of Uniface, so those characters are also missing in Uniface. A character that has multiple entries in the meta character set, such as the plus-minus sign ±, has only one entry point in Unicode, which can result in errors. These problems can be solved by defining your own mappings in the [META_CHARSET] section.

For a single-byte character set, Font.Char-IN and Font.Char-OUT are allowed only in Font 0 through Font 7. For a double-byte character set, they can be in any Font set.

[META_CharSet] Sections and Font Ranges.
[META_CharSet]

Range of Font.Char

[META_WESTERN] Font 0–Font 7
[META_EASTERN_EUROPE] Font 0–Font 7
[META_CYRILLIC] Font 0–Font 7
[META_GREEK] Font 0–Font 7
[META_HEBREW] Font 0–Font 7
[META_ARABIC] Font 0–Font 7
[META_KOREAN] Font 0–Font 127
[META_JAPANESE] Font 0–Font 127
[META_SIMPLIFIED_CHINESE] Font 0–Font 127

Note:  Uniface support for the Traditional Chinese character set is not done via the meta character set, so this section is not applicable for the Traditional Chinese character set.

Uniface 9 translation tables include a Meta_Variant definition that ensures that Uniface can automatically map most meta sets characters to Unicode.

The plus-minus sign ± has two entry points in the meta character set: Font1,49 and Font7,93. By default, Uniface maps both of them to Unicode x00B1 during input, and maps x00B1 to Font1,49 during output. Therefore, if ± is input as Font7,93, the output can be erroroneous. To avoid this error, map x00B1 to Font7,93, for example:

[META_JAPANESE]
7.] ±     7.]

When retrieving data from a database, Uniface first maps ± to 7.&#93 using $DEF_CHARSET, then to x00B1 according to the [META_WESTERN] definition. When storing data to a database, Uniface first maps x00B1 to 7.&#93 according to the definition, then maps 7.&#93 to ± using $DEF_CHARSET.

Related Topics