git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			451 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			451 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\section{\class{wxFont}}\label{wxfont}
 | 
						|
 | 
						|
A font is an object which determines the appearance of text. Fonts are
 | 
						|
used for drawing text to a device context, and setting the appearance of
 | 
						|
a window's text.
 | 
						|
 | 
						|
You can retrieve the current system font settings with \helpref{wxSystemSettings}{wxsystemsettings}.
 | 
						|
 | 
						|
\helpref{wxSystemSettings}{wxsystemsettings}
 | 
						|
 | 
						|
\wxheading{Derived from}
 | 
						|
 | 
						|
\helpref{wxGDIObject}{wxgdiobject}\\
 | 
						|
\helpref{wxObject}{wxobject}
 | 
						|
 | 
						|
\wxheading{Include files}
 | 
						|
 | 
						|
<wx/font.h>
 | 
						|
 | 
						|
\wxheading{Constants}
 | 
						|
 | 
						|
The font flags which can be used during the font creation are:
 | 
						|
\begin{verbatim}
 | 
						|
enum
 | 
						|
{
 | 
						|
    // no special flags: font with default weight/slant/anti-aliasing
 | 
						|
    wxFONTFLAG_DEFAULT          = 0,
 | 
						|
 | 
						|
    // slant flags (default: no slant)
 | 
						|
    wxFONTFLAG_ITALIC           = 1 << 0,
 | 
						|
    wxFONTFLAG_SLANT            = 1 << 1,
 | 
						|
 | 
						|
    // weight flags (default: medium)
 | 
						|
    wxFONTFLAG_LIGHT            = 1 << 2,
 | 
						|
    wxFONTFLAG_BOLD             = 1 << 3,
 | 
						|
 | 
						|
    // anti-aliasing flag: force on or off (default: the current system default)
 | 
						|
    wxFONTFLAG_ANTIALIASED      = 1 << 4,
 | 
						|
    wxFONTFLAG_NOT_ANTIALIASED  = 1 << 5,
 | 
						|
 | 
						|
    // underlined/strikethrough flags (default: no lines)
 | 
						|
    wxFONTFLAG_UNDERLINED       = 1 << 6,
 | 
						|
    wxFONTFLAG_STRIKETHROUGH    = 1 << 7,
 | 
						|
};
 | 
						|
\end{verbatim}
 | 
						|
 | 
						|
The known font encodings are:
 | 
						|
\begin{verbatim}
 | 
						|
