summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2016-11-06 23:07:31 +0200
committerKhaled Hosny <khaledhosny@eglug.org>2016-11-07 01:16:55 +0200
commit979029ee6532791e39adea3b7078ab88386f0ecf (patch)
tree6734d00df473fccb83d8dffd4716a823fc99ab8f /sw
parente3bb44f605e5c548d2bff04be4d923199996f583 (diff)
Insert Kashida before final Tah
Looks like it was missing from the original code, though described here: https://www.microsoft.com/middleeast/msdn/JustifyingText-CSS.aspx Change-Id: Iab283cd8e9cc5aee37836ddb06d5e9b8ce8c18e4
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/text/porlay.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index ff2f4b8ae78b..62b8024f1f96 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -71,6 +71,7 @@ using namespace i18n::ScriptType;
#define isLamChar(c) IS_JOINING_GROUP((c), LAM)
#define isQafChar(c) IS_JOINING_GROUP((c), QAF)
#define isRehChar(c) IS_JOINING_GROUP((c), REH)
+#define isTahChar(c) IS_JOINING_GROUP((c), TAH)
#define isTehMarbutaChar(c) IS_JOINING_GROUP((c), TEH_MARBUTA)
#define isWawChar(c) IS_JOINING_GROUP((c), WAW)
#if (U_ICU_VERSION_MAJOR_NUM > 4) || (U_ICU_VERSION_MAJOR_NUM == 4 && U_ICU_VERSION_MINOR_NUM >= 4)
@@ -990,12 +991,13 @@ void SwScriptInfo::InitScriptInfo( const SwTextNode& rNode, bool bRTL )
}
// 4. Priority:
- // before final form of Alef, Lam or Kaf
+ // before final form of Alef, Tah, Lam, Kaf or Gaf
if ( nPriorityLevel >= 3 && nIdx > 0 )
{
if ( isAlefChar ( cCh ) || // Alef (right joining) final form may appear in the middle of word
- (( isLamChar ( cCh ) || // Lam
- isKafChar ( cCh ) || // Kaf (both dual joining)
+ (( isLamChar ( cCh ) || // Lam,
+ isTahChar ( cCh ) || // Tah,
+ isKafChar ( cCh ) || // Kaf (all dual joining)
isGafChar ( cCh ) )
&& nIdx == nWordLen - 1)) // only at end of word
{