| Index: core/fpdftext/include/cpdf_textpage.h
|
| diff --git a/core/fpdftext/include/cpdf_textpage.h b/core/fpdftext/include/cpdf_textpage.h
|
| index c7c673c23e6e1f9417738309ad8c05364512c9b2..0c1efdf34ad14b5aa4f0a3d6179e2cb3ce4a1254 100644
|
| --- a/core/fpdftext/include/cpdf_textpage.h
|
| +++ b/core/fpdftext/include/cpdf_textpage.h
|
| @@ -99,6 +99,19 @@ class CPDF_TextPage {
|
| FX_BOOL bContains = FALSE);
|
|
|
| private:
|
| + enum class TextOrientation {
|
| + Unknown,
|
| + Horizontal,
|
| + Vertical,
|
| + };
|
| +
|
| + enum class GenerateCharacter {
|
| + None,
|
| + Space,
|
| + LineBreak,
|
| + Hyphen,
|
| + };
|
| +
|
| FX_BOOL IsHyphen(FX_WCHAR curChar);
|
| bool IsControlChar(const PAGECHAR_INFO& charInfo);
|
| void ProcessObject();
|
| @@ -109,8 +122,8 @@ class CPDF_TextPage {
|
| const CFX_Matrix& formMatrix,
|
| const CPDF_PageObjectList* pObjList,
|
| CPDF_PageObjectList::const_iterator ObjPos);
|
| - int ProcessInsertObject(const CPDF_TextObject* pObj,
|
| - const CFX_Matrix& formMatrix);
|
| + GenerateCharacter ProcessInsertObject(const CPDF_TextObject* pObj,
|
| + const CFX_Matrix& formMatrix);
|
| FX_BOOL GenerateCharInfo(FX_WCHAR unicode, PAGECHAR_INFO& info);
|
| FX_BOOL IsSameAsPreTextObject(CPDF_TextObject* pTextObj,
|
| const CPDF_PageObjectList* pObjList,
|
| @@ -122,11 +135,13 @@ class CPDF_TextPage {
|
| FPDFText_MarkedContent PreMarkedContent(PDFTEXT_Obj pObj);
|
| void ProcessMarkedContent(PDFTEXT_Obj pObj);
|
| void CheckMarkedContentObject(int32_t& start, int32_t& nCount) const;
|
| - void FindPreviousTextObject(void);
|
| + void FindPreviousTextObject();
|
| void AddCharInfoByLRDirection(FX_WCHAR wChar, PAGECHAR_INFO info);
|
| void AddCharInfoByRLDirection(FX_WCHAR wChar, PAGECHAR_INFO info);
|
| - int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj);
|
| - int32_t FindTextlineFlowDirection();
|
| + TextOrientation GetTextObjectWritingMode(
|
| + const CPDF_TextObject* pTextObj) const;
|
| + TextOrientation FindTextlineFlowOrientation() const;
|
| + void AppendGeneratedCharacter(FX_WCHAR unicode, const CFX_Matrix& formMatrix);
|
|
|
| void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend);
|
| FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj,
|
| @@ -147,7 +162,7 @@ class CPDF_TextPage {
|
| CFX_ArrayTemplate<FPDF_SEGMENT> m_Segments;
|
| std::vector<CFX_FloatRect> m_SelRects;
|
| CFX_ArrayTemplate<PDFTEXT_Obj> m_LineObj;
|
| - int32_t m_TextlineDir;
|
| + TextOrientation m_TextlineDir;
|
| CFX_FloatRect m_CurlineRect;
|
| };
|
|
|
|
|