enum wxFontEncoding
 | 
						|
{
 | 
						|
    wxFONTENCODING_SYSTEM = -1,     // system default
 | 
						|
    wxFONTENCODING_DEFAULT,         // current default encoding
 | 
						|
 | 
						|
    // ISO8859 standard defines a number of single-byte charsets
 | 
						|
    wxFONTENCODING_ISO8859_1,       // West European (Latin1)
 | 
						|
    wxFONTENCODING_ISO8859_2,       // Central and East European (Latin2)
 | 
						|
    wxFONTENCODING_ISO8859_3,       // Esperanto (Latin3)
 | 
						|
    wxFONTENCODING_ISO8859_4,       // Baltic (old) (Latin4)
 | 
						|
    wxFONTENCODING_ISO8859_5,       // Cyrillic
 | 
						|
    wxFONTENCODING_ISO8859_6,       // Arabic
 | 
						|
    wxFONTENCODING_ISO8859_7,       // Greek
 | 
						|
    wxFONTENCODING_ISO8859_8,       // Hebrew
 | 
						|
    wxFONTENCODING_ISO8859_9,       // Turkish (Latin5)
 | 
						|
    wxFONTENCODING_ISO8859_10,      // Variation of Latin4 (Latin6)
 | 
						|
    wxFONTENCODING_ISO8859_11,      // Thai
 | 
						|
    wxFONTENCODING_ISO8859_12,      // doesn't exist currently, but put it
 | 
						|
                                    // here anyhow to make all ISO8859
 | 
						|
                                    // consecutive numbers
 | 
						|
    wxFONTENCODING_ISO8859_13,      // Baltic (Latin7)
 | 
						|
    wxFONTENCODING_ISO8859_14,      // Latin8
 | 
						|
    wxFONTENCODING_ISO8859_15,      // Latin9 (a.k.a. Latin0, includes euro)
 | 
						|
    wxFONTENCODING_ISO8859_MAX,
 | 
						|
 | 
						|
    // Cyrillic charset soup (see http://czyborra.com/charsets/cyrillic.html)
 | 
						|
    wxFONTENCODING_KOI8,            // we don't support any of KOI8 variants
 | 
						|
    wxFONTENCODING_ALTERNATIVE,     // same as MS-DOS CP866
 | 
						|
    wxFONTENCODING_BULGARIAN,       // used under Linux in Bulgaria
 | 
						|
 | 
						|
    // what would we do without Microsoft? They have their own encodings
 | 
						|
        // for DOS
 | 
						|
    wxFONTENCODING_CP437,           // original MS-DOS codepage
 | 
						|
    wxFONTENCODING_CP850,           // CP437 merged with Latin1
 | 
						|
    wxFONTENCODING_CP852,           // CP437 merged with Latin2
 | 
						|
    wxFONTENCODING_CP855,           // another cyrillic encoding
 | 
						|
    wxFONTENCODING_CP866,           // and another one
 | 
						|
        // and for Windows
 | 
						|
    wxFONTENCODING_CP874,           // WinThai
 | 
						|
    wxFONTENCODING_CP1250,          // WinLatin2
 | 
						|
    wxFONTENCODING_CP1251,          // WinCyrillic
 | 
						|
    wxFONTENCODING_CP1252,          // WinLatin1
 | 
						|
    wxFONTENCODING_CP1253,          // WinGreek (8859-7)
 | 
						|
    wxFONTENCODING_CP1254,          // WinTurkish
 | 
						|
    wxFONTENCODING_CP1255,          // WinHebrew
 | 
						|
    wxFONTENCODING_CP1256,          // WinArabic
 | 
						|
    wxFONTENCODING_CP1257,          // WinBaltic (same as Latin 7)
 | 
						|
    wxFONTENCODING_CP12_MAX,
 | 
						|
 | 
						|
    wxFONTENCODING_UTF7,            // UTF-7 Unicode encoding
 | 
						|
    wxFONTENCODING_UTF8,            // UTF-8 Unicode encoding
 | 
						|
 | 
						|
    wxFONTENCODING_UNICODE,         // Unicode - currently used only by
 | 
						|
                                    // wxEncodingConverter class
 | 
						|
 | 
						|
    wxFONTENCODING_MAX
 | 
						|
};
 | 
						|
\end{verbatim}
 | 
						|
 | 
						|
\wxheading{Predefined objects}
 | 
						|
 | 
						|
Objects:
 | 
						|
 | 
						|
{\bf wxNullFont}
 | 
						|
 | 
						|
Pointers:
 | 
						|
 | 
						|
{\bf wxNORMAL\_FONT\\
 | 
						|
wxSMALL\_FONT\\
 | 
						|
wxITALIC\_FONT\\
 | 
						|
wxSWISS\_FONT}
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont overview}{wxfontoverview}, \helpref{wxDC::SetFont}{wxdcsetfont},\rtfsp
 | 
						|
\helpref{wxDC::DrawText}{wxdcdrawtext}, \helpref{wxDC::GetTextExtent}{wxdcgettextextent},\rtfsp
 | 
						|
\helpref{wxFontDialog}{wxfontdialog}, \helpref{wxSystemSettings}{wxsystemsettings}
 | 
						|
 | 
						|
\latexignore{\rtfignore{\wxheading{Members}}}
 | 
						|
 | 
						|
