Author: jghali
Date: Mon May 2 20:45:11 2016
New Revision: 21272
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=21272
Log:
#14015: Hyphen displayed as a slash
Modified:
trunk/Scribus/scribus/pageitem_textframe.cpp
Modified: trunk/Scribus/scribus/pageitem_textframe.cpp
URL:
http://scribus.net/websvn/diff.php?repname=Scribus&rev=21272&path=/trunk/Scribus/scribus/pageitem_textframe.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem_textframe.cpp (original)
+++ trunk/Scribus/scribus/pageitem_textframe.cpp Mon May 2 20:45:11 2016
@@ -2598,8 +2598,16 @@
{
if (current.breakIndex >= 0)
{
+ // go back to last break
position
i = current.breakIndex;
a = glyphRuns[i].firstChar();
+ style =
itemText.paragraphStyle(a);
+ const_cast<ScFace&>(font) =
itemText.charStyle(a).font();
+ if (style.lineSpacingMode() ==
ParagraphStyle::AutomaticLineSpacing)
+
style.setLineSpacing(font.height(hlcsize10) * autoLS);
+ else if
(style.lineSpacingMode() == ParagraphStyle::BaselineGridLineSpacing)
+
style.setLineSpacing(m_Doc->guidesPrefs().valueBaselineGrid);
+ charStyle =
itemText.charStyle(a);
}
assert( i >= 0 );
assert( i < glyphRuns.length() );
@@ -2607,13 +2615,6 @@
current.isEmpty = (i -
current.line.firstRun + 1) == 0;
if (current.addLine)
{
- // go back to last break
position
- style =
itemText.paragraphStyle(a);
- if (style.lineSpacingMode() ==
ParagraphStyle::AutomaticLineSpacing)
-
style.setLineSpacing(font.height(hlcsize10) * autoLS);
- else if
(style.lineSpacingMode() == ParagraphStyle::BaselineGridLineSpacing)
-
style.setLineSpacing(m_Doc->guidesPrefs().valueBaselineGrid);
-
if (itemText.text(a) == ' ') {
glyphRuns[i].setFlag(ScLayout_SuppressSpace);
glyphRuns[i].glyphs()[0].xadvance = 0;
@@ -2635,7 +2636,7 @@
glyphRuns[i].setFlag(ScLayout_SoftHyphenVisible);
GlyphLayout hyphen;
hyphen.glyph =
font.char2CMap(QChar('-'));
- hyphen.xadvance =
font.glyphBBox(hyphen.glyph, itemText.charStyle(a).fontSize() / 10.0).width;
+ hyphen.xadvance =
font.glyphBBox(hyphen.glyph, charStyle.fontSize() / 10.0).width;
hyphWidth =
hyphen.xadvance * scaleH;
glyphRuns[i].glyphs().append(hyphen);
}
_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit