]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/font.tex
fixes bug 414369
[wxWidgets.git] / docs / latex / wx / font.tex
1 \section{\class{wxFont}}\label{wxfont}
2
3 A font is an object which determines the appearance of text. Fonts are
4 used for drawing text to a device context, and setting the appearance of
5 a window's text.
6
7 \wxheading{Derived from}
8
9 \helpref{wxGDIObject}{wxgdiobject}\\
10 \helpref{wxObject}{wxobject}
11
12 \wxheading{Include files}
13
14 <wx/font.h>
15
16 \wxheading{Predefined objects}
17
18 Objects:
19
20 {\bf wxNullFont}
21
22 Pointers:
23
24 {\bf wxNORMAL\_FONT\\
25 wxSMALL\_FONT\\
26 wxITALIC\_FONT\\
27 wxSWISS\_FONT}
28
29 \wxheading{See also}
30
31 \helpref{wxFont overview}{wxfontoverview}, \helpref{wxDC::SetFont}{wxdcsetfont},\rtfsp
32 \helpref{wxDC::DrawText}{wxdcdrawtext}, \helpref{wxDC::GetTextExtent}{wxdcgettextextent},\rtfsp
33 \helpref{wxFontDialog}{wxfontdialog}
34
35 \latexignore{\rtfignore{\wxheading{Members}}}
36
37 \membersection{wxFont::wxFont}\label{wxfontconstr}
38
39 \func{}{wxFont}{\void}
40
41 Default constructor.
42
43 \func{}{wxFont}{\param{int}{ pointSize}, \param{int}{ family}, \param{int}{ style}, \param{int}{ weight},
44 \param{const bool}{ underline = FALSE}, \param{const wxString\& }{faceName = ""},
45 \param{wxFontEncoding }{encoding = wxFONTENCODING\_DEFAULT}}
46
47 Creates a font object (see \helpref{font encoding
48 overview}{wxfontencodingoverview} for the meaning of the last parameter).
49
50 \wxheading{Parameters}
51
52 \docparam{pointSize}{Size in points.}
53
54 \docparam{family}{Font family, a generic way of referring to fonts without specifying actual facename. One of:
55
56 \twocolwidtha{5cm}
57 \begin{twocollist}\itemsep=0pt
58 \twocolitem{{\bf wxDEFAULT}}{Chooses a default font.}
59 \twocolitem{{\bf wxDECORATIVE}}{A decorative font.}
60 \twocolitem{{\bf wxROMAN}}{A formal, serif font.}
61 \twocolitem{{\bf wxSCRIPT}}{A handwriting font.}
62 \twocolitem{{\bf wxSWISS}}{A sans-serif font.}
63 \twocolitem{{\bf wxMODERN}}{A fixed pitch font.}
64 \end{twocollist}}
65
66 \docparam{style}{One of {\bf wxNORMAL}, {\bf wxSLANT} and {\bf wxITALIC}.}
67
68 \docparam{weight}{One of {\bf wxNORMAL}, {\bf wxLIGHT} and {\bf wxBOLD}.}
69
70 \docparam{underline}{The value can be TRUE or FALSE. At present this has an effect on Windows only.}
71
72 \docparam{faceName}{An optional string specifying the actual typeface to be used. If the empty string,
73 a default typeface will chosen based on the family.}
74
75 \docparam{encoding}{An encoding which may be one of
76 \twocolwidtha{5cm}
77 \begin{twocollist}\itemsep=0pt
78 \twocolitem{{\bf wxFONTENCODING\_SYSTEM}}{Default system encoding.}
79 \twocolitem{{\bf wxFONTENCODING\_DEFAULT}}{Default application encoding: this
80 is the encoding set by calls to
81 \helpref{SetDefaultEncoding}{wxfontsetdefaultencoding} and which may be set to,
82 say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
83 default application encoding is the same as default system encoding.}
84 \twocolitem{{\bf wxFONTENCODING\_ISO8859\_1...15}}{ISO8859 encodings.}
85 \twocolitem{{\bf wxFONTENCODING\_KOI8}}{The standard russian encoding for Internet.}
86 \twocolitem{{\bf wxFONTENCODING\_CP1250...1252}}{Windows encodings similar to ISO8859 (but not identical).}
87 \end{twocollist}
88 If the specified encoding isn't available, no font is created.
89 }
90
91 \wxheading{Remarks}
92
93 If the desired font does not exist, the closest match will be chosen.
94 Under Windows, only scaleable TrueType fonts are used.
95
96 Underlining only works under Windows at present.
97
98 See also \helpref{wxDC::SetFont}{wxdcsetfont}, \helpref{wxDC::DrawText}{wxdcdrawtext}
99 and \helpref{wxDC::GetTextExtent}{wxdcgettextextent}.
100
101 \membersection{wxFont::\destruct{wxFont}}
102
103 \func{}{\destruct{wxFont}}{\void}
104
105 Destructor.
106
107 \wxheading{Remarks}
108
109 The destructor may not delete the underlying font object of the native windowing
110 system, since wxFont uses a reference counting system for efficiency.
111
112 Although all remaining fonts are deleted when the application exits,
113 the application should try to clean up all fonts itself. This is because
114 wxWindows cannot know if a pointer to the font object is stored in an
115 application data structure, and there is a risk of double deletion.
116
117 \membersection{wxFont::GetDefaultEncoding}\label{wxfontgetdefaultencoding}
118
119 \func{static wxFontEncoding}{GetDefaultEncoding}{\void}
120
121 Returns the current applications default encoding.
122
123 \wxheading{See also}
124
125 \helpref{Font encoding overview}{wxfontencodingoverview},
126 \helpref{SetDefaultEncoding}{wxfontsetdefaultencoding}
127
128 \membersection{wxFont::GetFaceName}\label{wxfontgetfacename}
129
130 \constfunc{wxString}{GetFaceName}{\void}
131
132 Returns the typeface name associated with the font, or the empty string if there is no
133 typeface information.
134
135 \wxheading{See also}
136
137 \helpref{wxFont::SetFaceName}{wxfontsetfacename}
138
139 \membersection{wxFont::GetFamily}\label{wxfontgetfamily}
140
141 \constfunc{int}{GetFamily}{\void}
142
143 Gets the font family. See \helpref{wxFont::wxFont}{wxfontconstr} for a list of valid
144 family identifiers.
145
146 \wxheading{See also}
147
148 \helpref{wxFont::SetFamily}{wxfontsetfamily}
149
150 \membersection{wxFont::GetFontId}\label{wxfontgetfontid}
151
152 \constfunc{int}{GetFontId}{\void}
153
154 Returns the font id, if the portable font system is in operation. See \helpref{Font overview}{wxfontoverview} for
155 further details.
156
157 \membersection{wxFont::GetPointSize}\label{wxfontgetpointsize}
158
159 \constfunc{int}{GetPointSize}{\void}
160
161 Gets the point size.
162
163 \wxheading{See also}
164
165 \helpref{wxFont::SetPointSize}{wxfontsetpointsize}
166
167 \membersection{wxFont::GetStyle}\label{wxfontgetstyle}
168
169 \constfunc{int}{GetStyle}{\void}
170
171 Gets the font style. See \helpref{wxFont::wxFont}{wxfontconstr} for a list of valid
172 styles.
173
174 \wxheading{See also}
175
176 \helpref{wxFont::SetStyle}{wxfontsetstyle}
177
178 \membersection{wxFont::GetUnderlined}\label{wxfontgetunderlined}
179
180 \constfunc{bool}{GetUnderlined}{\void}
181
182 Returns TRUE if the font is underlined, FALSE otherwise.
183
184 \wxheading{See also}
185
186 \helpref{wxFont::SetUnderlined}{wxfontsetunderlined}
187
188 \membersection{wxFont::GetWeight}\label{wxfontgetweight}
189
190 \constfunc{int}{GetWeight}{\void}
191
192 Gets the font weight. See \helpref{wxFont::wxFont}{wxfontconstr} for a list of valid
193 weight identifiers.
194
195 \wxheading{See also}
196
197 \helpref{wxFont::SetWeight}{wxfontsetweight}
198
199 \membersection{wxFont::SetDefaultEncoding}\label{wxfontsetdefaultencoding}
200
201 \func{static void}{SetDefaultEncoding}{\param{wxFontEncoding }{encoding}}
202
203 Sets the default font encoding.
204
205 \wxheading{See also}
206
207 \helpref{Font encoding overview}{wxfontencodingoverview},
208 \helpref{GetDefaultEncoding}{wxfontgetdefaultencoding}
209
210 \membersection{wxFont::SetFaceName}\label{wxfontsetfacename}
211
212 \func{void}{SetFaceName}{\param{const wxString\& }{faceName}}
213
214 Sets the facename for the font.
215
216 \wxheading{Parameters}
217
218 \docparam{faceName}{A valid facename, which should be on the end-user's system.}
219
220 \wxheading{Remarks}
221
222 To avoid portability problems, don't rely on a specific face, but specify the font family
223 instead or as well. A suitable font will be found on the end-user's system. If both the
224 family and the facename are specified, wxWindows will first search for the specific face,
225 and then for a font belonging to the same family.
226
227 \wxheading{See also}
228
229 \helpref{wxFont::GetFaceName}{wxfontgetfacename}, \helpref{wxFont::SetFamily}{wxfontsetfamily}
230
231 \membersection{wxFont::SetFamily}\label{wxfontsetfamily}
232
233 \func{void}{SetFamily}{\param{int}{ family}}
234
235 Sets the font family.
236
237 \wxheading{Parameters}
238
239 \docparam{family}{One of:
240
241 \twocolwidtha{5cm}
242 \begin{twocollist}\itemsep=0pt
243 \twocolitem{{\bf wxDEFAULT}}{Chooses a default font.}
244 \twocolitem{{\bf wxDECORATIVE}}{A decorative font.}
245 \twocolitem{{\bf wxROMAN}}{A formal, serif font.}
246 \twocolitem{{\bf wxSCRIPT}}{A handwriting font.}
247 \twocolitem{{\bf wxSWISS}}{A sans-serif font.}
248 \twocolitem{{\bf wxMODERN}}{A fixed pitch font.}
249 \end{twocollist}}
250
251 \wxheading{See also}
252
253 \helpref{wxFont::GetFamily}{wxfontgetfamily}, \helpref{wxFont::SetFaceName}{wxfontsetfacename}
254
255 \membersection{wxFont::SetPointSize}\label{wxfontsetpointsize}
256
257 \func{void}{SetPointSize}{\param{int}{ pointSize}}
258
259 Sets the point size.
260
261 \wxheading{Parameters}
262
263 \docparam{pointSize}{Size in points.}
264
265 \wxheading{See also}
266
267 \helpref{wxFont::GetPointSize}{wxfontgetpointsize}
268
269 \membersection{wxFont::SetStyle}\label{wxfontsetstyle}
270
271 \func{void}{SetStyle}{\param{int}{ style}}
272
273 Sets the font style.
274
275 \wxheading{Parameters}
276
277 \docparam{style}{One of {\bf wxNORMAL}, {\bf wxSLANT} and {\bf wxITALIC}.}
278
279 \wxheading{See also}
280
281 \helpref{wxFont::GetStyle}{wxfontgetstyle}
282
283 \membersection{wxFont::SetUnderlined}\label{wxfontsetunderlined}
284
285 \func{void}{SetUnderlined}{\param{const bool}{ underlined}}
286
287 Sets underlining.
288
289 \wxheading{Parameters}
290
291 \docparam{underlining}{TRUE to underline, FALSE otherwise.}
292
293 \wxheading{See also}
294
295 \helpref{wxFont::GetUnderlined}{wxfontgetunderlined}
296
297 \membersection{wxFont::SetWeight}\label{wxfontsetweight}
298
299 \func{void}{SetWeight}{\param{int}{ weight}}
300
301 Sets the font weight.
302
303 \wxheading{Parameters}
304
305 \docparam{weight}{One of {\bf wxNORMAL}, {\bf wxLIGHT} and {\bf wxBOLD}.}
306
307 \wxheading{See also}
308
309 \helpref{wxFont::GetWeight}{wxfontgetweight}
310
311 \membersection{wxFont::operator $=$}\label{wxfontassignment}
312
313 \func{wxFont\&}{operator $=$}{\param{const wxFont\& }{font}}
314
315 Assignment operator, using reference counting. Returns a reference
316 to `this'.
317
318 \membersection{wxFont::operator $==$}\label{wxfontequals}
319
320 \func{bool}{operator $==$}{\param{const wxFont\& }{font}}
321
322 Equality operator. Two fonts are equal if they contain pointers
323 to the same underlying font data. It does not compare each attribute,
324 so two indefontdently-created fonts using the same parameters will
325 fail the test.
326
327 \membersection{wxFont::operator $!=$}\label{wxfontnotequals}
328
329 \func{bool}{operator $!=$}{\param{const wxFont\& }{font}}
330
331 Inequality operator. Two fonts are not equal if they contain pointers
332 to different underlying font data. It does not compare each attribute.
333
334