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

Side by Side Diff: test/idempotent.cc

Issue 13449003: [OTS] Make standalone tools compile on Mac (Closed) Base URL: http://ots.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 8 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
« no previous file with comments | « src/cff_type2_charstring.cc ('k') | test/validator-checker.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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> 8 #include <freetype/ftoutln.h>
9 #include <ft2build.h> 9 #include <ft2build.h>
10 #include FT_FREETYPE_H 10 #include FT_FREETYPE_H
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 if (error) { 103 if (error) {
104 return false; 104 return false;
105 } 105 }
106 ::FT_Done_Face(dummy); 106 ::FT_Done_Face(dummy);
107 return true; 107 return true;
108 } 108 }
109 109
110 #elif defined(__APPLE_CC__) 110 #elif defined(__APPLE_CC__)
111 // Mac 111 // Mac
112 bool VerifyTranscodedFont(uint8_t *result, const size_t len) { 112 bool VerifyTranscodedFont(uint8_t *result, const size_t len) {
113 ATSFontContainerRef container_ref = 0; 113 CFDataRef data = CFDataCreate(0, result, len);
114 ATSFontActivateFromMemory(result, len, 3, kATSFontFormatUnspecified, 114 if (!data) {
115 NULL, kATSOptionFlagsDefault, &container_ref);
116 if (!container_ref) {
117 return false; 115 return false;
118 } 116 }
119 117
120 ItemCount count; 118 CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData(data);
121 ATSFontFindFromContainer( 119 CGFontRef cgFontRef = CGFontCreateWithDataProvider(dataProvider);
122 container_ref, kATSOptionFlagsDefault, 0, NULL, &count); 120 CGDataProviderRelease(dataProvider);
123 if (!count) { 121 CFRelease(data);
122 if (!cgFontRef) {
124 return false; 123 return false;
125 } 124 }
126 125
127 ATSFontRef ats_font_ref = 0; 126 size_t numGlyphs = CGFontGetNumberOfGlyphs(cgFontRef);
128 ATSFontFindFromContainer( 127 CGFontRelease(cgFontRef);
129 container_ref, kATSOptionFlagsDefault, 1, &ats_font_ref, NULL); 128 if (!numGlyphs) {
130 if (!ats_font_ref) {
131 return false;
132 }
133
134 CTFontRef ct_font_ref = CTFontCreateWithPlatformFont(ats_font_ref, 12,
135 NULL, NULL);
136 if (!CTFontGetGlyphCount(ct_font_ref)) {
137 return false; 129 return false;
138 } 130 }
139 return true; 131 return true;
140 } 132 }
141 133
142 #elif defined(_WIN32) 134 #elif defined(_WIN32)
143 // Windows 135 // Windows
144 bool VerifyTranscodedFont(uint8_t *result, const size_t len) { 136 bool VerifyTranscodedFont(uint8_t *result, const size_t len) {
145 DWORD num_fonts = 0; 137 DWORD num_fonts = 0;
146 HANDLE handle = AddFontMemResourceEx(result, len, 0, &num_fonts); 138 HANDLE handle = AddFontMemResourceEx(result, len, 0, &num_fonts);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 208
217 // Verify that the transcoded font can be opened by the font renderer for 209 // Verify that the transcoded font can be opened by the font renderer for
218 // Linux (FreeType2), Mac OS X, or Windows. 210 // Linux (FreeType2), Mac OS X, or Windows.
219 if (!VerifyTranscodedFont(result, result_len)) { 211 if (!VerifyTranscodedFont(result, result_len)) {
220 std::fprintf(stderr, "Failed to verify the transcoded font\n"); 212 std::fprintf(stderr, "Failed to verify the transcoded font\n");
221 return 1; 213 return 1;
222 } 214 }
223 215
224 return 0; 216 return 0;
225 } 217 }
OLDNEW
« no previous file with comments | « src/cff_type2_charstring.cc ('k') | test/validator-checker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698