# m17n-gui.h File Reference

## Data Structures
struct | MFaceHLineProp
| Type of horizontal line spec of face. More...
struct | MFaceBoxProp
| Type of box spec of face. More...
struct | MDrawControl
| Type of a text drawing control. More...
struct | MDrawMetric
| Type of metric for glyphs and texts. More...
struct | MDrawGlyphInfo
| Type of information about a glyph. More...
struct | MDrawGlyph
| Type of information about a glyph metric and font. More...
struct | MDrawTextItem
| Type of textitems. More...
struct | MInputGUIArgIC
| Type of the argument to the function minput_create_ic(). More...
## Typedefs
typedef struct MFrame | MFrame
| Type of frames.
typedef struct MFont | MFont
| Type of fonts.
typedef struct MFontset | MFontset
typedef struct MFace | MFace
| Type of faces.
typedef void(* | MFaceHookFunc )(MFace *face, void *arg, void *info)
| Type of hook function of face.
typedef void * | MDrawWindow
| Window system dependent type for a window.
typedef void * | MDrawRegion
| Window system dependent type for a region.
## Functions
MFrame * | mframe (MPlist *plist)
| Create a new frame.
void * | mframe_get_prop (MFrame *frame, MSymbol key)
| Return property value of frame.
MFont * | mfont ()
| Create a new font.
MFont * | mfont_copy (MFont *font)
| Make a copy of a font.
MFont * | mfont_parse_name (const char *name, MSymbol format)
| Create a font by parsing a fontname.
char * | mfont_unparse_name (MFont *font, MSymbol format)
| Create a fontname from a font.
char * | mfont_name (MFont *font)
| Create a fontname from a font.
MFont * | mfont_from_name (const char *name)
| Create a new font from fontname.
void * | mfont_get_prop (MFont *font, MSymbol key)
| Get a property value of a font.
int | mfont_put_prop (MFont *font, MSymbol key, void *val)
| Put a property value to a font.
int | mfont_set_encoding (MFont *font, MSymbol encoding_name, MSymbol repertory_name)
| Set encoding of a font.
MFont * | mfont_find (MFrame *frame, MFont *spec, int *score, int limited_size)
| Find a font.
MSymbol * | mfont_selection_priority ()
| Return the font selection priority.
int | mfont_set_selection_priority (MSymbol *keys)
| Set the font selection priority.
int | mfont_resize_ratio (MFont *font)
| Get resize information of a font.
MPlist * | mfont_list (MFrame *frame, MFont *font, MSymbol language, int maxnum)
| Get a list of fonts.
MPlist * | mfont_list_family_names (MFrame *frame)
| Get a list of font famiy names.
int | mfont_check (MFrame *frame, MFontset *fontset, MSymbol script, MSymbol language, MFont *font)
| Check the usability of a font.
int | mfont_match_p (MFont *font, MFont *spec)
| Check is a font matches with a font spec.
MFont * | mfont_open (MFrame *frame, MFont *font)
| Open a font.
MFont * | mfont_encapsulate (MFrame *frame, MSymbol data_type, void *data)
| Encapusulate a font.
int | mfont_close (MFont *font)
| Close a font.
MFontset * | mfontset (char *name)
| Return a fontset.
MSymbol | mfontset_name (MFontset *fontset)
| Return the name of a fontset.
MFontset * | mfontset_copy (MFontset *fontset, char *name)
| Make a copy of a fontset.
int | mfontset_modify_entry (MFontset *fontset, MSymbol script, MSymbol language, MSymbol charset, MFont *spec, MSymbol layouter_name, int how)
| Modify the contents of a fontset.
MPlist * | mfontset_lookup (MFontset *fontset, MSymbol script, MSymbol language, MSymbol charset)
| Lookup a fontset.
MFace * | mface ()
| Create a new face.
int | mface_equal (MFace *face1, MFace *face2)
| Compare faces.
MFace * | mface_copy (MFace *face)
| Make a copy of a face.
MFace * | mface_merge (MFace *dst, MFace *src)
| Merge faces.
MFace * | mface_from_font (MFont *font)
| Make a face from a font.
void * | mface_get_prop (MFace *face, MSymbol key)
| Get the value of a face property.
int | mface_put_prop (MFace *face, MSymbol key, void *val)
| Set a value of a face property.
MFaceHookFunc | mface_get_hook (MFace *face)
| Get the hook function of a face.
int | mface_put_hook (MFace *face, MFaceHookFunc func)
| Set a hook function to a face.
void | mface_update (MFrame *frame, MFace *face)
| Update a face.
int | mdraw_text (MFrame *frame, MDrawWindow win, int x, int y, MText *mt, int from, int to)
| Draw an M-text on a window.
int | mdraw_image_text (MFrame *frame, MDrawWindow win, int x, int y, MText *mt, int from, int to)
| Draw an M-text on a window as an image.
int | mdraw_text_with_control (MFrame *frame, MDrawWindow win, int x, int y, MText *mt, int from, int to, MDrawControl *control)
| Draw an M-text on a window with fine control.
int | mdraw_coordinates_position (MFrame *frame, MText *mt, int from, int to, int x, int y, MDrawControl *control)
| Return the character position nearest to the coordinates.
int | mdraw_text_extents (MFrame *frame, MText *mt, int from, int to, MDrawControl *control, MDrawMetric *overall_ink_return, MDrawMetric *overall_logical_return, MDrawMetric *overall_line_return)
| Compute text pixel width.
int | mdraw_text_per_char_extents (MFrame *frame, MText *mt, int from, int to, MDrawControl *control, MDrawMetric *ink_array_return, MDrawMetric *logical_array_return, int array_size, int *num_chars_return, MDrawMetric *overall_ink_return, MDrawMetric *overall_logical_return)
| Compute the text dimensions of each character of M-text.
int | mdraw_glyph_info (MFrame *frame, MText *mt, int from, int pos, MDrawControl *control, MDrawGlyphInfo *info)
| Compute information about a glyph.
int | mdraw_glyph_list (MFrame *frame, MText *mt, int from, int to, MDrawControl *control, MDrawGlyph *glyphs, int array_size, int *num_glyphs_return)
| Compute information about glyph sequence.
void | mdraw_text_items (MFrame *frame, MDrawWindow win, int x, int y, MDrawTextItem *items, int nitems)
| Draw one or more textitems.
void | mdraw_per_char_extents (MFrame *frame, MText *mt, MDrawMetric *array_return, MDrawMetric *overall_return)
| Obtain per character dimension information.
int | mdraw_default_line_break (MText *mt, int pos, int from, int to, int line, int y)
| Calculate a line breaking position.
void | mdraw_clear_cache (MText *mt)
| clear cached information.
MSymbol | minput_event_to_key (MFrame *frame, void *event)
| Convert an event to an input key.
MFace * | mdebug_dump_face (MFace *face, int indent)
| Dump a face.
MFont * | mdebug_dump_font (MFont *font)
| Dump a font.
MFontset * | mdebug_dump_fontset (MFontset *fontset, int indent)
| Dump a fontset.
## Variables
MSymbol | Mdevice
MSymbol | Mfont
MSymbol | Mfont_width
MSymbol | Mfont_ascent
MSymbol | Mfont_descent
MFrame * | mframe_default
| The default frame.
MSymbol | Mdisplay
MSymbol | Mscreen
MSymbol | Mdrawable
MSymbol | Mwidget
MSymbol | Mdepth
MSymbol | Mcolormap
MSymbol | Mx
| Symbol of name "x".
MSymbol | Mfreetype
| Symbol of name "freetype".
MSymbol | Mxft
| Symbol of name "xft".
MPlist * | mfont_freetype_path
| List of font files and directories that contain font files.
MSymbol | Mfoundry
| Key of font property specifying foundry.
MSymbol | Mfamily
| Key of font property specifying family.
MSymbol | Mweight
| Key of font property specifying weight.
MSymbol | Mstyle
| Key of font property specifying style.
MSymbol | Mstretch
| Key of font property specifying stretch.
MSymbol | Madstyle
| Key of font property specifying additional style.
MSymbol | Mspacing
| Key of font property specifying spacing.
MSymbol | Mregistry
| Key of font property specifying registry.
MSymbol | Msize
| Key of font property specifying size.
MSymbol | Mresolution
| Key of font property specifying resolution.
MSymbol | Mmax_advance
| Key of font property specifying max advance width.
MSymbol | Motf
| Key of font property specifying file name.
MSymbol | Mfontfile
| Key of font property specifying file name.
MSymbol | Mfontconfig
| Symbol of name "fontconfig".
MSymbol | Mforeground
| Key of a face property specifying foreground color.
MSymbol | Mbackground
| Key of a face property specifying background color.
MSymbol | Mvideomode
| Key of a face property specifying video mode.
MSymbol | Mnormal
MSymbol | Mreverse
MSymbol | Mhline
| Key of a face property specifying horizontal line.
MSymbol | Mbox
| Key of a face property specifying box.
MSymbol | Mfontset
| Key of a face property specifying fontset.
MSymbol | Mratio
| Key of a face property specifying font size ratio.
MSymbol | Mhook_func
| Key of a face property specifying hook.
MSymbol | Mhook_arg
| Key of a face property specifying argument of hook.
MFace * | mface_normal_video
| Normal video face.
MFace * | mface_reverse_video
| Reverse video face.
MFace * | mface_underline
| Underline face.
MFace * | mface_medium
| Medium face.
MFace * | mface_bold
| Bold face.
MFace * | mface_italic
| Italic face.
MFace * | mface_bold_italic
| Bold italic face.
MFace * | mface_xx_small
| Smallest face.
MFace * | mface_x_small
| Smaller face.
MFace * | mface_small
| Small face.
MFace * | mface_normalsize
| Normalsize face.
MFace * | mface_large
| Large face.
MFace * | mface_x_large
| Larger face.
MFace * | mface_xx_large
| Largest face.
MFace * | mface_black
| Black face.
MFace * | mface_white
| White face.
MFace * | mface_red
| Red face.
MFace * | mface_green
| Green face.
MFace * | mface_blue
| Blue face.
MFace * | mface_cyan
| Cyan face.
MFace * | mface_yellow
| yellow face.
MFace * | mface_magenta
| Magenta face.
MSymbol | Mface
| Key of a text property specifying a face.
int | mdraw_line_break_option
| Option of line breaking for drawing text.
MInputDriver | minput_gui_driver
| Input driver for internal input methods on window systems.

## Typedef Documentation

typedef struct MFontset MFontset