From a2c42ce6150c4072613a6fc9fa0dc064dbf0a15d Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Wed, 25 Nov 2015 15:52:28 -0800 Subject: Manual fixups to PDF_ENABLE_XFA in core/ R=thestig@chromium.org Review URL: https://codereview.chromium.org/1477663003 . --- core/include/fpdfdoc/fpdf_doc.h | 2 +- core/include/fxcodec/fx_codec.h | 44 +++----- core/include/fxcodec/fx_codec_def.h | 24 ++--- core/include/fxcrt/fx_basic.h | 10 +- core/include/fxcrt/fx_ext.h | 9 +- core/include/fxcrt/fx_stream.h | 2 +- core/include/fxcrt/fx_ucd.h | 84 +++++++-------- core/include/fxge/fx_font.h | 31 +++--- core/src/fpdfdoc/doc_form.cpp | 4 +- core/src/fpdfdoc/doc_formfield.cpp | 2 +- core/src/fpdftext/fpdf_text_int.cpp | 176 ++++++++++--------------------- core/src/fpdftext/text_int.h | 3 +- core/src/fxcodec/codec/codec_int.h | 10 +- core/src/fxcodec/codec/fx_codec.cpp | 14 ++- core/src/fxcodec/codec/fx_codec_jpeg.cpp | 16 ++- core/src/fxcrt/extension.h | 2 +- core/src/fxcrt/fx_basic_buffer.cpp | 4 +- core/src/fxcrt/fx_extension.cpp | 7 +- core/src/fxcrt/fx_unicode.cpp | 6 +- core/src/fxge/dib/fx_dib_convert.cpp | 2 +- core/src/fxge/ge/fx_ge_font.cpp | 25 ++--- core/src/fxge/ge/fx_ge_fontmap.cpp | 9 +- 22 files changed, 201 insertions(+), 285 deletions(-) (limited to 'core') diff --git a/core/include/fpdfdoc/fpdf_doc.h b/core/include/fpdfdoc/fpdf_doc.h index 3f05fc9be9..7a81fd6b6f 100644 --- a/core/include/fpdfdoc/fpdf_doc.h +++ b/core/include/fpdfdoc/fpdf_doc.h @@ -831,8 +831,8 @@ class CPDF_FormField { int InsertOption(CFX_WideString csOptLabel, int index = -1, FX_BOOL bNotify = FALSE); +#endif // PDF_ENABLE_XFA -#endif FX_FLOAT GetFontSize() { return m_FontSize; } CPDF_Font* GetFont() { return m_pFont; } diff --git a/core/include/fxcodec/fx_codec.h b/core/include/fxcodec/fx_codec.h index 54d185a8ce..e7aeaf939b 100644 --- a/core/include/fxcodec/fx_codec.h +++ b/core/include/fxcodec/fx_codec.h @@ -7,42 +7,26 @@ #ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_H_ #define CORE_INCLUDE_FXCODEC_FX_CODEC_H_ -#ifdef PDF_ENABLE_XFA #include -#endif #include +#include "core/include/fxcodec/fx_codec_def.h" #include "core/include/fxcrt/fx_basic.h" -#include "fx_codec_def.h" +#include "core/include/fxcrt/fx_coordinates.h" // For FX_RECT. #include "third_party/base/nonstd_unique_ptr.h" -#ifdef PDF_ENABLE_XFA -#include "../fxcrt/fx_coordinates.h" // For FX_RECT. - -#endif class CFX_DIBSource; class CJPX_Decoder; class CPDF_PrivateData; class CPDF_StreamAcc; -#ifndef PDF_ENABLE_XFA -class ICodec_ScanlineDecoder; -#endif class ICodec_BasicModule; class ICodec_FaxModule; -#ifdef PDF_ENABLE_XFA class ICodec_FlateModule; class ICodec_IccModule; class ICodec_Jbig2Encoder; class ICodec_Jbig2Module; -#endif class ICodec_JpegModule; class ICodec_JpxModule; -#ifndef PDF_ENABLE_XFA -class ICodec_Jbig2Module; -class ICodec_IccModule; -class ICodec_FlateModule; -class ICodec_Jbig2Encoder; -#endif class ICodec_ScanlineDecoder; #ifdef PDF_ENABLE_XFA @@ -51,7 +35,9 @@ class ICodec_GifModule; class ICodec_PngModule; class ICodec_ProgressiveDecoder; class ICodec_TiffModule; +#endif // PDF_ENABLE_XFA +#ifdef PDF_ENABLE_XFA class CFX_DIBAttribute { public: CFX_DIBAttribute(); @@ -70,8 +56,8 @@ class CFX_DIBAttribute { int32_t m_nBmpCompressType; std::map m_Exif; }; +#endif // PDF_ENABLE_XFA -#endif class CCodec_ModuleMgr { public: CCodec_ModuleMgr(); @@ -90,8 +76,8 @@ class CCodec_ModuleMgr { ICodec_GifModule* GetGifModule() const { return m_pGifModule.get(); } ICodec_BmpModule* GetBmpModule() const { return m_pBmpModule.get(); } ICodec_TiffModule* GetTiffModule() const { return m_pTiffModule.get(); } +#endif // PDF_ENABLE_XFA -#endif protected: nonstd::unique_ptr m_pBasicModule; nonstd::unique_ptr m_pFaxModule; @@ -99,14 +85,13 @@ class CCodec_ModuleMgr { nonstd::unique_ptr m_pJpxModule; nonstd::unique_ptr m_pJbig2Module; nonstd::unique_ptr m_pIccModule; - nonstd::unique_ptr m_pFlateModule; #ifdef PDF_ENABLE_XFA - nonstd::unique_ptr m_pPngModule; nonstd::unique_ptr m_pGifModule; nonstd::unique_ptr m_pBmpModule; nonstd::unique_ptr m_pTiffModule; -#endif +#endif // PDF_ENABLE_XFA + nonstd::unique_ptr m_pFlateModule; }; class ICodec_BasicModule { public: @@ -247,15 +232,18 @@ class ICodec_JpegModule { const uint8_t* src_buf, FX_DWORD src_size) = 0; +#ifdef PDF_ENABLE_XFA virtual int ReadHeader(void* pContext, int* width, int* height, -#ifndef PDF_ENABLE_XFA - int* nComps) = 0; -#else int* nComps, CFX_DIBAttribute* pAttribute) = 0; -#endif +#else // PDF_ENABLE_XFA + virtual int ReadHeader(void* pContext, + int* width, + int* height, + int* nComps) = 0; +#endif // PDF_ENABLE_XFA virtual int StartScanline(void* pContext, int down_scale) = 0; @@ -465,7 +453,7 @@ class ICodec_ProgressiveDecoder { virtual FXCODEC_STATUS ContinueDecode(IFX_Pause* pPause = NULL) = 0; }; -#endif +#endif // PDF_ENABLE_XFA class ICodec_Jbig2Encoder { public: virtual ~ICodec_Jbig2Encoder() {} diff --git a/core/include/fxcodec/fx_codec_def.h b/core/include/fxcodec/fx_codec_def.h index 6dd4d0d309..99ccf15f0f 100644 --- a/core/include/fxcodec/fx_codec_def.h +++ b/core/include/fxcodec/fx_codec_def.h @@ -7,17 +7,6 @@ #ifndef CORE_INCLUDE_FXCODEC_FX_CODEC_DEF_H_ #define CORE_INCLUDE_FXCODEC_FX_CODEC_DEF_H_ -#ifdef PDF_ENABLE_XFA -enum FXCODEC_IMAGE_TYPE { - FXCODEC_IMAGE_UNKNOWN = 0, - FXCODEC_IMAGE_BMP, - FXCODEC_IMAGE_JPG, - FXCODEC_IMAGE_PNG, - FXCODEC_IMAGE_GIF, - FXCODEC_IMAGE_TIF, - FXCODEC_IMAGE_MAX -}; -#endif enum FXCODEC_STATUS { FXCODEC_STATUS_ERROR = -1, FXCODEC_STATUS_FRAME_READY, @@ -27,7 +16,7 @@ enum FXCODEC_STATUS { FXCODEC_STATUS_DECODE_FINISH, #ifdef PDF_ENABLE_XFA FXCODEC_STATUS_ERR_MEMORY, -#endif +#endif // PDF_ENABLE_XFA FXCODEC_STATUS_ERR_READ, FXCODEC_STATUS_ERR_FLUSH, FXCODEC_STATUS_ERR_FORMAT, @@ -73,13 +62,22 @@ enum FXCODEC_STATUS { #define Icc_PARAMTYPE_BUFFER 1 #define Icc_PARAMTYPE_PARAM 2 #ifdef PDF_ENABLE_XFA +enum FXCODEC_IMAGE_TYPE { + FXCODEC_IMAGE_UNKNOWN = 0, + FXCODEC_IMAGE_BMP, + FXCODEC_IMAGE_JPG, + FXCODEC_IMAGE_PNG, + FXCODEC_IMAGE_GIF, + FXCODEC_IMAGE_TIF, + FXCODEC_IMAGE_MAX +}; enum FXCODEC_RESUNIT { FXCODEC_RESUNIT_NONE = 0, FXCODEC_RESUNIT_INCH, FXCODEC_RESUNIT_CENTIMETER, FXCODEC_RESUNIT_METER }; -#endif +#endif // PDF_ENABLE_XFA #define EXIFTAG_USHORT_RESUNIT 296 #define EXIFTAG_FLOAT_DPIX 282 #define EXIFTAG_FLOAT_DPIY 283 diff --git a/core/include/fxcrt/fx_basic.h b/core/include/fxcrt/fx_basic.h index 710bbcc3c3..e35084c3e8 100644 --- a/core/include/fxcrt/fx_basic.h +++ b/core/include/fxcrt/fx_basic.h @@ -193,7 +193,7 @@ class CFX_ArchiveLoader { FX_DWORD m_LoadingSize; }; -#endif +#endif // PDF_ENABLE_XFA class IFX_BufferArchive { public: @@ -441,7 +441,7 @@ typedef CFX_ArrayTemplate CFX_FileSizeArray; #ifdef PDF_ENABLE_XFA typedef CFX_ArrayTemplate CFX_FloatArray; typedef CFX_ArrayTemplate CFX_Int32Array; -#endif +#endif // PDF_ENABLE_XFA template class CFX_ObjectArray : public CFX_BasicArray { @@ -728,9 +728,7 @@ class CFX_MapPtrTemplate : public CFX_MapPtrToPtr { FX_BOOL RemoveKey(KeyType key) { return CFX_MapPtrToPtr::RemoveKey((void*)(uintptr_t)key); } -#endif -#ifdef PDF_ENABLE_XFA void GetNextAssoc(FX_POSITION& rNextPosition, KeyType& rKey, ValueType& rValue) const { @@ -741,7 +739,7 @@ class CFX_MapPtrTemplate : public CFX_MapPtrToPtr { rValue = (ValueType)(uintptr_t)pValue; } }; -#endif +#endif // PDF_ENABLE_XFA class CFX_CMapByteStringToPtr { public: CFX_CMapByteStringToPtr(); @@ -1203,7 +1201,7 @@ class IFX_Unknown { virtual FX_DWORD AddRef() = 0; }; #define FX_IsOdd(a) ((a)&1) -#endif +#endif // PDF_ENABLE_XFA class CFX_Vector_3by1 { public: diff --git a/core/include/fxcrt/fx_ext.h b/core/include/fxcrt/fx_ext.h index 908d6c3fe5..48801bb196 100644 --- a/core/include/fxcrt/fx_ext.h +++ b/core/include/fxcrt/fx_ext.h @@ -10,10 +10,7 @@ #include #include -#ifdef PDF_ENABLE_XFA -#include "fx_string.h" -#endif -#include "fx_system.h" +#include "core/include/fxcrt/fx_basic.h" FX_FLOAT FXSYS_tan(FX_FLOAT a); FX_FLOAT FXSYS_logb(FX_FLOAT b, FX_FLOAT x); @@ -86,14 +83,12 @@ typedef struct FX_GUID { uint8_t data4[8]; } FX_GUID, *FX_LPGUID; typedef FX_GUID const* FX_LPCGUID; - void FX_GUID_CreateV4(FX_LPGUID pGUID); - void FX_GUID_ToString(FX_LPCGUID pGUID, CFX_ByteString& bsStr, FX_BOOL bSeparator = TRUE); +#endif // PDF_ENABLE_XFA -#endif template class CFX_SSortTemplate { public: diff --git a/core/include/fxcrt/fx_stream.h b/core/include/fxcrt/fx_stream.h index 300bfb1941..a5bec7f51b 100644 --- a/core/include/fxcrt/fx_stream.h +++ b/core/include/fxcrt/fx_stream.h @@ -137,8 +137,8 @@ class IFX_FileAccess { virtual IFX_FileStream* CreateFileStream(FX_DWORD dwModes) = 0; }; IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath); +#endif // PDF_ENABLE_XFA -#endif class IFX_MemoryStream : public IFX_FileStream { public: virtual FX_BOOL IsConsecutive() const = 0; diff --git a/core/include/fxcrt/fx_ucd.h b/core/include/fxcrt/fx_ucd.h index 852a893843..27812de13d 100644 --- a/core/include/fxcrt/fx_ucd.h +++ b/core/include/fxcrt/fx_ucd.h @@ -7,11 +7,44 @@ #ifndef CORE_INCLUDE_FXCRT_FX_UCD_H_ #define CORE_INCLUDE_FXCRT_FX_UCD_H_ -#ifndef PDF_ENABLE_XFA -#include "fx_system.h" -#else #include "fx_basic.h" -#endif + +#define FX_BIDICLASSBITS 6 +#define FX_BIDICLASSBITSMASK (31 << FX_BIDICLASSBITS) +enum FX_BIDICLASS { + FX_BIDICLASS_ON = 0, // Other Neutral + FX_BIDICLASS_L = 1, // Left Letter + FX_BIDICLASS_R = 2, // Right Letter + FX_BIDICLASS_AN = 3, // Arabic Number + FX_BIDICLASS_EN = 4, // European Number + FX_BIDICLASS_AL = 5, // Arabic Letter + FX_BIDICLASS_NSM = 6, // Non-spacing Mark + FX_BIDICLASS_CS = 7, // Common Number Separator + FX_BIDICLASS_ES = 8, // European Separator + FX_BIDICLASS_ET = 9, // European Number Terminator + FX_BIDICLASS_BN = 10, // Boundary Neutral + FX_BIDICLASS_S = 11, // Segment Separator + FX_BIDICLASS_WS = 12, // Whitespace + FX_BIDICLASS_B = 13, // Paragraph Separator + FX_BIDICLASS_RLO = 14, // Right-to-Left Override + FX_BIDICLASS_RLE = 15, // Right-to-Left Embedding + FX_BIDICLASS_LRO = 16, // Left-to-Right Override + FX_BIDICLASS_LRE = 17, // Left-to-Right Embedding + FX_BIDICLASS_PDF = 18, // Pop Directional Format + FX_BIDICLASS_N = FX_BIDICLASS_ON, +}; + +extern const FX_DWORD kTextLayoutCodeProperties[]; +extern const size_t kTextLayoutCodePropertiesSize; + +extern const FX_WCHAR kFXTextLayoutVerticalMirror[]; +extern const size_t kFXTextLayoutVerticalMirrorSize; + +extern const FX_WCHAR kFXTextLayoutBidiMirror[]; +extern const size_t kFXTextLayoutBidiMirrorSize; + +FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch); +FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical); #ifdef PDF_ENABLE_XFA enum FX_CHARBREAKPROP { @@ -55,42 +88,7 @@ enum FX_CHARBREAKPROP { FX_CBP_TB = 37, FX_CBP_NONE = 36, }; -#endif -#define FX_BIDICLASSBITS 6 -#define FX_BIDICLASSBITSMASK (31 << FX_BIDICLASSBITS) -enum FX_BIDICLASS { - FX_BIDICLASS_ON = 0, // Other Neutral - FX_BIDICLASS_L = 1, // Left Letter - FX_BIDICLASS_R = 2, // Right Letter - FX_BIDICLASS_AN = 3, // Arabic Number - FX_BIDICLASS_EN = 4, // European Number - FX_BIDICLASS_AL = 5, // Arabic Letter - FX_BIDICLASS_NSM = 6, // Non-spacing Mark - FX_BIDICLASS_CS = 7, // Common Number Separator - FX_BIDICLASS_ES = 8, // European Separator - FX_BIDICLASS_ET = 9, // European Number Terminator - FX_BIDICLASS_BN = 10, // Boundary Neutral - FX_BIDICLASS_S = 11, // Segment Separator - FX_BIDICLASS_WS = 12, // Whitespace - FX_BIDICLASS_B = 13, // Paragraph Separator - FX_BIDICLASS_RLO = 14, // Right-to-Left Override - FX_BIDICLASS_RLE = 15, // Right-to-Left Embedding - FX_BIDICLASS_LRO = 16, // Left-to-Right Override - FX_BIDICLASS_LRE = 17, // Left-to-Right Embedding - FX_BIDICLASS_PDF = 18, // Pop Directional Format - FX_BIDICLASS_N = FX_BIDICLASS_ON, -}; - -extern const FX_DWORD kTextLayoutCodeProperties[]; -extern const size_t kTextLayoutCodePropertiesSize; - -extern const FX_WCHAR kFXTextLayoutVerticalMirror[]; -extern const size_t kFXTextLayoutVerticalMirrorSize; -extern const FX_WCHAR kFXTextLayoutBidiMirror[]; -extern const size_t kFXTextLayoutBidiMirrorSize; - -#ifdef PDF_ENABLE_XFA #define FX_CHARTYPEBITS 11 #define FX_CHARTYPEBITSMASK (15 << FX_CHARTYPEBITS) enum FX_CHARTYPE { @@ -109,13 +107,7 @@ enum FX_CHARTYPE { FX_CHARTYPE_Arabic = (12 << FX_CHARTYPEBITS), }; -#endif -FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch); -#ifdef PDF_ENABLE_XFA FX_BOOL FX_IsCtrlCode(FX_WCHAR ch); -#endif -FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical); -#ifdef PDF_ENABLE_XFA FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_DWORD dwProps, FX_BOOL bRTL, @@ -194,6 +186,6 @@ class CFX_RTFChar : public CFX_Char { IFX_Unknown* m_pUserData; }; typedef CFX_ArrayTemplate CFX_RTFCharArray; -#endif +#endif // PDF_ENABLE_XFA #endif // CORE_INCLUDE_FXCRT_FX_UCD_H_ diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h index 5b31126b3e..0f35115eee 100644 --- a/core/include/fxge/fx_font.h +++ b/core/include/fxge/fx_font.h @@ -36,7 +36,7 @@ class IFX_SystemFontInfo; #define FXFONT_CIDFONT 0x100000 #ifdef PDF_ENABLE_XFA #define FXFONT_EXACTMATCH 0x80000000 -#endif +#endif // PDF_ENABLE_XFA #define FXFONT_ANSI_CHARSET 0 #define FXFONT_DEFAULT_CHARSET 1 #define FXFONT_SYMBOL_CHARSET 2 @@ -71,23 +71,21 @@ class CFX_Font { int CharsetCP, FX_BOOL bVertical = FALSE); FX_BOOL LoadEmbedded(const uint8_t* data, FX_DWORD size); -#ifdef PDF_ENABLE_XFA + FXFT_Face GetFace() const { return m_Face; } +#ifdef PDF_ENABLE_XFA FX_BOOL LoadFile(IFX_FileRead* pFile, int nFaceIndex = 0, int* pFaceCount = NULL); FX_BOOL LoadClone(const CFX_Font* pFont); - -#endif - FXFT_Face GetFace() const { return m_Face; } -#ifndef PDF_ENABLE_XFA - const CFX_SubstFont* GetSubstFont() const { return m_pSubstFont; } -#else CFX_SubstFont* GetSubstFont() const { return m_pSubstFont; } void SetFace(FXFT_Face face) { m_Face = face; } void SetSubstFont(CFX_SubstFont* subst) { m_pSubstFont = subst; } -#endif +#else // PDF_ENABLE_XFA + const CFX_SubstFont* GetSubstFont() const { return m_pSubstFont; } +#endif // PDF_ENABLE_XFA + CFX_PathData* LoadGlyphPath(FX_DWORD glyph_index, int dest_width = 0); int GetGlyphWidth(FX_DWORD glyph_index); int GetAscent() const; @@ -133,12 +131,12 @@ class CFX_Font { FX_BOOL m_bDwLoaded; FX_BOOL m_bEmbedded; FX_BOOL m_bVertical; -#ifdef PDF_ENABLE_XFA +#ifdef PDF_ENABLE_XFA protected: FX_BOOL m_bLogic; void* m_pOwnedStream; -#endif +#endif // PDF_ENABLE_XFA }; #define ENCODING_INTERNAL 0 @@ -162,8 +160,8 @@ class CFX_Font { #define FXFM_ENCODING_ADOBE_LATIN_1 FXFM_ENC_TAG('l', 'a', 't', '1') #define FXFM_ENCODING_OLD_LATIN_2 FXFM_ENC_TAG('l', 'a', 't', '2') #define FXFM_ENCODING_APPLE_ROMAN FXFM_ENC_TAG('a', 'r', 'm', 'n') +#endif // PDF_ENABLE_XFA -#endif class CFX_UnicodeEncoding { public: explicit CFX_UnicodeEncoding(CFX_Font* pFont); @@ -190,12 +188,11 @@ class CFX_UnicodeEncodingEx : public CFX_UnicodeEncoding { private: FX_DWORD m_nEncodingID; }; - CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx( CFX_Font* pFont, FX_DWORD nEncodingID = FXFM_ENCODING_NONE); +#endif // PDF_ENABLE_XFA -#endif #define FXFONT_SUBST_MM 0x01 #define FXFONT_SUBST_GLYPHPATH 0x04 #define FXFONT_SUBST_CLEARTYPE 0x08 @@ -327,7 +324,7 @@ class CFX_FontMapper { int weight, int italic_angle); FX_BOOL IsBuiltinFace(const FXFT_Face face) const; -#endif +#endif // PDF_ENABLE_XFA private: static const size_t MM_FACE_COUNT = 2; @@ -371,7 +368,7 @@ class IFX_SystemFontInfo { int pitch_family) { return NULL; } -#endif +#endif // PDF_ENABLE_XFA virtual void* GetFont(const FX_CHAR* face) = 0; virtual FX_DWORD GetFontData(void* hFont, FX_DWORD table, @@ -407,7 +404,7 @@ class CFX_FolderFontInfo : public IFX_SystemFontInfo { int weight, FX_BOOL bItalic, int pitch_family) override; -#endif +#endif // PDF_ENABLE_XFA void* GetFont(const FX_CHAR* face) override; FX_DWORD GetFontData(void* hFont, FX_DWORD table, diff --git a/core/src/fpdfdoc/doc_form.cpp b/core/src/fpdfdoc/doc_form.cpp index ffd6bf7955..c73b3e199e 100644 --- a/core/src/fpdfdoc/doc_form.cpp +++ b/core/src/fpdfdoc/doc_form.cpp @@ -385,8 +385,8 @@ static FX_BOOL RetrieveStockFont(int iFontObject, } return FALSE; } -#endif -#endif +#endif // PDF_ENABLE_XFA +#endif // _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ CPDF_Font* CPDF_InterForm::AddStandardFont(CPDF_Document* pDocument, CFX_ByteString csFontName) { diff --git a/core/src/fpdfdoc/doc_formfield.cpp b/core/src/fpdfdoc/doc_formfield.cpp index 6f90d7e396..c5d789a4e4 100644 --- a/core/src/fpdfdoc/doc_formfield.cpp +++ b/core/src/fpdfdoc/doc_formfield.cpp @@ -817,7 +817,7 @@ FX_BOOL CPDF_FormField::ClearOptions(FX_BOOL bNotify) { m_pForm->m_bUpdated = TRUE; return TRUE; } -#endif +#endif // PDF_ENABLE_XFA FX_BOOL CPDF_FormField::CheckControl(int iControlIndex, FX_BOOL bChecked, FX_BOOL bNotify) { diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp index c69ffc8ee8..ee768af3bc 100644 --- a/core/src/fpdftext/fpdf_text_int.cpp +++ b/core/src/fpdftext/fpdf_text_int.cpp @@ -1421,6 +1421,62 @@ void CPDF_TextPage::FindPreviousTextObject(void) { m_pPreTextObj = preChar.m_pTextObj; } } +void CPDF_TextPage::SwapTempTextBuf(int32_t iCharListStartAppend, + int32_t iBufStartAppend) { + int32_t i, j; + i = iCharListStartAppend; + j = m_TempCharList.GetSize() - 1; + for (; i < j; i++, j--) { + std::swap(m_TempCharList[i], m_TempCharList[j]); + std::swap(m_TempCharList[i].m_Index, m_TempCharList[j].m_Index); + } + FX_WCHAR* pTempBuffer = m_TempTextBuf.GetBuffer(); + i = iBufStartAppend; + j = m_TempTextBuf.GetLength() - 1; + for (; i < j; i++, j--) { + std::swap(pTempBuffer[i], pTempBuffer[j]); + } +} +FX_BOOL CPDF_TextPage::IsRightToLeft(const CPDF_TextObject* pTextObj, + const CPDF_Font* pFont, + int nItems) const { + nonstd::unique_ptr pBidiChar(new CFX_BidiChar); + int32_t nR2L = 0; + int32_t nL2R = 0; + int32_t start = 0, count = 0; + CPDF_TextObjectItem item; + for (int32_t i = 0; i < nItems; i++) { + pTextObj->GetItemInfo(i, &item); + if (item.m_CharCode == (FX_DWORD)-1) { + continue; + } + CFX_WideString wstrItem = pFont->UnicodeFromCharCode(item.m_CharCode); + FX_WCHAR wChar = wstrItem.GetAt(0); + if ((wstrItem.IsEmpty() || wChar == 0) && item.m_CharCode) { + wChar = (FX_WCHAR)item.m_CharCode; + } + if (!wChar) { + continue; + } + if (pBidiChar->AppendChar(wChar)) { + CFX_BidiChar::Direction ret = pBidiChar->GetBidiInfo(&start, &count); + if (ret == CFX_BidiChar::RIGHT) { + nR2L++; + } else if (ret == CFX_BidiChar::LEFT) { + nL2R++; + } + } + } + if (pBidiChar->EndChar()) { + CFX_BidiChar::Direction ret = pBidiChar->GetBidiInfo(&start, &count); + if (ret == CFX_BidiChar::RIGHT) { + nR2L++; + } else if (ret == CFX_BidiChar::LEFT) { + nL2R++; + } + } + return (nR2L > 0 && nR2L >= nL2R); +} void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) { CPDF_TextObject* pTextObj = Obj.m_pTextObj; if (FXSYS_fabs(pTextObj->m_Right - pTextObj->m_Left) < 0.01f) { @@ -1525,52 +1581,8 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) { int nItems = pTextObj->CountItems(); FX_FLOAT baseSpace = _CalculateBaseSpace(pTextObj, matrix); -#ifndef PDF_ENABLE_XFA const FX_BOOL bR2L = IsRightToLeft(pTextObj, pFont, nItems); const FX_BOOL bIsBidiAndMirrorInverse = -#else - FX_BOOL bIsBidiAndMirrosInverse = FALSE; - CFX_BidiChar* BidiChar = new CFX_BidiChar; - int32_t nR2L = 0; - int32_t nL2R = 0; - int32_t start = 0, count = 0; - CPDF_TextObjectItem item; - for (int32_t i = 0; i < nItems; i++) { - pTextObj->GetItemInfo(i, &item); - if (item.m_CharCode == (FX_DWORD)-1) { - continue; - } - CFX_WideString wstrItem = pFont->UnicodeFromCharCode(item.m_CharCode); - FX_WCHAR wChar = wstrItem.GetAt(0); - if ((wstrItem.IsEmpty() || wChar == 0) && item.m_CharCode) { - wChar = (FX_WCHAR)item.m_CharCode; - } - if (!wChar) { - continue; - } - if (BidiChar && BidiChar->AppendChar(wChar)) { - CFX_BidiChar::Direction ret = BidiChar->GetBidiInfo(&start, &count); - if (ret == CFX_BidiChar::RIGHT) { - nR2L++; - } else if (ret == CFX_BidiChar::LEFT) { - nL2R++; - } - } - } - if (BidiChar && BidiChar->EndChar()) { - CFX_BidiChar::Direction ret = BidiChar->GetBidiInfo(&start, &count); - if (ret == CFX_BidiChar::RIGHT) { - nR2L++; - } else if (ret == CFX_BidiChar::LEFT) { - nL2R++; - } - } - FX_BOOL bR2L = FALSE; - if (nR2L > 0 && nR2L >= nL2R) { - bR2L = TRUE; - } - bIsBidiAndMirrosInverse = -#endif bR2L && (matrix.a * matrix.d - matrix.b * matrix.c) < 0; int32_t iBufStartAppend = m_TempTextBuf.GetLength(); int32_t iCharListStartAppend = m_TempCharList.GetSize(); @@ -1729,86 +1741,10 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) { } } } -#ifndef PDF_ENABLE_XFA if (bIsBidiAndMirrorInverse) { SwapTempTextBuf(iCharListStartAppend, iBufStartAppend); } } -void CPDF_TextPage::SwapTempTextBuf(int32_t iCharListStartAppend, - int32_t iBufStartAppend) { - int32_t i, j; - i = iCharListStartAppend; - j = m_TempCharList.GetSize() - 1; - for (; i < j; i++, j--) { - std::swap(m_TempCharList[i], m_TempCharList[j]); - std::swap(m_TempCharList[i].m_Index, m_TempCharList[j].m_Index); - } - FX_WCHAR* pTempBuffer = m_TempTextBuf.GetBuffer(); - i = iBufStartAppend; - j = m_TempTextBuf.GetLength() - 1; - for (; i < j; i++, j--) { - std::swap(pTempBuffer[i], pTempBuffer[j]); - } -} -FX_BOOL CPDF_TextPage::IsRightToLeft(const CPDF_TextObject* pTextObj, - const CPDF_Font* pFont, - int nItems) const { - nonstd::unique_ptr pBidiChar(new CFX_BidiChar); - int32_t nR2L = 0; - int32_t nL2R = 0; - int32_t start = 0, count = 0; - CPDF_TextObjectItem item; - for (int32_t i = 0; i < nItems; i++) { - pTextObj->GetItemInfo(i, &item); - if (item.m_CharCode == (FX_DWORD)-1) { - continue; - } - CFX_WideString wstrItem = pFont->UnicodeFromCharCode(item.m_CharCode); - FX_WCHAR wChar = wstrItem.GetAt(0); - if ((wstrItem.IsEmpty() || wChar == 0) && item.m_CharCode) { - wChar = (FX_WCHAR)item.m_CharCode; -#else - if (bIsBidiAndMirrosInverse) { - int32_t i, j; - i = iCharListStartAppend; - j = m_TempCharList.GetSize() - 1; - for (; i < j; i++, j--) { - std::swap(m_TempCharList[i], m_TempCharList[j]); - std::swap(m_TempCharList[i].m_Index, m_TempCharList[j].m_Index); -#endif - } -#ifndef PDF_ENABLE_XFA - if (!wChar) { - continue; - } - if (pBidiChar->AppendChar(wChar)) { - CFX_BidiChar::Direction ret = pBidiChar->GetBidiInfo(&start, &count); - if (ret == CFX_BidiChar::RIGHT) { - nR2L++; - } else if (ret == CFX_BidiChar::LEFT) { - nL2R++; - } - } - } - if (pBidiChar->EndChar()) { - CFX_BidiChar::Direction ret = pBidiChar->GetBidiInfo(&start, &count); - if (ret == CFX_BidiChar::RIGHT) { - nR2L++; - } else if (ret == CFX_BidiChar::LEFT) { - nL2R++; -#else - FX_WCHAR* pTempBuffer = m_TempTextBuf.GetBuffer(); - i = iBufStartAppend; - j = m_TempTextBuf.GetLength() - 1; - for (; i < j; i++, j--) { - std::swap(pTempBuffer[i], pTempBuffer[j]); -#endif - } - } -#ifndef PDF_ENABLE_XFA - return (nR2L > 0 && nR2L >= nL2R); -#endif -} int32_t CPDF_TextPage::GetTextObjectWritingMode( const CPDF_TextObject* pTextObj) { int32_t nChars = pTextObj->CountChars(); diff --git a/core/src/fpdftext/text_int.h b/core/src/fpdftext/text_int.h index d8e79b9610..e68ead7741 100644 --- a/core/src/fpdftext/text_int.h +++ b/core/src/fpdftext/text_int.h @@ -125,12 +125,11 @@ class CPDF_TextPage : public IPDF_TextPage { void AddCharInfoByRLDirection(CFX_WideString& str, int i); int32_t GetTextObjectWritingMode(const CPDF_TextObject* pTextObj); int32_t FindTextlineFlowDirection(); -#ifndef PDF_ENABLE_XFA + void SwapTempTextBuf(int32_t iCharListStartAppend, int32_t iBufStartAppend); FX_BOOL IsRightToLeft(const CPDF_TextObject* pTextObj, const CPDF_Font* pFont, int nItems) const; -#endif CPDFText_ParseOptions m_ParseOptions; CFX_WordArray m_CharIndex; diff --git a/core/src/fxcodec/codec/codec_int.h b/core/src/fxcodec/codec/codec_int.h index 5abe2e4a6a..7d440d0b61 100644 --- a/core/src/fxcodec/codec/codec_int.h +++ b/core/src/fxcodec/codec/codec_int.h @@ -189,17 +189,18 @@ class CCodec_JpegModule : public ICodec_JpegModule { FX_DWORD src_size) override; #ifndef PDF_ENABLE_XFA int ReadHeader(void* pContext, int* width, int* height, int* nComps) override; -#else +#else // PDF_ENABLE_XFA int ReadHeader(void* pContext, int* width, int* height, int* nComps, CFX_DIBAttribute* pAttribute) override; -#endif +#endif // PDF_ENABLE_XFA int StartScanline(void* pContext, int down_scale) override; FX_BOOL ReadScanline(void* pContext, uint8_t* dest_buf) override; FX_DWORD GetAvailInput(void* pContext, uint8_t** avail_buf_ptr) override; }; + #ifdef PDF_ENABLE_XFA #define PNG_ERROR_SIZE 256 class CCodec_PngModule : public ICodec_PngModule { @@ -263,7 +264,8 @@ class CCodec_BmpModule : public ICodec_BmpModule { protected: FX_CHAR m_szLastError[256]; }; -#endif +#endif // PDF_ENABLE_XFA + class CCodec_IccModule : public ICodec_IccModule { public: ~CCodec_IccModule() override; @@ -361,8 +363,8 @@ class CCodec_TiffModule : public ICodec_TiffModule { protected: ~CCodec_TiffModule() override {} }; +#endif // PDF_ENABLE_XFA -#endif class CCodec_Jbig2Context { public: CCodec_Jbig2Context(); diff --git a/core/src/fxcodec/codec/fx_codec.cpp b/core/src/fxcodec/codec/fx_codec.cpp index fb98fee3c5..a52dd8a496 100644 --- a/core/src/fxcodec/codec/fx_codec.cpp +++ b/core/src/fxcodec/codec/fx_codec.cpp @@ -21,17 +21,14 @@ CCodec_ModuleMgr::CCodec_ModuleMgr() m_pJpxModule(new CCodec_JpxModule), m_pJbig2Module(new CCodec_Jbig2Module), m_pIccModule(new CCodec_IccModule), -#ifndef PDF_ENABLE_XFA - m_pFlateModule(new CCodec_FlateModule) { -} -#else - m_pFlateModule(new CCodec_FlateModule), +#ifdef PDF_ENABLE_XFA m_pPngModule(new CCodec_PngModule), m_pGifModule(new CCodec_GifModule), m_pBmpModule(new CCodec_BmpModule), - m_pTiffModule(new CCodec_TiffModule) { + m_pTiffModule(new CCodec_TiffModule), +#endif // PDF_ENABLE_XFA + m_pFlateModule(new CCodec_FlateModule) { } -#endif CCodec_ScanlineDecoder::ImageDataCache::ImageDataCache(int width, int height, @@ -267,6 +264,7 @@ FX_BOOL CCodec_BasicModule::A85Encode(const uint8_t* src_buf, FX_DWORD& dest_size) { return FALSE; } + #ifdef PDF_ENABLE_XFA CFX_DIBAttribute::CFX_DIBAttribute() : m_nXDPI(-1), @@ -284,8 +282,8 @@ CFX_DIBAttribute::~CFX_DIBAttribute() { for (const auto& pair : m_Exif) FX_Free(pair.second); } +#endif // PDF_ENABLE_XFA -#endif class CCodec_RLScanlineDecoder : public CCodec_ScanlineDecoder { public: CCodec_RLScanlineDecoder(); diff --git a/core/src/fxcodec/codec/fx_codec_jpeg.cpp b/core/src/fxcodec/codec/fx_codec_jpeg.cpp index b5eb4b2692..1276219123 100644 --- a/core/src/fxcodec/codec/fx_codec_jpeg.cpp +++ b/core/src/fxcodec/codec/fx_codec_jpeg.cpp @@ -230,6 +230,7 @@ static void _JpegEncode(const CFX_DIBSource* pSource, FX_Free(line_buf); dest_size = dest_buf_length - (FX_STRSIZE)dest.free_in_buffer; } + #ifdef PDF_ENABLE_XFA static void _JpegLoadAttribute(struct jpeg_decompress_struct* pInfo, CFX_DIBAttribute* pAttribute) { @@ -242,7 +243,8 @@ static void _JpegLoadAttribute(struct jpeg_decompress_struct* pInfo, pAttribute->m_wDPIUnit = pInfo->density_unit; } } -#endif +#endif // PDF_ENABLE_XFA + static FX_BOOL _JpegLoadInfo(const uint8_t* src_buf, FX_DWORD src_size, int& width, @@ -629,15 +631,19 @@ void CCodec_JpegModule::Input(void* pContext, p->m_SrcMgr.next_input_byte = src_buf; p->m_SrcMgr.bytes_in_buffer = src_size; } + +#ifdef PDF_ENABLE_XFA int CCodec_JpegModule::ReadHeader(void* pContext, int* width, int* height, -#ifndef PDF_ENABLE_XFA - int* nComps) { -#else int* nComps, CFX_DIBAttribute* pAttribute) { -#endif +#else // PDF_ENABLE_XFA +int CCodec_JpegModule::ReadHeader(void* pContext, + int* width, + int* height, + int* nComps) { +#endif // PDF_ENABLE_XFA FXJPEG_Context* p = (FXJPEG_Context*)pContext; if (setjmp(p->m_JumpMark) == -1) { return 1; diff --git a/core/src/fxcrt/extension.h b/core/src/fxcrt/extension.h index 42cebdf605..0c9f4573df 100644 --- a/core/src/fxcrt/extension.h +++ b/core/src/fxcrt/extension.h @@ -63,8 +63,8 @@ class CFX_CRTFileAccess : public IFX_FileAccess { CFX_WideString m_path; FX_DWORD m_RefCount; }; +#endif // PDF_ENABLE_XFA -#endif class CFX_CRTFileStream final : public IFX_FileStream { public: CFX_CRTFileStream(IFXCRT_FileAccess* pFA) : m_pFile(pFA), m_dwCount(1) {} diff --git a/core/src/fxcrt/fx_basic_buffer.cpp b/core/src/fxcrt/fx_basic_buffer.cpp index 77af01202b..cc72e471f1 100644 --- a/core/src/fxcrt/fx_basic_buffer.cpp +++ b/core/src/fxcrt/fx_basic_buffer.cpp @@ -207,6 +207,7 @@ CFX_WideStringC CFX_WideTextBuf::GetWideString() const { return CFX_WideStringC((const FX_WCHAR*)m_pBuffer, m_DataSize / sizeof(FX_WCHAR)); } + #ifdef PDF_ENABLE_XFA CFX_ArchiveSaver& CFX_ArchiveSaver::operator<<(uint8_t i) { if (m_pStream) { @@ -332,7 +333,8 @@ FX_BOOL CFX_ArchiveLoader::Read(void* pBuf, FX_DWORD dwSize) { m_LoadingPos += dwSize; return TRUE; } -#endif +#endif // PDF_ENABLE_XFA + void CFX_BitStream::Init(const uint8_t* pData, FX_DWORD dwSize) { m_pData = pData; m_BitSize = dwSize * 8; diff --git a/core/src/fxcrt/fx_extension.cpp b/core/src/fxcrt/fx_extension.cpp index c796a57102..84186fb769 100644 --- a/core/src/fxcrt/fx_extension.cpp +++ b/core/src/fxcrt/fx_extension.cpp @@ -27,7 +27,8 @@ IFX_FileAccess* FX_CreateDefaultFileAccess(const CFX_WideStringC& wsPath) { pFA->Init(wsPath); return pFA; } -#endif +#endif // PDF_ENABLE_XFA + IFX_FileStream* FX_CreateFileStream(const FX_CHAR* filename, FX_DWORD dwModes) { IFXCRT_FileAccess* pFA = FXCRT_FileAccess_Create(); if (!pFA) { @@ -305,8 +306,8 @@ void FX_Random_GenerateCrypto(FX_DWORD* pBuffer, int32_t iCount) { FX_Random_GenerateBase(pBuffer, iCount); #endif } -#ifdef PDF_ENABLE_XFA +#ifdef PDF_ENABLE_XFA void FX_GUID_CreateV4(FX_LPGUID pGUID) { #if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN32_MOBILE_ || \ _FX_OS_ == _FX_WIN64_) @@ -339,4 +340,4 @@ void FX_GUID_ToString(FX_LPCGUID pGUID, } bsStr.ReleaseBuffer(bSeparator ? 36 : 32); } -#endif +#endif // PDF_ENABLE_XFA diff --git a/core/src/fxcrt/fx_unicode.cpp b/core/src/fxcrt/fx_unicode.cpp index fe97a14f46..140bab0b27 100644 --- a/core/src/fxcrt/fx_unicode.cpp +++ b/core/src/fxcrt/fx_unicode.cpp @@ -18,8 +18,8 @@ FX_BOOL FX_IsCtrlCode(FX_WCHAR ch) { FX_DWORD dwRet = (FX_GetUnicodeProperties(ch) & FX_CHARTYPEBITSMASK); return dwRet == FX_CHARTYPE_Tab || dwRet == FX_CHARTYPE_Control; } +#endif // PDF_ENABLE_XFA -#endif FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical) { FX_DWORD dwProps = FX_GetUnicodeProperties(wch); FX_DWORD dwTemp = (dwProps & 0xFF800000); @@ -40,8 +40,8 @@ FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical) { } return wch; } -#ifdef PDF_ENABLE_XFA +#ifdef PDF_ENABLE_XFA FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_DWORD dwProps, FX_BOOL bRTL, @@ -64,4 +64,4 @@ FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, } return wch; } -#endif +#endif // PDF_ENABLE_XFA diff --git a/core/src/fxge/dib/fx_dib_convert.cpp b/core/src/fxge/dib/fx_dib_convert.cpp index 80483f07d3..2c310f3cea 100644 --- a/core/src/fxge/dib/fx_dib_convert.cpp +++ b/core/src/fxge/dib/fx_dib_convert.cpp @@ -622,7 +622,7 @@ FX_BOOL _ConvertBuffer_Rgb2PltRgb8(uint8_t* dest_buf, if (pIccTransform) { pIccModule = CFX_GEModule::Get()->GetCodecModule()->GetIccModule(); } -#endif +#endif // PDF_ENABLE_XFA FX_BOOL ret = _ConvertBuffer_Rgb2PltRgb8_NoTransform( dest_buf, dest_pitch, width, height, pSrcBitmap, src_left, src_top, dst_plt); diff --git a/core/src/fxge/ge/fx_ge_font.cpp b/core/src/fxge/ge/fx_ge_font.cpp index ffd7b77fb4..e8c592e463 100644 --- a/core/src/fxge/ge/fx_ge_font.cpp +++ b/core/src/fxge/ge/fx_ge_font.cpp @@ -14,8 +14,8 @@ extern void _FPDFAPI_GetInternalFontData(int id1, const uint8_t*& data, FX_DWORD& size); +#endif // PDF_ENABLE_XFA -#endif namespace { #ifdef PDF_ENABLE_XFA @@ -41,8 +41,8 @@ CFX_UnicodeEncodingEx* _FXFM_CreateFontEncoding(CFX_Font* pFont, return nullptr; return new CFX_UnicodeEncodingEx(pFont, nEncodingID); } +#endif // PDF_ENABLE_XFA -#endif FXFT_Face FT_LoadFont(const uint8_t* pData, int size) { return CFX_GEModule::Get()->GetFontMgr()->GetFixedFace(pData, size, 0); } @@ -57,9 +57,6 @@ CFX_Font::CFX_Font() { m_pFontData = NULL; m_pFontDataAllocation = NULL; m_dwSize = 0; -#ifdef PDF_ENABLE_XFA - m_pOwnedStream = NULL; -#endif m_pGsubData = NULL; m_pPlatformFont = NULL; m_pPlatformFontCollection = NULL; @@ -68,7 +65,11 @@ CFX_Font::CFX_Font() { m_bDwLoaded = FALSE; #ifdef PDF_ENABLE_XFA m_bLogic = FALSE; + m_pOwnedStream = NULL; +#endif // PDF_ENABLE_XFA } + +#ifdef PDF_ENABLE_XFA FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) { if (pFont == NULL) { return FALSE; @@ -100,7 +101,7 @@ FX_BOOL CFX_Font::LoadClone(const CFX_Font* pFont) { m_bDwLoaded = pFont->m_bDwLoaded; m_pOwnedStream = pFont->m_pOwnedStream; return TRUE; -#endif +#endif // PDF_ENABLE_XFA } CFX_Font::~CFX_Font() { delete m_pSubstFont; @@ -113,13 +114,13 @@ CFX_Font::~CFX_Font() { m_OtfFontData.DetachBuffer(); return; } -#endif +#endif // PDF_ENABLE_XFA if (m_Face) { #ifndef PDF_ENABLE_XFA if (FXFT_Get_Face_External_Stream(m_Face)) { FXFT_Clear_Face_External_Stream(m_Face); } -#endif +#endif // PDF_ENABLE_XFA if (m_bEmbedded) { DeleteFace(); } else { @@ -129,7 +130,7 @@ CFX_Font::~CFX_Font() { #ifdef PDF_ENABLE_XFA FX_Free(m_pOwnedStream); m_pOwnedStream = NULL; -#endif +#endif // PDF_ENABLE_XFA FX_Free(m_pGsubData); m_pGsubData = NULL; #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ @@ -226,7 +227,7 @@ FX_BOOL CFX_Font::LoadFile(IFX_FileRead* pFile, FXFT_Set_Pixel_Sizes(m_Face, 0, 64); return TRUE; } -#endif +#endif // PDF_ENABLE_XFA int CFX_Font::GetGlyphWidth(FX_DWORD glyph_index) { if (!m_Face) { @@ -482,8 +483,8 @@ FX_DWORD CFX_UnicodeEncoding::GlyphFromCharCode(FX_DWORD charcode) { } return charcode; } -#ifdef PDF_ENABLE_XFA +#ifdef PDF_ENABLE_XFA CFX_UnicodeEncodingEx::CFX_UnicodeEncodingEx(CFX_Font* pFont, FX_DWORD EncodingID) : CFX_UnicodeEncoding(pFont), m_nEncodingID(EncodingID) { @@ -555,4 +556,4 @@ CFX_UnicodeEncodingEx* FX_CreateFontEncodingEx(CFX_Font* pFont, } return NULL; } -#endif +#endif // PDF_ENABLE_XFA diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp index 6b0d7bf7e8..73f89c4c05 100644 --- a/core/src/fxge/ge/fx_ge_fontmap.cpp +++ b/core/src/fxge/ge/fx_ge_fontmap.cpp @@ -1087,7 +1087,7 @@ FXFT_Face CFX_FontMapper::FindSubstFont(const CFX_ByteString& name, if (flags & FXFONT_EXACTMATCH) { return NULL; } -#endif +#endif // PDF_ENABLE_XFA if (bCJK) { if (italic_angle != 0) { bItalic = TRUE; @@ -1296,7 +1296,8 @@ FX_BOOL CFX_FontMapper::IsBuiltinFace(const FXFT_Face face) const { } return FALSE; } -#endif +#endif // PDF_ENABLE_XFA + extern "C" { unsigned long _FTStreamRead(FXFT_Stream stream, unsigned long offset, @@ -1518,6 +1519,7 @@ void* CFX_FolderFontInfo::MapFont(int weight, int& iExact) { return NULL; } + #ifdef PDF_ENABLE_XFA void* CFX_FolderFontInfo::MapFontByUnicode(FX_DWORD dwUnicode, int weight, @@ -1525,7 +1527,8 @@ void* CFX_FolderFontInfo::MapFontByUnicode(FX_DWORD dwUnicode, int pitch_family) { return NULL; } -#endif +#endif // PDF_ENABLE_XFA + void* CFX_FolderFontInfo::GetFont(const FX_CHAR* face) { auto it = m_FontList.find(face); return it != m_FontList.end() ? it->second : nullptr; -- cgit v1.2.3