Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2042)

Side by Side Diff: fpdfsdk/include/pdfwindow/PWL_FontMap.h

Issue 1823153002: Move the fpdfsdk/include/pdfwindow/ headers into fpdfsdk/pdfwindow. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/include/pdfwindow/PWL_EditCtrl.h ('k') | fpdfsdk/include/pdfwindow/PWL_Icon.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_FONTMAP_H_
8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_FONTMAP_H_
9
10 #include "fpdfsdk/include/fxedit/fx_edit.h"
11 #include "public/fpdf_sysfontinfo.h"
12
13 class CPDF_Document;
14 class IFX_SystemHandler;
15
16 struct CPWL_FontMap_Data {
17 CPDF_Font* pFont;
18 int32_t nCharset;
19 CFX_ByteString sFontName;
20 };
21
22 struct CPWL_FontMap_Native {
23 int32_t nCharset;
24 CFX_ByteString sFontName;
25 };
26
27 #ifndef ANSI_CHARSET
28
29 #define ANSI_CHARSET 0
30 #define DEFAULT_CHARSET 1
31 #define SYMBOL_CHARSET 2
32 #define SHIFTJIS_CHARSET 128
33 #define HANGEUL_CHARSET 129
34 #define HANGUL_CHARSET 129
35 #define GB2312_CHARSET 134
36 #define CHINESEBIG5_CHARSET 136
37 #define OEM_CHARSET 255
38 #define JOHAB_CHARSET 130
39 #define HEBREW_CHARSET 177
40 #define ARABIC_CHARSET 178
41 #define GREEK_CHARSET 161
42 #define TURKISH_CHARSET 162
43 #define VIETNAMESE_CHARSET 163
44 #define THAI_CHARSET 222
45 #define EASTEUROPE_CHARSET 238
46 #define RUSSIAN_CHARSET 204
47 #define BALTIC_CHARSET 186
48
49 #endif
50
51 class CPWL_FontMap : public IFX_Edit_FontMap {
52 public:
53 CPWL_FontMap(IFX_SystemHandler* pSystemHandler);
54 ~CPWL_FontMap() override;
55
56 // IFX_Edit_FontMap
57 CPDF_Font* GetPDFFont(int32_t nFontIndex) override;
58 CFX_ByteString GetPDFFontAlias(int32_t nFontIndex) override;
59 int32_t GetWordFontIndex(uint16_t word,
60 int32_t nCharset,
61 int32_t nFontIndex) override;
62 int32_t CharCodeFromUnicode(int32_t nFontIndex, uint16_t word) override;
63 int32_t CharSetFromUnicode(uint16_t word, int32_t nOldCharset) override;
64
65 void SetSystemHandler(IFX_SystemHandler* pSystemHandler);
66 int32_t GetFontMapCount() const;
67 const CPWL_FontMap_Data* GetFontMapData(int32_t nIndex) const;
68 static int32_t GetNativeCharset();
69 CFX_ByteString GetNativeFontName(int32_t nCharset);
70
71 static CFX_ByteString GetDefaultFontByCharset(int32_t nCharset);
72
73 CPDF_Font* AddFontToDocument(CPDF_Document* pDoc,
74 CFX_ByteString& sFontName,
75 uint8_t nCharset);
76 static FX_BOOL IsStandardFont(const CFX_ByteString& sFontName);
77 CPDF_Font* AddStandardFont(CPDF_Document* pDoc, CFX_ByteString& sFontName);
78 CPDF_Font* AddSystemFont(CPDF_Document* pDoc,
79 CFX_ByteString& sFontName,
80 uint8_t nCharset);
81
82 protected:
83 virtual void Initialize();
84 virtual CPDF_Document* GetDocument();
85 virtual CPDF_Font* FindFontSameCharset(CFX_ByteString& sFontAlias,
86 int32_t nCharset);
87 virtual void AddedFont(CPDF_Font* pFont, const CFX_ByteString& sFontAlias);
88
89 FX_BOOL KnowWord(int32_t nFontIndex, uint16_t word);
90
91 void Empty();
92 int32_t GetFontIndex(const CFX_ByteString& sFontName,
93 int32_t nCharset,
94 FX_BOOL bFind);
95 int32_t GetPWLFontIndex(uint16_t word, int32_t nCharset);
96 int32_t AddFontData(CPDF_Font* pFont,
97 const CFX_ByteString& sFontAlias,
98 int32_t nCharset = DEFAULT_CHARSET);
99
100 CFX_ByteString EncodeFontAlias(const CFX_ByteString& sFontName,
101 int32_t nCharset);
102 CFX_ByteString EncodeFontAlias(const CFX_ByteString& sFontName);
103
104 private:
105 CFX_ByteString GetFontName(int32_t nFontIndex);
106 int32_t FindFont(const CFX_ByteString& sFontName,
107 int32_t nCharset = DEFAULT_CHARSET);
108
109 CFX_ByteString GetNativeFont(int32_t nCharset);
110
111 public:
112 using CharsetFontMap = FPDF_CharsetFontMap;
113 static const CharsetFontMap defaultTTFMap[];
114
115 protected:
116 CFX_ArrayTemplate<CPWL_FontMap_Data*> m_aData;
117 CFX_ArrayTemplate<CPWL_FontMap_Native*> m_aNativeFont;
118
119 private:
120 CPDF_Document* m_pPDFDoc;
121 IFX_SystemHandler* m_pSystemHandler;
122 };
123
124 class CPWL_DocFontMap : public CPWL_FontMap {
125 public:
126 CPWL_DocFontMap(IFX_SystemHandler* pSystemHandler,
127 CPDF_Document* pAttachedDoc);
128 ~CPWL_DocFontMap() override;
129
130 private:
131 // CPWL_FontMap:
132 CPDF_Document* GetDocument() override;
133
134 CPDF_Document* m_pAttachedDoc;
135 };
136
137 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_FONTMAP_H_
OLDNEW
« no previous file with comments | « fpdfsdk/include/pdfwindow/PWL_EditCtrl.h ('k') | fpdfsdk/include/pdfwindow/PWL_Icon.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698