\section{Face}
\label{group__m17nFace}\index{Face@{Face}}
A face is an object to control appearance of M-text.  
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct {\bf MFaceHLineProp}
\begin{CompactList}\small\item\em Type of horizontal line spec of face. \item\end{CompactList}\item 
struct {\bf MFaceBoxProp}
\begin{CompactList}\small\item\em Type of box spec of face. \item\end{CompactList}\end{CompactItemize}
\subsection*{Variables: Keys of face property}
\begin{CompactItemize}
\item 
{\bf MSymbol} {\bf Mforeground}
\begin{CompactList}\small\item\em Key of a face property specifying foreground color. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mbackground}
\begin{CompactList}\small\item\em Key of a face property specifying background color. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mvideomode}
\begin{CompactList}\small\item\em Key of a face property specifying video mode. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mratio}
\begin{CompactList}\small\item\em Key of a face property specifying font size ratio. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mhline}
\begin{CompactList}\small\item\em Key of a face property specifying horizontal line. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mbox}
\begin{CompactList}\small\item\em Key of a face property specifying box. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mfontset}
\begin{CompactList}\small\item\em Key of a face property specifying fontset. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mhook\_\-func}
\begin{CompactList}\small\item\em Key of a face property specifying hook. \item\end{CompactList}\item 
{\bf MSymbol} {\bf Mhook\_\-arg}
\begin{CompactList}\small\item\em Key of a face property specifying argument of hook. \item\end{CompactList}\end{CompactItemize}
\subsection*{Variables: Possible values of \#Mvideomode property of face}
See the documentation of the variable \doxyref{Mvideomode}{p.}{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a}. \begin{CompactItemize}
\item 
{\bf MSymbol} {\bf Mnormal}
\item 
{\bf MSymbol} {\bf Mreverse}
\end{CompactItemize}
\subsection*{Variables: Predefined faces}
\begin{CompactItemize}
\item 
{\bf MFace} $\ast$ {\bf mface\_\-normal\_\-video}
\begin{CompactList}\small\item\em Normal video face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-reverse\_\-video}
\begin{CompactList}\small\item\em Reverse video face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-underline}
\begin{CompactList}\small\item\em Underline face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-medium}
\begin{CompactList}\small\item\em Medium face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-bold}
\begin{CompactList}\small\item\em Bold face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-italic}
\begin{CompactList}\small\item\em Italic face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-bold\_\-italic}
\begin{CompactList}\small\item\em Bold italic face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-xx\_\-small}
\begin{CompactList}\small\item\em Smallest face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-x\_\-small}
\begin{CompactList}\small\item\em Smaller face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-small}
\begin{CompactList}\small\item\em Small face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-normalsize}
\begin{CompactList}\small\item\em Normalsize face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-large}
\begin{CompactList}\small\item\em Large face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-x\_\-large}
\begin{CompactList}\small\item\em Larger face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-xx\_\-large}
\begin{CompactList}\small\item\em Largest face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-black}
\begin{CompactList}\small\item\em Black face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-white}
\begin{CompactList}\small\item\em White face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-red}
\begin{CompactList}\small\item\em Red face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-green}
\begin{CompactList}\small\item\em Green face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-blue}
\begin{CompactList}\small\item\em Blue face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-cyan}
\begin{CompactList}\small\item\em Cyan face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-yellow}
\begin{CompactList}\small\item\em yellow face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-magenta}
\begin{CompactList}\small\item\em Magenta face. \item\end{CompactList}\end{CompactItemize}
\subsection*{Variables: The other symbols for face handling.}
\begin{CompactItemize}
\item 
{\bf MSymbol} {\bf Mface}
\begin{CompactList}\small\item\em Key of a text property specifying a face. \item\end{CompactList}\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef struct {\bf MFace} {\bf MFace}
\begin{CompactList}\small\item\em Type of faces. \item\end{CompactList}\item 
typedef void($\ast$ {\bf MFaceHookFunc} )({\bf MFace} $\ast$face, void $\ast$arg, void $\ast$info)
\begin{CompactList}\small\item\em Type of hook function of face. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
{\bf MFace} $\ast$ {\bf mface} ()
\begin{CompactList}\small\item\em Create a new face. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-copy} ({\bf MFace} $\ast$face)
\begin{CompactList}\small\item\em Make a copy of a face. \item\end{CompactList}\item 
int {\bf mface\_\-equal} ({\bf MFace} $\ast$face1, {\bf MFace} $\ast$face2)
\begin{CompactList}\small\item\em Compare faces. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-merge} ({\bf MFace} $\ast$dst, {\bf MFace} $\ast$src)
\begin{CompactList}\small\item\em Merge faces. \item\end{CompactList}\item 
{\bf MFace} $\ast$ {\bf mface\_\-from\_\-font} ({\bf MFont} $\ast$font)
\begin{CompactList}\small\item\em Make a face from a font. \item\end{CompactList}\item 
void $\ast$ {\bf mface\_\-get\_\-prop} ({\bf MFace} $\ast$face, {\bf MSymbol} key)
\begin{CompactList}\small\item\em Get the value of a face property. \item\end{CompactList}\item 
{\bf MFaceHookFunc} {\bf mface\_\-get\_\-hook} ({\bf MFace} $\ast$face)
\begin{CompactList}\small\item\em Get the hook function of a face. \item\end{CompactList}\item 
int {\bf mface\_\-put\_\-prop} ({\bf MFace} $\ast$face, {\bf MSymbol} key, void $\ast$val)
\begin{CompactList}\small\item\em Set a value of a face property. \item\end{CompactList}\item 
int {\bf mface\_\-put\_\-hook} ({\bf MFace} $\ast$face, {\bf MFaceHookFunc} func)
\begin{CompactList}\small\item\em Set a hook function to a face. \item\end{CompactList}\item 
void {\bf mface\_\-update} ({\bf MFrame} $\ast$frame, {\bf MFace} $\ast$face)
\begin{CompactList}\small\item\em Update a face. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
A face is an object to control appearance of M-text. 

