Author: jghali Date: Sat Apr 11 14:15:13 2015 New Revision: 19990 URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=19990 Log: #12997: Kerning between non-CJK and CJK letters does not appear until the text frame containing them is modified
Modified:
trunk/Scribus/scribus/pageitem_textframe.cpp
Modified: trunk/Scribus/scribus/pageitem_textframe.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=19990&path=/trunk/Scribus/scribus/pageitem_textframe.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem_textframe.cpp (original)
+++ trunk/Scribus/scribus/pageitem_textframe.cpp Sat Apr 11 14:15:13 2015
@@ -1817,7 +1817,7 @@
case
SpecialChars::CJK_KANJI:
case
SpecialChars::CJK_KANA:
case
SpecialChars::CJK_NOTOP:
- kern = wide / 4;
+ kern =
charStyle.fontSize() / 10 / 4;
wide += kern;
glyphs->last()->xadvance += kern;
}
@@ -1830,7 +1830,7 @@
case
SpecialChars::CJK_COMMA:
case
SpecialChars::CJK_PERIOD:
case
SpecialChars::CJK_MIDPOINT:
- kern =
-wide / 2;
+ kern =
-charStyle.fontSize() / 10 / 2;
wide +=
kern;
glyphs->last()->xadvance += kern;
}
@@ -1840,7 +1840,7 @@
switch(nextStat
& SpecialChars::CJK_CHAR_MASK){
case
SpecialChars::CJK_FENCE_BEGIN:
case
SpecialChars::CJK_FENCE_END:
- kern =
-wide / 2;
+ kern =
-charStyle.fontSize() / 10 / 2;
wide +=
kern;
glyphs->last()->xadvance += kern;
}
@@ -1848,7 +1848,7 @@
case
SpecialChars::CJK_MIDPOINT:
switch(nextStat
& SpecialChars::CJK_CHAR_MASK){
case
SpecialChars::CJK_FENCE_BEGIN:
- kern =
-wide / 2;
+ kern =
-charStyle.fontSize() / 10 / 2;
wide +=
kern;
glyphs->last()->xadvance += kern;
}
@@ -1860,7 +1860,7 @@
prevStat = SpecialChars::getCJKAttr(itemText.text(a-1)) &
SpecialChars::CJK_CHAR_MASK;
}
if (prevStat ==
SpecialChars::CJK_FENCE_BEGIN){
- kern =
-wide / 2;
+ kern =
-charStyle.fontSize() / 10 / 2;
wide +=
kern;
glyphs->last()->xadvance += kern;
glyphs->last()->xoffset += kern;
@@ -1875,7 +1875,8 @@
case
SpecialChars::CJK_KANJI:
case
SpecialChars::CJK_KANA:
case
SpecialChars::CJK_NOTOP:
- kern =
itemText.getGlyphs(a+1)->wide() / 4;
+ // use the size
of the current char instead of the next one
+ kern =
charStyle.fontSize() / 10 / 4;
wide += kern;
glyphs->last()->xadvance += kern;
}
_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit
