man mdbFontset (Formats) - Fontset
NAME
mdbFontset - Fontset
DESCRIPTION
The m17n library loads a fontset definition from the m17n database by the tags <fontset, FONTSET-NAME>. The plist format of the data is as follows:
FONTSET ::= PER-SCRIPT * PER-CHARSET * FALLBACK *
PER-SCRIPT ::= '(' SCRIPT PER-LANGUAGE + ')'
PER-LANGUAGE ::= '(' LANGUAGE FONT-SPEC-ELEMENT + ')'
PER-CHARSET ::= '(' CHARSET FONT-SPEC-ELEMENT + ')'
FALLBACK ::= FONT-SPEC-ELEMENT
FONT-SPEC-ELEMENT ::= '(' FONT-SPEC [ FLT-NAME ] ')'
FONT-SPEC ::= '(' [ FOUNDRY FAMILY [ WEIGHT [ STYLE [ STRETCH [ ADSTYLE ]]]]] REGISTRY ')'
SCRIPT is a symbol of script name (e.g. latin, han) or nil. LANGUAGE is a two-letter symbol of language name code defined by ISO 639 (e.g. ja, zh) or nil.
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.
FLT-NAME is a name of Font Layout Table (Font Layout Table).
EXAMPLE
This is an example of PER_SCRIPT.
(han (ja ((jisx0208.1983-0))) (zh ((gb2312.1980-0))) (nil ((big5-0))))
It instructs the font selector to use a font of registry 'jisx0208.1983-0' for a 'han' character (i.e. a character whose #Mscript property is 'han') if the character has #Mlanguage text property 'ja' in an M-text and the character is in the repertories of such fonts. Otherwise, try a font of registry 'gb2312.1980-0' or 'big5-0'. If that 'han' character does not have #Mlanguage text property, try all three fonts.
See the function mdraw_text() for the detail of how a font is selected.