\membersection{wxFont::wxFont}\label{wxfontconstr}
 | 
						|
 | 
						|
\func{}{wxFont}{\void}
 | 
						|
 | 
						|
Default constructor.
 | 
						|
 | 
						|
\func{}{wxFont}{\param{int}{ pointSize}, \param{int}{ family}, \param{int}{ style}, \param{int}{ weight},
 | 
						|
 \param{const bool}{ underline = false}, \param{const wxString\& }{faceName = ""},
 | 
						|
 \param{wxFontEncoding }{encoding = wxFONTENCODING\_DEFAULT}}
 | 
						|
 | 
						|
Creates a font object (see \helpref{font encoding
 | 
						|
overview}{wxfontencodingoverview} for the meaning of the last parameter).
 | 
						|
 | 
						|
\wxheading{Parameters}
 | 
						|
 | 
						|
\docparam{pointSize}{Size in points.}
 | 
						|
 | 
						|
\docparam{family}{Font family, a generic way of referring to fonts without specifying actual facename. One of:
 | 
						|
 | 
						|
\twocolwidtha{5cm}
 | 
						|
\begin{twocollist}\itemsep=0pt
 | 
						|
\twocolitem{{\bf wxDEFAULT}}{Chooses a default font.}
 | 
						|
\twocolitem{{\bf wxDECORATIVE}}{A decorative font.}
 | 
						|
\twocolitem{{\bf wxROMAN}}{A formal, serif font.}
 | 
						|
\twocolitem{{\bf wxSCRIPT}}{A handwriting font.}
 | 
						|
\twocolitem{{\bf wxSWISS}}{A sans-serif font.}
 | 
						|
\twocolitem{{\bf wxMODERN}}{A fixed pitch font.}
 | 
						|
\end{twocollist}}
 | 
						|
 | 
						|
\docparam{style}{One of {\bf wxNORMAL}, {\bf wxSLANT} and {\bf wxITALIC}.}
 | 
						|
 | 
						|
\docparam{weight}{One of {\bf wxNORMAL}, {\bf wxLIGHT} and {\bf wxBOLD}.}
 | 
						|
 | 
						|
\docparam{underline}{The value can be true or false. At present this has an effect on Windows and Motif 2.x only.}
 | 
						|
 | 
						|
\docparam{faceName}{An optional string specifying the actual typeface to be used. If the empty string,
 | 
						|
a default typeface will chosen based on the family.}
 | 
						|
 | 
						|
\docparam{encoding}{An encoding which may be one of
 | 
						|
\twocolwidtha{5cm}
 | 
						|
\begin{twocollist}\itemsep=0pt
 | 
						|
\twocolitem{{\bf wxFONTENCODING\_SYSTEM}}{Default system encoding.}
 | 
						|
\twocolitem{{\bf wxFONTENCODING\_DEFAULT}}{Default application encoding: this
 | 
						|
is the encoding set by calls to 
 | 
						|
\helpref{SetDefaultEncoding}{wxfontsetdefaultencoding} and which may be set to,
 | 
						|
say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
 | 
						|
default application encoding is the same as default system encoding.}
 | 
						|
\twocolitem{{\bf wxFONTENCODING\_ISO8859\_1...15}}{ISO8859 encodings.}
 | 
						|
\twocolitem{{\bf wxFONTENCODING\_KOI8}}{The standard Russian encoding for Internet.}
 | 
						|
\twocolitem{{\bf wxFONTENCODING\_CP1250...1252}}{Windows encodings similar to ISO8859 (but not identical).}
 | 
						|
\end{twocollist}
 | 
						|
If the specified encoding isn't available, no font is created.
 | 
						|
}
 | 
						|
 | 
						|
\wxheading{Remarks}
 | 
						|
 | 
						|
If the desired font does not exist, the closest match will be chosen.
 | 
						|
