Diffstat (limited to 'noncore/apps/opie-write/qcomplextext.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-write/qcomplextext.cpp | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/noncore/apps/opie-write/qcomplextext.cpp b/noncore/apps/opie-write/qcomplextext.cpp index 0fa6c2e..e8b94da 100644 --- a/noncore/apps/opie-write/qcomplextext.cpp +++ b/noncore/apps/opie-write/qcomplextext.cpp | |||
@@ -45,51 +45,48 @@ | |||
45 | 45 | ||
46 | using namespace Qt3; | 46 | using namespace Qt3; |
47 | 47 | ||
48 | // ----------------------------------------------------- | 48 | // ----------------------------------------------------- |
49 | 49 | ||
50 | /* a small helper class used internally to resolve Bidi embedding levels. | 50 | /* a small helper class used internally to resolve Bidi embedding levels. |
51 | Each line of text caches the embedding level at the start of the line for faster | 51 | Each line of text caches the embedding level at the start of the line for faster |
52 | relayouting | 52 | relayouting |
53 | */ | 53 | */ |
54 | QBidiContext::QBidiContext( uchar l, QChar::Direction e, QBidiContext *p, bool o ) | 54 | QBidiContext::QBidiContext( uchar l, QChar::Direction e, QBidiContext *p, bool o ) |
55 | : level(l) , override(o), dir(e) | 55 | : level(l) , override(o), dir(e) |
56 | { | 56 | { |
57 | if ( p ) | 57 | if ( p ) |
58 | p->ref(); | 58 | p->ref(); |
59 | parent = p; | 59 | parent = p; |
60 | count = 0; | 60 | count = 0; |
61 | } | 61 | } |
62 | 62 | ||
63 | QBidiContext::~QBidiContext() | 63 | QBidiContext::~QBidiContext() |
64 | { | 64 | { |
65 | if( parent && parent->deref() ) | 65 | if( parent && parent->deref() ) |
66 | delete parent; | 66 | delete parent; |
67 | } | 67 | } |
68 | 68 | ||
69 | static QChar *shapeBuffer = 0; | ||
70 | static int shapeBufSize = 0; | ||
71 | |||
72 | /* | 69 | /* |
73 | Arabic shaping obeys a number of rules according to the joining classes (see Unicode book, section on | 70 | Arabic shaping obeys a number of rules according to the joining classes (see Unicode book, section on |
74 | arabic). | 71 | arabic). |
75 | 72 | ||
76 | Each unicode char has a joining class (right, dual (left&right), center (joincausing) or transparent). | 73 | Each unicode char has a joining class (right, dual (left&right), center (joincausing) or transparent). |
77 | transparent joining is not encoded in QChar::joining(), but applies to all combining marks and format marks. | 74 | transparent joining is not encoded in QChar::joining(), but applies to all combining marks and format marks. |
78 | 75 | ||
79 | Right join-causing: dual + center | 76 | Right join-causing: dual + center |
80 | Left join-causing: dual + right + center | 77 | Left join-causing: dual + right + center |
81 | 78 | ||
82 | Rules are as follows (for a string already in visual order, as we have it here): | 79 | Rules are as follows (for a string already in visual order, as we have it here): |
83 | 80 | ||
84 | R1 Transparent characters do not affect joining behaviour. | 81 | R1 Transparent characters do not affect joining behaviour. |
85 | R2 A right joining character, that has a right join-causing char on the right will get form XRight | 82 | R2 A right joining character, that has a right join-causing char on the right will get form XRight |
86 | (R3 A left joining character, that has a left join-causing char on the left will get form XLeft) | 83 | (R3 A left joining character, that has a left join-causing char on the left will get form XLeft) |
87 | Note: the above rule is meaningless, as there are no pure left joining characters defined in Unicode | 84 | Note: the above rule is meaningless, as there are no pure left joining characters defined in Unicode |
88 | R4 A dual joining character, that has a left join-causing char on the left and a right join-causing char on | 85 | R4 A dual joining character, that has a left join-causing char on the left and a right join-causing char on |
89 | the right will get form XMedial | 86 | the right will get form XMedial |
90 | R5 A dual joining character, that has a right join causing char on the right, and no left join causing char on the left | 87 | R5 A dual joining character, that has a right join causing char on the right, and no left join causing char on the left |
91 | will get form XRight | 88 | will get form XRight |
92 | R6 A dual joining character, that has a left join causing char on the left, and no right join causing char on the right | 89 | R6 A dual joining character, that has a left join causing char on the left, and no right join causing char on the right |
93 | will get form XLeft | 90 | will get form XLeft |
94 | R7 Otherwise the character will get form XIsolated | 91 | R7 Otherwise the character will get form XIsolated |
95 | 92 | ||