aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkTypeface.cpp
Commit message (Collapse)AuthorAge
* Factory methods for heap-allocated SkTypeface objects.Gravatar commit-bot@chromium.org2014-04-07
| | | | | | | | | | | | | | | | | This is part of an effort to ensure that all SkPaint effects can only be allocated on the heap. This patch makes the constructors of SkTypeface and its subclasses non-public and instead provides factory methods for creating these objects on the heap. BUG=skia:2187 R=scroggo@google.com, bungeman@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/227693003 git-svn-id: http://skia.googlecode.com/svn/trunk@14080 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix race on creating the default typeface.Gravatar bungeman@google.com2014-01-09
| | | | | | | | | BUG=skia:1906 R=mtklein@google.com, reed@google.com Review URL: https://codereview.chromium.org/113543005 git-svn-id: http://skia.googlecode.com/svn/trunk@12993 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "[PDF] Fix font embedding restrictions."Gravatar vandebo@chromium.org2013-12-10
| | | | | | | | This reverts r12600 and r12601, likely causing crash on Mac. Review URL: https://codereview.chromium.org/111893002 git-svn-id: http://skia.googlecode.com/svn/trunk@12604 2bbb7eff-a529-9590-31e7-b0007b416f81
* [PDF] Fix font embedding restrictions.Gravatar commit-bot@chromium.org2013-12-10
| | | | | | | | | | | | Stop using restricted font outlines and honor don't subset restriction. R=reed@google.com, bungeman@google.com Author: vandebo@chromium.org Review URL: https://codereview.chromium.org/107863002 git-svn-id: http://skia.googlecode.com/svn/trunk@12600 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix compilation with SK_ENABLE_INST_COUNT=1Gravatar commit-bot@chromium.org2013-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add INHERITED declarations to class declarations that prevent compilation with the flag. Remove SK_DEFINE_INST_COUNT from all class implementations. Instead, use function-local static variables in the reference count helper classes to create the global instances to store the needed info. The accessor functions are defined inline in the helper classes, so definitions are not needed. The initialization point of the variables should be as well defined as previously. Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT instead. This avoids possible future compilation errors further. For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member function to all classes that use SK_DECLARE_INST_COUNT and SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes contain public INHERITED typedef. This member function seems to be compiled away. This shouĺd ensure that part of the compilation errors are caught earlier. Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses. R=robertphillips@google.com, richardlin@chromium.org, bsalomon@google.com Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/98703002 git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove SK_FONTHOST_USES_FONTMGR.Gravatar bungeman@google.com2013-11-11
| | | | | | Review URL: https://codereview.chromium.org/66783003 git-svn-id: http://skia.googlecode.com/svn/trunk@12217 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-10-31
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@12043 2bbb7eff-a529-9590-31e7-b0007b416f81
* prototype for kerning apiGravatar reed@google.com2013-10-30
| | | | | | | | | BUG= R=bungeman@google.com Review URL: https://codereview.chromium.org/29363009 git-svn-id: http://skia.googlecode.com/svn/trunk@12018 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement charToGlyph on remaining ports.Gravatar bungeman@google.com2013-10-24
| | | | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/22859070 git-svn-id: http://skia.googlecode.com/svn/trunk@11955 2bbb7eff-a529-9590-31e7-b0007b416f81
* Limit warning message to de-clutter bench output logsGravatar robertphillips@google.com2013-09-27
| | | | | | | | https://codereview.chromium.org/25112002/ git-svn-id: http://skia.googlecode.com/svn/trunk@11511 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add an empty typeface as a default-default.Gravatar bungeman@google.com2013-08-21
| | | | | | | | R=reed@google.com Review URL: https://codereview.chromium.org/22861017 git-svn-id: http://skia.googlecode.com/svn/trunk@10857 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getFamilyNames to SkTypeface.Gravatar bungeman@google.com2013-08-07
| | | | | | | | | | | | Committed: https://code.google.com/p/skia/source/detail?r=10589 Committed: https://code.google.com/p/skia/source/detail?r=10592 Committed: https://code.google.com/p/skia/source/detail?r=10608 Review URL: https://codereview.chromium.org/21716005 git-svn-id: http://skia.googlecode.com/svn/trunk@10615 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r10608 (Add getFamilyNames to SkTypeface) due to compilation failuresGravatar robertphillips@google.com2013-08-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10609 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getFamilyNames to SkTypeface.Gravatar bungeman@google.com2013-08-07
| | | | | | | | | | Committed: https://code.google.com/p/skia/source/detail?r=10589 Committed: https://code.google.com/p/skia/source/detail?r=10592 Review URL: https://codereview.chromium.org/21716005 git-svn-id: http://skia.googlecode.com/svn/trunk@10608 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getFamilyNames to SkTypeface.Gravatar bungeman@google.com2013-08-07
| | | | | | | | Committed: https://code.google.com/p/skia/source/detail?r=10589 Review URL: https://codereview.chromium.org/21716005 git-svn-id: http://skia.googlecode.com/svn/trunk@10592 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reverting r10589: Add getFamilyNames to SkTypefaceGravatar jvanverth@google.com2013-08-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10590 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getFamilyNames to SkTypeface.Gravatar bungeman@google.com2013-08-06
| | | | | | Review URL: https://codereview.chromium.org/21716005 git-svn-id: http://skia.googlecode.com/svn/trunk@10589 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement onGetTableTags and onGetTableData on Windows.Gravatar bungeman@google.com2013-08-01
| | | | | | | | | Implements these and removes default implementation, making the declaration in SkTypeface pure virtual. Review URL: https://codereview.chromium.org/20672004 git-svn-id: http://skia.googlecode.com/svn/trunk@10500 2bbb7eff-a529-9590-31e7-b0007b416f81
* Reintroduce default impls removed in 10495.Gravatar bungeman@google.com2013-08-01
| | | | | | | Due to poor placement of overrides in the hierarchy, nacl is failing. git-svn-id: http://skia.googlecode.com/svn/trunk@10497 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement onGetTableTags and onGetTableData on Windows.Gravatar bungeman@google.com2013-08-01
| | | | | | | | | | Implements these and removes default implementation, making the declaration in SkTypeface pure virtual. Review URL: https://codereview.chromium.org/20672004/ git-svn-id: http://skia.googlecode.com/svn/trunk@10495 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove old default implementation of SkTypeface::onGetUPEM.Gravatar bungeman@google.com2013-07-30
| | | | | | | | | | In order to introduce onGetUPEM there was written a generic but slow version in SkTypeface.cpp. All ports now implement this method and the declaration is now marked as pure virtual. git-svn-id: http://skia.googlecode.com/svn/trunk@10442 2bbb7eff-a529-9590-31e7-b0007b416f81
* refactoring for SK_FONTHOST_USES_FONTMGR optionGravatar reed@google.com2013-07-30
| | | | | | | | | BUG= R=bungeman@google.com Review URL: https://codereview.chromium.org/21149008 git-svn-id: http://skia.googlecode.com/svn/trunk@10440 2bbb7eff-a529-9590-31e7-b0007b416f81
* expose getFamilyName to public SkTypefaceGravatar reed@google.com2013-07-29
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10418 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement onCountGlyphs and onGetUPEM on Windows.Gravatar bungeman@google.com2013-07-15
| | | | | | | | R=vandebo@chromium.org Review URL: https://codereview.chromium.org/19231003 git-svn-id: http://skia.googlecode.com/svn/trunk@10089 2bbb7eff-a529-9590-31e7-b0007b416f81
* add charsToGlyphs to SkTypefaceGravatar reed@google.com2013-07-02
| | | | | | | | | | | | Will disable new unittest until all backends are implemented. On Mac, new API is 4x faster than old paint one, so next CL I will reimplement the paint calls in terms of the new typeface call. R=eae@chromium.org Review URL: https://codereview.chromium.org/18083023 git-svn-id: http://skia.googlecode.com/svn/trunk@9860 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix issues related to resolving fonts based on name.Gravatar djsollen@google.com2013-06-05
| | | | | | | | | 1) non-system font files are not added to the cache. 2) We cache the default fonts for quick lookup. Review URL: https://codereview.chromium.org/16439004 git-svn-id: http://skia.googlecode.com/svn/trunk@9441 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix memory leak in SkTypeface.cppGravatar robertphillips@google.com2013-05-10
| | | | | | | | https://codereview.chromium.org/14617019/ git-svn-id: http://skia.googlecode.com/svn/trunk@9099 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkTypeFace::Deserialize work for embedded fonts.Gravatar bungeman@google.com2013-04-09
| | | | | | | https://codereview.appspot.com/8584044/ git-svn-id: http://skia.googlecode.com/svn/trunk@8580 2bbb7eff-a529-9590-31e7-b0007b416f81
* Partial fix for skp reading failure on fontsGravatar robertphillips@google.com2013-04-09
| | | | | | | | verbal lgtm from bungeman@ git-svn-id: http://skia.googlecode.com/svn/trunk@8578 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8383 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change fixedWidth to fixedPitch and implement on Windows.Gravatar bungeman@google.com2013-03-25
| | | | | | | https://codereview.appspot.com/7954044/ git-svn-id: http://skia.googlecode.com/svn/trunk@8372 2bbb7eff-a529-9590-31e7-b0007b416f81
* land https://codereview.chromium.org/12676024Gravatar reed@google.com2013-03-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8359 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkFontHost::OpenStream(), now subsumed by SkTypeface::openStream()Gravatar reed@google.com2013-03-22
| | | | | | | remove obsolete/abandoned SkFontHost_freetype_mac.cpp Review URL: https://codereview.chromium.org/13008019 git-svn-id: http://skia.googlecode.com/svn/trunk@8342 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-22
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8324 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkFontHost::GetFileNameGravatar mike@reedtribe.org2013-03-22
| | | | | | | | | All remaining impls were either empty, or always return 0 for ttcIndex (its only value). This functionality is now totally subsumed by SkTypeface::openStream() git-svn-id: http://skia.googlecode.com/svn/trunk@8321 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove GetTable* APIs from SkFontHost, and rely on SkTypeface::onGetTable*Gravatar reed@google.com2013-03-21
| | | | | | | default impls call SkFontStream, and rely on SkTypeface::onOpenStream Review URL: https://codereview.chromium.org/13001002 git-svn-id: http://skia.googlecode.com/svn/trunk@8310 2bbb7eff-a529-9590-31e7-b0007b416f81
* add virtual SkTypeface::onOpenStream and override that for fontconfigGravatar reed@google.com2013-03-21
| | | | | | | | | | | (other ports to follow) When this is complete, we will be able to remove from SkFontHost - OpenStream - GetFileName Review URL: https://codereview.chromium.org/12988002 git-svn-id: http://skia.googlecode.com/svn/trunk@8299 2bbb7eff-a529-9590-31e7-b0007b416f81
* call onGetUPEM to subclasses can optimize it, and place default behaviorGravatar reed@google.com2013-03-21
| | | | | | | | | (calling getAdvancedTypefaceMetrics) in base impl. This allows us to remove SkFontHost::GetUnitsPerEm entirely Review URL: https://codereview.chromium.org/12915003 git-svn-id: http://skia.googlecode.com/svn/trunk@8295 2bbb7eff-a529-9590-31e7-b0007b416f81
* move impl of AdvancedTypefaceMetrics into typeface (3)Gravatar reed@google.com2013-03-20
| | | | | | Review URL: https://codereview.chromium.org/12807004 git-svn-id: http://skia.googlecode.com/svn/trunk@8274 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkFontHost::CreateScalerContextGravatar reed@google.com2013-03-19
| | | | | | Review URL: https://codereview.chromium.org/12593013 git-svn-id: http://skia.googlecode.com/svn/trunk@8228 2bbb7eff-a529-9590-31e7-b0007b416f81
* move most of SkFontHost to private (preceeding making it all private)Gravatar reed@google.com2013-03-14
| | | | | | | In this change, have to accomodate PDF wanting to call openStream and advancedMetrics Review URL: https://codereview.chromium.org/12739006 git-svn-id: http://skia.googlecode.com/svn/trunk@8156 2bbb7eff-a529-9590-31e7-b0007b416f81
* short-circuit if the requested typeface matches what we've been given.Gravatar reed@google.com2013-03-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7954 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7948 2bbb7eff-a529-9590-31e7-b0007b416f81
* move some of the impl in fonthost into typeface virtualsGravatar mike@reedtribe.org2013-03-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7944 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fonts with cubic outlines are rendered without ClearType by GDI.Gravatar bungeman@google.com2012-10-12
| | | | | | | https://codereview.appspot.com/6643060/ git-svn-id: http://skia.googlecode.com/svn/trunk@5929 2bbb7eff-a529-9590-31e7-b0007b416f81
* add getUnitsPerEm() to SkTypefaceGravatar reed@google.com2012-07-31
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4863 2bbb7eff-a529-9590-31e7-b0007b416f81
* more SkInstCnt plumbingGravatar reed@google.com2012-06-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4344 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove unused ptr/len parameters from CreateTypefaceGravatar reed@google.com2012-05-07
| | | | | | Review URL: https://codereview.appspot.com/6201056 git-svn-id: http://skia.googlecode.com/svn/trunk@3862 2bbb7eff-a529-9590-31e7-b0007b416f81
* expose font-table APIs to SkTypefaceGravatar reed@google.com2012-04-17
| | | | | | Review URL: https://codereview.appspot.com/6050046 git-svn-id: http://skia.googlecode.com/svn/trunk@3707 2bbb7eff-a529-9590-31e7-b0007b416f81