Under Windows, only scalable TrueType fonts are used.
 | 
						|
 | 
						|
See also \helpref{wxDC::SetFont}{wxdcsetfont}, \helpref{wxDC::DrawText}{wxdcdrawtext}
 | 
						|
and \helpref{wxDC::GetTextExtent}{wxdcgettextextent}.
 | 
						|
 | 
						|
\membersection{wxFont::\destruct{wxFont}}
 | 
						|
 | 
						|
\func{}{\destruct{wxFont}}{\void}
 | 
						|
 | 
						|
Destructor.
 | 
						|
 | 
						|
\wxheading{Remarks}
 | 
						|
 | 
						|
The destructor may not delete the underlying font object of the native windowing
 | 
						|
system, since wxFont uses a reference counting system for efficiency.
 | 
						|
 | 
						|
Although all remaining fonts are deleted when the application exits,
 | 
						|
the application should try to clean up all fonts itself. This is because
 | 
						|
wxWindows cannot know if a pointer to the font object is stored in an
 | 
						|
application data structure, and there is a risk of double deletion.
 | 
						|
 | 
						|
\membersection{wxFont::IsFixedWidth}\label{wxfontisfixedwidth}
 | 
						|
 | 
						|
\constfunc{bool}{IsFixedWidth}{\void}
 | 
						|
 | 
						|
Returns {\tt true} if the font is a fixed width (or monospaced) font, 
 | 
						|
{\tt false} if it is a proportional one or font is invalid.
 | 
						|
 | 
						|
\membersection{wxFont::GetDefaultEncoding}\label{wxfontgetdefaultencoding}
 | 
						|
 | 
						|
\func{static wxFontEncoding}{GetDefaultEncoding}{\void}
 | 
						|
 | 
						|
Returns the current application's default encoding.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{Font encoding overview}{wxfontencodingoverview}, 
 | 
						|
\helpref{SetDefaultEncoding}{wxfontsetdefaultencoding}
 | 
						|
 | 
						|
\membersection{wxFont::GetFaceName}\label{wxfontgetfacename}
 | 
						|
 | 
						|
\constfunc{wxString}{GetFaceName}{\void}
 | 
						|
 | 
						|
Returns the typeface name associated with the font, or the empty string if there is no
 | 
						|
typeface information.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::SetFaceName}{wxfontsetfacename}
 | 
						|
 | 
						|
\membersection{wxFont::GetFamily}\label{wxfontgetfamily}
 | 
						|
 | 
						|
\constfunc{int}{GetFamily}{\void}
 | 
						|
 | 
						|
Gets the font family. See \helpref{wxFont::wxFont}{wxfontconstr} for a list of valid
 | 
						|
family identifiers.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::SetFamily}{wxfontsetfamily}
 | 
						|
 | 
						|
\membersection{wxFont::GetNativeFontInfoDesc}\label{wxfontgetnativefontinfodesc}
 | 
						|
 | 
						|
\constfunc{wxString}{GetNativeFontInfoDesc}{\void}
 | 
						|
 | 
						|
Returns the platform-dependent string completely describing this font or an
 | 
						|
empty string if the font wasn't constructed using the native font description.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::SetNativeFontInfo}{wxfontsetnativefontinfo}
 | 
						|
 | 
						|
\membersection{wxFont::GetPointSize}\label{wxfontgetpointsize}
 | 
						|
 | 
						|
\constfunc{int}{GetPointSize}{\void}
 | 
						|
 | 
						|
Gets the point size.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::SetPointSize}{wxfontsetpointsize}
 | 
						|
 | 
						|
\membersection{wxFont::GetStyle}\label{wxfontgetstyle}
 | 
						|
 | 
						|
\constfunc{int}{GetStyle}{\void}
 | 
						|
 | 
						|
Gets the font style. See \helpref{wxFont::wxFont}{wxfontconstr} for a list of valid
 | 
						|
