| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Google Inc. | 2 * Copyright 2012 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 #include "SkData.h" | 8 #include "SkData.h" |
| 9 #include "SkEndian.h" | 9 #include "SkEndian.h" |
| 10 #include "SkSFNTHeader.h" | 10 #include "SkSFNTHeader.h" |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 167 size_t nameTableSize = typeface.getTableSize(nameTag); | 167 size_t nameTableSize = typeface.getTableSize(nameTag); |
| 168 if (0 == nameTableSize) { | 168 if (0 == nameTableSize) { |
| 169 return nullptr; | 169 return nullptr; |
| 170 } | 170 } |
| 171 SkAutoTDeleteArray<uint8_t> nameTableData(new uint8_t[nameTableSize]); | 171 SkAutoTDeleteArray<uint8_t> nameTableData(new uint8_t[nameTableSize]); |
| 172 size_t copied = typeface.getTableData(nameTag, 0, nameTableSize, nameTableDa
ta.get()); | 172 size_t copied = typeface.getTableData(nameTag, 0, nameTableSize, nameTableDa
ta.get()); |
| 173 if (copied != nameTableSize) { | 173 if (copied != nameTableSize) { |
| 174 return nullptr; | 174 return nullptr; |
| 175 } | 175 } |
| 176 | 176 |
| 177 return new SkOTUtils::LocalizedStrings_NameTable((SkOTTableName*)nameTableDa
ta.detach(), | 177 return new SkOTUtils::LocalizedStrings_NameTable((SkOTTableName*)nameTableDa
ta.release(), |
| 178 SkOTUtils::LocalizedStrings_NameTable::familyNameTypes, | 178 SkOTUtils::LocalizedStrings_NameTable::familyNameTypes, |
| 179 SK_ARRAY_COUNT(SkOTUtils::LocalizedStrings_NameTable::familyNameTypes)); | 179 SK_ARRAY_COUNT(SkOTUtils::LocalizedStrings_NameTable::familyNameTypes)); |
| 180 } | 180 } |
| 181 | 181 |
| 182 bool SkOTUtils::LocalizedStrings_NameTable::next(SkTypeface::LocalizedString* lo
calizedString) { | 182 bool SkOTUtils::LocalizedStrings_NameTable::next(SkTypeface::LocalizedString* lo
calizedString) { |
| 183 do { | 183 do { |
| 184 SkOTTableName::Iterator::Record record; | 184 SkOTTableName::Iterator::Record record; |
| 185 if (fFamilyNameIter.next(record)) { | 185 if (fFamilyNameIter.next(record)) { |
| 186 localizedString->fString = record.name; | 186 localizedString->fString = record.name; |
| 187 localizedString->fLanguage = record.language; | 187 localizedString->fLanguage = record.language; |
| 188 return true; | 188 return true; |
| 189 } | 189 } |
| 190 if (fTypesCount == fTypesIndex + 1) { | 190 if (fTypesCount == fTypesIndex + 1) { |
| 191 return false; | 191 return false; |
| 192 } | 192 } |
| 193 ++fTypesIndex; | 193 ++fTypesIndex; |
| 194 fFamilyNameIter.reset(fTypes[fTypesIndex]); | 194 fFamilyNameIter.reset(fTypes[fTypesIndex]); |
| 195 } while (true); | 195 } while (true); |
| 196 } | 196 } |
| 197 | 197 |
| 198 SkOTTableName::Record::NameID::Predefined::Value | 198 SkOTTableName::Record::NameID::Predefined::Value |
| 199 SkOTUtils::LocalizedStrings_NameTable::familyNameTypes[3] = { | 199 SkOTUtils::LocalizedStrings_NameTable::familyNameTypes[3] = { |
| 200 SkOTTableName::Record::NameID::Predefined::FontFamilyName, | 200 SkOTTableName::Record::NameID::Predefined::FontFamilyName, |
| 201 SkOTTableName::Record::NameID::Predefined::PreferredFamily, | 201 SkOTTableName::Record::NameID::Predefined::PreferredFamily, |
| 202 SkOTTableName::Record::NameID::Predefined::WWSFamilyName, | 202 SkOTTableName::Record::NameID::Predefined::WWSFamilyName, |
| 203 }; | 203 }; |
| OLD | NEW |