A {\em face\/} is an object of the type \doxyref{MFace}{p.}{group__m17nFace_gd9e913e845df8db71f448e3aca2b83b5} and controls how to draw M-texts. A face has a fixed number of {\em face\/} {\em properties\/}. Like other types of properties, a face property consists of a key and a value. A key is one of the following symbols:

\doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f}, \doxyref{Mbackground}{p.}{group__m17nFace_g8d0f5054c5128d0369d8147cda7f53ca}, \doxyref{Mvideomode}{p.}{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a}, \doxyref{Mhline}{p.}{group__m17nFace_g4b54f64d7e2b6c7cae17ba7041855543}, \doxyref{Mbox}{p.}{group__m17nFace_gef4de28536a14fa67b45d4adc9c03d0f}, \doxyref{Mfoundry}{p.}{group__m17nFont_gaf47ff596e3d9768b214a039014b6ea5}, \doxyref{Mfamily}{p.}{group__m17nFont_gb297101760f7573ab33b846ccbda7500}, \doxyref{Mweight}{p.}{group__m17nFont_g748212149a23eda2e6225ed121305308}, \doxyref{Mstyle}{p.}{group__m17nFont_g4a3a457f1c52fb783809b94366a34d86}, \doxyref{Mstretch}{p.}{group__m17nFont_g9016e01983ec22fc8e1255629e337b07}, \doxyref{Madstyle}{p.}{group__m17nFont_g00bea74da7de4bf0b94de59f6b44d1e9}, \doxyref{Msize}{p.}{group__m17nFont_g072ce0799f7766597e4d3028b70fef60}, \doxyref{Mfontset}{p.}{group__m17nFace_gaacb68d5b559f01e985854bd375dda5f}, \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c}, \doxyref{Mhook\_\-func}{p.}{group__m17nFace_g2067c84250b6d4e3d2d1488b6f09f227}, \doxyref{Mhook\_\-arg}{p.}{group__m17nFace_g7b90084ad168aaab28bb22b242a4c684}

The notation \char`\"{}xxx property of F\char`\"{} means the face property that belongs to face F and whose key is {\tt Mxxx}.

The M-text drawing functions first search an M-text for the text property whose key is the symbol \doxyref{Mface}{p.}{group__m17nFace_g0d38a942d019c7cc235258e73fa42789}, then draw the M-text using the value of that text property. This value must be a pointer to a face object.

If there are multiple text properties whose key is {\tt Mface}, and they are not conflicting one another, properties of those faces are merged and used.

If no faces specify a certain property, the value of the default face is used. 

\subsection{Typedef Documentation}
\index{m17nFace@{m17nFace}!MFace@{MFace}}
\index{MFace@{MFace}!m17nFace@{m17nFace}}
\subsubsection[MFace]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf MFace} {\bf MFace}}\label{group__m17nFace_gd9e913e845df8db71f448e3aca2b83b5}


Type of faces. 

The type \doxyref{MFace}{p.}{group__m17nFace_gd9e913e845df8db71f448e3aca2b83b5} is the structure of face objects. The internal structure is concealed from an application program. \index{m17nFace@{m17nFace}!MFaceHookFunc@{MFaceHookFunc}}
\index{MFaceHookFunc@{MFaceHookFunc}!m17nFace@{m17nFace}}
\subsubsection[MFaceHookFunc]{\setlength{\rightskip}{0pt plus 5cm}typedef void($\ast$ {\bf MFaceHookFunc})({\bf MFace} $\ast$face, void $\ast$arg, void $\ast$info)}\label{group__m17nFace_gc80758b8f49b50d0a828163524edf337}


Type of hook function of face. 

\doxyref{MFaceHookFunc}{p.}{group__m17nFace_gc80758b8f49b50d0a828163524edf337} is a type of a hook function of a face. 

\subsection{Function Documentation}
\index{m17nFace@{m17nFace}!mface@{mface}}
\index{mface@{mface}!m17nFace@{m17nFace}}
\subsubsection[mface]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ mface ()}\label{group__m17nFace_g8733c479f4efa8f8d006c13ee4253f5e}


Create a new face. 

The \doxyref{mface()}{p.}{group__m17nFace_g8733c479f4efa8f8d006c13ee4253f5e} function creates a new face object that specifies no property.

\begin{Desc}
\item[Return value:]This function returns a pointer to the created face. \end{Desc}
\index{m17nFace@{m17nFace}!mface\_\-copy@{mface\_\-copy}}
\index{mface\_\-copy@{mface\_\-copy}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-copy]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ mface\_\-copy ({\bf MFace} $\ast$ {\em face})}\label{group__m17nFace_g218d370d5bc476d5a6fba4633ad69d0a}


Make a copy of a face. 