styles.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::SetStyle}{wxfontsetstyle}
 | 
						|
 | 
						|
\membersection{wxFont::GetUnderlined}\label{wxfontgetunderlined}
 | 
						|
 | 
						|
\constfunc{bool}{GetUnderlined}{\void}
 | 
						|
 | 
						|
Returns true if the font is underlined, false otherwise.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::SetUnderlined}{wxfontsetunderlined}
 | 
						|
 | 
						|
\membersection{wxFont::GetWeight}\label{wxfontgetweight}
 | 
						|
 | 
						|
\constfunc{int}{GetWeight}{\void}
 | 
						|
 | 
						|
Gets the font weight. See \helpref{wxFont::wxFont}{wxfontconstr} for a list of valid
 | 
						|
weight identifiers.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::SetWeight}{wxfontsetweight}
 | 
						|
 | 
						|
\membersection{wxFont::Ok}\label{wxfontok}
 | 
						|
 | 
						|
\constfunc{bool}{Ok}{\void}
 | 
						|
 | 
						|
Returns {\tt true} if this object is a valid font, {\tt false} otherwise.
 | 
						|
 | 
						|
\membersection{wxFont::SetDefaultEncoding}\label{wxfontsetdefaultencoding}
 | 
						|
 | 
						|
\func{static void}{SetDefaultEncoding}{\param{wxFontEncoding }{encoding}}
 | 
						|
 | 
						|
Sets the default font encoding.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{Font encoding overview}{wxfontencodingoverview}, 
 | 
						|
\helpref{GetDefaultEncoding}{wxfontgetdefaultencoding}
 | 
						|
 | 
						|
\membersection{wxFont::SetFaceName}\label{wxfontsetfacename}
 | 
						|
 | 
						|
\func{void}{SetFaceName}{\param{const wxString\& }{faceName}}
 | 
						|
 | 
						|
Sets the facename for the font.
 | 
						|
 | 
						|
\wxheading{Parameters}
 | 
						|
 | 
						|
\docparam{faceName}{A valid facename, which should be on the end-user's system.}
 | 
						|
 | 
						|
\wxheading{Remarks}
 | 
						|
 | 
						|
To avoid portability problems, don't rely on a specific face, but specify the font family
 | 
						|
instead or as well. A suitable font will be found on the end-user's system. If both the
 | 
						|
family and the facename are specified, wxWindows will first search for the specific face,
 | 
						|
and then for a font belonging to the same family.
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::GetFaceName}{wxfontgetfacename}, \helpref{wxFont::SetFamily}{wxfontsetfamily}
 | 
						|
 | 
						|
\membersection{wxFont::SetFamily}\label{wxfontsetfamily}
 | 
						|
 | 
						|
\func{void}{SetFamily}{\param{int}{ family}}
 | 
						|
 | 
						|
Sets the font family.
 | 
						|
 | 
						|
\wxheading{Parameters}
 | 
						|
 | 
						|
\docparam{family}{One of:
 | 
						|
 | 
						|
\twocolwidtha{5cm}
 | 
						|
\begin{twocollist}\itemsep=0pt
 | 
						|
\twocolitem{{\bf wxDEFAULT}}{Chooses a default font.}
 | 
						|
\twocolitem{{\bf wxDECORATIVE}}{A decorative font.}
 | 
						|
\twocolitem{{\bf wxROMAN}}{A formal, serif font.}
 | 
						|
\twocolitem{{\bf wxSCRIPT}}{A handwriting font.}
 | 
						|
\twocolitem{{\bf wxSWISS}}{A sans-serif font.}
 | 
						|
\twocolitem{{\bf wxMODERN}}{A fixed pitch font.}
 | 
						|
\end{twocollist}}
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::GetFamily}{wxfontgetfamily}, \helpref{wxFont::SetFaceName}{wxfontsetfacename}
 | 
						|
 | 
						|
