<tt>Minteger</tt>, the value is an integer. If the key is
<tt>Msymbol</tt>, the value is a symbol. And so on.
-A number of character representations are possible to represent a
+A number of expressions are possible to represent a
plist. For instance, we can use the form <tt>(K1:V1, K2:V2,
... ,Kn:Vn)</tt> to represent a plist whose first property key and
value are K1 and V1, second key and value are K2 and V2, and so on.
-However, we can use a simpler notation here because the types of
+However, we can use a simpler expression here because the types of
plists used in the m17n database are fairly restricted.
-Hereafter, we use a character representation, which is similar to
+Hereafter, we use an expression, which is similar to
S-expression, to represent a plist. (Actually, the default database
loader of the m17n library is designed to read data files written in
-this format.)
+this expression.)
-The representation consists of one or more <i>elements</i>. Each
+The expression consists of one or more <i>elements</i>. Each
element represents a property, i.e. a single element of a plist.
Elements are separated by one or more <i>whitespaces</i>, i.e. a space
EXAMPLE
-Here is an example of plist that is written in our S-expression like
-representation.
+Here is an example of plist that is written in the expression
+explained above.
@verbatim
abc 123 (pqr 0xff) "m\"text" (_\\_ ("string" xyz) -456)
@verbatim
FONT-ENCODING ::=
- '(' PER-FONT-INFO * ')'
+ PER-FONT-INFO *
PER-FONT-INFO ::=
'(' FONT-SPEC ENCODING ')'
@verbatim
FONT-RESIZE ::=
- '(' PER-FONT-INFO * ')'
+ PER-FONT-INFO *
PER-FONT-INFO ::=
'(' FONT-SPEC RESIZE-RATIO ')'
@verbatim
FONTSET ::=
- '(' PER-SCRIPT + ')'
+ PER-SCRIPT +
PER-SCRIPT ::=
'(' SCRIPT PER-LANGUAGE + ')'
@section flt Font Layout Table
-Usually, the rendering engine converts character codes of a text into
-glyph codes one by one by consulting information about encoding of
-each selected font. But, for rendering a text that requires
-complicated layouting (e.g. Thai and Indic), such an one to one
-conversion is not sufficient. In addition, some glyphs must be
-shifted 2-dimensionally on the screen. For such a case, a font layout
-table (FLT in short) must be used.
-
-A FLT can contain all the information in OpenType Layout Table (CMAP,
-GSUB, and GPOS) in addition to the information about how to extract a
-grapheme cluster and how to re-order characters.
+Usually, the rendering engine converts character codes of into glyph
+codes one by one by consulting information about encoding of each
+selected font. But, for rendering a text that requires complicated
+layouting (e.g. Thai and Indic), such an one to one conversion is not
+sufficient. In addition, some glyphs must be shifted 2-dimensionally
+on the screen. For such a case, a font layout table (FLT in short)
+must be used.
+
+A FLT can contain the information equivarent to OpenType Layout Table
+(CMAP, GSUB, and GPOS) in addition to the information about how to
+extract a grapheme cluster and how to re-order characters.
The m17n library loads a FLT from the m17n database by the tags
\<font, layouter, FLT-NAME\>. The plist format of the data is as