The \doxyref{mface\_\-copy()}{p.}{group__m17nFace_g218d370d5bc476d5a6fba4633ad69d0a} function makes a copy of {\bf face} and returns a pointer to the created copy. \index{m17nFace@{m17nFace}!mface\_\-equal@{mface\_\-equal}}
\index{mface\_\-equal@{mface\_\-equal}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-equal]{\setlength{\rightskip}{0pt plus 5cm}int mface\_\-equal ({\bf MFace} $\ast$ {\em face1}, \/  {\bf MFace} $\ast$ {\em face2})}\label{group__m17nFace_g112cbaf7a88f3557cd32797819c350e2}


Compare faces. 

The \doxyref{mface\_\-equal()}{p.}{group__m17nFace_g112cbaf7a88f3557cd32797819c350e2} function compares faces {\bf face1} and {\bf face2}.

\begin{Desc}
\item[Return value:]If two faces have the same property values, return 1. Otherwise return 0. \end{Desc}
\index{m17nFace@{m17nFace}!mface\_\-merge@{mface\_\-merge}}
\index{mface\_\-merge@{mface\_\-merge}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-merge]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ mface\_\-merge ({\bf MFace} $\ast$ {\em dst}, \/  {\bf MFace} $\ast$ {\em src})}\label{group__m17nFace_g53437ed4392e313491cdd7d2cbfd5d98}


Merge faces. 

The \doxyref{mface\_\-merge()}{p.}{group__m17nFace_g53437ed4392e313491cdd7d2cbfd5d98} functions merges the properties of face {\bf src} into {\bf dst}.

\begin{Desc}
\item[Return value:]This function returns {\bf dst}. \end{Desc}
\index{m17nFace@{m17nFace}!mface\_\-from\_\-font@{mface\_\-from\_\-font}}
\index{mface\_\-from\_\-font@{mface\_\-from\_\-font}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-from\_\-font]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ mface\_\-from\_\-font ({\bf MFont} $\ast$ {\em font})}\label{group__m17nFace_gfe62e34ba63c1230ff9243f1bfb075a3}


Make a face from a font. 

The \doxyref{mface\_\-from\_\-font()}{p.}{group__m17nFace_gfe62e34ba63c1230ff9243f1bfb075a3} function return a newly created face while reflecting the properties of {\bf font} in its properties. \index{m17nFace@{m17nFace}!mface\_\-get\_\-prop@{mface\_\-get\_\-prop}}
\index{mface\_\-get\_\-prop@{mface\_\-get\_\-prop}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-get\_\-prop]{\setlength{\rightskip}{0pt plus 5cm}void$\ast$ mface\_\-get\_\-prop ({\bf MFace} $\ast$ {\em face}, \/  {\bf MSymbol} {\em key})}\label{group__m17nFace_gd2ef5c2ddbef0dfded0c572653c92972}


Get the value of a face property. 

The \doxyref{mface\_\-get\_\-prop()}{p.}{group__m17nFace_gd2ef5c2ddbef0dfded0c572653c92972} function returns the value of the face property whose key is {\bf key} in face {\bf face}. {\bf key} must be one of the followings:

\doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f}, \doxyref{Mbackground}{p.}{group__m17nFace_g8d0f5054c5128d0369d8147cda7f53ca}, \doxyref{Mvideomode}{p.}{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a}, \doxyref{Mhline}{p.}{group__m17nFace_g4b54f64d7e2b6c7cae17ba7041855543}, \doxyref{Mbox}{p.}{group__m17nFace_gef4de28536a14fa67b45d4adc9c03d0f}, \doxyref{Mfoundry}{p.}{group__m17nFont_gaf47ff596e3d9768b214a039014b6ea5}, \doxyref{Mfamily}{p.}{group__m17nFont_gb297101760f7573ab33b846ccbda7500}, \doxyref{Mweight}{p.}{group__m17nFont_g748212149a23eda2e6225ed121305308}, \doxyref{Mstyle}{p.}{group__m17nFont_g4a3a457f1c52fb783809b94366a34d86}, \doxyref{Mstretch}{p.}{group__m17nFont_g9016e01983ec22fc8e1255629e337b07}, \doxyref{Madstyle}{p.}{group__m17nFont_g00bea74da7de4bf0b94de59f6b44d1e9}, \doxyref{Msize}{p.}{group__m17nFont_g072ce0799f7766597e4d3028b70fef60}, \doxyref{Mfontset}{p.}{group__m17nFace_gaacb68d5b559f01e985854bd375dda5f}, \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c}, \doxyref{Mhook\_\-func}{p.}{group__m17nFace_g2067c84250b6d4e3d2d1488b6f09f227}, \doxyref{Mhook\_\-arg}{p.}{group__m17nFace_g7b90084ad168aaab28bb22b242a4c684}

\begin{Desc}
\item[Return value:]The actual type of the returned value depends of {\bf key}. See documentation of the above keys. If an error is detected, it returns {\tt NULL} and assigns an error code to the external variable \doxyref{merror\_\-code}{p.}{group__m17nError_g995a2e373cfd6a8e5eaca8686b5b0a73}.\end{Desc}
\begin{Desc}
\item[See Also:]\doxyref{mface\_\-put\_\-prop()}{p.}{group__m17nFace_gb139e1dbaaba45a8d8d6acbdda076f34}, \doxyref{mface\_\-put\_\-hook()}{p.}{group__m17nFace_g77281fe20f450bf635676ece8e8c83da}\end{Desc}
\begin{Desc}
\item[Errors:]{\tt MERROR\_\-FACE} \end{Desc}
\index{m17nFace@{m17nFace}!mface\_\-get\_\-hook@{mface\_\-get\_\-hook}}
\index{mface\_\-get\_\-hook@{mface\_\-get\_\-hook}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-get\_\-hook]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFaceHookFunc} mface\_\-get\_\-hook ({\bf MFace} $\ast$ {\em face})}\label{group__m17nFace_g7411a88b5acc10b19448e031991c9056}