\membersection{wxFont::SetNativeFontInfo}\label{wxfontsetnativefontinfo}
 | 
						|
 | 
						|
\func{void}{SetNativeFontInfo}{\param{const wxString\& }{info}}
 | 
						|
 | 
						|
Creates the font corresponding to the given native font description string
 | 
						|
which must have been previously returned by 
 | 
						|
\helpref{GetNativeFontInfoDesc}{wxfontgetnativefontinfodesc}. If the string is
 | 
						|
invalid, font is unchanged.
 | 
						|
 | 
						|
\membersection{wxFont::SetPointSize}\label{wxfontsetpointsize}
 | 
						|
 | 
						|
\func{void}{SetPointSize}{\param{int}{ pointSize}}
 | 
						|
 | 
						|
Sets the point size.
 | 
						|
 | 
						|
\wxheading{Parameters}
 | 
						|
 | 
						|
\docparam{pointSize}{Size in points.}
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::GetPointSize}{wxfontgetpointsize}
 | 
						|
 | 
						|
\membersection{wxFont::SetStyle}\label{wxfontsetstyle}
 | 
						|
 | 
						|
\func{void}{SetStyle}{\param{int}{ style}}
 | 
						|
 | 
						|
Sets the font style.
 | 
						|
 | 
						|
\wxheading{Parameters}
 | 
						|
 | 
						|
\docparam{style}{One of {\bf wxNORMAL}, {\bf wxSLANT} and {\bf wxITALIC}.}
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::GetStyle}{wxfontgetstyle}
 | 
						|
 | 
						|
\membersection{wxFont::SetUnderlined}\label{wxfontsetunderlined}
 | 
						|
 | 
						|
\func{void}{SetUnderlined}{\param{const bool}{ underlined}}
 | 
						|
 | 
						|
Sets underlining.
 | 
						|
 | 
						|
\wxheading{Parameters}
 | 
						|
 | 
						|
\docparam{underlining}{true to underline, false otherwise.}
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::GetUnderlined}{wxfontgetunderlined}
 | 
						|
 | 
						|
\membersection{wxFont::SetWeight}\label{wxfontsetweight}
 | 
						|
 | 
						|
\func{void}{SetWeight}{\param{int}{ weight}}
 | 
						|
 | 
						|
Sets the font weight.
 | 
						|
 | 
						|
\wxheading{Parameters}
 | 
						|
 | 
						|
\docparam{weight}{One of {\bf wxNORMAL}, {\bf wxLIGHT} and {\bf wxBOLD}.}
 | 
						|
 | 
						|
\wxheading{See also}
 | 
						|
 | 
						|
\helpref{wxFont::GetWeight}{wxfontgetweight}
 | 
						|
 | 
						|
\membersection{wxFont::operator $=$}\label{wxfontassignment}
 | 
						|
 | 
						|
\func{wxFont\&}{operator $=$}{\param{const wxFont\& }{font}}
 | 
						|
 | 
						|
Assignment operator, using reference counting. Returns a reference
 | 
						|
to `this'.
 | 
						|
 | 
						|
\membersection{wxFont::operator $==$}\label{wxfontequals}
 | 
						|
 | 
						|
\func{bool}{operator $==$}{\param{const wxFont\& }{font}}
 | 
						|
 | 
						|
Equality operator. Two fonts are equal if they contain pointers
 | 
						|
to the same underlying font data. It does not compare each attribute,
 | 
						|
so two indefontdently-created fonts using the same parameters will
 | 
						|
fail the test.
 | 
						|
 | 
						|
\membersection{wxFont::operator $!=$}\label{wxfontnotequals}
 | 
						|
 | 
						|
\func{bool}{operator $!=$}{\param{const wxFont\& }{font}}
 | 
						|
 | 
						|
Inequality operator. Two fonts are not equal if they contain pointers
 | 
						|
to different underlying font data. It does not compare each attribute.
 | 
						|
 | 
						|
 |