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

Side by Side Diff: experimental/PdfViewer/autogen/SkPdfType0FontDictionary_autogen.h

Issue 17856004: refactoring for pdf viewer lib (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 6 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 | Annotate | Revision Log
OLDNEW
1 #ifndef __DEFINED__SkPdfType0FontDictionary 1 #ifndef __DEFINED__SkPdfType0FontDictionary
2 #define __DEFINED__SkPdfType0FontDictionary 2 #define __DEFINED__SkPdfType0FontDictionary
3 3
4 #include "SkPdfUtils.h" 4 #include "SkPdfUtils.h"
5 #include "SkPdfEnums_autogen.h" 5 #include "SkPdfEnums_autogen.h"
6 #include "SkPdfArray_autogen.h" 6 #include "SkPdfArray_autogen.h"
7 #include "SkPdfFontDictionary_autogen.h" 7 #include "SkPdfFontDictionary_autogen.h"
8 8
9 // Entries in a Type 0 font dictionary 9 // Entries in a Type 0 font dictionary
10 class SkPdfType0FontDictionary : public SkPdfFontDictionary { 10 class SkPdfType0FontDictionary : public SkPdfFontDictionary {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 SkPdfType0FontDictionary& operator=(const SkPdfType0FontDictionary& from) {thi s->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *thi s;} 43 SkPdfType0FontDictionary& operator=(const SkPdfType0FontDictionary& from) {thi s->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *thi s;}
44 44
45 /** (Required) The type of PDF object that this dictionary describes; must be 45 /** (Required) The type of PDF object that this dictionary describes; must be
46 * Font for a font dictionary. 46 * Font for a font dictionary.
47 **/ 47 **/
48 bool has_Type() const { 48 bool has_Type() const {
49 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type" , "", NULL)); 49 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type" , "", NULL));
50 } 50 }
51 51
52 std::string Type() const { 52 std::string Type() const;
53 std::string ret;
54 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type", "", &ret)) return ret;
55 // TODO(edisonn): warn about missing required field, assert for known good p dfs
56 return "";
57 }
58
59 /** (Required) The type of font; must be Type0 for a Type 0 font. 53 /** (Required) The type of font; must be Type0 for a Type 0 font.
60 **/ 54 **/
61 bool has_Subtype() const { 55 bool has_Subtype() const {
62 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subty pe", "", NULL)); 56 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subty pe", "", NULL));
63 } 57 }
64 58
65 std::string Subtype() const { 59 std::string Subtype() const;
66 std::string ret;
67 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subtype", " ", &ret)) return ret;
68 // TODO(edisonn): warn about missing required field, assert for known good p dfs
69 return "";
70 }
71
72 /** (Required) The PostScript name of the font. In principle, this is an arbitra ry 60 /** (Required) The PostScript name of the font. In principle, this is an arbitra ry
73 * name, since there is no font program associated directly with a Type 0 font 61 * name, since there is no font program associated directly with a Type 0 font
74 * dictionary. The conventions described here ensure maximum compatibility 62 * dictionary. The conventions described here ensure maximum compatibility
75 * with existing Acrobat products. 63 * with existing Acrobat products.
76 * If the descendant is a Type 0 CIDFont, this name should be the concatenation 64 * If the descendant is a Type 0 CIDFont, this name should be the concatenation
77 * of the CIDFont's BaseFont name, a hyphen, and the CMap name given in the 65 * of the CIDFont's BaseFont name, a hyphen, and the CMap name given in the
78 * Encoding entry (or the CMapName entry in the CMap program itself). If the 66 * Encoding entry (or the CMapName entry in the CMap program itself). If the
79 * descendant is a Type 2 CIDFont, this name should be the same as the 67 * descendant is a Type 2 CIDFont, this name should be the same as the
80 * CIDFont's BaseFont name. 68 * CIDFont's BaseFont name.
81 **/ 69 **/
82 bool has_BaseFont() const { 70 bool has_BaseFont() const {
83 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseF ont", "", NULL)); 71 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseF ont", "", NULL));
84 } 72 }
85 73
86 std::string BaseFont() const { 74 std::string BaseFont() const;
87 std::string ret;
88 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "BaseFont", "", &ret)) return ret;
89 // TODO(edisonn): warn about missing required field, assert for known good p dfs
90 return "";
91 }
92
93 /** (Required) The name of a predefined CMap, or a stream containing a CMap 75 /** (Required) The name of a predefined CMap, or a stream containing a CMap
94 * program, that maps character codes to font numbers and CIDs. If the descen- 76 * program, that maps character codes to font numbers and CIDs. If the descen-
95 * dant is a Type 2 CIDFont whose associated TrueType font program is not em- 77 * dant is a Type 2 CIDFont whose associated TrueType font program is not em-
96 * bedded in the PDF file, the Encoding entry must be a predefined CMap name 78 * bedded in the PDF file, the Encoding entry must be a predefined CMap name
97 * (see "Glyph Selection in CIDFonts" on page 339). 79 * (see "Glyph Selection in CIDFonts" on page 339).
98 **/ 80 **/
99 bool has_Encoding() const { 81 bool has_Encoding() const {
100 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encod ing", "", NULL)); 82 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encod ing", "", NULL));
101 } 83 }
102 84
103 bool isEncodingAName() const { 85 bool isEncodingAName() const {
104 SkPdfObject* ret = NULL; 86 SkPdfObject* ret = NULL;
105 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding ", "", &ret)) return false; 87 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding ", "", &ret)) return false;
106 return ret->podofo()->GetDataType() == ePdfDataType_Name; 88 return ret->podofo()->GetDataType() == ePdfDataType_Name;
107 } 89 }
108 90
109 std::string getEncodingAsName() const { 91 std::string getEncodingAsName() const;
110 std::string ret = "";
111 if (NameFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding", "", &ret)) return ret;
112 // TODO(edisonn): warn about missing required field, assert for known good p dfs
113 return "";
114 }
115
116 bool isEncodingAStream() const { 92 bool isEncodingAStream() const {
117 SkPdfObject* ret = NULL; 93 SkPdfObject* ret = NULL;
118 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding ", "", &ret)) return false; 94 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding ", "", &ret)) return false;
119 return ret->podofo()->HasStream(); 95 return ret->podofo()->HasStream();
120 } 96 }
121 97
122 SkPdfStream* getEncodingAsStream() const { 98 SkPdfStream* getEncodingAsStream() const;
123 SkPdfStream* ret = NULL;
124 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding" , "", &ret)) return ret;
125 // TODO(edisonn): warn about missing required field, assert for known good p dfs
126 return NULL;
127 }
128
129 /** (Required) An array specifying one or more fonts or CIDFonts that are 99 /** (Required) An array specifying one or more fonts or CIDFonts that are
130 * descendants of this composite font. This array is indexed by the font number 100 * descendants of this composite font. This array is indexed by the font number
131 * that is obtained by mapping a character code through the CMap specified in 101 * that is obtained by mapping a character code through the CMap specified in
132 * the Encoding entry. 102 * the Encoding entry.
133 * Note: In all PDF versions up to and including PDF 1.4, DescendantFonts must 103 * Note: In all PDF versions up to and including PDF 1.4, DescendantFonts must
134 * be a one-element array containing a CIDFont dictionary. 104 * be a one-element array containing a CIDFont dictionary.
135 **/ 105 **/
136 bool has_DescendantFonts() const { 106 bool has_DescendantFonts() const {
137 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Desce ndantFonts", "", NULL)); 107 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Desce ndantFonts", "", NULL));
138 } 108 }
139 109
140 SkPdfArray* DescendantFonts() const { 110 SkPdfArray* DescendantFonts() const;
141 SkPdfArray* ret;
142 if (ArrayFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Descendant Fonts", "", &ret)) return ret;
143 // TODO(edisonn): warn about missing required field, assert for known good p dfs
144 return NULL;
145 }
146
147 /** (Optional) A stream containing a CMap file that maps character codes to 111 /** (Optional) A stream containing a CMap file that maps character codes to
148 * Unicode values (see Section 5.9, "ToUnicode CMaps"). 112 * Unicode values (see Section 5.9, "ToUnicode CMaps").
149 **/ 113 **/
150 bool has_ToUnicode() const { 114 bool has_ToUnicode() const {
151 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ToUni code", "", NULL)); 115 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ToUni code", "", NULL));
152 } 116 }
153 117
154 SkPdfStream* ToUnicode() const { 118 SkPdfStream* ToUnicode() const;
155 SkPdfStream* ret;
156 if (StreamFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ToUnicode ", "", &ret)) return ret;
157 // TODO(edisonn): warn about missing required field, assert for known good p dfs
158 return NULL;
159 }
160
161 }; 119 };
162 120
163 #endif // __DEFINED__SkPdfType0FontDictionary 121 #endif // __DEFINED__SkPdfType0FontDictionary
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698