QHebrewCodec(3qt)QHebrewCodec(3qt)NAMEQHebrewCodec - Conversion to and from visually ordered Hebrew
SYNOPSIS
All the functions in this class are reentrant when Qt is built with
thread support.</p>
#include <qrtlcodec.h>
Inherits QTextCodec.
Public Members
virtual const char * mimeName () const
virtual QCString fromUnicode ( const QString & uc, int & lenInOut )
const
DESCRIPTION
The QHebrewCodec class provides conversion to and from visually ordered
Hebrew.
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.
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 bidi (bi-directional) algorithm that
transforms from logical to visual order is non-trivial.
Transformation from Unicode to visual Hebrew (8859-8) is done using the
bidi algorithm in Qt, 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.
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.
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.
See also Internationalization with Qt.
MEMBER FUNCTION DOCUMENTATIONQCString QHebrewCodec::fromUnicode ( const QString & uc, int & lenInOut )
const [virtual]
Transforms the logically ordered QString, uc, into a visually ordered
string in the 8859-8 encoding. Qt'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.
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.
Some encodings (for example Japanese or UTF-8) are multibyte (so one
input character is mapped to two output characters). The lenInOut
argument specifies the number of QChars that should be converted and is
set to the number of characters returned.
Reimplemented from QTextCodec.
const char * QHebrewCodec::mimeName () const [virtual]
Returns the codec's mime name.
Reimplemented from QTextCodec.
SEE ALSO
http://doc.trolltech.com/qhebrewcodec.html
http://www.trolltech.com/faq/tech.html
COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the
license file included in the distribution for a complete license
statement.
AUTHOR
Generated automatically from the source code.
BUGS
If you find a bug in Qt, please report it as described in
http://doc.trolltech.com/bughowto.html. Good bug reports help us to
help you. Thank you.
The definitive Qt documentation is provided in HTML format; it is
located at $QTDIR/doc/html and can be read using Qt Assistant or with a
web browser. This man page is provided as a convenience for those users
who prefer man pages, although this format is not officially supported
by Trolltech.
If you find errors in this manual page, please report them to qt-
bugs@trolltech.com. Please include the name of the manual page
(qhebrewcodec.3qt) and the Qt version (3.3.8).
Trolltech AS 2 February 2007 QHebrewCodec(3qt)