Get the hook function of a face. 

The \doxyref{mface\_\-get\_\-hook()}{p.}{group__m17nFace_g7411a88b5acc10b19448e031991c9056} function returns the hook function of face {\bf face}. \index{m17nFace@{m17nFace}!mface\_\-put\_\-prop@{mface\_\-put\_\-prop}}
\index{mface\_\-put\_\-prop@{mface\_\-put\_\-prop}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-put\_\-prop]{\setlength{\rightskip}{0pt plus 5cm}int mface\_\-put\_\-prop ({\bf MFace} $\ast$ {\em face}, \/  {\bf MSymbol} {\em key}, \/  void $\ast$ {\em val})}\label{group__m17nFace_gb139e1dbaaba45a8d8d6acbdda076f34}


Set a value of a face property. 

The \doxyref{mface\_\-put\_\-prop()}{p.}{group__m17nFace_gb139e1dbaaba45a8d8d6acbdda076f34} function assigns {\bf val} to the property whose key is {\bf key} in face {\bf face}. {\bf key} must be one the followings:

\doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f}, \doxyref{Mbackground}{p.}{group__m17nFace_g8d0f5054c5128d0369d8147cda7f53ca}, \doxyref{Mvideomode}{p.}{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a}, \doxyref{Mhline}{p.}{group__m17nFace_g4b54f64d7e2b6c7cae17ba7041855543}, \doxyref{Mbox}{p.}{group__m17nFace_gef4de28536a14fa67b45d4adc9c03d0f}, \doxyref{Mfoundry}{p.}{group__m17nFont_gaf47ff596e3d9768b214a039014b6ea5}, \doxyref{Mfamily}{p.}{group__m17nFont_gb297101760f7573ab33b846ccbda7500}, \doxyref{Mweight}{p.}{group__m17nFont_g748212149a23eda2e6225ed121305308}, \doxyref{Mstyle}{p.}{group__m17nFont_g4a3a457f1c52fb783809b94366a34d86}, \doxyref{Mstretch}{p.}{group__m17nFont_g9016e01983ec22fc8e1255629e337b07}, \doxyref{Madstyle}{p.}{group__m17nFont_g00bea74da7de4bf0b94de59f6b44d1e9}, \doxyref{Msize}{p.}{group__m17nFont_g072ce0799f7766597e4d3028b70fef60}, \doxyref{Mfontset}{p.}{group__m17nFace_gaacb68d5b559f01e985854bd375dda5f}, \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c}, \doxyref{Mhook\_\-func}{p.}{group__m17nFace_g2067c84250b6d4e3d2d1488b6f09f227}, \doxyref{Mhook\_\-arg}{p.}{group__m17nFace_g7b90084ad168aaab28bb22b242a4c684}

Among them, font related properties (\doxyref{Mfoundry}{p.}{group__m17nFont_gaf47ff596e3d9768b214a039014b6ea5} through \doxyref{Msize}{p.}{group__m17nFont_g072ce0799f7766597e4d3028b70fef60}) are used as the default values when a font in the fontset of {\bf face} does not specify those values.

The actual type of the returned value depends of {\bf key}. See documentation of the above keys.

\begin{Desc}
\item[Return value:]If the operation was successful, \doxyref{mface\_\-put\_\-prop()}{p.}{group__m17nFace_gb139e1dbaaba45a8d8d6acbdda076f34} returns 0. Otherwise it returns -1 and assigns an error code to the external variable \doxyref{merror\_\-code}{p.}{group__m17nError_g995a2e373cfd6a8e5eaca8686b5b0a73}.\end{Desc}
\begin{Desc}
\item[See Also:]\doxyref{mface\_\-get\_\-prop()}{p.}{group__m17nFace_gd2ef5c2ddbef0dfded0c572653c92972}\end{Desc}
\begin{Desc}
\item[Errors:]{\tt MERROR\_\-FACE} \end{Desc}
\index{m17nFace@{m17nFace}!mface\_\-put\_\-hook@{mface\_\-put\_\-hook}}
\index{mface\_\-put\_\-hook@{mface\_\-put\_\-hook}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-put\_\-hook]{\setlength{\rightskip}{0pt plus 5cm}int mface\_\-put\_\-hook ({\bf MFace} $\ast$ {\em face}, \/  {\bf MFaceHookFunc} {\em func})}\label{group__m17nFace_g77281fe20f450bf635676ece8e8c83da}


Set a hook function to a face. 

The mface\_\-set\_\-hook() function sets the hook function of face {\bf face} to {\bf func}. \index{m17nFace@{m17nFace}!mface\_\-update@{mface\_\-update}}
\index{mface\_\-update@{mface\_\-update}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-update]{\setlength{\rightskip}{0pt plus 5cm}void mface\_\-update ({\bf MFrame} $\ast$ {\em frame}, \/  {\bf MFace} $\ast$ {\em face})}\label{group__m17nFace_g38119a4121db3158b5ee4b4b803d03a3}


Update a face. 

The \doxyref{mface\_\-update()}{p.}{group__m17nFace_g38119a4121db3158b5ee4b4b803d03a3} function update face {\bf face} on frame {\bf frame} by calling a hook function of {\bf face} (if any). 

\subsection{Variable Documentation}
\index{m17nFace@{m17nFace}!Mforeground@{Mforeground}}
\index{Mforeground@{Mforeground}!m17nFace@{m17nFace}}
\subsubsection[Mforeground]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mforeground}}\label{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f}


