From bd0f3345a938b35ce6a12f6150373b0955b8dd12 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 10 Jul 2011 15:24:15 -0500 Subject: Add Qt3 development HEAD version --- doc/html/qhebrewcodec.html | 114 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 doc/html/qhebrewcodec.html (limited to 'doc/html/qhebrewcodec.html') diff --git a/doc/html/qhebrewcodec.html b/doc/html/qhebrewcodec.html new file mode 100644 index 0000000..3265af8 --- /dev/null +++ b/doc/html/qhebrewcodec.html @@ -0,0 +1,114 @@ + + + + + +QHebrewCodec Class + + + + + + + +
+ +Home + | +All Classes + | +Main Classes + | +Annotated + | +Grouped Classes + | +Functions +

QHebrewCodec Class Reference

+ +

The QHebrewCodec class provides conversion to and from +visually ordered Hebrew. +More... +

All the functions in this class are reentrant when Qt is built with thread support.

+

#include <qrtlcodec.h> +

Inherits QTextCodec. +

List of all member functions. +

Public Members

+ +

Detailed 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 Documentation

+

QCString 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. + +


+This file is part of the Qt toolkit. +Copyright © 1995-2007 +Trolltech. All Rights Reserved.


+ +
Copyright © 2007 +TrolltechTrademarks +
Qt 3.3.8
+
+ -- cgit v1.2.3