OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if !defined(_WIN32) | 5 #if !defined(_WIN32) |
6 #ifdef __linux__ | 6 #ifdef __linux__ |
7 // Linux | 7 // Linux |
8 #include <freetype/ftoutln.h> | |
9 #include <ft2build.h> | 8 #include <ft2build.h> |
10 #include FT_FREETYPE_H | 9 #include FT_FREETYPE_H |
| 10 #include FT_OUTLINE_H |
11 #else | 11 #else |
12 // Mac OS X | 12 // Mac OS X |
13 #include <ApplicationServices/ApplicationServices.h> // g++ -framework Cocoa | 13 #include <ApplicationServices/ApplicationServices.h> // g++ -framework Cocoa |
14 #endif // __linux__ | 14 #endif // __linux__ |
15 #include <unistd.h> | 15 #include <unistd.h> |
16 #else | 16 #else |
17 // Windows | 17 // Windows |
18 #include <io.h> | 18 #include <io.h> |
19 #include <Windows.h> | 19 #include <Windows.h> |
20 #endif // !defiend(_WIN32) | 20 #endif // !defiend(_WIN32) |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 | 165 |
166 // A transcoded font is usually smaller than an original font. | 166 // A transcoded font is usually smaller than an original font. |
167 // However, it can be slightly bigger than the original one due to | 167 // However, it can be slightly bigger than the original one due to |
168 // name table replacement and/or padding for glyf table. | 168 // name table replacement and/or padding for glyf table. |
169 // | 169 // |
170 // However, a WOFF font gets decompressed and so can be *much* larger than | 170 // However, a WOFF font gets decompressed and so can be *much* larger than |
171 // the original. | 171 // the original. |
172 uint8_t *result = new uint8_t[file_size * 8]; | 172 uint8_t *result = new uint8_t[file_size * 8]; |
173 ots::MemoryStream output(result, file_size * 8); | 173 ots::MemoryStream output(result, file_size * 8); |
174 | 174 |
175 bool r = ots::Process(&output, data, file_size); | 175 ots::OTSContext context; |
| 176 |
| 177 bool r = context.Process(&output, data, file_size); |
176 if (!r) { | 178 if (!r) { |
177 std::fprintf(stderr, "Failed to sanitise file!\n"); | 179 std::fprintf(stderr, "Failed to sanitise file!\n"); |
178 return 1; | 180 return 1; |
179 } | 181 } |
180 const size_t result_len = output.Tell(); | 182 const size_t result_len = output.Tell(); |
181 delete[] data; | 183 delete[] data; |
182 | 184 |
183 uint8_t *result2 = new uint8_t[result_len]; | 185 uint8_t *result2 = new uint8_t[result_len]; |
184 ots::MemoryStream output2(result2, result_len); | 186 ots::MemoryStream output2(result2, result_len); |
185 r = ots::Process(&output2, result, result_len); | 187 r = context.Process(&output2, result, result_len); |
186 if (!r) { | 188 if (!r) { |
187 std::fprintf(stderr, "Failed to sanitise previous output!\n"); | 189 std::fprintf(stderr, "Failed to sanitise previous output!\n"); |
188 return 1; | 190 return 1; |
189 } | 191 } |
190 const size_t result2_len = output2.Tell(); | 192 const size_t result2_len = output2.Tell(); |
191 | 193 |
192 bool dump_results = false; | 194 bool dump_results = false; |
193 if (result2_len != result_len) { | 195 if (result2_len != result_len) { |
194 std::fprintf(stderr, "Outputs differ in length\n"); | 196 std::fprintf(stderr, "Outputs differ in length\n"); |
195 dump_results = true; | 197 dump_results = true; |
(...skipping 12 matching lines...) Expand all Loading... |
208 | 210 |
209 // Verify that the transcoded font can be opened by the font renderer for | 211 // Verify that the transcoded font can be opened by the font renderer for |
210 // Linux (FreeType2), Mac OS X, or Windows. | 212 // Linux (FreeType2), Mac OS X, or Windows. |
211 if (!VerifyTranscodedFont(result, result_len)) { | 213 if (!VerifyTranscodedFont(result, result_len)) { |
212 std::fprintf(stderr, "Failed to verify the transcoded font\n"); | 214 std::fprintf(stderr, "Failed to verify the transcoded font\n"); |
213 return 1; | 215 return 1; |
214 } | 216 } |
215 | 217 |
216 return 0; | 218 return 0; |
217 } | 219 } |
OLD | NEW |