1
<?xml version="1.0" encoding="iso-8859-1"?>
3
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
<!-- /tmp/qt-4.0.0-espenr-1119621036935/qt-x11-opensource-desktop-4.0.0/src/gui/text/qfontdatabase.cpp -->
7
<title>Qt 4.0: QFontDatabase Class Reference</title>
8
<style>h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
9
a:link { color: #004faf; text-decoration: none }
10
a:visited { color: #672967; text-decoration: none }
11
td.postheader { font-family: sans-serif }
12
tr.address { font-family: sans-serif }
13
body { background: #ffffff; color: black; }</style>
16
<table border="0" cellpadding="0" cellspacing="0" width="100%">
18
<td align="left" valign="top" width="32"><img src="images/qt-logo.png" align="left" width="32" height="32" border="0" /></td>
19
<td width="1"> </td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a> · <a href="classes.html"><font color="#004faf">All Classes</font></a> · <a href="mainclasses.html"><font color="#004faf">Main Classes</font></a> · <a href="annotated.html"><font color="#004faf">Annotated</font></a> · <a href="groups.html"><font color="#004faf">Grouped Classes</font></a> · <a href="functions.html"><font color="#004faf">Functions</font></a></td>
20
<td align="right" valign="top" width="230"><img src="images/trolltech-logo.png" align="right" width="203" height="32" border="0" /></td></tr></table><h1 align="center">QFontDatabase Class Reference</h1>
21
<p>The QFontDatabase class provides information about the fonts available in the underlying window system. <a href="#details">More...</a></p>
22
<pre>#include <QFontDatabase></pre><p>Part of the <a href="qtgui.html">QtGui</a> module.</p>
24
<li><a href="qfontdatabase-members.html">List of all members, including inherited members</a></li>
26
<a name="public-types"></a>
29
<li><div class="fn"/>enum <b><a href="qfontdatabase.html#WritingSystem-enum">WritingSystem</a></b> { Any, Latin, Greek, Cyrillic, ..., Other }</li>
31
<a name="public-functions"></a>
32
<h3>Public Functions</h3>
34
<li><div class="fn"/><b><a href="qfontdatabase.html#QFontDatabase">QFontDatabase</a></b> ()</li>
35
<li><div class="fn"/>bool <b><a href="qfontdatabase.html#bold">bold</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> ) const</li>
36
<li><div class="fn"/>QStringList <b><a href="qfontdatabase.html#families">families</a></b> ( WritingSystem <i>writingSystem</i> = Any ) const</li>
37
<li><div class="fn"/>QFont <b><a href="qfontdatabase.html#font">font</a></b> ( const QString & <i>family</i>, const QString & <i>style</i>, int <i>pointSize</i> ) const</li>
38
<li><div class="fn"/>bool <b><a href="qfontdatabase.html#isBitmapScalable">isBitmapScalable</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> = QString() ) const</li>
39
<li><div class="fn"/>bool <b><a href="qfontdatabase.html#isFixedPitch">isFixedPitch</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> = QString() ) const</li>
40
<li><div class="fn"/>bool <b><a href="qfontdatabase.html#isScalable">isScalable</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> = QString() ) const</li>
41
<li><div class="fn"/>bool <b><a href="qfontdatabase.html#isSmoothlyScalable">isSmoothlyScalable</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> = QString() ) const</li>
42
<li><div class="fn"/>bool <b><a href="qfontdatabase.html#italic">italic</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> ) const</li>
43
<li><div class="fn"/>QList<int> <b><a href="qfontdatabase.html#pointSizes">pointSizes</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> = QString() )</li>
44
<li><div class="fn"/>QList<int> <b><a href="qfontdatabase.html#smoothSizes">smoothSizes</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> )</li>
45
<li><div class="fn"/>QString <b><a href="qfontdatabase.html#styleString">styleString</a></b> ( const QFont & <i>f</i> )</li>
46
<li><div class="fn"/>QStringList <b><a href="qfontdatabase.html#styles">styles</a></b> ( const QString & <i>family</i> ) const</li>
47
<li><div class="fn"/>int <b><a href="qfontdatabase.html#weight">weight</a></b> ( const QString & <i>family</i>, const QString & <i>style</i> ) const</li>
48
<li><div class="fn"/>QList<WritingSystem> <b><a href="qfontdatabase.html#writingSystems">writingSystems</a></b> () const</li>
50
<a name="static-public-members"></a>
51
<h3>Static Public Members</h3>
53
<li><div class="fn"/>QList<int> <b><a href="qfontdatabase.html#standardSizes">standardSizes</a></b> ()</li>
54
<li><div class="fn"/>QString <b><a href="qfontdatabase.html#writingSystemName">writingSystemName</a></b> ( WritingSystem <i>writingSystem</i> )</li>
55
<li><div class="fn"/>QString <b><a href="qfontdatabase.html#writingSystemSample">writingSystemSample</a></b> ( WritingSystem <i>writingSystem</i> )</li>
57
<a name="details"></a>
59
<h2>Detailed Description</h2>
60
<p>The QFontDatabase class provides information about the fonts available in the underlying window system.</p>
61
<p>The most common uses of this class are to query the database for the list of font <a href="qfontdatabase.html#families">families</a>() and for the <a href="qfontdatabase.html#pointSizes">pointSizes</a>() and <a href="qfontdatabase.html#styles">styles</a>() that are available for each family. An alternative to <a href="qfontdatabase.html#pointSizes">pointSizes</a>() is <a href="qfontdatabase.html#smoothSizes">smoothSizes</a>() which returns the sizes at which a given family and style will look attractive.</p>
62
<p>If the font family is available from two or more foundries the foundry name is included in the family name, e.g. "Helvetica [Adobe]" and "Helvetica [Cronyx]". When you specify a family you can either use the old hyphenated Qt 2.x "foundry-family" format, e.g. "Cronyx-Helvetica", or the new bracketed Qt 3.x "family [foundry]" format e.g. "Helvetica [Cronyx]". If the family has a foundry it is always returned, e.g. by <a href="qfontdatabase.html#families">families</a>(), using the bracketed format.</p>
63
<p>The <a href="qfontdatabase.html#font">font</a>() function returns a <a href="qfont.html">QFont</a> given a family, style and point size.</p>
64
<p>A family and style combination can be checked to see if it is <a href="qfontdatabase.html#italic">italic</a>() or <a href="qfontdatabase.html#bold">bold</a>(), and to retrieve its <a href="qfontdatabase.html#weight">weight</a>(). Similarly we can call <a href="qfontdatabase.html#isBitmapScalable">isBitmapScalable</a>(), <a href="qfontdatabase.html#isSmoothlyScalable">isSmoothlyScalable</a>(), <a href="qfontdatabase.html#isScalable">isScalable</a>() and <a href="qfontdatabase.html#isFixedPitch">isFixedPitch</a>().</p>
65
<p>Use the <a href="qfontdatabase.html#styleString">styleString</a>() to obtain a text version of a style.</p>
66
<p>The QFontDatabase class also supports some static functions, for example, <a href="qfontdatabase.html#standardSizes">standardSizes</a>(). You can retrieve the description of a writing system using <a href="qfontdatabase.html#writingSystemName">writingSystemName</a>(), and a sample of characters in a writing system with <a href="qfontdatabase.html#writingSystemSample">writingSystemSample</a>().</p>
68
<pre> #include <qapplication.h>
69
#include <qfontdatabase.h>
71
int main(int argc, char **argv)
73
QApplication app(argc, argv);
75
QStringList families = fdb.families();
76
for (QStringList::Iterator f = families.begin(); f != families.end(); ++f) {
79
QStringList styles = fdb.styles(family);
80
for (QStringList::Iterator s = styles.begin(); s != styles.end(); ++s) {
82
QString dstyle = "\t" + style + " (";
83
QList<int> smoothies = fdb.smoothSizes(family, style);
84
for (QList<int>::Iterator points = smoothies.begin();
85
points != smoothies.end(); ++points) {
86
dstyle += QString::number(*points) + " ";
88
dstyle = dstyle.left(dstyle.length() - 1) + ")";
94
<p>This example gets the list of font families, then the list of styles for each family and the point sizes that are available for each family/style combination.</p>
96
<h2>Member Type Documentation</h2>
97
<h3 class="fn"><a name="WritingSystem-enum"></a>enum QFontDatabase::WritingSystem</h3>
98
<table border="1" cellpadding="2" cellspacing="1" width="40%">
99
<tr><th width="60%">Constant</th><th width="40%">Value</th></tr>
100
<tr><td valign="top"><tt>QFontDatabase::Any</tt></td><td align="center" valign="top"><tt>0</tt></td></tr>
101
<tr><td valign="top"><tt>QFontDatabase::Latin</tt></td><td align="center" valign="top"><tt>1</tt></td></tr>
102
<tr><td valign="top"><tt>QFontDatabase::Greek</tt></td><td align="center" valign="top"><tt>2</tt></td></tr>
103
<tr><td valign="top"><tt>QFontDatabase::Cyrillic</tt></td><td align="center" valign="top"><tt>3</tt></td></tr>
104
<tr><td valign="top"><tt>QFontDatabase::Armenian</tt></td><td align="center" valign="top"><tt>4</tt></td></tr>
105
<tr><td valign="top"><tt>QFontDatabase::Hebrew</tt></td><td align="center" valign="top"><tt>5</tt></td></tr>
106
<tr><td valign="top"><tt>QFontDatabase::Arabic</tt></td><td align="center" valign="top"><tt>6</tt></td></tr>
107
<tr><td valign="top"><tt>QFontDatabase::Syriac</tt></td><td align="center" valign="top"><tt>7</tt></td></tr>
108
<tr><td valign="top"><tt>QFontDatabase::Thaana</tt></td><td align="center" valign="top"><tt>8</tt></td></tr>
109
<tr><td valign="top"><tt>QFontDatabase::Devanagari</tt></td><td align="center" valign="top"><tt>9</tt></td></tr>
110
<tr><td valign="top"><tt>QFontDatabase::Bengali</tt></td><td align="center" valign="top"><tt>10</tt></td></tr>
111
<tr><td valign="top"><tt>QFontDatabase::Gurmukhi</tt></td><td align="center" valign="top"><tt>11</tt></td></tr>
112
<tr><td valign="top"><tt>QFontDatabase::Gujarati</tt></td><td align="center" valign="top"><tt>12</tt></td></tr>
113
<tr><td valign="top"><tt>QFontDatabase::Oriya</tt></td><td align="center" valign="top"><tt>13</tt></td></tr>
114
<tr><td valign="top"><tt>QFontDatabase::Tamil</tt></td><td align="center" valign="top"><tt>14</tt></td></tr>
115
<tr><td valign="top"><tt>QFontDatabase::Telugu</tt></td><td align="center" valign="top"><tt>15</tt></td></tr>
116
<tr><td valign="top"><tt>QFontDatabase::Kannada</tt></td><td align="center" valign="top"><tt>16</tt></td></tr>
117
<tr><td valign="top"><tt>QFontDatabase::Malayalam</tt></td><td align="center" valign="top"><tt>17</tt></td></tr>
118
<tr><td valign="top"><tt>QFontDatabase::Sinhala</tt></td><td align="center" valign="top"><tt>18</tt></td></tr>
119
<tr><td valign="top"><tt>QFontDatabase::Thai</tt></td><td align="center" valign="top"><tt>19</tt></td></tr>
120
<tr><td valign="top"><tt>QFontDatabase::Lao</tt></td><td align="center" valign="top"><tt>20</tt></td></tr>
121
<tr><td valign="top"><tt>QFontDatabase::Tibetan</tt></td><td align="center" valign="top"><tt>21</tt></td></tr>
122
<tr><td valign="top"><tt>QFontDatabase::Myanmar</tt></td><td align="center" valign="top"><tt>22</tt></td></tr>
123
<tr><td valign="top"><tt>QFontDatabase::Georgian</tt></td><td align="center" valign="top"><tt>23</tt></td></tr>
124
<tr><td valign="top"><tt>QFontDatabase::Khmer</tt></td><td align="center" valign="top"><tt>24</tt></td></tr>
125
<tr><td valign="top"><tt>QFontDatabase::SimplifiedChinese</tt></td><td align="center" valign="top"><tt>25</tt></td></tr>
126
<tr><td valign="top"><tt>QFontDatabase::TraditionalChinese</tt></td><td align="center" valign="top"><tt>26</tt></td></tr>
127
<tr><td valign="top"><tt>QFontDatabase::Japanese</tt></td><td align="center" valign="top"><tt>27</tt></td></tr>
128
<tr><td valign="top"><tt>QFontDatabase::Korean</tt></td><td align="center" valign="top"><tt>28</tt></td></tr>
129
<tr><td valign="top"><tt>QFontDatabase::Vietnamese</tt></td><td align="center" valign="top"><tt>29</tt></td></tr>
130
<tr><td valign="top"><tt>QFontDatabase::Other</tt></td><td align="center" valign="top"><tt>30</tt></td></tr>
133
<h2>Member Function Documentation</h2>
134
<h3 class="fn"><a name="QFontDatabase"></a>QFontDatabase::QFontDatabase ()</h3>
135
<p>Creates a font database object.</p>
136
<h3 class="fn"><a name="bold"></a>bool QFontDatabase::bold ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> ) const</h3>
137
<p>Returns true if the font that has family <i>family</i> and style <i>style</i> is bold; otherwise returns false.</p>
138
<p>See also <a href="qfontdatabase.html#italic">italic</a>() and <a href="qfontdatabase.html#weight">weight</a>().</p>
139
<h3 class="fn"><a name="families"></a><a href="qstringlist.html">QStringList</a> QFontDatabase::families ( <a href="qfontdatabase.html#WritingSystem-enum">WritingSystem</a> <i>writingSystem</i> = Any ) const</h3>
140
<p>Returns a sorted list of the available font families which support the <i>writingSystem</i>.</p>
141
<p>If a family exists in several foundries, the returned name for that font is in the form "family [foundry]". Examples: "Times [Adobe]", "Times [Cronyx]", "Palatino".</p>
142
<p>See also <a href="qfontdatabase.html#writingSystems">writingSystems</a>().</p>
143
<h3 class="fn"><a name="font"></a><a href="qfont.html">QFont</a> QFontDatabase::font ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i>, int <i>pointSize</i> ) const</h3>
144
<p>Returns a <a href="qfont.html">QFont</a> object that has family <i>family</i>, style <i>style</i> and point size <i>pointSize</i>. If no matching font could be created, a <a href="qfont.html">QFont</a> object that uses the application's default font is returned.</p>
145
<h3 class="fn"><a name="isBitmapScalable"></a>bool QFontDatabase::isBitmapScalable ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> = QString() ) const</h3>
146
<p>Returns true if the font that has family <i>family</i> and style <i>style</i> is a scalable bitmap font; otherwise returns false. Scaling a bitmap font usually produces an unattractive hardly readable result, because the pixels of the font are scaled. If you need to scale a bitmap font it is better to scale it to one of the fixed sizes returned by <a href="qfontdatabase.html#smoothSizes">smoothSizes</a>().</p>
147
<p>See also <a href="qfontdatabase.html#isScalable">isScalable</a>() and <a href="qfontdatabase.html#isSmoothlyScalable">isSmoothlyScalable</a>().</p>
148
<h3 class="fn"><a name="isFixedPitch"></a>bool QFontDatabase::isFixedPitch ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> = QString() ) const</h3>
149
<p>Returns true if the font that has family <i>family</i> and style <i>style</i> is fixed pitch; otherwise returns false.</p>
150
<h3 class="fn"><a name="isScalable"></a>bool QFontDatabase::isScalable ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> = QString() ) const</h3>
151
<p>Returns true if the font that has family <i>family</i> and style <i>style</i> is scalable; otherwise returns false.</p>
152
<p>See also <a href="qfontdatabase.html#isBitmapScalable">isBitmapScalable</a>() and <a href="qfontdatabase.html#isSmoothlyScalable">isSmoothlyScalable</a>().</p>
153
<h3 class="fn"><a name="isSmoothlyScalable"></a>bool QFontDatabase::isSmoothlyScalable ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> = QString() ) const</h3>
154
<p>Returns true if the font that has family <i>family</i> and style <i>style</i> is smoothly scalable; otherwise returns false. If this function returns true, it's safe to scale this font to any size, and the result will always look attractive.</p>
155
<p>See also <a href="qfontdatabase.html#isScalable">isScalable</a>() and <a href="qfontdatabase.html#isBitmapScalable">isBitmapScalable</a>().</p>
156
<h3 class="fn"><a name="italic"></a>bool QFontDatabase::italic ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> ) const</h3>
157
<p>Returns true if the font that has family <i>family</i> and style <i>style</i> is italic; otherwise returns false.</p>
158
<p>See also <a href="qfontdatabase.html#weight">weight</a>() and <a href="qfontdatabase.html#bold">bold</a>().</p>
159
<h3 class="fn"><a name="pointSizes"></a><a href="qlist.html">QList</a><int> QFontDatabase::pointSizes ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> = QString() )</h3>
160
<p>Returns a list of the point sizes available for the font that has family <i>family</i> and style <i>style</i>. The list may be empty.</p>
161
<p>See also <a href="qfontdatabase.html#smoothSizes">smoothSizes</a>() and <a href="qfontdatabase.html#standardSizes">standardSizes</a>().</p>
162
<h3 class="fn"><a name="smoothSizes"></a><a href="qlist.html">QList</a><int> QFontDatabase::smoothSizes ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> )</h3>
163
<p>Returns the point sizes of a font that has family <i>family</i> and style <i>style</i> that will look attractive. The list may be empty. For non-scalable fonts and bitmap scalable fonts, this function is equivalent to <a href="qfontdatabase.html#pointSizes">pointSizes</a>().</p>
164
<p>See also <a href="qfontdatabase.html#pointSizes">pointSizes</a>() and <a href="qfontdatabase.html#standardSizes">standardSizes</a>().</p>
165
<h3 class="fn"><a name="standardSizes"></a><a href="qlist.html">QList</a><int> QFontDatabase::standardSizes () <tt> [static]</tt></h3>
166
<p>Returns a list of standard font sizes.</p>
167
<p>See also <a href="qfontdatabase.html#smoothSizes">smoothSizes</a>() and <a href="qfontdatabase.html#pointSizes">pointSizes</a>().</p>
168
<h3 class="fn"><a name="styleString"></a><a href="qstring.html">QString</a> QFontDatabase::styleString ( const <a href="qfont.html">QFont</a> & <i>f</i> )</h3>
169
<p>Returns a string that describes the style of the font <i>f</i>. For example, "Bold Italic", "Bold", "Italic" or "Normal". An empty string may be returned.</p>
170
<h3 class="fn"><a name="styles"></a><a href="qstringlist.html">QStringList</a> QFontDatabase::styles ( const <a href="qstring.html">QString</a> & <i>family</i> ) const</h3>
171
<p>Returns a list of the styles available for the font family <i>family</i>. Some example styles: "Light", "Light Italic", "Bold", "Oblique", "Demi". The list may be empty.</p>
172
<p>See also <a href="qfontdatabase.html#families">families</a>().</p>
173
<h3 class="fn"><a name="weight"></a>int QFontDatabase::weight ( const <a href="qstring.html">QString</a> & <i>family</i>, const <a href="qstring.html">QString</a> & <i>style</i> ) const</h3>
174
<p>Returns the weight of the font that has family <i>family</i> and style <i>style</i>. If there is no such family and style combination, returns -1.</p>
175
<p>See also <a href="qfontdatabase.html#italic">italic</a>() and <a href="qfontdatabase.html#bold">bold</a>().</p>
176
<h3 class="fn"><a name="writingSystemName"></a><a href="qstring.html">QString</a> QFontDatabase::writingSystemName ( <a href="qfontdatabase.html#WritingSystem-enum">WritingSystem</a> <i>writingSystem</i> ) <tt> [static]</tt></h3>
177
<p>Returns the names the <i>writingSystem</i> (e.g. for displaying to the user in a dialog).</p>
178
<h3 class="fn"><a name="writingSystemSample"></a><a href="qstring.html">QString</a> QFontDatabase::writingSystemSample ( <a href="qfontdatabase.html#WritingSystem-enum">WritingSystem</a> <i>writingSystem</i> ) <tt> [static]</tt></h3>
179
<p>Returns a string with sample characters from <i>writingSystem</i>.</p>
180
<h3 class="fn"><a name="writingSystems"></a><a href="qlist.html">QList</a><<a href="qfontdatabase.html#WritingSystem-enum">WritingSystem</a>> QFontDatabase::writingSystems () const</h3>
181
<p>Returns a sorted list of the available writing systems. This is list generated from information about all installed fonts on the system.</p>
182
<p>See also <a href="qfontdatabase.html#families">families</a>().</p>
183
<p /><address><hr /><div align="center">
184
<table width="100%" cellspacing="0" border="0"><tr class="address">
185
<td width="30%">Copyright © 2005 <a href="trolltech.html">Trolltech</a></td>
186
<td width="40%" align="center"><a href="trademarks.html">Trademarks</a></td>
187
<td width="30%" align="right"><div align="right">Qt 4.0.0</div></td>
188
</tr></table></div></address></body>