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

Side by Side Diff: experimental/PdfViewer/pdfparser/podofo/autogen/SkPdfType3FontDictionary_autogen.h

Issue 18404006: remove now all the files fro depot for PDF API since we generate them at build time (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 5 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
(Empty)
1 #ifndef __DEFINED__SkPdfType3FontDictionary
2 #define __DEFINED__SkPdfType3FontDictionary
3
4 #include "SkPdfUtils.h"
5 #include "SkPdfEnums_autogen.h"
6 #include "SkPdfArray_autogen.h"
7 #include "SkPdfType1FontDictionary_autogen.h"
8
9 // Entries in a Type 3 font dictionary
10 class SkPdfType3FontDictionary : public SkPdfType1FontDictionary {
11 public:
12 virtual SkPdfObjectType getType() const { return kType3FontDictionary_SkPdfObj ectType;}
13 virtual SkPdfObjectType getTypeEnd() const { return (SkPdfObjectType)(kType3Fo ntDictionary_SkPdfObjectType + 1);}
14 public:
15 virtual SkPdfType3FontDictionary* asType3FontDictionary() {return this;}
16 virtual const SkPdfType3FontDictionary* asType3FontDictionary() const {return this;}
17
18 private:
19 virtual SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() {return NULL;}
20 virtual const SkPdfMultiMasterFontDictionary* asMultiMasterFontDictionary() co nst {return NULL;}
21
22 virtual SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() {return NULL;}
23 virtual const SkPdfTrueTypeFontDictionary* asTrueTypeFontDictionary() const {r eturn NULL;}
24
25 public:
26 private:
27 public:
28 SkPdfType3FontDictionary(const PdfMemDocument* podofoDoc = NULL, const PdfObje ct* podofoObj = NULL) : SkPdfType1FontDictionary(podofoDoc, podofoObj) {}
29
30 SkPdfType3FontDictionary(const SkPdfType3FontDictionary& from) : SkPdfType1Fon tDictionary(from.fPodofoDoc, from.fPodofoObj) {}
31
32 virtual bool valid() const {return true;}
33
34 SkPdfType3FontDictionary& operator=(const SkPdfType3FontDictionary& from) {thi s->fPodofoDoc = from.fPodofoDoc; this->fPodofoObj = from.fPodofoObj; return *thi s;}
35
36 /** (Required) The type of PDF object that this dictionary describes; must be
37 * Font for a font dictionary.
38 **/
39 bool has_Type() const {
40 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Type" , "", NULL));
41 }
42
43 std::string Type() const;
44 /** (Required) The type of font; must be Type3 for a Type 3 font.
45 **/
46 bool has_Subtype() const {
47 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Subty pe", "", NULL));
48 }
49
50 std::string Subtype() const;
51 /** (Required in PDF 1.0; optional otherwise) See Table 5.8 on page 317.
52 **/
53 bool has_Name() const {
54 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Name" , "", NULL));
55 }
56
57 std::string Name() const;
58 /** (Required) A rectangle (see Section 3.8.3, "Rectangles"), expressed in the
59 * glyph coordinate system, specifying the font bounding box. This is the small -
60 * est rectangle enclosing the shape that would result if all of the glyphs of the
61 * font were placed with their origins coincident and then filled.
62 * If all four elements of the rectangle are zero, no assumptions are made base d
63 * on the font bounding box. If any element is nonzero, it is essential that th e
64 * font bounding box be accurate; if any glyph's marks fall outside this bound-
65 * ing box, incorrect behavior may result.
66 **/
67 bool has_FontBBox() const {
68 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontB Box", "", NULL));
69 }
70
71 SkRect* FontBBox() const;
72 /** (Required) An array of six numbers specifying the font matrix, mapping
73 * glyph space to text space (see Section 5.1.3, "Glyph Positioning and
74 * Metrics"). A common practice is to define glyphs in terms of a 1000-unit
75 * glyph coordinate system, in which case the font matrix is
76 * [0.001 0 0 0.001 0 0].
77 **/
78 bool has_FontMatrix() const {
79 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "FontM atrix", "", NULL));
80 }
81
82 SkMatrix* FontMatrix() const;
83 /** (Required) A dictionary in which each key is a character name and the value
84 * associated with that key is a content stream that constructs and paints the
85 * glyph for that character. The stream must include as its first operator eith er
86 * d0 or d1. This is followed by operators describing one or more graphics
87 * objects, which may include path, text, or image objects. See below for more
88 * details about Type 3 glyph descriptions.
89 **/
90 bool has_CharProcs() const {
91 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "CharP rocs", "", NULL));
92 }
93
94 SkPdfDictionary* CharProcs() const;
95 /** (Required) An encoding dictionary whose Differences array specifies the
96 * complete character encoding for this font (see Section 5.5.5, "Character
97 * Encoding"; also see implementation note 46 in Appendix H).
98 **/
99 bool has_Encoding() const {
100 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encod ing", "", NULL));
101 }
102
103 bool isEncodingAName() const {
104 SkPdfObject* ret = NULL;
105 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding ", "", &ret)) return false;
106 return ret->podofo()->GetDataType() == ePdfDataType_Name;
107 }
108
109 std::string getEncodingAsName() const;
110 bool isEncodingAEncodingdictionary() const {
111 SkPdfObject* ret = NULL;
112 if (!ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Encoding ", "", &ret)) return false;
113 return ret->podofo()->GetDataType() == ePdfDataType_Dictionary;
114 }
115
116 SkPdfEncodingDictionary* getEncodingAsEncodingdictionary() const;
117 /** (Required) The first character code defined in the font's Widths array.
118 **/
119 bool has_FirstChar() const {
120 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "First Char", "", NULL));
121 }
122
123 long FirstChar() const;
124 /** (Required) The last character code defined in the font's Widths array.
125 **/
126 bool has_LastChar() const {
127 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "LastC har", "", NULL));
128 }
129
130 long LastChar() const;
131 /** (Required; indirect reference preferred) An array of (LastChar - FirstChar + 1)
132 * widths, each element being the glyph width for the character whose code is
133 * FirstChar plus the array index. For character codes outside the range FirstC har
134 * to LastChar, the width is 0. These widths are interpreted in glyph space as
135 * specified by FontMatrix (unlike the widths of a Type 1 font, which are in
136 * thousandths of a unit of text space).
137 * Note: If FontMatrix specifies a rotation, only the horizontal component of t he
138 * transformed width is used. That is, the resulting displacement is always hor izon-
139 * tal in text space, as is the case for all simple fonts.
140 **/
141 bool has_Widths() const {
142 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Width s", "", NULL));
143 }
144
145 SkPdfArray* Widths() const;
146 /** (Optional but strongly recommended; PDF 1.2) A list of the named resources,
147 * such as fonts and images, required by the glyph descriptions in this font (s ee
148 * Section 3.7.2, "Resource Dictionaries"). If any glyph descriptions refer to
149 * named resources but this dictionary is absent, the names are looked up in th e
150 * resource dictionary of the page on which the font is used. (See implementa-
151 * tion note 47 in Appendix H.)
152 **/
153 bool has_Resources() const {
154 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "Resou rces", "", NULL));
155 }
156
157 SkPdfDictionary* Resources() const;
158 /** (Optional; PDF 1.2) A stream containing a CMap file that maps character
159 * codes to Unicode values (see Section 5.9, "ToUnicode CMaps").
160 **/
161 bool has_ToUnicode() const {
162 return (ObjectFromDictionary(fPodofoDoc, fPodofoObj->GetDictionary(), "ToUni code", "", NULL));
163 }
164
165 SkPdfStream* ToUnicode() const;
166 };
167
168 #endif // __DEFINED__SkPdfType3FontDictionary
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698