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

Side by Side Diff: third_party/sfntly/src/subsetter/subsetter_impl.h

Issue 8744002: Roll sfntly 111 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update per code review Created 9 years 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 /* 1 /*
2 * Copyright 2011 Google Inc. All Rights Reserved. 2 * Copyright 2011 Google Inc. All Rights Reserved.
3 * 3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License. 5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at 6 * You may obtain a copy of the License at
7 * 7 *
8 * http://www.apache.org/licenses/LICENSE-2.0 8 * http://www.apache.org/licenses/LICENSE-2.0
9 * 9 *
10 * Unless required by applicable law or agreed to in writing, software 10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS, 11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and 13 * See the License for the specific language governing permissions and
14 * limitations under the License. 14 * limitations under the License.
15 */ 15 */
16 16
17 #ifndef THIRD_PARTY_SFNTLY_SRC_SUBSETTER_SUBSETTER_IMPL_H_ 17 #ifndef THIRD_PARTY_SFNTLY_SRC_SUBSETTER_SUBSETTER_IMPL_H_
18 #define THIRD_PARTY_SFNTLY_SRC_SUBSETTER_SUBSETTER_IMPL_H_ 18 #define THIRD_PARTY_SFNTLY_SRC_SUBSETTER_SUBSETTER_IMPL_H_
19 19
20 #include "third_party/sfntly/src/sfntly/font.h" 20 #include "third_party/sfntly/src/sfntly/font.h"
21 #include "third_party/sfntly/src/sfntly/font_factory.h" 21 #include "third_party/sfntly/src/sfntly/font_factory.h"
22 #include "third_party/sfntly/src/sfntly/table/truetype/glyph_table.h"
23 #include "third_party/sfntly/src/sfntly/table/truetype/loca_table.h"
24 #include "third_party/sfntly/src/sfntly/tag.h"
22 25
23 namespace sfntly { 26 namespace sfntly {
24 27
25 // Smart pointer usage in sfntly: 28 // Smart pointer usage in sfntly:
26 // 29 //
27 // sfntly carries a smart pointer implementation like COM. Ref-countable object 30 // sfntly carries a smart pointer implementation like COM. Ref-countable object
28 // type inherits from RefCounted<>, which have AddRef and Release just like 31 // type inherits from RefCounted<>, which have AddRef and Release just like
29 // IUnknown (but no QueryInterface). Use a Ptr<> based smart pointer to hold 32 // IUnknown (but no QueryInterface). Use a Ptr<> based smart pointer to hold
30 // the object so that the object ref count is handled correctly. 33 // the object so that the object ref count is handled correctly.
31 // 34 //
(...skipping 18 matching lines...) Expand all
50 ~SubsetterImpl(); 53 ~SubsetterImpl();
51 54
52 bool LoadFont(const char* font_name, 55 bool LoadFont(const char* font_name,
53 const unsigned char* original_font, 56 const unsigned char* original_font,
54 size_t font_size); 57 size_t font_size);
55 int SubsetFont(const unsigned int* glyph_ids, 58 int SubsetFont(const unsigned int* glyph_ids,
56 size_t glyph_count, 59 size_t glyph_count,
57 unsigned char** output_buffer); 60 unsigned char** output_buffer);
58 61
59 private: 62 private:
60 Font* FindFont(const char* font_name, const FontArray& font_array); 63 CALLER_ATTACH Font* Subset(const IntegerSet& glyph_ids,
61 bool HasName(const char* font_name, Font* font); 64 GlyphTable* glyf, LocaTable* loca);
62 bool ResolveCompositeGlyphs(const unsigned int* glyph_ids,
63 size_t glyph_count,
64 IntegerSet* glyph_id_processed);
65 CALLER_ATTACH Font* Subset(const IntegerSet& glyph_ids);
66 65
67 FontFactoryPtr factory_; 66 FontFactoryPtr factory_;
68 FontPtr font_; 67 FontPtr font_;
69 }; 68 };
70 69
71 } // namespace sfntly 70 } // namespace sfntly
72 71
73 #endif // THIRD_PARTY_SFNTLY_SRC_SUBSETTER_SUBSETTER_IMPL_H_ 72 #endif // THIRD_PARTY_SFNTLY_SRC_SUBSETTER_SUBSETTER_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698