Key of a face property specifying foreground color. 

The variable \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} is used as a key of face property. The property value must be a symbol whose name is a color name, or \doxyref{Mnil}{p.}{group__m17nSymbol_g0346fc05efcccc8f11271b51c0fe3eeb}.

\doxyref{Mnil}{p.}{group__m17nSymbol_g0346fc05efcccc8f11271b51c0fe3eeb} means that the face does not specify a foreground color. Otherwise, the foreground of an M-text is drawn by the specified color. \index{m17nFace@{m17nFace}!Mbackground@{Mbackground}}
\index{Mbackground@{Mbackground}!m17nFace@{m17nFace}}
\subsubsection[Mbackground]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mbackground}}\label{group__m17nFace_g8d0f5054c5128d0369d8147cda7f53ca}


Key of a face property specifying background color. 

The variable \doxyref{Mbackground}{p.}{group__m17nFace_g8d0f5054c5128d0369d8147cda7f53ca} is used as a key of face property. The property value must be a symbol whose name is a color name, or \doxyref{Mnil}{p.}{group__m17nSymbol_g0346fc05efcccc8f11271b51c0fe3eeb}.

\doxyref{Mnil}{p.}{group__m17nSymbol_g0346fc05efcccc8f11271b51c0fe3eeb} means that the face does not specify a background color. Otherwise, the background of an M-text is drawn by the specified color. \index{m17nFace@{m17nFace}!Mvideomode@{Mvideomode}}
\index{Mvideomode@{Mvideomode}!m17nFace@{m17nFace}}
\subsubsection[Mvideomode]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mvideomode}}\label{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a}


Key of a face property specifying video mode. 

The variable \doxyref{Mvideomode}{p.}{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a} is used as a key of face property. The property value must be {\bf Mnormal}, {\bf Mreverse}, or \doxyref{Mnil}{p.}{group__m17nSymbol_g0346fc05efcccc8f11271b51c0fe3eeb}.

{\bf Mnormal} means that an M-text is drawn in normal video mode (i.e. the foreground is drawn by foreground color, the background is drawn by background color).

{\bf Mreverse} means that an M-text is drawn in reverse video mode (i.e. the foreground is drawn by background color, the background is drawn by foreground color).

\doxyref{Mnil}{p.}{group__m17nSymbol_g0346fc05efcccc8f11271b51c0fe3eeb} means that the face does not specify a video mode. \index{m17nFace@{m17nFace}!Mratio@{Mratio}}
\index{Mratio@{Mratio}!m17nFace@{m17nFace}}
\subsubsection[Mratio]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mratio}}\label{group__m17nFace_gfadda6b4709e04968e70e85a542f240c}


Key of a face property specifying font size ratio. 

The variable \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} is used as a key of face property. The value RATIO must be an integer.

The value 0 means that the face does not specify a font size ratio. Otherwise, an M-text is drawn by a font of size (FONTSIZE RATIO / 100) where FONTSIZE is a font size specified by the face property \doxyref{Msize}{p.}{group__m17nFont_g072ce0799f7766597e4d3028b70fef60}. \index{m17nFace@{m17nFace}!Mhline@{Mhline}}
\index{Mhline@{Mhline}!m17nFace@{m17nFace}}
\subsubsection[Mhline]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mhline}}\label{group__m17nFace_g4b54f64d7e2b6c7cae17ba7041855543}


Key of a face property specifying horizontal line. 

The variable \doxyref{Mhline}{p.}{group__m17nFace_g4b54f64d7e2b6c7cae17ba7041855543} is used as a key of face property. The value must be a pointer to an object of type \doxyref{MFaceHLineProp}{p.}{structMFaceHLineProp}, or {\tt NULL}.

The value {\tt NULL} means that the face does not specify this property. Otherwise, an M-text is drawn with a horizontal line by a way specified by the object that the value points to. \index{m17nFace@{m17nFace}!Mbox@{Mbox}}
\index{Mbox@{Mbox}!m17nFace@{m17nFace}}
\subsubsection[Mbox]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mbox}}\label{group__m17nFace_gef4de28536a14fa67b45d4adc9c03d0f}


Key of a face property specifying box. 

The variable \doxyref{Mbox}{p.}{group__m17nFace_gef4de28536a14fa67b45d4adc9c03d0f} is used as a key of face property. The value must be a pointer to an object of type \doxyref{MFaceBoxProp}{p.}{structMFaceBoxProp}, or {\tt NULL}.

The value {\tt NULL} means that the face does not specify a box. Otherwise, an M-text is drawn with a surrounding box by a way specified by the object that the value points to. \index{m17nFace@{m17nFace}!Mfontset@{Mfontset}}
\index{Mfontset@{Mfontset}!m17nFace@{m17nFace}}
\subsubsection[Mfontset]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mfontset}}\label{group__m17nFace_gaacb68d5b559f01e985854bd375dda5f}


Key of a face property specifying fontset. 

The variable \doxyref{Mfontset}{p.}{group__m17nFace_gaacb68d5b559f01e985854bd375dda5f} is used as a key of face property. The value must be a pointer to an object of type \doxyref{Mfontset}{p.}{group__m17nFace_gaacb68d5b559f01e985854bd375dda5f}, or {\tt NULL}.

