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

Side by Side Diff: source/test/letest/PortableFontInstance.cpp

Issue 1621843002: ICU 56 update step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@561
Patch Set: Created 4 years, 11 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 | « source/test/letest/PortableFontInstance.h ('k') | source/test/letest/SimpleFontInstance.h » ('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 ******************************************************************************* 2 *******************************************************************************
3 * 3 *
4 * Copyright (C) 1999-2013, International Business Machines 4 * Copyright (C) 1999-2015, International Business Machines
5 * Corporation and others. All Rights Reserved. 5 * Corporation and others. All Rights Reserved.
6 * 6 *
7 ******************************************************************************* 7 *******************************************************************************
8 * file name: PortableFontInstance.cpp 8 * file name: PortableFontInstance.cpp
9 * 9 *
10 * created on: 11/22/1999 10 * created on: 11/22/1999
11 * created by: Eric R. Mader 11 * created by: Eric R. Mader
12 */ 12 */
13 13
14 #include <stdio.h> 14 #include <stdio.h>
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 90
91 if (fFile == NULL) { 91 if (fFile == NULL) {
92 printf("%s:%d: %s: FNF\n", __FILE__, __LINE__, fileName); 92 printf("%s:%d: %s: FNF\n", __FILE__, __LINE__, fileName);
93 status = LE_FONT_FILE_NOT_FOUND_ERROR; 93 status = LE_FONT_FILE_NOT_FOUND_ERROR;
94 return; 94 return;
95 } 95 }
96 96
97 // read in the directory 97 // read in the directory
98 SFNTDirectory tempDir; 98 SFNTDirectory tempDir;
99 99
100 fread(&tempDir, sizeof tempDir, 1, fFile); 100 size_t numRead = fread(&tempDir, sizeof tempDir, 1, fFile);
101 (void)numRead;
101 102
102 le_int32 dirSize = sizeof tempDir + ((SWAPW(tempDir.numTables) - ANY_NUMBER) * sizeof(DirectoryEntry)); 103 le_int32 dirSize = sizeof tempDir + ((SWAPW(tempDir.numTables) - ANY_NUMBER) * sizeof(DirectoryEntry));
103 const LETag headTag = LE_HEAD_TABLE_TAG; 104 const LETag headTag = LE_HEAD_TABLE_TAG;
104 const LETag hheaTag = LE_HHEA_TABLE_TAG; 105 const LETag hheaTag = LE_HHEA_TABLE_TAG;
105 const HEADTable *headTable = NULL; 106 const HEADTable *headTable = NULL;
106 const HHEATable *hheaTable = NULL; 107 const HHEATable *hheaTable = NULL;
107 // const NAMETable *nameTable = NULL; 108 // const NAMETable *nameTable = NULL;
108 le_uint16 numTables = 0; 109 le_uint16 numTables = 0;
109 110
110 fDirectory = (const SFNTDirectory *) LE_NEW_ARRAY(char, dirSize); 111 fDirectory = (const SFNTDirectory *) LE_NEW_ARRAY(char, dirSize);
111 112
112 if (fDirectory == NULL) { 113 if (fDirectory == NULL) {
113 printf("%s:%d: %s: malloc err\n", __FILE__, __LINE__, fileName); 114 printf("%s:%d: %s: malloc err\n", __FILE__, __LINE__, fileName);
114 status = LE_MEMORY_ALLOCATION_ERROR; 115 status = LE_MEMORY_ALLOCATION_ERROR;
115 goto error_exit; 116 goto error_exit;
116 } 117 }
117 118
118 fseek(fFile, 0L, SEEK_SET); 119 fseek(fFile, 0L, SEEK_SET);
119 fread((void *) fDirectory, sizeof(char), dirSize, fFile); 120 numRead = fread((void *) fDirectory, sizeof(char), dirSize, fFile);
120 121
121 // 122 //
122 // We calculate these numbers 'cause some fonts 123 // We calculate these numbers 'cause some fonts
123 // have bogus values for them in the directory header. 124 // have bogus values for them in the directory header.
124 // 125 //
125 numTables = SWAPW(fDirectory->numTables); 126 numTables = SWAPW(fDirectory->numTables);
126 fDirPower = 1 << highBit(numTables); 127 fDirPower = 1 << highBit(numTables);
127 fDirExtra = numTables - fDirPower; 128 fDirExtra = numTables - fDirPower;
128 129
129 // read unitsPerEm from 'head' table 130 // read unitsPerEm from 'head' table
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 *length = 0; 236 *length = 0;
236 return NULL; 237 return NULL;
237 } 238 }
238 239
239 *length = SWAPL(entry->length); 240 *length = SWAPL(entry->length);
240 241
241 void *table = LE_NEW_ARRAY(char, *length); 242 void *table = LE_NEW_ARRAY(char, *length);
242 243
243 if (table != NULL) { 244 if (table != NULL) {
244 fseek(fFile, SWAPL(entry->offset), SEEK_SET); 245 fseek(fFile, SWAPL(entry->offset), SEEK_SET);
245 fread(table, sizeof(char), *length, fFile); 246 size_t numRead = fread(table, sizeof(char), *length, fFile);
247 (void)numRead;
246 } 248 }
247 249
248 return table; 250 return table;
249 } 251 }
250 252
251 const void *PortableFontInstance::getFontTable(LETag tableTag) const
252 {
253 size_t ignored;
254 return getFontTable(tableTag, ignored);
255 }
256
257 const void *PortableFontInstance::getFontTable(LETag tableTag, size_t &length) c onst 253 const void *PortableFontInstance::getFontTable(LETag tableTag, size_t &length) c onst
258 { 254 {
259 return FontTableCache::find(tableTag, length); 255 return FontTableCache::find(tableTag, length);
260 } 256 }
261 257
262 const void *PortableFontInstance::readFontTable(LETag tableTag, size_t &length) const 258 const void *PortableFontInstance::readFontTable(LETag tableTag, size_t &length) const
263 { 259 {
264 le_uint32 len; 260 le_uint32 len;
265 261
266 const void *data= readTable(tableTag, &len); 262 const void *data= readTable(tableTag, &len);
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 468
473 float PortableFontInstance::getScaleFactorX() const 469 float PortableFontInstance::getScaleFactorX() const
474 { 470 {
475 return 1.0; 471 return 1.0;
476 } 472 }
477 473
478 float PortableFontInstance::getScaleFactorY() const 474 float PortableFontInstance::getScaleFactorY() const
479 { 475 {
480 return 1.0; 476 return 1.0;
481 } 477 }
OLDNEW
« no previous file with comments | « source/test/letest/PortableFontInstance.h ('k') | source/test/letest/SimpleFontInstance.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698