summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/kernel/tqfontengine_p.h2
-rw-r--r--src/kernel/tqfontengine_x11.cpp4
-rw-r--r--src/kernel/tqscriptengine.cpp6
-rw-r--r--src/kernel/tqscriptengine_x11.cpp28
-rw-r--r--tools/designer/designer/designer_de.ts2
-rw-r--r--tools/linguist/linguist/linguist_de.ts6
-rw-r--r--translations/qt_de.ts2
7 files changed, 34 insertions, 16 deletions
diff --git a/src/kernel/tqfontengine_p.h b/src/kernel/tqfontengine_p.h
index e7d7f2162..52bc66d7c 100644
--- a/src/kernel/tqfontengine_p.h
+++ b/src/kernel/tqfontengine_p.h
@@ -434,7 +434,7 @@ public:
void selectScript(unsigned int script, const Features *features = 0);
bool shape(TQShaperItem *item, const unsigned int *properties = 0);
- bool positionAndAdd(TQShaperItem *item, bool doLogClusters = true);
+ bool positionAndAdd(TQShaperItem *item, int availableGlyphs, bool doLogClusters = true);
OTL_GlyphItem glyphs() const { return otl_buffer->in_string; }
int len() const { return otl_buffer->in_length; }
diff --git a/src/kernel/tqfontengine_x11.cpp b/src/kernel/tqfontengine_x11.cpp
index 1a7b95ebb..7f514f914 100644
--- a/src/kernel/tqfontengine_x11.cpp
+++ b/src/kernel/tqfontengine_x11.cpp
@@ -2428,7 +2428,7 @@ bool TQOpenType::shape(TQShaperItem *item, const unsigned int *properties)
return true;
}
-bool TQOpenType::positionAndAdd(TQShaperItem *item, bool doLogClusters)
+bool TQOpenType::positionAndAdd(TQShaperItem *item, int availableGlyphs, bool doLogClusters)
{
if (gpos) {
#ifdef TQ_WS_X11
@@ -2444,7 +2444,7 @@ bool TQOpenType::positionAndAdd(TQShaperItem *item, bool doLogClusters)
}
// make sure we have enough space to write everything back
- if (item->num_glyphs < (int)otl_buffer->in_length) {
+ if (availableGlyphs < (int)otl_buffer->in_length) {
item->num_glyphs = otl_buffer->in_length;
return false;
}
diff --git a/src/kernel/tqscriptengine.cpp b/src/kernel/tqscriptengine.cpp
index e9431463c..8c8fbe308 100644
--- a/src/kernel/tqscriptengine.cpp
+++ b/src/kernel/tqscriptengine.cpp
@@ -434,13 +434,14 @@ static bool hebrew_shape(TQShaperItem *item)
if (openType && openType->supportsScript(item->script)) {
openType->selectScript(item->script, hebrew_features);
+ const int availableGlyphs = item->num_glyphs;
if (item->font->stringToCMap(item->string->unicode()+item->from, item->length, item->glyphs, item->advances,
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
return false;
heuristicSetGlyphAttributes(item);
openType->shape(item);
- return openType->positionAndAdd(item);
+ return openType->positionAndAdd(item, availableGlyphs);
}
#endif
@@ -1580,8 +1581,7 @@ static bool arabicSyriacOpenTypeShape(TQOpenType *openType, TQShaperItem *item,
*ot_ok = false;
return false;
}
- item->num_glyphs = nglyphs;
- return openType->positionAndAdd(item);
+ return openType->positionAndAdd(item, nglyphs);
}
#endif
diff --git a/src/kernel/tqscriptengine_x11.cpp b/src/kernel/tqscriptengine_x11.cpp
index 6d5429cb0..c54f6d6b1 100644
--- a/src/kernel/tqscriptengine_x11.cpp
+++ b/src/kernel/tqscriptengine_x11.cpp
@@ -69,12 +69,13 @@ static bool thaana_shape(TQShaperItem *item)
if (openType && openType->supportsScript(item->script)) {
openType->selectScript(TQFont::Thaana);
+ const int availableGlyphs = item->num_glyphs;
if (item->font->stringToCMap(item->string->unicode()+item->from, item->length, item->glyphs, item->advances,
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
return false;
heuristicSetGlyphAttributes(item);
openType->shape(item);
- return openType->positionAndAdd(item);
+ return openType->positionAndAdd(item, availableGlyphs);
}
#endif
return basic_shape(item);
@@ -1550,6 +1551,9 @@ static bool indic_shape_syllable(TQOpenType *openType, TQShaperItem *item, bool
reph = i;
}
+#ifndef TQT_NO_XFTFREETYPE
+ const int availableGlyphs = item->num_glyphs;
+#endif
if (item->font->stringToCMap((const TQChar *)reordered.data(), len, item->glyphs, item->advances,
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
return false;
@@ -1694,7 +1698,7 @@ static bool indic_shape_syllable(TQOpenType *openType, TQShaperItem *item, bool
}
}
- if (!openType->positionAndAdd(item, false))
+ if (!openType->positionAndAdd(item, availableGlyphs, false))
return false;
if (control) {
@@ -2056,6 +2060,9 @@ static bool tibetan_shape_syllable(TQOpenType *openType, TQShaperItem *item, boo
str = (TQChar *)reordered.data();
}
+#ifndef TQT_NO_XFTFREETYPE
+ const int availableGlyphs = item->num_glyphs;
+#endif
if (item->font->stringToCMap(str, len, item->glyphs, item->advances,
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
return false;
@@ -2075,7 +2082,7 @@ static bool tibetan_shape_syllable(TQOpenType *openType, TQShaperItem *item, boo
openType->selectScript(TQFont::Tibetan, tibetan_features);
openType->shape(item);
- if (!openType->positionAndAdd(item, false))
+ if (!openType->positionAndAdd(item, availableGlyphs, false))
return false;
}
#endif
@@ -2708,6 +2715,9 @@ static bool khmer_shape_syllable(TQOpenType *openType, TQShaperItem *item)
} // switch
} // for
+#ifndef TQT_NO_XFTFREETYPE
+ const int availableGlyphs = item->num_glyphs;
+#endif
if (item->font->stringToCMap((const TQChar *)reordered, len, item->glyphs, item->advances,
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
return false;
@@ -2745,7 +2755,7 @@ static bool khmer_shape_syllable(TQOpenType *openType, TQShaperItem *item)
}
openType->shape(item, where);
- if (!openType->positionAndAdd(item, false))
+ if (!openType->positionAndAdd(item, availableGlyphs, false))
return false;
} else
#endif
@@ -3215,6 +3225,9 @@ static bool myanmar_shape_syllable(TQOpenType *openType, TQShaperItem *item, boo
len += 2;
}
+#ifndef TQT_NO_XFTFREETYPE
+ const int availableGlyphs = item->num_glyphs;
+#endif
if (item->font->stringToCMap((const TQChar *)reordered, len, item->glyphs, item->advances,
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
return false;
@@ -3252,7 +3265,7 @@ static bool myanmar_shape_syllable(TQOpenType *openType, TQShaperItem *item, boo
}
openType->shape(item, where);
- if (!openType->positionAndAdd(item, false))
+ if (!openType->positionAndAdd(item, availableGlyphs, false))
return false;
} else
#endif
@@ -3499,6 +3512,9 @@ static bool hangul_shape_syllable(TQOpenType *openType, TQShaperItem *item)
len = 1;
}
+#ifndef TQT_NO_XFTFREETYPE
+ const int availableGlyphs = item->num_glyphs;
+#endif
if (item->font->stringToCMap(ch, len, item->glyphs, item->advances,
&item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
return false;
@@ -3519,7 +3535,7 @@ static bool hangul_shape_syllable(TQOpenType *openType, TQShaperItem *item)
item->log_clusters = logClusters.data();
openType->shape(item);
- if (!openType->positionAndAdd(item, false))
+ if (!openType->positionAndAdd(item, availableGlyphs, false))
return false;
}
diff --git a/tools/designer/designer/designer_de.ts b/tools/designer/designer/designer_de.ts
index a3d66c67c..7dd1d87a9 100644
--- a/tools/designer/designer/designer_de.ts
+++ b/tools/designer/designer/designer_de.ts
@@ -3255,7 +3255,7 @@ load these files?</source>
</message>
<message>
<source>What&apos;s This?</source>
- <translation type="unfinished"></translation>
+ <translation>Direkthilfe</translation>
</message>
<message>
<source>&quot;What&apos;s This?&quot; context sensitive help</source>
diff --git a/tools/linguist/linguist/linguist_de.ts b/tools/linguist/linguist/linguist_de.ts
index abc59da26..936138f94 100644
--- a/tools/linguist/linguist/linguist_de.ts
+++ b/tools/linguist/linguist/linguist_de.ts
@@ -1,4 +1,6 @@
-<!DOCTYPE TS><TS>
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS>
<context>
<name>AboutDialog</name>
<message>
@@ -943,7 +945,7 @@ All files (*)</source>
</message>
<message>
<source>What&apos;s This?</source>
- <translation type="unfinished"></translation>
+ <translation>Direkthilfe</translation>
</message>
<message>
<source>Cannot read from phrase book &apos;%1&apos;.</source>
diff --git a/translations/qt_de.ts b/translations/qt_de.ts
index 08ff92cc6..e307f86ed 100644
--- a/translations/qt_de.ts
+++ b/translations/qt_de.ts
@@ -60,7 +60,7 @@
</message>
<message>
<source>SysReq</source>
- <translation>SysReq</translation>
+ <translation>S-Abf</translation>
</message>
<message>
<source>Home</source>