Main Page   Modules   Data Structures   Globals   Appendix  

Fontset
[GUI API]

A fontset is an object that maps a character to fonts. More...

Functions

MFontsetmfontset (char *name)
 Return a fontset.

MSymbol mfontset_name (MFontset *fontset)
 Return the name of a fontset.

MFontsetmfontset_copy (MFontset *fontset, char *name)
 Make a copy a fontset.

int mfontset_modify_entry (MFontset *fontset, MSymbol language, MSymbol script, MSymbol charset, MFont *spec, MSymbol layouter_name, int how)
 Modify the contents of a fontset.


Detailed Description

A fontset is an object of the type MFontset. When drawing an M-text, a fontset provides rules to select a font for each character in the M-text according to the following information.

The documentation of mdraw_text() describes how that information is used.


Function Documentation

MFontset* mfontset char *  name  ) 
 

The mfontset() function returns a pointer to a fontset object of name name. If name is NULL, it returns a pointer to the default fontset.

If no fontset has the name name, a new one is created. At that time, if there exists a data <fontset, name> in the m17n database, the fontset contents are initialized according to the data. If no such data exists, the fontset contents are left vacant.

The macro M17N_INIT() creates the default fontset. An application program can modify it before the first call of mframe ().

Return value:
This function returns a pointer to the found or newly created fontset.

MSymbol mfontset_name MFontset fontset  ) 
 

The mfontset_name() function returns the name of fontset.

MFontset* mfontset_copy MFontset fontset,
char *  name
 

The mfontset_copy() function makes a copy of fontset, gives it a name name, and returns a pointer to the created copy. name must not be a name of existing fontset. Otherwise, this function returns NULL without making a copy.

int mfontset_modify_entry MFontset fontset,
MSymbol  script,
MSymbol  language,
MSymbol  charset,
MFont spec,
MSymbol  layouter_name,
int  how
 

The mfontset_modify_entry() function associates, in fontset, a copy of font with the script / language pair or with charset.

Each font in a fontset is associated with a particular script/language pair, with a particular charset, or with the symbol Mnil. The fonts that are associated with the same item make a group.

If script is not Mnil, it must be a symbol identifying a script. In this case, language is either a symbol identifying a language or Mnil, and font is associated with the script / language pair.

If charset is not Mnil, it must be a symbol representing a charset object. In this case, font is associated with that charset.

If both script and charset are not Mnil, two copies of font are created. Then one is associated with the script/language pair and the other with the charset.

If both script and charset are Mnil, font is associated with Mnil. This kind of fonts are called fallback fonts.

The argument how specifies the priority of font. If how is positive, font has the highest priority in the group of fonts that are associated with the same item. If how is negative, font has the lowest priority. If how is zero, font becomes the only available font for the associated item; all the other fonts are removed from the group.

If layouter_name is not Mnil, it must be a symbol representing a . In that case, if font is selected for drawing an M-text, that font layout table is used to generate a glyph code sequence from a character sequence.

Return value:
If the operation was successful, mfontset_modify_entry() returns 0. Otherwise it returns -1 and assigns an error code to the external variable merror_code.
Errors:
MERROR_SYMBOL


Top of this page

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark mule-aist@m17n.org