diff options
Diffstat (limited to 'src/lib/VSD6Parser.cpp')
-rw-r--r-- | src/lib/VSD6Parser.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lib/VSD6Parser.cpp b/src/lib/VSD6Parser.cpp index d126433..c5d8b79 100644 --- a/src/lib/VSD6Parser.cpp +++ b/src/lib/VSD6Parser.cpp @@ -139,7 +139,8 @@ void libvisio::VSD6Parser::readCharIX(librevenge::RVNGInputStream *input) if (fontMod & 1) superscript = true; if (fontMod & 2) subscript = true; - input->seek(4, librevenge::RVNG_SEEK_CUR); + double scaleWidth = (double)(readU16(input)) / 10000.0; + input->seek(2, librevenge::RVNG_SEEK_CUR); double fontSize = readDouble(input); fontMod = readU8(input); @@ -150,7 +151,7 @@ void libvisio::VSD6Parser::readCharIX(librevenge::RVNGInputStream *input) if (m_isInStyles) m_collector->collectCharIXStyle(m_header.id, m_header.level, charCount, font, fontColour, fontSize, bold, italic, underline, doubleunderline, strikeout, doublestrikeout, - allcaps, initcaps, smallcaps, superscript, subscript); + allcaps, initcaps, smallcaps, superscript, subscript, scaleWidth); else { if (m_isStencilStarted) @@ -160,10 +161,10 @@ void libvisio::VSD6Parser::readCharIX(librevenge::RVNGInputStream *input) m_shape.m_charStyle.override(VSDOptionalCharStyle(charCount, font, fontColour, fontSize, bold, italic, underline, doubleunderline, strikeout, doublestrikeout, - allcaps, initcaps, smallcaps, superscript, subscript)); + allcaps, initcaps, smallcaps, superscript, subscript, scaleWidth)); m_shape.m_charList.addCharIX(m_header.id, m_header.level, charCount, font, fontColour, fontSize, bold, italic, underline, doubleunderline, strikeout, doublestrikeout, - allcaps, initcaps, smallcaps, superscript, subscript); + allcaps, initcaps, smallcaps, superscript, subscript, scaleWidth); } } |