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/corelib/tools/qchar.cpp -->
7
<title>Qt 4.0: QChar 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">QChar Class Reference</h1>
21
<p>The QChar class provides a 16-bit Unicode character. <a href="#details">More...</a></p>
22
<pre>#include <QChar></pre><p>Part of the <a href="qtcore.html">QtCore</a> module.</p>
23
<p><b>Note:</b> All the functions in this class are <a href="threads.html#reentrant">reentrant</a>.</p>
25
<li><a href="qchar-members.html">List of all members, including inherited members</a></li>
26
<li><a href="qchar-qt3.html">Qt 3 support members</a></li>
28
<a name="public-types"></a>
31
<li><div class="fn"/>enum <b><a href="qchar.html#Category-enum">Category</a></b> { Mark_NonSpacing, Mark_SpacingCombining, Mark_Enclosing, Number_DecimalDigit, ..., NoCategory }</li>
32
<li><div class="fn"/>enum <b><a href="qchar.html#Decomposition-enum">Decomposition</a></b> { NoDecomposition, Canonical, Circle, Compat, ..., Wide }</li>
33
<li><div class="fn"/>enum <b><a href="qchar.html#Direction-enum">Direction</a></b> { DirAL, DirAN, DirB, DirBN, ..., DirWS }</li>
34
<li><div class="fn"/>enum <b><a href="qchar.html#Joining-enum">Joining</a></b> { Center, Dual, OtherJoining, Right }</li>
35
<li><div class="fn"/>enum <b><a href="qchar.html#SpecialCharacter-enum">SpecialCharacter</a></b> { Null, Nbsp, ReplacementCharacter, ObjectReplacementCharacter, ..., LineSeparator }</li>
36
<li><div class="fn"/>enum <b><a href="qchar.html#UnicodeVersion-enum">UnicodeVersion</a></b> { Unicode_1_1, Unicode_2_0, Unicode_2_1_2, Unicode_3_0, ..., Unicode_Unassigned }</li>
38
<a name="public-functions"></a>
39
<h3>Public Functions</h3>
41
<li><div class="fn"/><b><a href="qchar.html#QChar">QChar</a></b> ()</li>
42
<li><div class="fn"/><b><a href="qchar.html#QChar-2">QChar</a></b> ( char <i>ch</i> )</li>
43
<li><div class="fn"/><b><a href="qchar.html#QChar-3">QChar</a></b> ( uchar <i>ch</i> )</li>
44
<li><div class="fn"/><b><a href="qchar.html#QChar-4">QChar</a></b> ( QLatin1Char <i>ch</i> )</li>
45
<li><div class="fn"/><b><a href="qchar.html#QChar-5">QChar</a></b> ( uchar <i>cell</i>, uchar <i>row</i> )</li>
46
<li><div class="fn"/><b><a href="qchar.html#QChar-6">QChar</a></b> ( ushort <i>code</i> )</li>
47
<li><div class="fn"/><b><a href="qchar.html#QChar-7">QChar</a></b> ( short <i>code</i> )</li>
48
<li><div class="fn"/><b><a href="qchar.html#QChar-8">QChar</a></b> ( uint <i>code</i> )</li>
49
<li><div class="fn"/><b><a href="qchar.html#QChar-9">QChar</a></b> ( int <i>code</i> )</li>
50
<li><div class="fn"/><b><a href="qchar.html#QChar-10">QChar</a></b> ( SpecialCharacter <i>ch</i> )</li>
51
<li><div class="fn"/>Category <b><a href="qchar.html#category">category</a></b> () const</li>
52
<li><div class="fn"/>uchar <b><a href="qchar.html#cell">cell</a></b> () const</li>
53
<li><div class="fn"/>unsigned char <b><a href="qchar.html#combiningClass">combiningClass</a></b> () const</li>
54
<li><div class="fn"/>QString <b><a href="qchar.html#decomposition">decomposition</a></b> () const</li>
55
<li><div class="fn"/>Decomposition <b><a href="qchar.html#decompositionTag">decompositionTag</a></b> () const</li>
56
<li><div class="fn"/>int <b><a href="qchar.html#digitValue">digitValue</a></b> () const</li>
57
<li><div class="fn"/>Direction <b><a href="qchar.html#direction">direction</a></b> () const</li>
58
<li><div class="fn"/>bool <b><a href="qchar.html#hasMirrored">hasMirrored</a></b> () const</li>
59
<li><div class="fn"/>bool <b><a href="qchar.html#isDigit">isDigit</a></b> () const</li>
60
<li><div class="fn"/>bool <b><a href="qchar.html#isLetter">isLetter</a></b> () const</li>
61
<li><div class="fn"/>bool <b><a href="qchar.html#isLetterOrNumber">isLetterOrNumber</a></b> () const</li>
62
<li><div class="fn"/>bool <b><a href="qchar.html#isLower">isLower</a></b> () const</li>
63
<li><div class="fn"/>bool <b><a href="qchar.html#isMark">isMark</a></b> () const</li>
64
<li><div class="fn"/>bool <b><a href="qchar.html#isNull">isNull</a></b> () const</li>
65
<li><div class="fn"/>bool <b><a href="qchar.html#isNumber">isNumber</a></b> () const</li>
66
<li><div class="fn"/>bool <b><a href="qchar.html#isPrint">isPrint</a></b> () const</li>
67
<li><div class="fn"/>bool <b><a href="qchar.html#isPunct">isPunct</a></b> () const</li>
68
<li><div class="fn"/>bool <b><a href="qchar.html#isSpace">isSpace</a></b> () const</li>
69
<li><div class="fn"/>bool <b><a href="qchar.html#isSymbol">isSymbol</a></b> () const</li>
70
<li><div class="fn"/>bool <b><a href="qchar.html#isUpper">isUpper</a></b> () const</li>
71
<li><div class="fn"/>Joining <b><a href="qchar.html#joining">joining</a></b> () const <tt> (preliminary)</tt></li>
72
<li><div class="fn"/>QChar <b><a href="qchar.html#mirroredChar">mirroredChar</a></b> () const</li>
73
<li><div class="fn"/>uchar <b><a href="qchar.html#row">row</a></b> () const</li>
74
<li><div class="fn"/>const char <b><a href="qchar.html#toAscii">toAscii</a></b> () const</li>
75
<li><div class="fn"/>const char <b><a href="qchar.html#toLatin1">toLatin1</a></b> () const</li>
76
<li><div class="fn"/>QChar <b><a href="qchar.html#toLower">toLower</a></b> () const</li>
77
<li><div class="fn"/>QChar <b><a href="qchar.html#toUpper">toUpper</a></b> () const</li>
78
<li><div class="fn"/>ushort & <b><a href="qchar.html#unicode">unicode</a></b> ()</li>
79
<li><div class="fn"/>const ushort <b><a href="qchar.html#unicode-2">unicode</a></b> () const</li>
80
<li><div class="fn"/>UnicodeVersion <b><a href="qchar.html#unicodeVersion">unicodeVersion</a></b> () const</li>
82
<a name="static-public-members"></a>
83
<h3>Static Public Members</h3>
85
<li><div class="fn"/>QChar <b><a href="qchar.html#fromAscii">fromAscii</a></b> ( char <i>c</i> )</li>
86
<li><div class="fn"/>QChar <b><a href="qchar.html#fromLatin1">fromLatin1</a></b> ( char <i>c</i> )</li>
88
<a name="related-non-members"></a>
89
<h3>Related Non-Members</h3>
91
<li><div class="fn"/>bool <b><a href="qchar.html#operator-not-eq-10">operator!=</a></b> ( QChar <i>c1</i>, QChar <i>c2</i> )</li>
92
<li><div class="fn"/>bool <b><a href="qchar.html#operator-lt">operator<</a></b> ( QChar <i>c1</i>, QChar <i>c2</i> )</li>
93
<li><div class="fn"/>QDataStream & <b><a href="qchar.html#operator-lt-lt-27">operator<<</a></b> ( QDataStream & <i>out</i>, const QChar & <i>chr</i> )</li>
94
<li><div class="fn"/>bool <b><a href="qchar.html#operator-lt-eq">operator<=</a></b> ( QChar <i>c1</i>, QChar <i>c2</i> )</li>
95
<li><div class="fn"/>bool <b><a href="qchar.html#operator-eq-eq-10">operator==</a></b> ( QChar <i>c1</i>, QChar <i>c2</i> )</li>
96
<li><div class="fn"/>bool <b><a href="qchar.html#operator-gt">operator></a></b> ( QChar <i>c1</i>, QChar <i>c2</i> )</li>
97
<li><div class="fn"/>bool <b><a href="qchar.html#operator-gt-eq">operator>=</a></b> ( QChar <i>c1</i>, QChar <i>c2</i> )</li>
98
<li><div class="fn"/>QDataStream & <b><a href="qchar.html#operator-gt-gt-18">operator>></a></b> ( QDataStream & <i>in</i>, QChar & <i>chr</i> )</li>
100
<a name="details"></a>
102
<h2>Detailed Description</h2>
103
<p>The QChar class provides a 16-bit Unicode character.</p>
104
<p>In Qt, Unicode characters are 16-bit entities without any markup or structure. This class represents such an entity. It is lightweight, so it can be used everywhere. Most compilers treat it like a <tt>unsigned short</tt>.</p>
105
<p>QChar provides a full complement of testing/classification functions, converting to and from other formats, converting from composed to decomposed Unicode, and trying to compare and case-convert if you ask it to.</p>
106
<p>The classification functions include functions like those in the standard C++ header <cctype> (formerly <ctype.h>), but operating on the full range of Unicode characters. They all return true if the character is a certain type of character; otherwise they return false. These classification functions are <a href="qchar.html#isNull">isNull</a>() (returns true if the character is '\0'), <a href="qchar.html#isPrint">isPrint</a>() (true if the character is any sort of printable character, including whitespace), <a href="qchar.html#isPunct">isPunct</a>() (any sort of punctation), <a href="qchar.html#isMark">isMark</a>() (Unicode Mark), <a href="qchar.html#isLetter">isLetter</a>() (a letter), <a href="qchar.html#isNumber">isNumber</a>() (any sort of numeric character, not just 0-9), <a href="qchar.html#isLetterOrNumber">isLetterOrNumber</a>(), and <a href="qchar.html#isDigit">isDigit</a>() (decimal digits). All of these are wrappers around <a href="qchar.html#category">category</a>() which return the Unicode-defined category of each character.</p>
107
<p>QChar also provides <a href="qchar.html#direction">direction</a>(), which indicates the "natural" writing direction of this character. The <a href="qchar.html#joining">joining</a>() function indicates how the character joins with its neighbors (needed mostly for Arabic) and finally <a href="qchar.html#hasMirrored">hasMirrored</a>(), which indicates whether the character needs to be mirrored when it is printed in its "unnatural" writing direction.</p>
108
<p>Composed Unicode characters (like ļæ½) can be converted to decomposed Unicode ("a" followed by "ring above") by using <a href="qchar.html#decomposition">decomposition</a>().</p>
109
<p>In Unicode, comparison is not necessarily possible and case conversion is very difficult at best. Unicode, covering the "entire" world, also includes most of the world's case and sorting problems. operator==() and friends will do comparison based purely on the numeric Unicode value (code point) of the characters, and <a href="qchar.html#toUpper">toUpper</a>() and <a href="qchar.html#toLower">toLower</a>() will do case changes when the character has a well-defined uppercase/lowercase equivalent. For locale-dependent comparisons, use <a href="qstring.html#localeAwareCompare">QString::localeAwareCompare</a>().</p>
110
<p>The conversion functions include <a href="qchar.html#unicode">unicode</a>() (to a scalar), <a href="qchar.html#toLatin1">toLatin1</a>() (to scalar, but converts all non-Latin-1 characters to 0), <a href="qchar.html#row">row</a>() (gives the Unicode row), <a href="qchar.html#cell">cell</a>() (gives the Unicode cell), <a href="qchar.html#digitValue">digitValue</a>() (gives the integer value of any of the numerous digit characters), and a host of constructors.</p>
111
<p>QChar provides constructors and cast operators that make it easy to convert to and from traditional 8-bit <tt>char</tt>s. If you defined <tt>QT_NO_CAST_FROM_ASCII</tt> and <tt>QT_NO_CAST_TO_ASCII</tt>, as explained in the <a href="qstring.html">QString</a> documentation, you will need to explicitly call <a href="qchar.html#fromAscii">fromAscii</a>() or <a href="qchar.html#fromLatin1">fromLatin1</a>(), or use <a href="qlatin1char.html">QLatin1Char</a>, to construct a QChar from an 8-bit <tt>char</tt>, and you will need to call <a href="qchar.html#toAscii">toAscii</a>() or <a href="qchar.html#toLatin1">toLatin1</a>() to get the 8-bit value back.</p>
112
<p>See also <a href="qstring.html">QString</a>, <a href="unicode.html">Unicode</a>, and <a href="qlatin1char.html">QLatin1Char</a>.</p>
114
<h2>Member Type Documentation</h2>
115
<h3 class="fn"><a name="Category-enum"></a>enum QChar::Category</h3>
116
<p>This enum maps the Unicode character categories.</p>
117
<p>The following characters are normative in Unicode:</p>
118
<table border="1" cellpadding="2" cellspacing="1" width="100%">
119
<tr><th width="25%">Constant</th><th width="15%">Value</th><th width="60%">Description</th></tr>
120
<tr><td valign="top"><tt>QChar::Mark_NonSpacing</tt></td><td align="center" valign="top"><tt>1</tt></td><td valign="top">Unicode class name Mn</td></tr>
121
<tr><td valign="top"><tt>QChar::Mark_SpacingCombining</tt></td><td align="center" valign="top"><tt>2</tt></td><td valign="top">Unicode class name Mc</td></tr>
122
<tr><td valign="top"><tt>QChar::Mark_Enclosing</tt></td><td align="center" valign="top"><tt>3</tt></td><td valign="top">Unicode class name Me</td></tr>
123
<tr><td valign="top"><tt>QChar::Number_DecimalDigit</tt></td><td align="center" valign="top"><tt>4</tt></td><td valign="top">Unicode class name Nd</td></tr>
124
<tr><td valign="top"><tt>QChar::Number_Letter</tt></td><td align="center" valign="top"><tt>5</tt></td><td valign="top">Unicode class name Nl</td></tr>
125
<tr><td valign="top"><tt>QChar::Number_Other</tt></td><td align="center" valign="top"><tt>6</tt></td><td valign="top">Unicode class name No</td></tr>
126
<tr><td valign="top"><tt>QChar::Separator_Space</tt></td><td align="center" valign="top"><tt>7</tt></td><td valign="top">Unicode class name Zs</td></tr>
127
<tr><td valign="top"><tt>QChar::Separator_Line</tt></td><td align="center" valign="top"><tt>8</tt></td><td valign="top">Unicode class name Zl</td></tr>
128
<tr><td valign="top"><tt>QChar::Separator_Paragraph</tt></td><td align="center" valign="top"><tt>9</tt></td><td valign="top">Unicode class name Zp</td></tr>
129
<tr><td valign="top"><tt>QChar::Other_Control</tt></td><td align="center" valign="top"><tt>10</tt></td><td valign="top">Unicode class name Cc</td></tr>
130
<tr><td valign="top"><tt>QChar::Other_Format</tt></td><td align="center" valign="top"><tt>11</tt></td><td valign="top">Unicode class name Cf</td></tr>
131
<tr><td valign="top"><tt>QChar::Other_Surrogate</tt></td><td align="center" valign="top"><tt>12</tt></td><td valign="top">Unicode class name Cs</td></tr>
132
<tr><td valign="top"><tt>QChar::Other_PrivateUse</tt></td><td align="center" valign="top"><tt>13</tt></td><td valign="top">Unicode class name Co</td></tr>
133
<tr><td valign="top"><tt>QChar::Other_NotAssigned</tt></td><td align="center" valign="top"><tt>14</tt></td><td valign="top">Unicode class name Cn</td></tr>
135
<p>The following categories are informative in Unicode:</p>
136
<table border="1" cellpadding="2" cellspacing="1" width="100%">
137
<tr><th width="25%">Constant</th><th width="15%">Value</th><th width="60%">Description</th></tr>
138
<tr><td valign="top"><tt>QChar::Letter_Uppercase</tt></td><td align="center" valign="top"><tt>15</tt></td><td valign="top">Unicode class name Lu</td></tr>
139
<tr><td valign="top"><tt>QChar::Letter_Lowercase</tt></td><td align="center" valign="top"><tt>16</tt></td><td valign="top">Unicode class name Ll</td></tr>
140
<tr><td valign="top"><tt>QChar::Letter_Titlecase</tt></td><td align="center" valign="top"><tt>17</tt></td><td valign="top">Unicode class name Lt</td></tr>
141
<tr><td valign="top"><tt>QChar::Letter_Modifier</tt></td><td align="center" valign="top"><tt>18</tt></td><td valign="top">Unicode class name Lm</td></tr>
142
<tr><td valign="top"><tt>QChar::Letter_Other</tt></td><td align="center" valign="top"><tt>19</tt></td><td valign="top">Unicode class name Lo</td></tr>
143
<tr><td valign="top"><tt>QChar::Punctuation_Connector</tt></td><td align="center" valign="top"><tt>20</tt></td><td valign="top">Unicode class name Pc</td></tr>
144
<tr><td valign="top"><tt>QChar::Punctuation_Dash</tt></td><td align="center" valign="top"><tt>21</tt></td><td valign="top">Unicode class name Pd</td></tr>
145
<tr><td valign="top"><tt>QChar::Punctuation_Open</tt></td><td align="center" valign="top"><tt>22</tt></td><td valign="top">Unicode class name Ps</td></tr>
146
<tr><td valign="top"><tt>QChar::Punctuation_Close</tt></td><td align="center" valign="top"><tt>23</tt></td><td valign="top">Unicode class name Pe</td></tr>
147
<tr><td valign="top"><tt>QChar::Punctuation_InitialQuote</tt></td><td align="center" valign="top"><tt>24</tt></td><td valign="top">Unicode class name Pi</td></tr>
148
<tr><td valign="top"><tt>QChar::Punctuation_FinalQuote</tt></td><td align="center" valign="top"><tt>25</tt></td><td valign="top">Unicode class name Pf</td></tr>
149
<tr><td valign="top"><tt>QChar::Punctuation_Other</tt></td><td align="center" valign="top"><tt>26</tt></td><td valign="top">Unicode class name Po</td></tr>
150
<tr><td valign="top"><tt>QChar::Symbol_Math</tt></td><td align="center" valign="top"><tt>27</tt></td><td valign="top">Unicode class name Sm</td></tr>
151
<tr><td valign="top"><tt>QChar::Symbol_Currency</tt></td><td align="center" valign="top"><tt>28</tt></td><td valign="top">Unicode class name Sc</td></tr>
152
<tr><td valign="top"><tt>QChar::Symbol_Modifier</tt></td><td align="center" valign="top"><tt>29</tt></td><td valign="top">Unicode class name Sk</td></tr>
153
<tr><td valign="top"><tt>QChar::Symbol_Other</tt></td><td align="center" valign="top"><tt>30</tt></td><td valign="top">Unicode class name So</td></tr>
154
<tr><td valign="top"><tt>QChar::NoCategory</tt></td><td align="center" valign="top"><tt>0</tt></td><td valign="top">Qt cannot find an appropriate category for the character.</td></tr>
156
<p>See also <a href="qchar.html#category">category</a>().</p>
157
<h3 class="fn"><a name="Decomposition-enum"></a>enum QChar::Decomposition</h3>
158
<p>This enum type defines the Unicode decomposition attributes. See the <a href="http://www.unicode.org/">Unicode Standard</a> for a description of the values.</p>
159
<table border="1" cellpadding="2" cellspacing="1" width="40%">
160
<tr><th width="60%">Constant</th><th width="40%">Value</th></tr>
161
<tr><td valign="top"><tt>QChar::NoDecomposition</tt></td><td align="center" valign="top"><tt>0</tt></td></tr>
162
<tr><td valign="top"><tt>QChar::Canonical</tt></td><td align="center" valign="top"><tt>1</tt></td></tr>
163
<tr><td valign="top"><tt>QChar::Circle</tt></td><td align="center" valign="top"><tt>8</tt></td></tr>
164
<tr><td valign="top"><tt>QChar::Compat</tt></td><td align="center" valign="top"><tt>16</tt></td></tr>
165
<tr><td valign="top"><tt>QChar::Final</tt></td><td align="center" valign="top"><tt>6</tt></td></tr>
166
<tr><td valign="top"><tt>QChar::Font</tt></td><td align="center" valign="top"><tt>2</tt></td></tr>
167
<tr><td valign="top"><tt>QChar::Fraction</tt></td><td align="center" valign="top"><tt>17</tt></td></tr>
168
<tr><td valign="top"><tt>QChar::Initial</tt></td><td align="center" valign="top"><tt>4</tt></td></tr>
169
<tr><td valign="top"><tt>QChar::Isolated</tt></td><td align="center" valign="top"><tt>7</tt></td></tr>
170
<tr><td valign="top"><tt>QChar::Medial</tt></td><td align="center" valign="top"><tt>5</tt></td></tr>
171
<tr><td valign="top"><tt>QChar::Narrow</tt></td><td align="center" valign="top"><tt>13</tt></td></tr>
172
<tr><td valign="top"><tt>QChar::NoBreak</tt></td><td align="center" valign="top"><tt>3</tt></td></tr>
173
<tr><td valign="top"><tt>QChar::Small</tt></td><td align="center" valign="top"><tt>14</tt></td></tr>
174
<tr><td valign="top"><tt>QChar::Square</tt></td><td align="center" valign="top"><tt>15</tt></td></tr>
175
<tr><td valign="top"><tt>QChar::Sub</tt></td><td align="center" valign="top"><tt>10</tt></td></tr>
176
<tr><td valign="top"><tt>QChar::Super</tt></td><td align="center" valign="top"><tt>9</tt></td></tr>
177
<tr><td valign="top"><tt>QChar::Vertical</tt></td><td align="center" valign="top"><tt>11</tt></td></tr>
178
<tr><td valign="top"><tt>QChar::Wide</tt></td><td align="center" valign="top"><tt>12</tt></td></tr>
180
<p>See also <a href="qchar.html#decomposition">decomposition</a>().</p>
181
<h3 class="fn"><a name="Direction-enum"></a>enum QChar::Direction</h3>
182
<p>This enum type defines the Unicode direction attributes. See the <a href="http://www.unicode.org/">Unicode Standard</a> for a description of the values.</p>
183
<p>In order to conform to C/C++ naming conventions "Dir" is prepended to the codes used in the Unicode Standard.</p>
184
<table border="1" cellpadding="2" cellspacing="1" width="40%">
185
<tr><th width="60%">Constant</th><th width="40%">Value</th></tr>
186
<tr><td valign="top"><tt>QChar::DirAL</tt></td><td align="center" valign="top"><tt>13</tt></td></tr>
187
<tr><td valign="top"><tt>QChar::DirAN</tt></td><td align="center" valign="top"><tt>5</tt></td></tr>
188
<tr><td valign="top"><tt>QChar::DirB</tt></td><td align="center" valign="top"><tt>7</tt></td></tr>
189
<tr><td valign="top"><tt>QChar::DirBN</tt></td><td align="center" valign="top"><tt>18</tt></td></tr>
190
<tr><td valign="top"><tt>QChar::DirCS</tt></td><td align="center" valign="top"><tt>6</tt></td></tr>
191
<tr><td valign="top"><tt>QChar::DirEN</tt></td><td align="center" valign="top"><tt>2</tt></td></tr>
192
<tr><td valign="top"><tt>QChar::DirES</tt></td><td align="center" valign="top"><tt>3</tt></td></tr>
193
<tr><td valign="top"><tt>QChar::DirET</tt></td><td align="center" valign="top"><tt>4</tt></td></tr>
194
<tr><td valign="top"><tt>QChar::DirL</tt></td><td align="center" valign="top"><tt>0</tt></td></tr>
195
<tr><td valign="top"><tt>QChar::DirLRE</tt></td><td align="center" valign="top"><tt>11</tt></td></tr>
196
<tr><td valign="top"><tt>QChar::DirLRO</tt></td><td align="center" valign="top"><tt>12</tt></td></tr>
197
<tr><td valign="top"><tt>QChar::DirNSM</tt></td><td align="center" valign="top"><tt>17</tt></td></tr>
198
<tr><td valign="top"><tt>QChar::DirON</tt></td><td align="center" valign="top"><tt>10</tt></td></tr>
199
<tr><td valign="top"><tt>QChar::DirPDF</tt></td><td align="center" valign="top"><tt>16</tt></td></tr>
200
<tr><td valign="top"><tt>QChar::DirR</tt></td><td align="center" valign="top"><tt>1</tt></td></tr>
201
<tr><td valign="top"><tt>QChar::DirRLE</tt></td><td align="center" valign="top"><tt>14</tt></td></tr>
202
<tr><td valign="top"><tt>QChar::DirRLO</tt></td><td align="center" valign="top"><tt>15</tt></td></tr>
203
<tr><td valign="top"><tt>QChar::DirS</tt></td><td align="center" valign="top"><tt>8</tt></td></tr>
204
<tr><td valign="top"><tt>QChar::DirWS</tt></td><td align="center" valign="top"><tt>9</tt></td></tr>
206
<p>See also <a href="qchar.html#direction">direction</a>().</p>
207
<h3 class="fn"><a name="Joining-enum"></a>enum QChar::Joining</h3>
208
<p>This enum type defines the Unicode joining attributes. See the <a href="http://www.unicode.org/">Unicode Standard</a> for a description of the values.</p>
209
<table border="1" cellpadding="2" cellspacing="1" width="40%">
210
<tr><th width="60%">Constant</th><th width="40%">Value</th></tr>
211
<tr><td valign="top"><tt>QChar::Center</tt></td><td align="center" valign="top"><tt>3</tt></td></tr>
212
<tr><td valign="top"><tt>QChar::Dual</tt></td><td align="center" valign="top"><tt>1</tt></td></tr>
213
<tr><td valign="top"><tt>QChar::OtherJoining</tt></td><td align="center" valign="top"><tt>0</tt></td></tr>
214
<tr><td valign="top"><tt>QChar::Right</tt></td><td align="center" valign="top"><tt>2</tt></td></tr>
216
<p>See also <a href="qchar.html#joining">joining</a>().</p>
217
<h3 class="fn"><a name="SpecialCharacter-enum"></a>enum QChar::SpecialCharacter</h3>
218
<table border="1" cellpadding="2" cellspacing="1" width="100%">
219
<tr><th width="25%">Constant</th><th width="15%">Value</th><th width="60%">Description</th></tr>
220
<tr><td valign="top"><tt>QChar::Null</tt></td><td align="center" valign="top"><tt>0x0000</tt></td><td valign="top">A <a href="qchar.html">QChar</a> with this value <a href="qchar.html#isNull">isNull</a>().</td></tr>
221
<tr><td valign="top"><tt>QChar::Nbsp</tt></td><td align="center" valign="top"><tt>0x00a0</tt></td><td valign="top">Non-breaking space.</td></tr>
222
<tr><td valign="top"><tt>QChar::ReplacementCharacter</tt></td><td align="center" valign="top"><tt>0xfffd</tt></td><td valign="top"> </td></tr>
223
<tr><td valign="top"><tt>QChar::ObjectReplacementCharacter</tt></td><td align="center" valign="top"><tt>0xfffc</tt></td><td valign="top"> </td></tr>
224
<tr><td valign="top"><tt>QChar::ByteOrderMark</tt></td><td align="center" valign="top"><tt>0xfeff</tt></td><td valign="top"> </td></tr>
225
<tr><td valign="top"><tt>QChar::ByteOrderSwapped</tt></td><td align="center" valign="top"><tt>0xfffe</tt></td><td valign="top"> </td></tr>
226
<tr><td valign="top"><tt>QChar::ParagraphSeparator</tt></td><td align="center" valign="top"><tt>0x2029</tt></td><td valign="top"> </td></tr>
227
<tr><td valign="top"><tt>QChar::LineSeparator</tt></td><td align="center" valign="top"><tt>0x2028</tt></td><td valign="top"> </td></tr>
229
<h3 class="fn"><a name="UnicodeVersion-enum"></a>enum QChar::UnicodeVersion</h3>
230
<p>Specifies which version of the <a href="http://www.unicode.org/">Unicode standard</a> introduced a certain character.</p>
231
<table border="1" cellpadding="2" cellspacing="1" width="100%">
232
<tr><th width="25%">Constant</th><th width="15%">Value</th><th width="60%">Description</th></tr>
233
<tr><td valign="top"><tt>QChar::Unicode_1_1</tt></td><td align="center" valign="top"><tt>1</tt></td><td valign="top">Version 1.1.</td></tr>
234
<tr><td valign="top"><tt>QChar::Unicode_2_0</tt></td><td align="center" valign="top"><tt>2</tt></td><td valign="top">Version 2.0.</td></tr>
235
<tr><td valign="top"><tt>QChar::Unicode_2_1_2</tt></td><td align="center" valign="top"><tt>3</tt></td><td valign="top">Version 2.1.2.</td></tr>
236
<tr><td valign="top"><tt>QChar::Unicode_3_0</tt></td><td align="center" valign="top"><tt>4</tt></td><td valign="top">Version 3.0.</td></tr>
237
<tr><td valign="top"><tt>QChar::Unicode_3_1</tt></td><td align="center" valign="top"><tt>5</tt></td><td valign="top">Version 3.1.</td></tr>
238
<tr><td valign="top"><tt>QChar::Unicode_3_2</tt></td><td align="center" valign="top"><tt>6</tt></td><td valign="top">Version 3.2.</td></tr>
239
<tr><td valign="top"><tt>QChar::Unicode_4_0</tt></td><td align="center" valign="top"><tt>7</tt></td><td valign="top">Version 4.0.</td></tr>
240
<tr><td valign="top"><tt>QChar::Unicode_Unassigned</tt></td><td align="center" valign="top"><tt>0</tt></td><td valign="top">The value is not assigned to any character in version 4.0 of Unicode.</td></tr>
242
<p>See also <a href="qchar.html#unicodeVersion">unicodeVersion</a>().</p>
244
<h2>Member Function Documentation</h2>
245
<h3 class="fn"><a name="QChar"></a>QChar::QChar ()</h3>
246
<p>Constructs a null <a href="qchar.html">QChar</a> ('\0').</p>
247
<p>See also <a href="qchar.html#isNull">isNull</a>().</p>
248
<h3 class="fn"><a name="QChar-2"></a>QChar::QChar ( char <i>ch</i> )</h3>
249
<p>Constructs a <a href="qchar.html">QChar</a> corresponding to ASCII/Latin-1 character <i>ch</i>.</p>
250
<h3 class="fn"><a name="QChar-3"></a>QChar::QChar ( <a href="qtglobal.html#uchar-typedef">uchar</a> <i>ch</i> )</h3>
251
<p>Constructs a <a href="qchar.html">QChar</a> corresponding to ASCII/Latin-1 character <i>ch</i>.</p>
252
<h3 class="fn"><a name="QChar-4"></a>QChar::QChar ( <a href="qlatin1char.html">QLatin1Char</a> <i>ch</i> )</h3>
253
<p>Constructs a <a href="qchar.html">QChar</a> corresponding to ASCII/Latin-1 character <i>ch</i>.</p>
254
<h3 class="fn"><a name="QChar-5"></a>QChar::QChar ( <a href="qtglobal.html#uchar-typedef">uchar</a> <i>cell</i>, <a href="qtglobal.html#uchar-typedef">uchar</a> <i>row</i> )</h3>
255
<p>Constructs a <a href="qchar.html">QChar</a> for Unicode cell <i>cell</i> in row <i>row</i>.</p>
256
<p>See also <a href="qchar.html#cell">cell</a>() and <a href="qchar.html#row">row</a>().</p>
257
<h3 class="fn"><a name="QChar-6"></a>QChar::QChar ( <a href="qtglobal.html#ushort-typedef">ushort</a> <i>code</i> )</h3>
258
<p>Constructs a <a href="qchar.html">QChar</a> for the character with Unicode code point <i>code</i>.</p>
259
<h3 class="fn"><a name="QChar-7"></a>QChar::QChar ( short <i>code</i> )</h3>
260
<p>Constructs a <a href="qchar.html">QChar</a> for the character with Unicode code point <i>code</i>.</p>
261
<h3 class="fn"><a name="QChar-8"></a>QChar::QChar ( <a href="qtglobal.html#uint-typedef">uint</a> <i>code</i> )</h3>
262
<p>Constructs a <a href="qchar.html">QChar</a> for the character with Unicode code point <i>code</i>.</p>
263
<h3 class="fn"><a name="QChar-9"></a>QChar::QChar ( int <i>code</i> )</h3>
264
<p>Constructs a <a href="qchar.html">QChar</a> for the character with Unicode code point <i>code</i>.</p>
265
<h3 class="fn"><a name="QChar-10"></a>QChar::QChar ( <a href="qchar.html#SpecialCharacter-enum">SpecialCharacter</a> <i>ch</i> )</h3>
266
<p>Constructs a <a href="qchar.html">QChar</a> for the predefined character value <i>ch</i>.</p>
267
<h3 class="fn"><a name="category"></a><a href="qchar.html#Category-enum">Category</a> QChar::category () const</h3>
268
<p>Returns the character's category.</p>
269
<h3 class="fn"><a name="cell"></a><a href="qtglobal.html#uchar-typedef">uchar</a> QChar::cell () const</h3>
270
<p>Returns the cell (least significant byte) of the Unicode character.</p>
271
<p>See also <a href="qchar.html#row">row</a>().</p>
272
<h3 class="fn"><a name="combiningClass"></a>unsigned char QChar::combiningClass () const</h3>
273
<p>Returns the combining class for the character as defined in the Unicode standard. This is mainly useful as a positioning hint for marks attached to a base character.</p>
274
<p>The Qt text rendering engine uses this information to correctly position non-spacing marks around a base character.</p>
275
<h3 class="fn"><a name="decomposition"></a><a href="qstring.html">QString</a> QChar::decomposition () const</h3>
276
<p>Decomposes a character into its parts. Returns an empty string if no decomposition exists.</p>
277
<h3 class="fn"><a name="decompositionTag"></a><a href="qchar.html#Decomposition-enum">Decomposition</a> QChar::decompositionTag () const</h3>
278
<p>Returns the tag defining the composition of the character. Returns <a href="qchar.html#Decomposition-enum">QChar::Single</a> if no decomposition exists.</p>
279
<h3 class="fn"><a name="digitValue"></a>int QChar::digitValue () const</h3>
280
<p>Returns the numeric value of the digit, or -1 if the character is not a digit.</p>
281
<h3 class="fn"><a name="direction"></a><a href="qchar.html#Direction-enum">Direction</a> QChar::direction () const</h3>
282
<p>Returns the character's direction.</p>
283
<h3 class="fn"><a name="fromAscii"></a>QChar QChar::fromAscii ( char <i>c</i> ) <tt> [static]</tt></h3>
284
<p>Converts the ASCII character <i>c</i> to its equivalent <a href="qchar.html">QChar</a>. This is mainly useful for non-internationalized software.</p>
285
<p>An alternative is to use <a href="qlatin1char.html">QLatin1Char</a>.</p>
286
<p>See also <a href="qchar.html#fromLatin1">fromLatin1</a>(), <a href="qchar.html#unicode">unicode</a>(), and <a href="qtextcodec.html#codecForCStrings">QTextCodec::codecForCStrings</a>().</p>
287
<h3 class="fn"><a name="fromLatin1"></a>QChar QChar::fromLatin1 ( char <i>c</i> ) <tt> [static]</tt></h3>
288
<p>Converts the Latin-1 character <i>c</i> to its equivalent <a href="qchar.html">QChar</a>. This is mainly useful for non-internationalized software.</p>
289
<p>See also <a href="qchar.html#fromAscii">fromAscii</a>(), <a href="qchar.html#unicode">unicode</a>(), and <a href="qtextcodec.html#codecForCStrings">QTextCodec::codecForCStrings</a>().</p>
290
<h3 class="fn"><a name="hasMirrored"></a>bool QChar::hasMirrored () const</h3>
291
<p>Returns true if the character should be reversed if the text direction is reversed; otherwise returns false.</p>
292
<p>See also <a href="qchar.html#mirroredChar">mirroredChar</a>().</p>
293
<h3 class="fn"><a name="isDigit"></a>bool QChar::isDigit () const</h3>
294
<p>Returns true if the character is a decimal digit (<a href="qchar.html#Category-enum">Number_DecimalDigit</a>); otherwise returns false.</p>
295
<h3 class="fn"><a name="isLetter"></a>bool QChar::isLetter () const</h3>
296
<p>Returns true if the character is a letter (Letter_* categories); otherwise returns false.</p>
297
<h3 class="fn"><a name="isLetterOrNumber"></a>bool QChar::isLetterOrNumber () const</h3>
298
<p>Returns true if the character is a letter or number (Letter_* or Number_* categories); otherwise returns false.</p>
299
<h3 class="fn"><a name="isLower"></a>bool QChar::isLower () const</h3>
300
<p>Returns true if the character is a lowercase letter, i.e. <a href="qchar.html#category">category</a>() is <a href="qchar.html#Category-enum">Letter_Lowercase</a>.</p>
301
<p>See also <a href="qchar.html#isUpper">isUpper</a>(), <a href="qchar.html#toLower">toLower</a>(), and <a href="qchar.html#toUpper">toUpper</a>().</p>
302
<h3 class="fn"><a name="isMark"></a>bool QChar::isMark () const</h3>
303
<p>Returns true if the character is a mark (Mark_* categories); otherwise returns false.</p>
304
<h3 class="fn"><a name="isNull"></a>bool QChar::isNull () const</h3>
305
<p>Returns true if the character is the Unicode character 0x0000 ('\0'); otherwise returns false.</p>
306
<h3 class="fn"><a name="isNumber"></a>bool QChar::isNumber () const</h3>
307
<p>Returns true if the character is a number (Number_* categories, not just 0-9); otherwise returns false.</p>
308
<p>See also <a href="qchar.html#isDigit">isDigit</a>().</p>
309
<h3 class="fn"><a name="isPrint"></a>bool QChar::isPrint () const</h3>
310
<p>Returns true if the character is a printable character; otherwise returns false. This is any character not of category Cc or Cn.</p>
311
<p>Note that this gives no indication of whether the character is available in a particular font.</p>
312
<h3 class="fn"><a name="isPunct"></a>bool QChar::isPunct () const</h3>
313
<p>Returns true if the character is a punctuation mark (Punctuation_* categories); otherwise returns false.</p>
314
<h3 class="fn"><a name="isSpace"></a>bool QChar::isSpace () const</h3>
315
<p>Returns true if the character is a separator character (Separator_* categories); otherwise returns false.</p>
316
<h3 class="fn"><a name="isSymbol"></a>bool QChar::isSymbol () const</h3>
317
<p>Returns true if the character is a symbol (Symbol_* categories); otherwise returns false.</p>
318
<h3 class="fn"><a name="isUpper"></a>bool QChar::isUpper () const</h3>
319
<p>Returns true if the character is an uppercase letter, i.e. <a href="qchar.html#category">category</a>() is <a href="qchar.html#Category-enum">Letter_Uppercase</a>.</p>
320
<p>See also <a href="qchar.html#isLower">isLower</a>(), <a href="qchar.html#toUpper">toUpper</a>(), and <a href="qchar.html#toLower">toLower</a>().</p>
321
<h3 class="fn"><a name="joining"></a><a href="qchar.html#Joining-enum">Joining</a> QChar::joining () const</h3>
322
<p><b>This function is under development and is subject to change.</b></p>
323
<p>Returns information about the joining properties of the character (needed for certain languages such as Arabic).</p>
324
<h3 class="fn"><a name="mirroredChar"></a>QChar QChar::mirroredChar () const</h3>
325
<p>Returns the mirrored character if this character is a mirrored character; otherwise returns the character itself.</p>
326
<p>See also <a href="qchar.html#hasMirrored">hasMirrored</a>().</p>
327
<h3 class="fn"><a name="row"></a><a href="qtglobal.html#uchar-typedef">uchar</a> QChar::row () const</h3>
328
<p>Returns the row (most significant byte) of the Unicode character.</p>
329
<p>See also <a href="qchar.html#cell">cell</a>().</p>
330
<h3 class="fn"><a name="toAscii"></a>const char QChar::toAscii () const</h3>
331
<p>Returns the ASCII character value of the <a href="qchar.html">QChar</a>, or 0 if the character is not representable as ASCII (i.e., if <a href="qchar.html#unicode">unicode</a>() >= 128). This is mainly useful for non-internationalized software.</p>
332
<p>See also <a href="qchar.html#toLatin1">toLatin1</a>(), <a href="qchar.html#unicode">unicode</a>(), and <a href="qtextcodec.html#codecForCStrings">QTextCodec::codecForCStrings</a>().</p>
333
<h3 class="fn"><a name="toLatin1"></a>const char QChar::toLatin1 () const</h3>
334
<p>Returns the Latin-1 character equivalent to the <a href="qchar.html">QChar</a>, or 0. This is mainly useful for non-internationalized software.</p>
335
<p>See also <a href="qchar.html#toAscii">toAscii</a>(), <a href="qchar.html#unicode">unicode</a>(), and <a href="qtextcodec.html#codecForCStrings">QTextCodec::codecForCStrings</a>().</p>
336
<h3 class="fn"><a name="toLower"></a>QChar QChar::toLower () const</h3>
337
<p>Returns the lowercase equivalent if the character is uppercase; otherwise returns the character itself.</p>
338
<h3 class="fn"><a name="toUpper"></a>QChar QChar::toUpper () const</h3>
339
<p>Returns the uppercase equivalent if the character is lowercase; otherwise returns the character itself.</p>
340
<h3 class="fn"><a name="unicode"></a><a href="qtglobal.html#ushort-typedef">ushort</a> & QChar::unicode ()</h3>
341
<p>Returns a reference to the numberic Unicode value of the <a href="qchar.html">QChar</a>.</p>
342
<h3 class="fn"><a name="unicode-2"></a>const <a href="qtglobal.html#ushort-typedef">ushort</a> QChar::unicode () const</h3>
343
<p>This is an overloaded member function, provided for convenience. It behaves essentially like the above function.</p>
344
<h3 class="fn"><a name="unicodeVersion"></a><a href="qchar.html#UnicodeVersion-enum">UnicodeVersion</a> QChar::unicodeVersion () const</h3>
345
<p>Returns the Unicode version that introduced this character.</p>
347
<h2>Related Non-Members</h2>
348
<h3 class="fn"><a name="operator-not-eq-10"></a>bool operator!= ( QChar <i>c1</i>, QChar <i>c2</i> )</h3>
349
<p>This is an overloaded member function, provided for convenience. It behaves essentially like the above function.</p>
350
<p>Returns true if <i>c1</i> and <i>c2</i> are not the same Unicode character; otherwise returns false.</p>
351
<h3 class="fn"><a name="operator-lt"></a>bool operator< ( QChar <i>c1</i>, QChar <i>c2</i> )</h3>
352
<p>Returns true if the numeric Unicode value of <i>c1</i> is less than that of <i>c2</i>; otherwise returns false.</p>
353
<h3 class="fn"><a name="operator-lt-lt-27"></a><a href="qdatastream.html">QDataStream</a> & operator<< ( <a href="qdatastream.html">QDataStream</a> & <i>out</i>, const QChar & <i>chr</i> )</h3>
354
<p>This is an overloaded member function, provided for convenience. It behaves essentially like the above function.</p>
355
<p>Writes the char <i>chr</i> to the stream <i>out</i>.</p>
356
<p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.</p>
357
<h3 class="fn"><a name="operator-lt-eq"></a>bool operator<= ( QChar <i>c1</i>, QChar <i>c2</i> )</h3>
358
<p>Returns true if the numeric Unicode value of <i>c1</i> is less than or equal to that of <i>c2</i>; otherwise returns false.</p>
359
<h3 class="fn"><a name="operator-eq-eq-10"></a>bool operator== ( QChar <i>c1</i>, QChar <i>c2</i> )</h3>
360
<p>This is an overloaded member function, provided for convenience. It behaves essentially like the above function.</p>
361
<p>Returns true if <i>c1</i> and <i>c2</i> are the same Unicode character; otherwise returns false.</p>
362
<h3 class="fn"><a name="operator-gt"></a>bool operator> ( QChar <i>c1</i>, QChar <i>c2</i> )</h3>
363
<p>Returns true if the numeric Unicode value of <i>c1</i> is greater than that of <i>c2</i>; otherwise returns false.</p>
364
<h3 class="fn"><a name="operator-gt-eq"></a>bool operator>= ( QChar <i>c1</i>, QChar <i>c2</i> )</h3>
365
<p>Returns true if the numeric Unicode value of <i>c1</i> is greater than or equal to that of <i>c2</i>; otherwise returns false.</p>
366
<h3 class="fn"><a name="operator-gt-gt-18"></a><a href="qdatastream.html">QDataStream</a> & operator>> ( <a href="qdatastream.html">QDataStream</a> & <i>in</i>, QChar & <i>chr</i> )</h3>
367
<p>This is an overloaded member function, provided for convenience. It behaves essentially like the above function.</p>
368
<p>Reads a char from the stream <i>in</i> into char <i>chr</i>.</p>
369
<p>See also <a href="datastreamformat.html">Format of the QDataStream operators</a>.</p>
370
<p /><address><hr /><div align="center">
371
<table width="100%" cellspacing="0" border="0"><tr class="address">
372
<td width="30%">Copyright © 2005 <a href="trolltech.html">Trolltech</a></td>
373
<td width="40%" align="center"><a href="trademarks.html">Trademarks</a></td>
374
<td width="30%" align="right"><div align="right">Qt 4.0.0</div></td>
375
</tr></table></div></address></body>