Index: xfa/fgas/layout/fgas_rtfbreak.cpp |
diff --git a/xfa/fgas/layout/fgas_rtfbreak.cpp b/xfa/fgas/layout/fgas_rtfbreak.cpp |
index 388a3be6f9247e48aad5d07db4da8fd8a27ae610..eed37df35df0d706b7b3086d150728e8bbc40588 100644 |
--- a/xfa/fgas/layout/fgas_rtfbreak.cpp |
+++ b/xfa/fgas/layout/fgas_rtfbreak.cpp |
@@ -990,27 +990,23 @@ int32_t CFX_RTFBreak::GetBreakPos(CFX_RTFCharArray& tca, |
if (nNext == FX_CBP_SP) { |
eType = bSpaceBreak ? FX_LBT_DIRECT_BRK : FX_LBT_PROHIBITED_BRK; |
} else { |
- eType = *((const FX_LINEBREAKTYPE*)gs_FX_LineBreak_PairTable + |
- (nCur << 5) + nNext); |
+ eType = gs_FX_LineBreak_PairTable[nCur][nNext]; |
} |
} else if (nCur == FX_CBP_TB) { |
bNeedBreak = !bTabBreak; |
if (nNext == FX_CBP_TB) { |
eType = bTabBreak ? FX_LBT_DIRECT_BRK : FX_LBT_PROHIBITED_BRK; |
} else { |
- eType = *((const FX_LINEBREAKTYPE*)gs_FX_LineBreak_PairTable + |
- (nCur << 5) + nNext); |
+ eType = gs_FX_LineBreak_PairTable[nCur][nNext]; |
} |
- } else if (bNumberBreak && nCur == FX_CBP_NU && nNext == FX_CBP_NU) { |
- eType = FX_LBT_DIRECT_BRK; |
- } else if (bInfixBreak && nCur == FX_CBP_IS && nNext == FX_CBP_IS) { |
+ } else if ((bNumberBreak && nCur == FX_CBP_NU && nNext == FX_CBP_NU) || |
+ (bInfixBreak && nCur == FX_CBP_IS && nNext == FX_CBP_IS)) { |
eType = FX_LBT_DIRECT_BRK; |
} else { |
if (nNext == FX_CBP_SP) { |
eType = FX_LBT_PROHIBITED_BRK; |
} else { |
- eType = *((const FX_LINEBREAKTYPE*)gs_FX_LineBreak_PairTable + |
- (nCur << 5) + nNext); |
+ eType = gs_FX_LineBreak_PairTable[nCur][nNext]; |
} |
} |
if (bAllChars) { |