International Language Environments Guide

Association Section

The association section of the mp.conf file associates each font with the shared object that maps the intermediate code points to the presentation forms in the font encoding. The format for each line in this section is as follows:



font alias name

The alias name defined for the font.

mapping function

Takes in the intermediate code and returns presentation forms in font encoding, which is in turn used to get the glyph index and draw the glyph.

file path having mapping function

The .so file name that contains the mapping function. You can use the utility in dumpcs to ascertain the intermediate code set for EUC locales.

Note –

The current TrueType engine used by mp (1) can work only with format 4 and PlatformID 3 cmap. You can only configure Microsoft .ttf files. Additionally, the character map encoding has to be Unicode or Symbol for the TrueType font engine to work correctly. Because most of the .ttf fonts in the Oracle Solaris environment obey these restrictions, you can map all TrueType fonts in Oracle Solaris software within the mp.conf file.

You can create a shared object that maps a font to correspond with a PCF type1 X Logical Fonts Description (XLFD). You can then create a shared object that maps from the intermediate code range to the encoding specified by XLFD. For example:


The corresponding PCF font is:


This font is encoded in ISO 8859-8, so shared objects have to map between intermediate code and corresponding ISO 8859-8 code points.

If a TrueType font with XLFD:


has the corresponding font:


you should map between the intermediate code and Unicode, because the cmap encoding for the previous TrueType font is in Unicode. In the example of this TrueType font, suppose a sample intermediate code in the en_US.UTF-8 locale that corresponds to a Hebrew character (produced by the PLS layer) is 0xe50000e9. Because the font is Unicode encoded, design the function within the corresponding .so module in such a way that when you are passing 0xe50000e9, the output corresponds to presentation form in Unicode. The example here is 0x000005d9.

The function prototype for the mapping function should be:

unsigned int function(unsigned int inter_code_pt)

The following are optional keyword/value pairs that you can use in mp.conf:

PresentationForm        WC/PLSOutput

The default value is PLSOutput. If the user specifies WC, then the intermediate code points that are generated are wide characters. For CTL printing, this default value should be used.

If the locale is a non-CTL locale and the keyboard value is PLSOutput, that value is ignored and the mp generates wide-character codes instead.

You can use the optional keyword/value pairs listed in the following table if the locale supports CTL. These variables can assume any of the possible values given in the middle column of the table.

Table 7–1 Optional Keyword/Value Pairs

Optional Keyword 

Optional Value