summaryrefslogtreecommitdiff
path: root/xfa/fxfa/cxfa_textlayout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxfa/cxfa_textlayout.cpp')
-rw-r--r--xfa/fxfa/cxfa_textlayout.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/xfa/fxfa/cxfa_textlayout.cpp b/xfa/fxfa/cxfa_textlayout.cpp
index 84b183f76b..309c13a56a 100644
--- a/xfa/fxfa/cxfa_textlayout.cpp
+++ b/xfa/fxfa/cxfa_textlayout.cpp
@@ -27,7 +27,7 @@
#include "xfa/fxfa/cxfa_textprovider.h"
#include "xfa/fxfa/cxfa_texttabstopscontext.h"
#include "xfa/fxfa/cxfa_textuserdata.h"
-#include "xfa/fxfa/parser/cxfa_font.h"
+#include "xfa/fxfa/parser/cxfa_fontdata.h"
#include "xfa/fxfa/parser/cxfa_node.h"
#include "xfa/fxfa/parser/cxfa_para.h"
@@ -102,7 +102,6 @@ std::unique_ptr<CFX_RTFBreak> CXFA_TextLayout::CreateBreak(bool bDefault) {
}
void CXFA_TextLayout::InitBreak(float fLineWidth) {
- CXFA_Font font = m_pTextProvider->GetFontNode();
CXFA_Para para = m_pTextProvider->GetParaNode();
float fStart = 0;
float fStartPos = 0;
@@ -142,10 +141,14 @@ void CXFA_TextLayout::InitBreak(float fLineWidth) {
m_pBreak->SetLineBoundary(fStart, fLineWidth);
m_pBreak->SetLineStartPos(fStartPos);
- if (font) {
- m_pBreak->SetHorizontalScale((int32_t)font.GetHorizontalScale());
- m_pBreak->SetVerticalScale((int32_t)font.GetVerticalScale());
- m_pBreak->SetCharSpace(font.GetLetterSpacing());
+
+ CXFA_FontData fontData = m_pTextProvider->GetFontData();
+ if (fontData) {
+ m_pBreak->SetHorizontalScale(
+ static_cast<int32_t>(fontData.GetHorizontalScale()));
+ m_pBreak->SetVerticalScale(
+ static_cast<int32_t>(fontData.GetVerticalScale()));
+ m_pBreak->SetCharSpace(fontData.GetLetterSpacing());
}
float fFontSize = m_textParser.GetFontSize(m_pTextProvider, nullptr);