OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #include "SkFontHost.h" | 10 #include "SkFontHost.h" |
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
462 | 462 |
463 void FamilyTypeface::onGetFontDescriptor(SkFontDescriptor* desc, | 463 void FamilyTypeface::onGetFontDescriptor(SkFontDescriptor* desc, |
464 bool* isLocalStream) const { | 464 bool* isLocalStream) const { |
465 desc->setFamilyName(find_family_name(this)); | 465 desc->setFamilyName(find_family_name(this)); |
466 desc->setFontFileName(this->getUniqueString()); | 466 desc->setFontFileName(this->getUniqueString()); |
467 *isLocalStream = !this->isSysFont(); | 467 *isLocalStream = !this->isSysFont(); |
468 } | 468 } |
469 | 469 |
470 /////////////////////////////////////////////////////////////////////////////// | 470 /////////////////////////////////////////////////////////////////////////////// |
471 | 471 |
| 472 #ifndef SK_FONTHOST_USES_FONTMGR |
| 473 |
472 SkTypeface* SkFontHost::CreateTypeface(const SkTypeface* familyFace, | 474 SkTypeface* SkFontHost::CreateTypeface(const SkTypeface* familyFace, |
473 const char familyName[], | 475 const char familyName[], |
474 SkTypeface::Style style) { | 476 SkTypeface::Style style) { |
475 load_system_fonts(); | 477 load_system_fonts(); |
476 | 478 |
477 SkAutoMutexAcquire ac(gFamilyMutex); | 479 SkAutoMutexAcquire ac(gFamilyMutex); |
478 | 480 |
479 // clip to legal style bits | 481 // clip to legal style bits |
480 style = (SkTypeface::Style)(style & SkTypeface::kBoldItalic); | 482 style = (SkTypeface::Style)(style & SkTypeface::kBoldItalic); |
481 | 483 |
482 SkTypeface* tf = NULL; | 484 SkTypeface* tf = NULL; |
483 | 485 |
484 if (NULL != familyFace) { | 486 if (NULL != familyFace) { |
485 tf = find_typeface(familyFace, style); | 487 tf = find_typeface(familyFace, style); |
486 } else if (NULL != familyName) { | 488 } else if (NULL != familyName) { |
487 // SkDebugf("======= familyName <%s>\n", familyName); | 489 // SkDebugf("======= familyName <%s>\n", familyName); |
488 tf = find_typeface(familyName, style); | 490 tf = find_typeface(familyName, style); |
489 } | 491 } |
490 | 492 |
491 if (NULL == tf) { | 493 if (NULL == tf) { |
492 tf = find_best_face(gDefaultFamily, style); | 494 tf = find_best_face(gDefaultFamily, style); |
493 } | 495 } |
494 | 496 |
495 SkSafeRef(tf); | 497 SkSafeRef(tf); |
496 return tf; | 498 return tf; |
497 } | 499 } |
498 | 500 |
499 /////////////////////////////////////////////////////////////////////////////// | |
500 | |
501 SkTypeface* SkFontHost::CreateTypefaceFromStream(SkStream* stream) { | 501 SkTypeface* SkFontHost::CreateTypefaceFromStream(SkStream* stream) { |
502 if (NULL == stream || stream->getLength() <= 0) { | 502 if (NULL == stream || stream->getLength() <= 0) { |
503 SkDELETE(stream); | 503 SkDELETE(stream); |
504 return NULL; | 504 return NULL; |
505 } | 505 } |
506 | 506 |
507 bool isFixedPitch; | 507 bool isFixedPitch; |
508 SkTypeface::Style style; | 508 SkTypeface::Style style; |
509 if (find_name_and_attributes(stream, NULL, &style, &isFixedPitch)) { | 509 if (find_name_and_attributes(stream, NULL, &style, &isFixedPitch)) { |
510 return SkNEW_ARGS(StreamTypeface, (style, false, NULL, stream, isFixedPi
tch)); | 510 return SkNEW_ARGS(StreamTypeface, (style, false, NULL, stream, isFixedPi
tch)); |
511 } else { | 511 } else { |
512 return NULL; | 512 return NULL; |
513 } | 513 } |
514 } | 514 } |
515 | 515 |
516 SkTypeface* SkFontHost::CreateTypefaceFromFile(const char path[]) { | 516 SkTypeface* SkFontHost::CreateTypefaceFromFile(const char path[]) { |
517 SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(path)); | 517 SkAutoTUnref<SkStream> stream(SkStream::NewFromFile(path)); |
518 return stream.get() ? CreateTypefaceFromStream(stream) : NULL; | 518 return stream.get() ? CreateTypefaceFromStream(stream) : NULL; |
519 } | 519 } |
520 | 520 |
| 521 #endif |
| 522 |
521 /////////////////////////////////////////////////////////////////////////////// | 523 /////////////////////////////////////////////////////////////////////////////// |
522 | 524 |
523 #include "SkFontMgr.h" | 525 #include "SkFontMgr.h" |
524 | 526 |
525 SkFontMgr* SkFontMgr::Factory() { | 527 SkFontMgr* SkFontMgr::Factory() { |
526 // todo | 528 // todo |
527 return NULL; | 529 return NULL; |
528 } | 530 } |
OLD | NEW |