]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/font.tex
Changed version to 2.5.1
[wxWidgets.git] / docs / latex / wx / font.tex
index 8a4530faf7175a84d6915288f51f4dca2e6c6f53..014c8b680b0af04fbf1b8670f14788242448a3d4 100644 (file)
@@ -4,6 +4,10 @@ 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}\\
@@ -13,6 +17,94 @@ a window's text.
 
 <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:
@@ -30,7 +122,7 @@ wxSWISS\_FONT}
 
 \helpref{wxFont overview}{wxfontoverview}, \helpref{wxDC::SetFont}{wxdcsetfont},\rtfsp
 \helpref{wxDC::DrawText}{wxdcdrawtext}, \helpref{wxDC::GetTextExtent}{wxdcgettextextent},\rtfsp
-\helpref{wxFontDialog}{wxfontdialog}
+\helpref{wxFontDialog}{wxfontdialog}, \helpref{wxSystemSettings}{wxsystemsettings}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
@@ -41,7 +133,7 @@ wxSWISS\_FONT}
 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{const bool}{ underline = false}, \param{const wxString\& }{faceName = ""},
  \param{wxFontEncoding }{encoding = wxFONTENCODING\_DEFAULT}}
 
 Creates a font object (see \helpref{font encoding
@@ -67,7 +159,7 @@ overview}{wxfontencodingoverview} for the meaning of the last parameter).
 
 \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 only.}
+\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.}
@@ -82,7 +174,7 @@ is the encoding set by calls 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\_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.
@@ -91,9 +183,7 @@ 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 scaleable TrueType fonts are used.
-
-Underlining only works under Windows at present.
+Under Windows, only scalable TrueType fonts are used.
 
 See also \helpref{wxDC::SetFont}{wxdcsetfont}, \helpref{wxDC::DrawText}{wxdcdrawtext}
 and \helpref{wxDC::GetTextExtent}{wxdcgettextextent}.
@@ -114,11 +204,18 @@ 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 applications default encoding.
+Returns the current application's default encoding.
 
 \wxheading{See also}
 
@@ -147,12 +244,16 @@ family identifiers.
 
 \helpref{wxFont::SetFamily}{wxfontsetfamily}
 
-\membersection{wxFont::GetFontId}\label{wxfontgetfontid}
+\membersection{wxFont::GetNativeFontInfoDesc}\label{wxfontgetnativefontinfodesc}
+
+\constfunc{wxString}{GetNativeFontInfoDesc}{\void}
 
-\constfunc{int}{GetFontId}{\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.
 
-Returns the font id, if the portable font system is in operation. See \helpref{Font overview}{wxfontoverview} for
-further details.
+\wxheading{See also}
+
+\helpref{wxFont::SetNativeFontInfo}{wxfontsetnativefontinfo}
 
 \membersection{wxFont::GetPointSize}\label{wxfontgetpointsize}
 
@@ -179,7 +280,7 @@ styles.
 
 \constfunc{bool}{GetUnderlined}{\void}
 
-Returns TRUE if the font is underlined, FALSE otherwise.
+Returns true if the font is underlined, false otherwise.
 
 \wxheading{See also}
 
@@ -196,6 +297,12 @@ weight identifiers.
 
 \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}}
@@ -252,6 +359,15 @@ Sets the font family.
 
 \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}}
@@ -288,7 +404,7 @@ Sets underlining.
 
 \wxheading{Parameters}
 
-\docparam{underlining}{TRUE to underline, FALSE otherwise.}
+\docparam{underlining}{true to underline, false otherwise.}
 
 \wxheading{See also}