OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 The Android Open Source Project | 2 * Copyright 2011 The Android Open Source Project |
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 // Despite the name and location, this is portable code. | 8 // Despite the name and location, this is portable code. |
9 | 9 |
10 #include "SkFontMgr.h" | 10 #include "SkFontMgr.h" |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 } else if (MEMEQ("variant", name, nameLen)) { | 266 } else if (MEMEQ("variant", name, nameLen)) { |
267 if (MEMEQ("elegant", value, valueLen)) { | 267 if (MEMEQ("elegant", value, valueLen)) { |
268 family->fVariant = kElegant_FontVariant; | 268 family->fVariant = kElegant_FontVariant; |
269 } else if (MEMEQ("compact", value, valueLen)) { | 269 } else if (MEMEQ("compact", value, valueLen)) { |
270 family->fVariant = kCompact_FontVariant; | 270 family->fVariant = kCompact_FontVariant; |
271 } | 271 } |
272 } | 272 } |
273 } | 273 } |
274 }, | 274 }, |
275 /*end*/[](FamilyData* self, const char* tag) { | 275 /*end*/[](FamilyData* self, const char* tag) { |
276 *self->fFamilies.append() = self->fCurrentFamily.detach(); | 276 *self->fFamilies.append() = self->fCurrentFamily.release(); |
277 }, | 277 }, |
278 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> con
st TagHandler* { | 278 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> con
st TagHandler* { |
279 size_t len = strlen(tag); | 279 size_t len = strlen(tag); |
280 if (MEMEQ("font", tag, len)) { | 280 if (MEMEQ("font", tag, len)) { |
281 return &fontHandler; | 281 return &fontHandler; |
282 } | 282 } |
283 return nullptr; | 283 return nullptr; |
284 }, | 284 }, |
285 /*chars*/nullptr, | 285 /*chars*/nullptr, |
286 }; | 286 }; |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 static const TagHandler familyHandler = { | 466 static const TagHandler familyHandler = { |
467 /*start*/[](FamilyData* self, const char* tag, const char** attributes) { | 467 /*start*/[](FamilyData* self, const char* tag, const char** attributes) { |
468 self->fCurrentFamily.reset(new FontFamily(self->fBasePath, self->fIsFall
back)); | 468 self->fCurrentFamily.reset(new FontFamily(self->fBasePath, self->fIsFall
back)); |
469 // 'order' (non-negative integer) [default -1] | 469 // 'order' (non-negative integer) [default -1] |
470 for (size_t i = 0; ATTS_NON_NULL(attributes, i); i += 2) { | 470 for (size_t i = 0; ATTS_NON_NULL(attributes, i); i += 2) { |
471 const char* value = attributes[i+1]; | 471 const char* value = attributes[i+1]; |
472 parse_non_negative_integer(value, &self->fCurrentFamily->fOrder); | 472 parse_non_negative_integer(value, &self->fCurrentFamily->fOrder); |
473 } | 473 } |
474 }, | 474 }, |
475 /*end*/[](FamilyData* self, const char* tag) { | 475 /*end*/[](FamilyData* self, const char* tag) { |
476 *self->fFamilies.append() = self->fCurrentFamily.detach(); | 476 *self->fFamilies.append() = self->fCurrentFamily.release(); |
477 }, | 477 }, |
478 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> con
st TagHandler* { | 478 /*tag*/[](FamilyData* self, const char* tag, const char** attributes) -> con
st TagHandler* { |
479 size_t len = strlen(tag); | 479 size_t len = strlen(tag); |
480 if (MEMEQ("nameset", tag, len)) { | 480 if (MEMEQ("nameset", tag, len)) { |
481 return &nameSetHandler; | 481 return &nameSetHandler; |
482 } else if (MEMEQ("fileset", tag, len)) { | 482 } else if (MEMEQ("fileset", tag, len)) { |
483 return &fileSetHandler; | 483 return &fileSetHandler; |
484 } | 484 } |
485 return nullptr; | 485 return nullptr; |
486 }, | 486 }, |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 const char* tag = fTag.c_str(); | 795 const char* tag = fTag.c_str(); |
796 | 796 |
797 // strip off the rightmost "-.*" | 797 // strip off the rightmost "-.*" |
798 const char* parentTagEnd = strrchr(tag, '-'); | 798 const char* parentTagEnd = strrchr(tag, '-'); |
799 if (parentTagEnd == nullptr) { | 799 if (parentTagEnd == nullptr) { |
800 return SkLanguage(); | 800 return SkLanguage(); |
801 } | 801 } |
802 size_t parentTagLen = parentTagEnd - tag; | 802 size_t parentTagLen = parentTagEnd - tag; |
803 return SkLanguage(tag, parentTagLen); | 803 return SkLanguage(tag, parentTagLen); |
804 } | 804 } |
OLD | NEW |