a663cce7f9
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
180 lines
6.3 KiB
TeX
180 lines
6.3 KiB
TeX
%
|
|
% automatically generated by HelpGen from
|
|
% fontmap.h at 10/Mar/00 23:54:16
|
|
%
|
|
|
|
\section{\class{wxFontMapper}}\label{wxfontmapper}
|
|
|
|
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}
|
|
|
|
<wx/fontmap.h>
|
|
|
|
\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::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::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 wxWindows' 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}}
|
|
|
|
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::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
|
|
wxFONTENCODING\_SYSTEM if couldn't decode it.
|
|
|
|
\membersection{wxFontMapper::GetEncodingName}\label{wxfontmappergetencodingname}
|
|
|
|
\func{static wxString}{GetEncodingName}{\param{wxFontEncoding }{encoding}}
|
|
|
|
Return internal string identifier for the encoding (see also
|
|
\helpref{GetEncodingDescription()}{wxfontmappergetencodingdescription})
|
|
|
|
\membersection{wxFontMapper::GetEncodingDescription}\label{wxfontmappergetencodingdescription}
|
|
|
|
\func{static wxString}{GetEncodingDescription}{\param{wxFontEncoding }{encoding}}
|
|
|
|
Return user-readable string describing the given 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 wxWindows.
|
|
|
|
\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).
|
|
|