summaryrefslogtreecommitdiffstats
path: root/doc/html/tqhebrewcodec.html
blob: 3981fb98734125aff43e11f6a0b96b2e6aed22a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>TQHebrewCodec Class</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
 <a href="index.html">
<font color="#004faf">Home</font></a>
 | <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
 | <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
 | <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
 | <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
 | <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>TQHebrewCodec Class Reference</h1>

<p>The TQHebrewCodec class provides conversion to and from
visually ordered Hebrew.
<a href="#details">More...</a>
<p>All the functions in this class are <a href="threads.html#reentrant">reentrant</a> when TQt is built with thread support.</p>
<p><tt>#include &lt;<a href="tqhebrewcodec-h.html">tqhebrewcodec.h</a>&gt;</tt>
<p>Inherits <a href="tqtextcodec.html">TQTextCodec</a>.
<p><a href="tqhebrewcodec-members.html">List of all member functions.</a>
<h2>Public Members</h2>
<ul>
<li class=fn>virtual const char * <a href="#mimeName"><b>mimeName</b></a> () const</li>
<li class=fn>virtual TQCString <a href="#fromUnicode"><b>fromUnicode</b></a> ( const&nbsp;TQString&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut ) const</li>
</ul>
<hr><a name="details"></a><h2>Detailed Description</h2>




<p> The TQHebrewCodec class provides conversion to and from
visually ordered Hebrew.
<p> Hebrew as a semitic language is written from right to left.
Because older computer systems couldn't handle reordering a string
so that the first letter appears on the right, many older
documents were encoded in visual order, so that the first letter
of a line is the rightmost one in the string.
<p> In contrast to this, Unicode defines characters to be in logical
order (the order you would read the string). This codec tries to
convert visually ordered Hebrew (8859-8) to Unicode. This might
not always work perfectly, because reversing the <em>bidi</em>
(bi-directional) algorithm that transforms from logical to visual
order is non-trivial.
<p> Transformation from Unicode to visual Hebrew (8859-8) is done
using the bidi algorithm in TQt, and will produce correct results,
so long as the codec is given the text a whole paragraph at a
time. Places where newlines are supposed to go can be indicated by
a newline character ('\n'). Note that these newline characters
change the reordering behaviour of the algorithm, since the bidi
reordering only takes place within one line of text, whereas
line breaks are determined in visual order.
<p> Visually ordered Hebrew is still used quite often in some places,
mainly in email communication (since most email programs still
don't understand logically ordered Hebrew) and on web pages. The
use on web pages is rapidly decreasing, due to the availability of
browsers that correctly support logically ordered Hebrew.
<p> This codec has the name "iso8859-8". If you don't want any bidi
reordering to happen during conversion, use the "iso8859-8-i"
codec, which assumes logical order for the 8-bit string.
<p>See also <a href="i18n.html">Internationalization with TQt</a>.

<hr><h2>Member Function Documentation</h2>
<h3 class=fn><a href="tqcstring.html">TQCString</a> <a name="fromUnicode"></a>TQHebrewCodec::fromUnicode ( const&nbsp;<a href="tqstring.html">TQString</a>&nbsp;&amp;&nbsp;uc, int&nbsp;&amp;&nbsp;lenInOut ) const<tt> [virtual]</tt>
</h3>
Transforms the logically ordered <a href="tqstring.html">TQString</a>, <em>uc</em>, into a visually
ordered string in the 8859-8 encoding. TQt's bidi algorithm is used
to perform this task. Note that newline characters affect the
reordering, since reordering is done on a line by line basis.
<p> The algorithm is designed to work on whole paragraphs of text, so
processing a line at a time may produce incorrect results. This
approach is taken because the reordering of the contents of a
particular line in a paragraph may depend on the previous line in
the same paragraph.
<p> Some encodings (for example Japanese or UTF-8) are multibyte (so
one input character is mapped to two output characters). The <em>lenInOut</em> argument specifies the number of TQChars that should be
converted and is set to the number of characters returned.

<p>Reimplemented from <a href="tqtextcodec.html#fromUnicode">TQTextCodec</a>.
<h3 class=fn>const char * <a name="mimeName"></a>TQHebrewCodec::mimeName () const<tt> [virtual]</tt>
</h3>
Returns the codec's mime name.

<p>Reimplemented from <a href="tqtextcodec.html#mimeName">TQTextCodec</a>.
<!-- eof -->
<hr><p>
This file is part of the <a href="index.html">TQt toolkit</a>.
Copyright &copy; 1995-2007
<a href="http://www.trolltech.com/">Trolltech</a>. All Rights Reserved.<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>TQt 3.3.8</div>
</table></div></address></body>
</html>