The value {\tt NULL} means that the face does not specify a fontset. Otherwise, an M-text is drawn with a font selected from what specified in the fontset. \index{m17nFace@{m17nFace}!Mhook\_\-func@{Mhook\_\-func}}
\index{Mhook\_\-func@{Mhook\_\-func}!m17nFace@{m17nFace}}
\subsubsection[Mhook\_\-func]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mhook\_\-func}}\label{group__m17nFace_g2067c84250b6d4e3d2d1488b6f09f227}


Key of a face property specifying hook. 

The variable \doxyref{Mhook\_\-func}{p.}{group__m17nFace_g2067c84250b6d4e3d2d1488b6f09f227} is used as a key of face property. The value must be a function of type \doxyref{MFaceHookFunc}{p.}{group__m17nFace_gc80758b8f49b50d0a828163524edf337}, or {\tt NULL}.

The value {\tt NULL} means that the face does not specify a hook. Otherwise, the specified function is called before the face is realized. \index{m17nFace@{m17nFace}!Mhook\_\-arg@{Mhook\_\-arg}}
\index{Mhook\_\-arg@{Mhook\_\-arg}!m17nFace@{m17nFace}}
\subsubsection[Mhook\_\-arg]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mhook\_\-arg}}\label{group__m17nFace_g7b90084ad168aaab28bb22b242a4c684}


Key of a face property specifying argument of hook. 

The variable \doxyref{Mhook\_\-arg}{p.}{group__m17nFace_g7b90084ad168aaab28bb22b242a4c684} is used as a key of face property. The value can be anything that is passed a hook function specified by the face property \doxyref{Mhook\_\-func}{p.}{group__m17nFace_g2067c84250b6d4e3d2d1488b6f09f227}. \index{m17nFace@{m17nFace}!Mnormal@{Mnormal}}
\index{Mnormal@{Mnormal}!m17nFace@{m17nFace}}
\subsubsection[Mnormal]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mnormal}}\label{group__m17nFace_gc640438a418e8fea7bb85acaf72439c2}


\index{m17nFace@{m17nFace}!Mreverse@{Mreverse}}
\index{Mreverse@{Mreverse}!m17nFace@{m17nFace}}
\subsubsection[Mreverse]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mreverse}}\label{group__m17nFace_g243e73adf0d31fe7497262c5b8a19c16}


\index{m17nFace@{m17nFace}!mface\_\-normal\_\-video@{mface\_\-normal\_\-video}}
\index{mface\_\-normal\_\-video@{mface\_\-normal\_\-video}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-normal\_\-video]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-normal\_\-video}}\label{group__m17nFace_g823bc052a591dc3f34369d4144368842}


Normal video face. 

The variable \doxyref{mface\_\-normal\_\-video}{p.}{group__m17nFace_g823bc052a591dc3f34369d4144368842} points to a face that has the \doxyref{Mvideomode}{p.}{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a} property with value {\bf Mnormal}. The other properties are not specified. An M-text drawn with this face appear normal colors (i.e. the foreground is drawn by foreground color, and background is drawn by background color). \index{m17nFace@{m17nFace}!mface\_\-reverse\_\-video@{mface\_\-reverse\_\-video}}
\index{mface\_\-reverse\_\-video@{mface\_\-reverse\_\-video}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-reverse\_\-video]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-reverse\_\-video}}\label{group__m17nFace_gd67af3cfdfd7a80e67ba7d70674d1d2b}


Reverse video face. 

The variable \doxyref{mface\_\-reverse\_\-video}{p.}{group__m17nFace_gd67af3cfdfd7a80e67ba7d70674d1d2b} points to a face that has the \doxyref{Mvideomode}{p.}{group__m17nFace_ge9e765bef0214640bf23843d1d813f5a} property with value {\bf Mreverse}. The other properties are not specified. An M-text drawn with this face appear in reversed colors (i.e. the foreground is drawn by background color, and background is drawn by foreground color). \index{m17nFace@{m17nFace}!mface\_\-underline@{mface\_\-underline}}
\index{mface\_\-underline@{mface\_\-underline}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-underline]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-underline}}\label{group__m17nFace_gc8125083ae3f99f61ad3e1590c71d8b3}


Underline face. 

The variable \doxyref{mface\_\-underline}{p.}{group__m17nFace_gc8125083ae3f99f61ad3e1590c71d8b3} points to a face that has the \doxyref{Mhline}{p.}{group__m17nFace_g4b54f64d7e2b6c7cae17ba7041855543} property with value a pointer to an object of type \doxyref{MFaceHLineProp}{p.}{structMFaceHLineProp}. The members of the object are as follows:



\footnotesize\begin{verbatim}
    member  value
    -----   -----
    type    MFACE_HLINE_UNDER
    width   1
    color   Mnil
\end{verbatim}
\normalsize


The other properties are not specified. An M-text that has this face is drawn with an underline. \index{m17nFace@{m17nFace}!mface\_\-medium@{mface\_\-medium}}
\index{mface\_\-medium@{mface\_\-medium}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-medium]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-medium}}\label{group__m17nFace_gf72a0b0f8b7b55ac6cd964e5b790957d}


Medium face. 

