The m17n library loads information about the encoding of each font form the m17n database by the tags <font, encoding>. The data is loaded as a plist of this format.
FONT-ENCODING ::= PER-FONT *
PER-FONT ::= ( FONT-SPEC ENCODING [ REPERTORY ] )
( [ FOUNDRY FAMILY
[ WEIGHT [ STYLE [ STRETCH [ ADSTYLE ]]]]]
ENCODING ::= SYMBOL
FONT-SPEC is to specify properties of a font. FOUNDRY to REGISTRY are symbols corresponding to Mfoundry to Mregistry property of a font. See m17nFont for the meaning of each property.
For instance, this FONT-SPEC:
(nil alice0 lao iso8859-1)
should be applied to all fonts whose family name is alice0 lao, and registry is iso8859-1.
ENCODING is a symbol representing a charset. A font matching FONT-SPEC supports all characters of the charset, and a character code is mapped to the corresponding glyph code of the font by this charset.
REPERTORY is a symbol representing a charset or nil. Omitting it is the same as specifying ENCODING as REPERTORY. If it is not nil, the charset specifies the repertory of the font, i.e, which character it supports. Otherwise, whether a specific character is supported by the font or not is asked to each font driver.
For so called Unicode fonts (registry is iso10646-1), it is recommended to specify nil as REPERTORY because such fonts usually supports only a subset of Unicode characters.