Commit Graph

84 Commits

Author SHA1 Message Date
robertphillips
465706820d Revert of Font variations. (patchset #26 id:500001 of https://codereview.chromium.org/1027373002/)
Reason for revert:
Appears to be breaking  Linux ARM bots:

FAILED:
/usr/local/google/home/mosaic-role/slave/repo_clients/chromium_tot/chromium/src/../../prebuilt/toolchain/armv7a/bin/armv7a-cros-linux-gnueabi-g++
... -o obj/third_party/skia/src/ports/skia_library.SkFontHost_FreeType.o
../../third_party/skia/src/ports/SkFontHost_FreeType.cpp:37:31: fatal error:
freetype/ftmm.h: No such file or directory
 #include FT_MULTIPLE_MASTERS_H
                               ^
compilation terminated.

Original issue's description:
> Font variations.
>
> Multiple Master and TrueType fonts support variation axes.
> This implements back-end support for axes on platforms which
> support it.
>
> Committed: https://skia.googlesource.com/skia/+/05773ed30920c0214d1433c07cf6360a05476c97
>
> Committed: https://skia.googlesource.com/skia/+/3489ee0f4fa34f124f9de090d12bdc2107d52aa9

TBR=reed@google.com,mtklein@google.com,djsollen@google.com,halcanary@google.com,bungeman@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1139123008
2015-05-15 11:30:41 -07:00
bungeman
3489ee0f4f Font variations.
Multiple Master and TrueType fonts support variation axes.
This implements back-end support for axes on platforms which
support it.

Committed: https://skia.googlesource.com/skia/+/05773ed30920c0214d1433c07cf6360a05476c97

Review URL: https://codereview.chromium.org/1027373002
2015-05-14 14:18:03 -07:00
bungeman
5ae1312c9f Revert of Font variations. (patchset #21 id:400001 of https://codereview.chromium.org/1027373002/)
Reason for revert:
Mac failing to build due to CFNumberType in Chromium Canary.

Original issue's description:
> Font variations.
>
> Multiple Master and TrueType fonts support variation axes.
> This implements back-end support for axes on platforms which
> support it.
>
> Committed: https://skia.googlesource.com/skia/+/05773ed30920c0214d1433c07cf6360a05476c97

TBR=reed@google.com,mtklein@google.com,djsollen@google.com,halcanary@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1128913008
2015-05-13 12:16:41 -07:00
bungeman
05773ed309 Font variations.
Multiple Master and TrueType fonts support variation axes.
This implements back-end support for axes on platforms which
support it.

Review URL: https://codereview.chromium.org/1027373002
2015-05-13 10:57:10 -07:00
bungeman
9d911d5a93 Remove filename from SkFontDescriptor.
No one actually uses it, so remove it. Keep the string id for backward
compatibility.

TBR=reed@google.com
This doesn't change any public API.

Review URL: https://codereview.chromium.org/1057413005
2015-04-17 11:00:06 -07:00
bungeman
5c9fa2844c Add option to embed font data into executable.
Some tools would like to be built with all resources embedded.
This change makes it possible to build a font manager which
uses font data embedded into the executable.

Review URL: https://codereview.chromium.org/1015723004
2015-03-30 12:53:48 -07:00
mtklein
36352bf5e3 C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}
NOPRESUBMIT=true

BUG=skia:
DOCS_PREVIEW= https://skia.org/?cl=1037793002

Review URL: https://codereview.chromium.org/1037793002
2015-03-25 18:17:32 -07:00
bungeman
7be2eb89cc Remove SkFontHost includes and friends.
SkFontHost no longer exists as a class, so remove the includes and stop
making it a friend.

Review URL: https://codereview.chromium.org/943333004
2015-02-23 08:25:00 -08:00
bungeman
5f213d9627 SkTypeface to use SkStreamAsset.
SkTypeface already requires typeface streams to support SkStreamAsset
in practice, and in practice all users are already supplying them.

Review URL: https://codereview.chromium.org/869763002
2015-01-27 05:39:10 -08:00
scroggo
28b44e8f27 And change SkAutoTUnref<const SkStream to SkAutoTDelete.
Should have been included with https://codereview.chromium.org/860353005/

TBR=bungeman@google.com
NOTRY=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/844193007
2015-01-21 12:33:29 -08:00
scroggo
e58898ee3a Remove another caller of SkRef(SkStream)
TBR=bungeman@google.com
NOTRY=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/860353005
2015-01-21 12:23:20 -08:00
scroggo
a1193e4b0e Make SkStream *not* ref counted.
SkStream is a stateful object, so it does not make sense for it to have
multiple owners. Make SkStream inherit directly from SkNoncopyable.

Update methods which previously called SkStream::ref() (e.g.
SkImageDecoder::buildTileIndex() and SkFrontBufferedStream::Create(),
which required the existing owners to call SkStream::unref()) to take
ownership of their SkStream parameters and delete when done (including
on failure).

Switch all SkAutoTUnref<SkStream>s to SkAutoTDelete<SkStream>s. In some
cases this means heap allocating streams that were previously stack
allocated.

Respect ownership rules of SkTypeface::CreateFromStream() and
SkImageDecoder::buildTileIndex().

Update the comments for exceptional methods which do not affect the
ownership of their SkStream parameters (e.g.
SkPicture::CreateFromStream() and SkTypeface::Deserialize()) to be
explicit about ownership.

Remove test_stream_life, which tested that buildTileIndex() behaved
correctly when SkStream was a ref counted object. The test does not
make sense now that it is not.

In SkPDFStream, remove the SkMemoryStream member. Instead of using it,
create a new SkMemoryStream to pass to fDataStream (which is now an
SkAutoTDelete).

Make other pdf rasterizers behave like SkPDFDocumentToBitmap.

SkPDFDocumentToBitmap delete the SkStream, so do the same in the
following pdf rasterizers:

SkPopplerRasterizePDF
SkNativeRasterizePDF
SkNoRasterizePDF

Requires a change to Android, which currently treats SkStreams as ref
counted objects.

Review URL: https://codereview.chromium.org/849103004
2015-01-21 12:09:53 -08:00
mtklein
72c9faab45 Fix up all the easy virtual ... SK_OVERRIDE cases.
This fixes every case where virtual and SK_OVERRIDE were on the same line,
which should be the bulk of cases.  We'll have to manually clean up the rest
over time unless I level up in regexes.

for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end

BUG=skia:

Review URL: https://codereview.chromium.org/806653007
2015-01-09 10:06:40 -08:00
humper
ad5e9a5327 add runtime config option to retain stream for custom typefaces
BUG=skia:

Review URL: https://codereview.chromium.org/729973004
2014-11-19 08:32:19 -08:00
djsollen
33068c19f1 Enforce pure virtual behavior for onMatchFamilyStyleCharacter
All impls that previously did not define the functions have been
updated to return NULL.

NOTRY=true

Review URL: https://codereview.chromium.org/728873002
2014-11-14 10:52:53 -08:00
bungeman
14df833984 Extend SkFontMgr_Custom to cover ttc, otf, pfb.
Adds ability to test ScanFont with Type1 (pfb) fonts
and fonts with multiple faces (ttc).

Committed: https://skia.googlesource.com/skia/+/ee0c2e4fd429424beaa35f29e7f656997ba3f115

Review URL: https://codereview.chromium.org/672723002
2014-10-28 15:07:23 -07:00
bungeman
32501a1bd4 Revert of Extend SkFontMgr_Custom to cover ttc, otf, pfb. (patchset #2 id:20001 of https://codereview.chromium.org/672723002/)
Reason for revert:
Reverting as this appears to be causing issues with color fonts on Android.

Original issue's description:
> Extend SkFontMgr_Custom to cover ttc, otf, pfb.
>
> Adds ability to test ScanFont with Type1 (pfb) fonts
> and fonts with multiple faces (ttc).
>
> Committed: https://skia.googlesource.com/skia/+/ee0c2e4fd429424beaa35f29e7f656997ba3f115

TBR=reed@google.com,halcanary@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/685803003
2014-10-28 12:03:55 -07:00
bungeman
ee0c2e4fd4 Extend SkFontMgr_Custom to cover ttc, otf, pfb.
Adds ability to test ScanFont with Type1 (pfb) fonts
and fonts with multiple faces (ttc).

Review URL: https://codereview.chromium.org/672723002
2014-10-28 10:46:06 -07:00
bungeman
a4c4a2d8cd Replace SkTypeface::Style with SkFontStyle.
Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20

Review URL: https://codereview.chromium.org/488143002
2014-10-20 13:33:19 -07:00
mtklein
802ad83dca Revert of Replace SkTypeface::Style with SkFontStyle. (patchset #9 id:160001 of https://codereview.chromium.org/488143002/)
Reason for revert:
CrOS GM failures:

[*] 2 ExpectationsMismatch: fontmgr_iter_565.png fontmgr_iter_8888.png

Original issue's description:
> Replace SkTypeface::Style with SkFontStyle.
>
> Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20

TBR=reed@google.com,bungeman@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/667023002
2014-10-20 12:54:31 -07:00
bungeman
43b8b36b20 Replace SkTypeface::Style with SkFontStyle.
Review URL: https://codereview.chromium.org/488143002
2014-10-20 12:33:59 -07:00
bungeman
d71b757573 Serialize the font index.
BUG=skia:1186
R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/567013002
2014-09-18 10:55:32 -07:00
bungeman
b374d6a62c Add onGetFamilyName to SkTypeface.
This speeds up and documents this particular feature of SkTypeface
and also frees up SkFontDescriptor to be used only in serialization.

R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/574873002
2014-09-17 07:48:59 -07:00
bsalomon
49f085dddf "NULL !=" = NULL
R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
2014-09-05 13:34:00 -07:00
tfarina
a8e2e1504b Cleanup: Rename SkOSPath functions.
Mostly for brevity and matches better with Python:

Python           | Old C++                 | New C++
os.path.join     | SkOSPath::SkPathJoin    | SkOSPath::Join
os.path.basename | SkOSPath::SkBasename    | SkOSPath::Basename

BUG=None
TEST=make all
R=mtklein@google.com, bsalomon@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/428443002
2014-07-28 19:26:58 -07:00
bungeman
3a21d61668 Update find_name_and_attributes to take ttc index and rename to SkTypeface_FreeType::ScanFont.
The name 'ScanFont' is to mirror the naming convention of similar functions in FontConfig.

R=tomhudson@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/382053003
2014-07-11 08:52:26 -07:00
commit-bot@chromium.org
a2b44dc588 SkFontHost_linux - dup stream instead of ref
R=bungeman@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/210383002

git-svn-id: http://skia.googlecode.com/svn/trunk@13926 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-24 21:42:01 +00:00
commit-bot@chromium.org
ea163cc3a7 Changes to SkFontHost_linux
* Use SkOSPath::SkPathJoin() rather than append so that
  SK_FONT_FILE_PREFIX does not have to end in a '/'.

* Add another font to the default font list.

Motivation: Some tests fail when there are no default fonts.

BUG=skia:2282
R=bungeman@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/195733007

git-svn-id: http://skia.googlecode.com/svn/trunk@13789 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:24:49 +00:00
commit-bot@chromium.org
967dee32ef Make SkFontMgr interface const.
COLLABORATOR=mtklein@chromium.org
BUG=skia:
R=reed@google.com, bungeman@google.com, mtklein@chromium.org

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/134643028

git-svn-id: http://skia.googlecode.com/svn/trunk@13314 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 22:35:01 +00:00
bungeman@google.com
b3d154de5e Remove SK_FONTHOST_USES_FONTMGR.
Review URL: https://codereview.chromium.org/66783003

git-svn-id: http://skia.googlecode.com/svn/trunk@12217 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-11 15:53:29 +00:00
bungeman@google.com
febfd70d26 Add onRefMatchingStyle to SkFontHost_linux.
git-svn-id: http://skia.googlecode.com/svn/trunk@10502 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-02 00:20:34 +00:00
reed@google.com
ab44a17f37 stub support for SK_FONTHOST_USES_FONTMGR
BUG=

Review URL: https://codereview.chromium.org/21563002

git-svn-id: http://skia.googlecode.com/svn/trunk@10485 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-01 15:53:39 +00:00
reed@google.com
070da5edcb add dummpy SkFontMgr::Factory() impl to font backends, so we can start testing it
Review URL: https://codereview.chromium.org/13119021

git-svn-id: http://skia.googlecode.com/svn/trunk@8415 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-27 20:01:49 +00:00
reed@google.com
1fa793fa6b remove SkFontHost::NextLogicalFont, and add android-specific function
SkAndroidNextLogicalTypeface



git-svn-id: http://skia.googlecode.com/svn/trunk@8386 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-26 12:29:05 +00:00
bungeman@google.com
fe74765f0d Change fixedWidth to fixedPitch and implement on Windows.
https://codereview.appspot.com/7954044/


git-svn-id: http://skia.googlecode.com/svn/trunk@8372 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 19:36:11 +00:00
reed@google.com
5526ede94a land https://codereview.chromium.org/12676024
git-svn-id: http://skia.googlecode.com/svn/trunk@8359 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-25 13:03:37 +00:00
reed@google.com
292b1d4903 remove SkFontHost::OpenStream(), now subsumed by SkTypeface::openStream()
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
2013-03-22 17:21:59 +00:00
mike@reedtribe.org
66d831dc74 remove SkFontHost::GetFileName
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
2013-03-22 00:47:41 +00:00
reed@google.com
032fbb8ebf oops, update the INHERITED for our typeface
git-svn-id: http://skia.googlecode.com/svn/trunk@8289 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 13:38:18 +00:00
reed@google.com
0fc17c33f1 inherit from SkTypeface_FreeType to share more code
git-svn-id: http://skia.googlecode.com/svn/trunk@8288 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-21 13:33:49 +00:00
reed@google.com
0da48618a7 remove SkFontHost::CreateScalerContext
Review URL: https://codereview.chromium.org/12593013

git-svn-id: http://skia.googlecode.com/svn/trunk@8228 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 16:06:52 +00:00
mike@reedtribe.org
f381162e56 use SkStream::NewFromFile()
git-svn-id: http://skia.googlecode.com/svn/trunk@8210 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-19 02:18:33 +00:00
reed@google.com
e1575aa216 reland 8200 w/ fix for android (use fullpath instead of path)
Review URL: https://codereview.chromium.org/12921003

git-svn-id: http://skia.googlecode.com/svn/trunk@8206 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 21:08:46 +00:00
reed@google.com
070235e746 revert 8204 -- what is happening???
git-svn-id: http://skia.googlecode.com/svn/trunk@8205 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 20:53:49 +00:00
reed@google.com
4f7e846cd8 reland 8200 w/ fix for android (need fullpath instead of path)
git-svn-id: http://skia.googlecode.com/svn/trunk@8204 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 20:49:28 +00:00
reed@google.com
1311f7e7f4 revert 8200 to figure out android break
git-svn-id: http://skia.googlecode.com/svn/trunk@8201 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 19:32:58 +00:00
reed@google.com
d5ea2aeb60 move SK_MMAP_SUPPORT into SkPreConfig, so we can know about its availability
throughout the code.

Add SkData::NewFromMMap() help factory.

Refactor (now gone) SkMMapStream into SkStream::NewFromFile() factory
Review URL: https://codereview.chromium.org/12919013

git-svn-id: http://skia.googlecode.com/svn/trunk@8200 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-18 19:08:46 +00:00
robertphillips@google.com
5b33211c5e Start addressing the clang static analyzer issues
https://codereview.appspot.com/7249043/



git-svn-id: http://skia.googlecode.com/svn/trunk@7469 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 20:33:12 +00:00
skia.committer@gmail.com
e16efc1882 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
scroggo@google.com
027038a534 Turn off some debugging statements.
Review URL: https://codereview.appspot.com/6646044

git-svn-id: http://skia.googlecode.com/svn/trunk@5903 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 19:12:03 +00:00