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

Side by Side Diff: src/pdf/SkPDFFont.h

Issue 2244173005: SkPDF: eliminate SkPDFCIDfont class (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 4 years, 4 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 | « no previous file | src/pdf/SkPDFFont.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Google Inc. 2 * Copyright 2011 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 8
9 #ifndef SkPDFFont_DEFINED 9 #ifndef SkPDFFont_DEFINED
10 #define SkPDFFont_DEFINED 10 #define SkPDFFont_DEFINED
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 * responsibility to unreference it when done. This is needed to 118 * responsibility to unreference it when done. This is needed to
119 * accommodate the weak reference pattern used when the returned object 119 * accommodate the weak reference pattern used when the returned object
120 * is new and has no other references. 120 * is new and has no other references.
121 * @param typeface The typeface to find. 121 * @param typeface The typeface to find.
122 * @param glyphID Specify which section of a large font is of interest. 122 * @param glyphID Specify which section of a large font is of interest.
123 */ 123 */
124 static SkPDFFont* GetFontResource(SkPDFCanon* canon, 124 static SkPDFFont* GetFontResource(SkPDFCanon* canon,
125 SkTypeface* typeface, 125 SkTypeface* typeface,
126 uint16_t glyphID); 126 uint16_t glyphID);
127 127
128 static sk_sp<const SkAdvancedTypefaceMetrics> GetFontMetricsWithGlyphNames(
129 SkTypeface*, uint32_t* glyphs, uint32_t glyphsCount);
130
131 static sk_sp<const SkAdvancedTypefaceMetrics> GetFontMetricsWithToUnicode( 128 static sk_sp<const SkAdvancedTypefaceMetrics> GetFontMetricsWithToUnicode(
132 SkTypeface*, uint32_t* glyphs, uint32_t glyphsCount); 129 SkTypeface*, uint32_t* glyphs, uint32_t glyphsCount);
133 130
134 /** Subset the font based on usage set. Returns a SkPDFFont instance with 131 /** Subset the font based on usage set. Returns a SkPDFFont instance with
135 * subset. 132 * subset.
136 * @param usage Glyph subset requested. 133 * @param usage Glyph subset requested.
137 * @return nullptr if font does not support subsetting, a new instanc e 134 * @return nullptr if font does not support subsetting, a new instanc e
138 * of SkPDFFont otherwise. 135 * of SkPDFFont otherwise.
139 */ 136 */
140 virtual sk_sp<SkPDFObject> getFontSubset(const SkPDFGlyphSet* usage); 137 virtual sk_sp<SkPDFObject> getFontSubset(const SkPDFGlyphSet* usage);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 SkGlyphID lastGlyphID() const { return fLastGlyphID; } 170 SkGlyphID lastGlyphID() const { return fLastGlyphID; }
174 void setLastGlyphID(uint16_t glyphID); 171 void setLastGlyphID(uint16_t glyphID);
175 172
176 // Accessors for FontDescriptor associated with this object. 173 // Accessors for FontDescriptor associated with this object.
177 SkPDFDict* getFontDescriptor() const { return fDescriptor.get(); } 174 SkPDFDict* getFontDescriptor() const { return fDescriptor.get(); }
178 sk_sp<SkPDFDict> refFontDescriptor() const { return fDescriptor; } 175 sk_sp<SkPDFDict> refFontDescriptor() const { return fDescriptor; }
179 void setFontDescriptor(sk_sp<SkPDFDict> descriptor); 176 void setFontDescriptor(sk_sp<SkPDFDict> descriptor);
180 177
181 sk_sp<SkTypeface> refTypeface() const { return fTypeface; } 178 sk_sp<SkTypeface> refTypeface() const { return fTypeface; }
182 179
183 // Add common entries to FontDescriptor.
184 bool addCommonFontDescriptorEntries(int16_t defaultWidth);
185
186 /** Set fFirstGlyphID and fLastGlyphID to span at most 255 glyphs, 180 /** Set fFirstGlyphID and fLastGlyphID to span at most 255 glyphs,
187 * including the passed glyphID. 181 * including the passed glyphID.
188 */ 182 */
189 void adjustGlyphRangeForSingleByteEncoding(uint16_t glyphID); 183 void adjustGlyphRangeForSingleByteEncoding(uint16_t glyphID);
190 184
191 // Generate ToUnicode table according to glyph usage subset. 185 // Generate ToUnicode table according to glyph usage subset.
192 // If subset is nullptr, all available glyph ids will be used. 186 // If subset is nullptr, all available glyph ids will be used.
193 void populateToUnicodeTable(const SkPDFGlyphSet* subset); 187 void populateToUnicodeTable(const SkPDFGlyphSet* subset);
194 188
195 static bool Find(uint32_t fontID, uint16_t glyphID, int* index); 189 static bool Find(uint32_t fontID, uint16_t glyphID, int* index);
196 190
197 void drop() override; 191 void drop() override;
198 192
199 private: 193 private:
200 sk_sp<SkTypeface> fTypeface; 194 sk_sp<SkTypeface> fTypeface;
201 sk_sp<const SkAdvancedTypefaceMetrics> fFontInfo; 195 sk_sp<const SkAdvancedTypefaceMetrics> fFontInfo;
202 sk_sp<SkPDFDict> fDescriptor; 196 sk_sp<SkPDFDict> fDescriptor;
203 197
204 // The glyph IDs accessible with this font. For Type1 (non CID) fonts, 198 // The glyph IDs accessible with this font. For Type1 (non CID) fonts,
205 // this will be a subset if the font has more than 255 glyphs. 199 // this will be a subset if the font has more than 255 glyphs.
206 SkGlyphID fFirstGlyphID; 200 SkGlyphID fFirstGlyphID;
207 SkGlyphID fLastGlyphID; 201 SkGlyphID fLastGlyphID;
208 SkAdvancedTypefaceMetrics::FontType fFontType; 202 SkAdvancedTypefaceMetrics::FontType fFontType;
209 bool fMultiByteGlyphs; 203 bool fMultiByteGlyphs;
210 204
211 typedef SkPDFDict INHERITED; 205 typedef SkPDFDict INHERITED;
212 }; 206 };
213 207
214 #endif 208 #endif
OLDNEW
« no previous file with comments | « no previous file | src/pdf/SkPDFFont.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698