The variable \doxyref{mface\_\-medium}{p.}{group__m17nFace_gf72a0b0f8b7b55ac6cd964e5b790957d} points to a face that has the \doxyref{Mweight}{p.}{group__m17nFont_g748212149a23eda2e6225ed121305308} property with value a symbol of name \char`\"{}medium\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with a font of medium weight. \index{m17nFace@{m17nFace}!mface\_\-bold@{mface\_\-bold}}
\index{mface\_\-bold@{mface\_\-bold}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-bold]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-bold}}\label{group__m17nFace_g0df472269e69bfd1a7982e7ff4183399}


Bold face. 

The variable \doxyref{mface\_\-bold}{p.}{group__m17nFace_g0df472269e69bfd1a7982e7ff4183399} points to a face that has the \doxyref{Mweight}{p.}{group__m17nFont_g748212149a23eda2e6225ed121305308} property with value a symbol of name \char`\"{}bold\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with a font of bold weight. \index{m17nFace@{m17nFace}!mface\_\-italic@{mface\_\-italic}}
\index{mface\_\-italic@{mface\_\-italic}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-italic]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-italic}}\label{group__m17nFace_gcd10c2f30a5e48c509cb5b3883392f6c}


Italic face. 

The variable \doxyref{mface\_\-italic}{p.}{group__m17nFace_gcd10c2f30a5e48c509cb5b3883392f6c} points to a face that has the \doxyref{Mstyle}{p.}{group__m17nFont_g4a3a457f1c52fb783809b94366a34d86} property with value a symbol of name \char`\"{}italic\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with a font of italic style. \index{m17nFace@{m17nFace}!mface\_\-bold\_\-italic@{mface\_\-bold\_\-italic}}
\index{mface\_\-bold\_\-italic@{mface\_\-bold\_\-italic}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-bold\_\-italic]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-bold\_\-italic}}\label{group__m17nFace_g5d704867552bb8ec683667c414a1960f}


Bold italic face. 

The variable \doxyref{mface\_\-bold\_\-italic}{p.}{group__m17nFace_g5d704867552bb8ec683667c414a1960f} points to a face that has the \doxyref{Mweight}{p.}{group__m17nFont_g748212149a23eda2e6225ed121305308} property with value a symbol of name \char`\"{}bold\char`\"{}, and \doxyref{Mstyle}{p.}{group__m17nFont_g4a3a457f1c52fb783809b94366a34d86} property with value a symbol of name \char`\"{}italic\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with a font of bold weight and italic style. \index{m17nFace@{m17nFace}!mface\_\-xx\_\-small@{mface\_\-xx\_\-small}}
\index{mface\_\-xx\_\-small@{mface\_\-xx\_\-small}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-xx\_\-small]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-xx\_\-small}}\label{group__m17nFace_g2b3db59701b640f46154835473f4033c}


Smallest face. 

The variable \doxyref{mface\_\-xx\_\-small}{p.}{group__m17nFace_g2b3db59701b640f46154835473f4033c} points to a face that has the \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} property with value 50. The other properties are not specified. An M-text that has this face is drawn with a font whose size is 50\% of a normal font. \index{m17nFace@{m17nFace}!mface\_\-x\_\-small@{mface\_\-x\_\-small}}
\index{mface\_\-x\_\-small@{mface\_\-x\_\-small}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-x\_\-small]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-x\_\-small}}\label{group__m17nFace_g8a766181eaa65b4c7346598ef7a3b87a}


Smaller face. 

The variable \doxyref{mface\_\-x\_\-small}{p.}{group__m17nFace_g8a766181eaa65b4c7346598ef7a3b87a} points to a face that has the \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} property with value 66. The other properties are not specified. An M-text that has this face is drawn with a font whose size is 66\% of a normal font. \index{m17nFace@{m17nFace}!mface\_\-small@{mface\_\-small}}
\index{mface\_\-small@{mface\_\-small}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-small]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-small}}\label{group__m17nFace_gcfd385bdf0694027519083543fb44ea7}


Small face. 

The variable \doxyref{mface\_\-x\_\-small}{p.}{group__m17nFace_g8a766181eaa65b4c7346598ef7a3b87a} points to a face that has the \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} property with value 75. The other properties are not specified. An M-text that has this face is drawn with a font whose size is 75\% of a normal font. \index{m17nFace@{m17nFace}!mface\_\-normalsize@{mface\_\-normalsize}}
\index{mface\_\-normalsize@{mface\_\-normalsize}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-normalsize]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-normalsize}}\label{group__m17nFace_gf72155c34c65f7060f8437d11091b78d}


Normalsize face. 

The variable \doxyref{mface\_\-normalsize}{p.}{group__m17nFace_gf72155c34c65f7060f8437d11091b78d} points to a face that has the \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} property with value 100. The other properties are not specified. An M-text that has this face is drawn with a font whose size is the same as a normal font. \index{m17nFace@{m17nFace}!mface\_\-large@{mface\_\-large}}
\index{mface\_\-large@{mface\_\-large}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-large]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-large}}\label{group__m17nFace_gbbaeffa03c89e6816aeeb297bf5e7f25}


Large face. 

The variable \doxyref{mface\_\-large}{p.}{group__m17nFace_gbbaeffa03c89e6816aeeb297bf5e7f25} points to a face that has the \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} property with value 120. The other properties are not specified. An M-text that has this face is drawn with a font whose size is 120\% of a normal font. \index{m17nFace@{m17nFace}!mface\_\-x\_\-large@{mface\_\-x\_\-large}}
\index{mface\_\-x\_\-large@{mface\_\-x\_\-large}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-x\_\-large]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-x\_\-large}}\label{group__m17nFace_g783f8190b9508c6942fa5cd7eed94f6f}


Larger face. 

