X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cd77c085092ec56072c775061981fcab07b32464..aa0ff209bc82d0f7c48263bb28609769d09f051b:/docs/latex/wx/fontmap.tex diff --git a/docs/latex/wx/fontmap.tex b/docs/latex/wx/fontmap.tex index 3b83a29922..6a3abc88d7 100644 --- a/docs/latex/wx/fontmap.tex +++ b/docs/latex/wx/fontmap.tex @@ -1,15 +1,244 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Name: fontmap.tex -%% Purpose: wxFontMapper documentation -%% Author: Vadim Zeitlin -%% Modified by: -%% Created: 03.11.99 -%% RCS-ID: $Id$ -%% Copyright: (c) Vadim Zeitlin -%% Licence: wxWindows licence -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% automatically generated by HelpGen from +% fontmap.h at 10/Mar/00 23:54:16 +% \section{\class{wxFontMapper}}\label{wxfontmapper} -TODO. +wxFontMapper manages user-definable correspondence between logical font +names and the fonts present on the machine. + +The default implementations of all functions will ask the user if they are +not capable of finding the answer themselves and store the answer in a +config file (configurable via SetConfigXXX functions). This behaviour may +be disabled by giving the value of false to "interactive" parameter. + +However, the functions will always consult the config file to allow the +user-defined values override the default logic and there is no way to +disable this - which shouldn't be ever needed because if "interactive" was +never true, the config file is never created anyhow. + +In case everything else fails (i.e. there is no record in config file +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 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{wxMBConv classes}{mbconvclasses}). + +Following code snippet demonstrates it: + +\begin{verbatim} +if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename)) +{ + wxFontEncoding alternative; + if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative, + facename, false)) + { + 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)... +} +...display text... +\end{verbatim} + + +\wxheading{Derived from} + +No base class + +\wxheading{Include files} + + + +\wxheading{See also} + +\helpref{wxEncodingConverter}{wxencodingconverter}, +\helpref{Writing non-English applications}{nonenglishoverview} + +\latexignore{\rtfignore{\wxheading{Members}}} + + +\membersection{wxFontMapper::wxFontMapper}\label{wxfontmapperwxfontmapper} + +\func{}{wxFontMapper}{\void} + +Default ctor. + +\wxheading{Note} + +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} + +Get the current font mapper object. If there is no current object, creates +one. + +\wxheading{See also} + +\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}} + +\func{bool}{GetAltForEncoding}{\param{wxFontEncoding }{encoding}, \param{wxFontEncoding* }{alt\_encoding}, \param{const wxString\& }{facename = wxEmptyString}, \param{bool }{interactive = true}} + +Find an alternative for the given encoding (which is supposed to not be +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 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::GetEncoding}\label{wxfontmappergetencoding} + +\func{static wxFontEncoding}{GetEncoding}{\param{size\_t }{n}} + +Returns the {\it n}-th supported encoding. Together with +\helpref{GetSupportedEncodingsCount()}{wxfontmappergetsupportedencodingscount} +this method may be used to get all supported encodings. + + +\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} + +\func{static wxString}{GetEncodingName}{\param{wxFontEncoding }{encoding}} + +Return internal string identifier for the encoding (see also +\helpref{GetEncodingDescription()}{wxfontmappergetencodingdescription}) + +\wxheading{See also} + +\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. + + +\membersection{wxFontMapper::SetDialogParent}\label{wxfontmappersetdialogparent} + +\func{void}{SetDialogParent}{\param{wxWindow* }{parent}} + +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 wxWidgets. + +\wxheading{See also} + +\helpref{wxFontMapper::Get}{wxfontmapperget} + + +\membersection{wxFontMapper::SetConfig}\label{wxfontmappersetconfig} + +\func{void}{SetConfig}{\param{wxConfigBase* }{config}} + +Set the config object to use (may be NULL to use default). + +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}} + +Set the root config path to use (should be an absolute path).