X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc81d32f2bf8c159f3b1bf6ddaf62e6d77720209..e2d5abbf527ae760cf65467bf94b914ba9974657:/docs/latex/wx/fontmap.tex?ds=sidebyside diff --git a/docs/latex/wx/fontmap.tex b/docs/latex/wx/fontmap.tex index b6b8836154..1ab2f60666 100644 --- a/docs/latex/wx/fontmap.tex +++ b/docs/latex/wx/fontmap.tex @@ -23,14 +23,14 @@ and "interactive" is false or user denied to choose any replacement), the class queries \helpref{wxEncodingConverter}{wxencodingconverter} for "equivalent" encodings (e.g. iso8859-2 and cp1250) and tries them. -\wxheading{Using wxFontMapper in conjunction with wxEncodingConverter} +\wxheading{Using wxFontMapper in conjunction with wxMBConv classes} If you need to display text in encoding which is not available at host system (see \helpref{IsEncodingAvailable}{wxfontmapperisencodingavailable}), you may use these two classes to find font in some similar encoding (see \helpref{GetAltForEncoding}{wxfontmappergetaltforencoding}) and convert the text to this encoding -(\helpref{wxEncodingConverter::Convert}{wxencodingconverterconvert}). +(\helpref{wxMBConv classes}{mbconvclasses}). Following code snippet demonstrates it: @@ -41,11 +41,9 @@ if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename)) if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative, facename, false)) { - wxEncodingConverter encconv; - if (!encconv.Init(enc, alternative)) - ...failure... - else - text = encconv.Convert(text); + wxCSConv convFrom(wxFontMapper::Get()->GetEncodingName(enc)); + wxCSConv convTo(wxFontMapper::Get()->GetEncodingName(alternative)); + text = wxString(text.mb_str(convFrom), convTo); } else ...failure (or we may try iso8859-1/7bit ASCII)... @@ -62,6 +60,10 @@ No base class +\wxheading{Library} + +\helpref{wxCore}{librarieslist} + \wxheading{See also} \helpref{wxEncodingConverter}{wxencodingconverter}, @@ -69,6 +71,7 @@ No base class \latexignore{\rtfignore{\wxheading{Members}}} + \membersection{wxFontMapper::wxFontMapper}\label{wxfontmapperwxfontmapper} \func{}{wxFontMapper}{\void} @@ -80,12 +83,29 @@ Default ctor. The preferred way of creating a wxFontMapper instance is to call \helpref{wxFontMapper::Get}{wxfontmapperget}. + \membersection{wxFontMapper::\destruct{wxFontMapper}}\label{wxfontmapperdtor} \func{}{\destruct{wxFontMapper}}{\void} Virtual dtor for a base class. + +\membersection{wxFontMapper::CharsetToEncoding}\label{wxfontmappercharsettoencoding} + +\func{wxFontEncoding}{CharsetToEncoding}{\param{const wxString\& }{charset}, \param{bool }{interactive = true}} + +Returns the encoding for the given charset (in the form of RFC 2046) or +\texttt{wxFONTENCODING\_SYSTEM} if couldn't decode it. + +Be careful when using this function with \arg{interactive} set to \true +(default value) as the function then may show a dialog box to the user which +may lead to unexpected reentrancies and may also take a significantly longer +time than a simple function call. For these reasons, it is almost always a bad +idea to call this function from the event handlers for repeatedly generated +events such as \texttt{EVT\_PAINT}. + + \membersection{wxFontMapper::Get}\label{wxfontmapperget} \func{static wxFontMapper *}{Get}{\void} @@ -97,6 +117,17 @@ one. \helpref{wxFontMapper::Set}{wxfontmapperset} + +\membersection{wxFontMapper::GetAllEncodingNames}\label{wxfontmappergetallencodingnames} + +\func{static const wxChar**}{GetAllEncodingNames}{\param{wxFontEncoding }{encoding}} + +Returns the array of all possible names for the given encoding. The array is +\NULL-terminated. IF it isn't empty, the first name in it is the canonical +encoding name, i.e. the same string as returned by +\helpref{GetEncodingName()}{wxfontmappergetencodingname}. + + \membersection{wxFontMapper::GetAltForEncoding}\label{wxfontmappergetaltforencoding} \func{bool}{GetAltForEncoding}{\param{wxFontEncoding }{encoding}, \param{wxNativeEncodingInfo* }{info}, \param{const wxString\& }{facename = wxEmptyString}, \param{bool }{interactive = true}} @@ -108,23 +139,39 @@ available on this system). If successful, return true and fill info structure with the parameters required to create the font, otherwise return false. -The first form is for wxWindows' internal use while the second one +The first form is for wxWidgets' internal use while the second one is better suitable for general use -- it returns wxFontEncoding which can consequently be passed to wxFont constructor. -\membersection{wxFontMapper::IsEncodingAvailable}\label{wxfontmapperisencodingavailable} -\func{bool}{IsEncodingAvailable}{\param{wxFontEncoding }{encoding}, \param{const wxString\& }{facename = wxEmptyString}} +\membersection{wxFontMapper::GetEncoding}\label{wxfontmappergetencoding} -Check whether given encoding is available in given face or not. -If no facename is given, find {\it any} font in this encoding. +\func{static wxFontEncoding}{GetEncoding}{\param{size\_t }{n}} -\membersection{wxFontMapper::CharsetToEncoding}\label{wxfontmappercharsettoencoding} +Returns the {\it n}-th supported encoding. Together with +\helpref{GetSupportedEncodingsCount()}{wxfontmappergetsupportedencodingscount} +this method may be used to get all supported encodings. -\func{wxFontEncoding}{CharsetToEncoding}{\param{const wxString\& }{charset}, \param{bool }{interactive = true}} -Returns the encoding for the given charset (in the form of RFC 2046) or -wxFONTENCODING\_SYSTEM if couldn't decode it. +\membersection{wxFontMapper::GetEncodingDescription}\label{wxfontmappergetencodingdescription} + +\func{static wxString}{GetEncodingDescription}{\param{wxFontEncoding }{encoding}} + +Return user-readable string describing the given encoding. + + +\membersection{wxFontMapper::GetEncodingFromName}\label{wxfontmappergetencodingfromname} + +\func{static wxFontEncoding}{GetEncodingFromName}{\param{const wxString\& }{encoding}} + +Return the encoding corresponding to the given internal name. This function is +the inverse of \helpref{GetEncodingName}{wxfontmappergetencodingname} and is +intentionally less general than +\helpref{CharsetToEncoding}{wxfontmappercharsettoencoding}, i.e. it doesn't +try to make any guesses nor ever asks the user. It is meant just as a way of +restoring objects previously serialized using +\helpref{GetEncodingName}{wxfontmappergetencodingname}. + \membersection{wxFontMapper::GetEncodingName}\label{wxfontmappergetencodingname} @@ -133,11 +180,27 @@ wxFONTENCODING\_SYSTEM if couldn't decode it. Return internal string identifier for the encoding (see also \helpref{GetEncodingDescription()}{wxfontmappergetencodingdescription}) -\membersection{wxFontMapper::GetEncodingDescription}\label{wxfontmappergetencodingdescription} +\wxheading{See also} -\func{static wxString}{GetEncodingDescription}{\param{wxFontEncoding }{encoding}} +\helpref{GetEncodingFromName}{wxfontmappergetencodingfromname} + + +\membersection{wxFontMapper::GetSupportedEncodingsCount}\label{wxfontmappergetsupportedencodingscount} + +\func{static size\_t}{GetSupportedEncodingsCount}{\void} + +Returns the number of the font encodings supported by this class. Together with +\helpref{GetEncoding}{wxfontmappergetencoding} this method may be used to get +all supported encodings. + + +\membersection{wxFontMapper::IsEncodingAvailable}\label{wxfontmapperisencodingavailable} + +\func{bool}{IsEncodingAvailable}{\param{wxFontEncoding }{encoding}, \param{const wxString\& }{facename = wxEmptyString}} + +Check whether given encoding is available in given face or not. +If no facename is given, find {\it any} font in this encoding. -Return user-readable string describing the given encoding. \membersection{wxFontMapper::SetDialogParent}\label{wxfontmappersetdialogparent} @@ -145,24 +208,27 @@ Return user-readable string describing the given encoding. The parent window for modal dialogs. + \membersection{wxFontMapper::SetDialogTitle}\label{wxfontmappersetdialogtitle} \func{void}{SetDialogTitle}{\param{const wxString\& }{title}} The title for the dialogs (note that default is quite reasonable). + \membersection{wxFontMapper::Set}\label{wxfontmapperset} \func{static wxFontMapper *}{Set}{\param{wxFontMapper *}{mapper}} Set the current font mapper object and return previous one (may be NULL). This method is only useful if you want to plug-in an alternative font mapper -into wxWindows. +into wxWidgets. \wxheading{See also} \helpref{wxFontMapper::Get}{wxfontmapperget} + \membersection{wxFontMapper::SetConfig}\label{wxfontmappersetconfig} \func{void}{SetConfig}{\param{wxConfigBase* }{config}} @@ -173,6 +239,7 @@ By default, the global one (from wxConfigBase::Get() will be used) and the default root path for the config settings is the string returned by GetDefaultConfigPath(). + \membersection{wxFontMapper::SetConfigPath}\label{wxfontmappersetconfigpath} \func{void}{SetConfigPath}{\param{const wxString\& }{prefix}}