The variable \doxyref{mface\_\-x\_\-large}{p.}{group__m17nFace_g783f8190b9508c6942fa5cd7eed94f6f} points to a face that has the \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} property with value 150. The other properties are not specified. An M-text that has this face is drawn with a font whose size is 150\% of a normal font. \index{m17nFace@{m17nFace}!mface\_\-xx\_\-large@{mface\_\-xx\_\-large}}
\index{mface\_\-xx\_\-large@{mface\_\-xx\_\-large}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-xx\_\-large]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-xx\_\-large}}\label{group__m17nFace_gb0438da79ed1ab3b4fc2a298f09151cc}


Largest face. 

The variable \doxyref{mface\_\-xx\_\-large}{p.}{group__m17nFace_gb0438da79ed1ab3b4fc2a298f09151cc} points to a face that has the \doxyref{Mratio}{p.}{group__m17nFace_gfadda6b4709e04968e70e85a542f240c} property with value 200. The other properties are not specified. An M-text that has this face is drawn with a font whose size is 200\% of a normal font. \index{m17nFace@{m17nFace}!mface\_\-black@{mface\_\-black}}
\index{mface\_\-black@{mface\_\-black}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-black]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-black}}\label{group__m17nFace_g543d0f7aaf8c6928fe0ccaafd880fbbb}


Black face. 

The variable \doxyref{mface\_\-black}{p.}{group__m17nFace_g543d0f7aaf8c6928fe0ccaafd880fbbb} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}black\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with black foreground. \index{m17nFace@{m17nFace}!mface\_\-white@{mface\_\-white}}
\index{mface\_\-white@{mface\_\-white}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-white]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-white}}\label{group__m17nFace_g0e85607d4a72fb0092924130206dbf70}


White face. 

The variable \doxyref{mface\_\-white}{p.}{group__m17nFace_g0e85607d4a72fb0092924130206dbf70} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}white\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with white foreground. \index{m17nFace@{m17nFace}!mface\_\-red@{mface\_\-red}}
\index{mface\_\-red@{mface\_\-red}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-red]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-red}}\label{group__m17nFace_gf5a2e1502310dab37917e345d6f98bb1}


Red face. 

The variable \doxyref{mface\_\-red}{p.}{group__m17nFace_gf5a2e1502310dab37917e345d6f98bb1} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}red\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with red foreground. \index{m17nFace@{m17nFace}!mface\_\-green@{mface\_\-green}}
\index{mface\_\-green@{mface\_\-green}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-green]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-green}}\label{group__m17nFace_g4fa43459206e1b3278aff593ace876f3}


Green face. 

The variable \doxyref{mface\_\-green}{p.}{group__m17nFace_g4fa43459206e1b3278aff593ace876f3} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}green\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with green foreground. \index{m17nFace@{m17nFace}!mface\_\-blue@{mface\_\-blue}}
\index{mface\_\-blue@{mface\_\-blue}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-blue]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-blue}}\label{group__m17nFace_g34c0c7c3fb1761d860feafb20dca48d8}


Blue face. 

The variable \doxyref{mface\_\-blue}{p.}{group__m17nFace_g34c0c7c3fb1761d860feafb20dca48d8} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}blue\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with blue foreground. \index{m17nFace@{m17nFace}!mface\_\-cyan@{mface\_\-cyan}}
\index{mface\_\-cyan@{mface\_\-cyan}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-cyan]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-cyan}}\label{group__m17nFace_g4bc98951d16a82de13639aa8c8013896}


Cyan face. 

The variable \doxyref{mface\_\-cyan}{p.}{group__m17nFace_g4bc98951d16a82de13639aa8c8013896} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}cyan\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with cyan foreground. \index{m17nFace@{m17nFace}!mface\_\-yellow@{mface\_\-yellow}}
\index{mface\_\-yellow@{mface\_\-yellow}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-yellow]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-yellow}}\label{group__m17nFace_g23cd00ce0804f3e64d8cf3b245a58dac}


yellow face. 

The variable \doxyref{mface\_\-yellow}{p.}{group__m17nFace_g23cd00ce0804f3e64d8cf3b245a58dac} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}yellow\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with yellow foreground. \index{m17nFace@{m17nFace}!mface\_\-magenta@{mface\_\-magenta}}
\index{mface\_\-magenta@{mface\_\-magenta}!m17nFace@{m17nFace}}
\subsubsection[mface\_\-magenta]{\setlength{\rightskip}{0pt plus 5cm}{\bf MFace}$\ast$ {\bf mface\_\-magenta}}\label{group__m17nFace_gbbd1e5c77c470ba79b2df149ea6c9342}


Magenta face. 

The variable \doxyref{mface\_\-magenta}{p.}{group__m17nFace_gbbd1e5c77c470ba79b2df149ea6c9342} points to a face that has the \doxyref{Mforeground}{p.}{group__m17nFace_g524cecd96f1bdf2a46e52d2eb0acfa2f} property with value a symbol of name \char`\"{}magenta\char`\"{}. The other properties are not specified. An M-text that has this face is drawn with magenta foreground. \index{m17nFace@{m17nFace}!Mface@{Mface}}
\index{Mface@{Mface}!m17nFace@{m17nFace}}
\subsubsection[Mface]{\setlength{\rightskip}{0pt plus 5cm}{\bf MSymbol} {\bf Mface}}\label{group__m17nFace_g0d38a942d019c7cc235258e73fa42789}


Key of a text property specifying a face. 

The variable \doxyref{Mface}{p.}{group__m17nFace_g0d38a942d019c7cc235258e73fa42789} is a symbol of name {\tt \char`\"{}face\char`\"{}}. A text property whose key is this symbol must have a pointer to an object of type \doxyref{MFace}{p.}{group__m17nFace_gd9e913e845df8db71f448e3aca2b83b5}. This is a managing key. 