summaryrefslogtreecommitdiff
path: root/xfa/fgas/layout/fgas_textbreak.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fgas/layout/fgas_textbreak.cpp')
-rw-r--r--xfa/fgas/layout/fgas_textbreak.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/xfa/fgas/layout/fgas_textbreak.cpp b/xfa/fgas/layout/fgas_textbreak.cpp
index 8be72f2c7b..153d575139 100644
--- a/xfa/fgas/layout/fgas_textbreak.cpp
+++ b/xfa/fgas/layout/fgas_textbreak.cpp
@@ -9,7 +9,6 @@
#include <algorithm>
#include "core/fxcrt/fx_arabic.h"
-#include "core/fxcrt/fx_arb.h"
#include "core/fxcrt/fx_memory.h"
#include "third_party/base/ptr_util.h"
#include "xfa/fgas/font/cfgas_gefont.h"
@@ -31,6 +30,11 @@ const FX_TxtBreak_LPFAppendChar g_FX_TxtBreak_lpfAppendChar[16] = {
&CFX_TxtBreak::AppendChar_Others, &CFX_TxtBreak::AppendChar_Others,
};
+bool IsCtrlCode(FX_WCHAR ch) {
+ uint32_t dwRet = (FX_GetUnicodeProperties(ch) & FX_CHARTYPEBITSMASK);
+ return dwRet == FX_CHARTYPE_Tab || dwRet == FX_CHARTYPE_Control;
+}
+
} // namespace
CFX_TxtBreak::CFX_TxtBreak(uint32_t dwPolicies)
@@ -1561,7 +1565,7 @@ std::vector<CFX_RectF> CFX_TxtBreak::GetCharRects(const FX_TXTRUN* pTxtRun,
iCharSize = *pWidths++;
}
fCharSize = static_cast<FX_FLOAT>(iCharSize) / 20000.0f;
- bool bRet = (!bSingleLine && FX_IsCtrlCode(wch));
+ bool bRet = (!bSingleLine && IsCtrlCode(wch));
if (!(wch == L'\v' || wch == L'\f' || wch == 0x2028 || wch == 0x2029 ||
(wLineBreakChar != 0xFEFF && wch == wLineBreakChar))) {
bRet = false;