diff options
-rw-r--r-- | xfa/fxfa/cxfa_textparser.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_widgetacc.cpp | 3 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_fontdata.cpp | 26 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_fontdata.h | 28 |
4 files changed, 30 insertions, 29 deletions
diff --git a/xfa/fxfa/cxfa_textparser.cpp b/xfa/fxfa/cxfa_textparser.cpp index b74df3d14e..8981799d83 100644 --- a/xfa/fxfa/cxfa_textparser.cpp +++ b/xfa/fxfa/cxfa_textparser.cpp @@ -327,7 +327,7 @@ RetainPtr<CFGAS_GEFont> CXFA_TextParser::GetFont( uint32_t dwStyle = 0; CXFA_FontData fontData = pTextProvider->GetFontData(); if (fontData.HasValidNode()) { - fontData.GetTypeface(wsFamily); + wsFamily = fontData.GetTypeface(); if (fontData.IsBold()) dwStyle |= FXFONT_BOLD; if (fontData.IsItalic()) diff --git a/xfa/fxfa/cxfa_widgetacc.cpp b/xfa/fxfa/cxfa_widgetacc.cpp index 1f804e6ed2..5bff539366 100644 --- a/xfa/fxfa/cxfa_widgetacc.cpp +++ b/xfa/fxfa/cxfa_widgetacc.cpp @@ -1493,7 +1493,8 @@ RetainPtr<CFGAS_GEFont> CXFA_WidgetAcc::GetFDEFont() { dwFontStyle |= FXFONT_BOLD; if (fontData.IsItalic()) dwFontStyle |= FXFONT_ITALIC; - fontData.GetTypeface(wsFontName); + + wsFontName = fontData.GetTypeface(); } auto* pDoc = GetDoc(); diff --git a/xfa/fxfa/parser/cxfa_fontdata.cpp b/xfa/fxfa/parser/cxfa_fontdata.cpp index 17bd6b8f3f..20fe68face 100644 --- a/xfa/fxfa/parser/cxfa_fontdata.cpp +++ b/xfa/fxfa/parser/cxfa_fontdata.cpp @@ -13,27 +13,27 @@ CXFA_FontData::CXFA_FontData(CXFA_Node* pNode) : CXFA_DataData(pNode) {} -float CXFA_FontData::GetBaselineShift() { +float CXFA_FontData::GetBaselineShift() const { return m_pNode->JSNode() ->GetMeasure(XFA_Attribute::BaselineShift) .ToUnit(XFA_Unit::Pt); } -float CXFA_FontData::GetHorizontalScale() { +float CXFA_FontData::GetHorizontalScale() const { WideString wsValue = m_pNode->JSNode()->GetCData(XFA_Attribute::FontHorizontalScale); int32_t iScale = FXSYS_wtoi(wsValue.c_str()); return iScale > 0 ? (float)iScale : 100.0f; } -float CXFA_FontData::GetVerticalScale() { +float CXFA_FontData::GetVerticalScale() const { WideString wsValue = m_pNode->JSNode()->GetCData(XFA_Attribute::FontVerticalScale); int32_t iScale = FXSYS_wtoi(wsValue.c_str()); return iScale > 0 ? (float)iScale : 100.0f; } -float CXFA_FontData::GetLetterSpacing() { +float CXFA_FontData::GetLetterSpacing() const { WideString wsValue = m_pNode->JSNode()->GetCData(XFA_Attribute::LetterSpacing); CXFA_Measurement ms(wsValue.AsStringView()); @@ -42,36 +42,36 @@ float CXFA_FontData::GetLetterSpacing() { return ms.ToUnit(XFA_Unit::Pt); } -int32_t CXFA_FontData::GetLineThrough() { +int32_t CXFA_FontData::GetLineThrough() const { return m_pNode->JSNode()->GetInteger(XFA_Attribute::LineThrough); } -int32_t CXFA_FontData::GetUnderline() { +int32_t CXFA_FontData::GetUnderline() const { return m_pNode->JSNode()->GetInteger(XFA_Attribute::Underline); } -int32_t CXFA_FontData::GetUnderlinePeriod() { +int32_t CXFA_FontData::GetUnderlinePeriod() const { return m_pNode->JSNode() ->TryEnum(XFA_Attribute::UnderlinePeriod, true) .value_or(XFA_ATTRIBUTEENUM_All); } -float CXFA_FontData::GetFontSize() { +float CXFA_FontData::GetFontSize() const { return m_pNode->JSNode() ->GetMeasure(XFA_Attribute::Size) .ToUnit(XFA_Unit::Pt); } -void CXFA_FontData::GetTypeface(WideString& wsTypeFace) { - wsTypeFace = m_pNode->JSNode()->GetCData(XFA_Attribute::Typeface); +WideString CXFA_FontData::GetTypeface() const { + return m_pNode->JSNode()->GetCData(XFA_Attribute::Typeface); } -bool CXFA_FontData::IsBold() { +bool CXFA_FontData::IsBold() const { return m_pNode->JSNode()->GetEnum(XFA_Attribute::Weight) == XFA_ATTRIBUTEENUM_Bold; } -bool CXFA_FontData::IsItalic() { +bool CXFA_FontData::IsItalic() const { return m_pNode->JSNode()->GetEnum(XFA_Attribute::Posture) == XFA_ATTRIBUTEENUM_Italic; } @@ -81,7 +81,7 @@ void CXFA_FontData::SetColor(FX_ARGB color) { .SetColor(color); } -FX_ARGB CXFA_FontData::GetColor() { +FX_ARGB CXFA_FontData::GetColor() const { CXFA_FillData fillData(m_pNode->GetChild(0, XFA_Element::Fill, false)); return fillData.HasValidNode() ? fillData.GetColor(true) : 0xFF000000; } diff --git a/xfa/fxfa/parser/cxfa_fontdata.h b/xfa/fxfa/parser/cxfa_fontdata.h index ae5e4ac961..906337a88b 100644 --- a/xfa/fxfa/parser/cxfa_fontdata.h +++ b/xfa/fxfa/parser/cxfa_fontdata.h @@ -16,20 +16,20 @@ class CXFA_FontData : public CXFA_DataData { public: explicit CXFA_FontData(CXFA_Node* pNode); - float GetBaselineShift(); - float GetHorizontalScale(); - float GetVerticalScale(); - float GetLetterSpacing(); - int32_t GetLineThrough(); - int32_t GetUnderline(); - int32_t GetUnderlinePeriod(); - float GetFontSize(); - void GetTypeface(WideString& wsTypeFace); - - bool IsBold(); - bool IsItalic(); - - FX_ARGB GetColor(); + float GetBaselineShift() const; + float GetHorizontalScale() const; + float GetVerticalScale() const; + float GetLetterSpacing() const; + int32_t GetLineThrough() const; + int32_t GetUnderline() const; + int32_t GetUnderlinePeriod() const; + float GetFontSize() const; + WideString GetTypeface() const; + + bool IsBold() const; + bool IsItalic() const; + + FX_ARGB GetColor() const; void SetColor(FX_ARGB color); }; |