History log of /external/skia/src/ports/SkFontMgr_fontconfig.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
592273965a7fc7fc403252e420d15f6555b8f25d 26-Sep-2017 Mike Reed <reed@google.com> Revert "Revert "migrate to sk_sp for SkFontMgr API""

This reverts commit f40ae1a4b5365620463bd63b5140bd3fc78894a1.

Bug: skia:
Change-Id: I752606de92ea405d6e50219c98030409b00a2841
Reviewed-on: https://skia-review.googlesource.com/51160
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
f40ae1a4b5365620463bd63b5140bd3fc78894a1 25-Sep-2017 Mike Reed <reed@google.com> Revert "migrate to sk_sp for SkFontMgr API"

This reverts commit 4bf296be2821d2bdd0afabae9fdfe18e7e9b59cb.

Reason for revert: need guard for flutter

Original change's description:
> migrate to sk_sp for SkFontMgr API
>
> Bug: skia:
> Change-Id: I1bf2a13537f67938cdc9956080065d10ea0bd1d8
> Reviewed-on: https://skia-review.googlesource.com/48740
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=bungeman@google.com,reed@google.com

Change-Id: Ib0b2d00fcbcdb6131444f94d1046df6dae24f551
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/50940
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
4bf296be2821d2bdd0afabae9fdfe18e7e9b59cb 25-Sep-2017 Mike Reed <reed@google.com> migrate to sk_sp for SkFontMgr API

Bug: skia:
Change-Id: I1bf2a13537f67938cdc9956080065d10ea0bd1d8
Reviewed-on: https://skia-review.googlesource.com/48740
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
0ca21466da7441baf471966be8c628d408752a72 20-Sep-2017 Mike Reed <reed@google.com> remove dead code for STREAM_API

Bug: skia:
Change-Id: I5c5a65710af443c60a3d13fb309ce31309be7f74
Reviewed-on: https://skia-review.googlesource.com/49460
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
98c5d92ee60f6d395f9591891922aa9852a497ee 16-Sep-2017 Mike Reed <reed@google.com> Revert "Revert "use unique_ptr for stream api""

This reverts commit 7031b247c9fe0cb8fa32129f9bc24fea2043cee2.

Bug: skia:
Change-Id: I24c34bbee703f02994be8e206bcb9c10b5427d84
Reviewed-on: https://skia-review.googlesource.com/47541
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
7031b247c9fe0cb8fa32129f9bc24fea2043cee2 15-Sep-2017 Mike Reed <reed@google.com> Revert "use unique_ptr for stream api"

This reverts commit 49f1f34438d3431f6d7e32847accd2ba96948a73.

Reason for revert: broke win-chrome

../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): error C2228: left of '.release' must have class/struct/union
../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: type is 'SkStreamAsset *'
../../third_party/skia/src/ports/SkFontMgr_win_dw.cpp(89): note: did you intend to use '->' instead?


Original change's description:
> use unique_ptr for stream api
>
> Bug: skia:6888
> Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8
> Reviewed-on: https://skia-review.googlesource.com/26740
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@chromium.org,mtklein@google.com,bungeman@google.com,reed@google.com

Change-Id: Ic1e4af557317abd06b7f6b7f5056645df7e469f0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6888
Reviewed-on: https://skia-review.googlesource.com/47440
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
49f1f34438d3431f6d7e32847accd2ba96948a73 15-Sep-2017 Mike Reed <reed@google.com> use unique_ptr for stream api

Bug: skia:6888
Change-Id: I3459b4913982a7cae1c0061697c82cc65ad9a2d8
Reviewed-on: https://skia-review.googlesource.com/26740
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
ce3f44a866a440a4da75562a038d35fd6584a483 28-Jul-2017 Ben Wagner <bungeman@google.com> Don't re-enter mutex in SkFontMgr_fontconfig.

The FCLocker lock cannot be held while calling fTFCache::add. The
~SkTypeface_fontconfig method must take the FCLocker lock to destroy its
FcPattern since a typeface may be destroyed by any last owner. However,
fTFCache may be the last owner of some of its cached typefaces, and so a
purge when calling ::add to make space for the new entry may cause a
typeface to be destroyed. As a result, createTypefaceFromFcPattern must
not hold the FCLocker lock when calling fTFCache::add.

Fortunately, the FCLocker lock is only needed to serialize calls into
FontConfig. If acquire and release were free then they would be used
around each individual call to FontConfig. As a result it is fine to
give up the lock at any point in Skia code so long as no FontConfig
calls are made while the FCLocker lock is not held.

Change-Id: I37224d4b38bf88ace482496ce7530c84158d2d2e
Reviewed-on: https://skia-review.googlesource.com/27663
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
209e4b1b70a5e9c2f504de15f038999ed9ee4ae5 04-May-2017 Hal Canary <halcanary@google.com> Revert "Revert "SkTypeface::getAdvancedMetrics(): cleanup""

This reverts commit 59ad782b2b05b07aa6eb961aa4d62e934093cbd1.

- SkAdvancedTypefaceMetrics is a struct not a class
- SkTypeface::PerGlyphInfo is gone
- s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
- s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
- [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
- [on]getAdvancedMetrics no longer has parameters. (Only caller always
used same arguments.)
- SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
- SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt

Change-Id: I91b56e60f7d9de7d46c426c6bd34ce124e0cf00e
Reviewed-on: https://skia-review.googlesource.com/15360
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
59ad782b2b05b07aa6eb961aa4d62e934093cbd1 04-May-2017 Hal Canary <halcanary@google.com> Revert "SkTypeface::getAdvancedMetrics(): cleanup"

This reverts commit cef018896e5cad8eb46a536b60cdf79ebe2b0191.

Reason for revert: broke chromium roll (windows).

Original change's description:
> SkTypeface::getAdvancedMetrics(): cleanup
>
> - SkAdvancedTypefaceMetrics is a struct not a class
> - SkTypeface::PerGlyphInfo is gone
> - s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
> - s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
> - [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
> - [on]getAdvancedMetrics no longer has parameters. (Only caller always
> used same arguments.)
> - SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
> - SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt
>
> Change-Id: I37571ebcc383ba9eb21bc20c60c734e3ca317582
> Reviewed-on: https://skia-review.googlesource.com/15311
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
>

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

Change-Id: I84c7d53df566aaf83427e3368edaa02b7b5a9cb8
Reviewed-on: https://skia-review.googlesource.com/15319
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
cef018896e5cad8eb46a536b60cdf79ebe2b0191 04-May-2017 Hal Canary <halcanary@google.com> SkTypeface::getAdvancedMetrics(): cleanup

- SkAdvancedTypefaceMetrics is a struct not a class
- SkTypeface::PerGlyphInfo is gone
- s/getAdvancedTypefaceMetrics/getAdvancedMetrics/g
- s/onGetAdvancedTypefaceMetrics/onGetAdvancedMetrics/g
- [on]getAdvancedMetrics now return unique_ptr rather than bare ptr.
- [on]getAdvancedMetrics no longer has parameters. (Only caller always
used same arguments.)
- SkAdvancedTypefaceMetrics uses C++11 in-class member initializers.
- SkAdvancedTypefaceMetrics no longer inherits from SkRefCnt

Change-Id: I37571ebcc383ba9eb21bc20c60c734e3ca317582
Reviewed-on: https://skia-review.googlesource.com/15311
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
7575bb1c389f96db4123783fcd717f3611b3a8eb 01-May-2017 bungeman <bungeman@google.com> SkFontMgr::matchFamily should not crash on nullptr.

While all systems can resolve a font from just a style request
(without a name) almost no systems specify a default font family.

BUG=skia:6574

Change-Id: If7c81808b62cd5d8212bce2eb4d9c476c45af80a
Reviewed-on: https://skia-review.googlesource.com/14902
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
d3b65972aad96453ff4510caa3e25a2b847c6d1e 22-Mar-2017 Brian Salomon <bsalomon@google.com> Mark overridden destructors with 'override' and remove 'virtual'

This silences a new warning in clang 5.0

Change-Id: Ieb5b75a6ffed60107c3fd16075d2ecfd515b55e8
Reviewed-on: https://skia-review.googlesource.com/10006
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
fc497343cbcbd526f77da913ae2feca0e1b1b866 24-Feb-2017 Ben Wagner <bungeman@google.com> Add SkTypeface::getVariationDesignPosition.

Allow users to query a typeface's position in variation design space.

Change-Id: Id7cae439e795b8c9586394f11359fb7fe55e1c0b
Reviewed-on: https://skia-review.googlesource.com/8861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
97043299cb352f50f604878b7a1dc8ad127fc1c6 23-Feb-2017 Ben Wagner <bungeman@google.com> Revert "Add SkTypeface::getVariationDesignPosition."

This reverts commit 0f3d0c37dbcaf4ec271d5fe847becc9b1aa6f537.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Add SkTypeface::getVariationDesignPosition.
>
> Allow users to query a typeface's position in variation design space.
>
> Change-Id: I173ee9eefdddee6b2613435ebcc6b08c25b382ed
> Reviewed-on: https://skia-review.googlesource.com/8684
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=bungeman@google.com,reed@google.com,reviews@skia.org,drott@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I484fe52c1f89e7b6d0024dcabf7c59d0e8b5b5e7
Reviewed-on: https://skia-review.googlesource.com/8929
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
0f3d0c37dbcaf4ec271d5fe847becc9b1aa6f537 18-Feb-2017 bungeman <bungeman@google.com> Add SkTypeface::getVariationDesignPosition.

Allow users to query a typeface's position in variation design space.

Change-Id: I173ee9eefdddee6b2613435ebcc6b08c25b382ed
Reviewed-on: https://skia-review.googlesource.com/8684
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
7d07d4663822c05e421f1f50460a985ab43adac4 17-Feb-2017 Ben Wagner <bungeman@google.com> Revert "Add SkTypeface::getVariationDesignPosition."

This reverts commit 87e7f820f74a990a59fb8f1d5c182584ce586ecf.

Reason for revert: Failed a test on Mac

Original change's description:
> Add SkTypeface::getVariationDesignPosition.
>
> Allow users to query a typeface's position in variation design space.
>
> Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198
> Reviewed-on: https://skia-review.googlesource.com/7130
> Commit-Queue: Ben Wagner <bungeman@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
>

TBR=bungeman@google.com,reed@google.com,reviews@skia.org,drott@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ia65792083642dbe9333a62eb75d162931b57cffd
Reviewed-on: https://skia-review.googlesource.com/8670
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
87e7f820f74a990a59fb8f1d5c182584ce586ecf 16-Feb-2017 Ben Wagner <bungeman@google.com> Add SkTypeface::getVariationDesignPosition.

Allow users to query a typeface's position in variation design space.

Change-Id: I5d80c8ff658708a5d1aa386ec5b7396dcb621198
Reviewed-on: https://skia-review.googlesource.com/7130
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Reed <reed@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
25272300c308335f2d87c2a70e249965b268bcb0 25-Jan-2017 Ben Wagner <bungeman@google.com> Implement getFamilyName for stream fonts on Linux.

When SkFontMgr_fontconfig and SkFontMgr_FontConfigInterface create a
typeface from data they do not store the default font name and
getFamilyName will return the empty string. All of the code to handle
this properly now exists, it just needs to be hooked up.

BUG=skia:1508

Change-Id: I75f2a598a5451babb4a9ceb5e9a9e9d3daa41d60
Reviewed-on: https://skia-review.googlesource.com/7506
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
20d031a6ad7853eec166a4a648c09b12e4f32008 11-Jan-2017 Ben Wagner <bungeman@google.com> Remove SK_LEGACY_FONTMGR_FACTORY.

SkFontMgr factories now return sk_sp and the legacy factories are no
longer used and can be removed.

BUG=skia:5077

Change-Id: Ieaff8555b297d1db157f8b78cdd6e7d07a3b5490
Reviewed-on: https://skia-review.googlesource.com/6894
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
3546ff10c2e1e91f5afe1efaab4e5e14f71689d1 03-Jan-2017 Ben Wagner <bungeman@google.com> Stage SkFontMgr factories to return smart pointers.

All the SkFontMgr factories currently return bare pointers and sometimes
even document the ownership rules. Since such factories can be
implemented by external ports, the ownership rules should be explicit in
order to prevent simple reference counting issues.

Change-Id: I25b598ce0954cd473a3fb1f8adc0cb86331583ca
Reviewed-on: https://skia-review.googlesource.com/6533
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
67b39de70fb5d10caebfc75f418754186e5226c3 07-Nov-2016 Hal Canary <halcanary@google.com> s/SkAutoTUnref/sk_sp/ in src/ part 1

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4480

Change-Id: I7d3219b02ad5094785e1b7635a9482e69aadbc8c
Reviewed-on: https://skia-review.googlesource.com/4480
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
fc6c37b981daeece7474ce61070c707c37eefa62 27-Sep-2016 Mike Klein <mtklein@chromium.org> Remove stray semicolons.

Turns out function declarations don't end in semicolons...

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2720

No public API changes.
TBR=reed@google.com

Change-Id: I72b56d52e1ff7fa6e89c295b0de8c46599791ebb
Reviewed-on: https://skia-review.googlesource.com/2720
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
f93d71122e4fcfcdc674a0163455990b13855f2f 16-Sep-2016 bungeman <bungeman@google.com> SkFontData to use smart pointers.

The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002

Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c
Review-Url: https://codereview.chromium.org/2339273002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
606add3dfb2f6d1dc3ee4921876e7c9fa01643f9 15-Sep-2016 bungeman <bungeman@google.com> Revert of SkFontData to use smart pointers. (patchset #3 id:40001 of https://codereview.chromium.org/2339273002/ )

Reason for revert:
Killing Mac

Original issue's description:
> SkFontData to use smart pointers.
>
> The SkFontData type is not exposed externally, so any method which uses
> it can be updated to use smart pointers without affecting external
> users. Updating this first will make updating the public API much
> easier.
>
> This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
> std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
> appears that no one outside Skia is currently using SkStream::NewfromFile
> so this is a good time to update it as well.
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002
>
> Committed: https://skia.googlesource.com/skia/+/d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c

TBR=mtklein@chromium.org,halcanary@google.com,mtklein@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2343933002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c 15-Sep-2016 bungeman <bungeman@google.com> SkFontData to use smart pointers.

The SkFontData type is not exposed externally, so any method which uses
it can be updated to use smart pointers without affecting external
users. Updating this first will make updating the public API much
easier.

This also updates SkStreamAsset* SkStream::NewFromFile(const char*) to
std::unique_ptr<SkStreamAsset> SkStream::MakeFromFile(const char*). It
appears that no one outside Skia is currently using SkStream::NewfromFile
so this is a good time to update it as well.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339273002

Review-Url: https://codereview.chromium.org/2339273002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
0b7758236ca81337aa465a9f61cf466f03718862 13-Sep-2016 bungeman <bungeman@google.com> Simulated fonts aren't TrueType fonts.

Some font back-ends provide simulated fonts such as fake bold or fake
oblique. These fonts should not be reported as TrueType, since the font
data isn't what is actually used to draw the glyphs.

BUG=chromium:639198
BUG=chromium:614612
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333423002

Review-Url: https://codereview.chromium.org/2333423002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
42943c8aa9c611c18ad0f1a30a27669f3d82239c 12-Sep-2016 reed <reed@google.com> change SkStreams to work with sk_sp<SkData> instead of SkData*

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2333713002

Review-Url: https://codereview.chromium.org/2333713002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
feb3c1a57faee39dc10ac904f6b215ba50e286b4 05-Aug-2016 bungeman <bungeman@google.com> Move to SkDataTable::MakeXXX and sk_sp.

Change SkDataTable::NewXXX to SkDataTable::MakeXXX and return sk_sp.
This updates users of SkDataTable to sk_sp as well.
There do not appear to be any external users of these methods.

Review-Url: https://codereview.chromium.org/2211143002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
d783e08004e2daace50dfcfebb66727b4c13794e 01-Aug-2016 bungeman <bungeman@google.com> Replace 'Ulta' with 'Ultra'.

Start fixing a typo in an enum name.

TBR=reed
This is just a typo fix.

Review-Url: https://codereview.chromium.org/2202703002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
b8113780c3cfed640016b263194b7f1531d43312 26-Jul-2016 bungeman <bungeman@google.com> Update typeface serialization style.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002

Committed: https://skia.googlesource.com/skia/+/7ae1c72e593823e6e300e4199558555765bcec17
Review-Url: https://codereview.chromium.org/2030683002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
6e45bda29edef867468cbdd7c062d0d99e884656 26-Jul-2016 bungeman <bungeman@google.com> Add test for typeface style round trip.

This also fixes the CG and GDI ports so they pass the test.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2171163002

Review-Url: https://codereview.chromium.org/2171163002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
e3aea10428d1597838fd563c92340beaf969a9b4 13-Jul-2016 bungeman <bungeman@google.com> Remove user specified typeface id.

Now that there may be multiple font managers in a process the typeface
ids must be unique across all typefaces, not just unique within a font
manager. If two typefaces have the same id there will be issues in the
glyph cache. All existing font managers were already doing this by
calling SkFontCache::NewFontID, so centralize this in SkTypeface.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147733002

Review-Url: https://codereview.chromium.org/2147733002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
f8f9c07c283a3204a38b4324c14597e644686428 13-Jun-2016 mtklein <mtklein@google.com> Revert of Update typeface serialization style. (patchset #3 id:40001 of https://codereview.chromium.org/2030683002/ )

Reason for revert:
serialize-8888 broken for typefacestyles on Mac. (Bold weighting goes missing.)

Original issue's description:
> Update typeface serialization style.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002
>
> Committed: https://skia.googlesource.com/skia/+/7ae1c72e593823e6e300e4199558555765bcec17

TBR=reed@google.com,bungeman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2067583002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
7ae1c72e593823e6e300e4199558555765bcec17 13-Jun-2016 bungeman <bungeman@google.com> Update typeface serialization style.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2030683002

Review-Url: https://codereview.chromium.org/2030683002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
086eea93b1f8253420c233c33cdabc0e74b08091 05-May-2016 reed <reed@google.com> Revert of SK_DECLARE_STATIC_MUTEX -> static SkMutex (patchset #1 id:1 of https://codereview.chromium.org/1948193002/ )

Reason for revert:
broken the Mac and Linux builders, e.g.:

https://build.chromium.org/p/chromium/builders/Mac/builds/15151
https://build.chromium.org/p/chromium/builders/Linux%20x64/builds/19052

Original issue's description:
> SK_DECLARE_STATIC_MUTEX -> static SkMutex
>
> There's no need to use a macro to declare static SkMutexes any more
> (and there's likewise no need to restrict them to global scope).
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1948193002
>
> Committed: https://skia.googlesource.com/skia/+/5e56cfd3fa1041dbb83899844fb92fa9a2ef1009

TBR=mtklein@google.com,mtklein@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review-Url: https://codereview.chromium.org/1945353003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
5e56cfd3fa1041dbb83899844fb92fa9a2ef1009 05-May-2016 mtklein <mtklein@chromium.org> SK_DECLARE_STATIC_MUTEX -> static SkMutex

There's no need to use a macro to declare static SkMutexes any more
(and there's likewise no need to restrict them to global scope).

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1948193002

Review-Url: https://codereview.chromium.org/1948193002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
b4bb7d825566042ed64697be49457dbac060e6c4 27-Apr-2016 bungeman <bungeman@google.com> Add oblique as a slant.

Some fonts have italic and oblique in the same family, see

http://lucidafonts.com/fonts/family/lucida-sans
http://www.gust.org.pl/projects/e-foundry/latin-modern

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1921903002

Chromium side change at https://crrev.com/1921503006/ .

Review-Url: https://codereview.chromium.org/1921903002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
82a455f0e9a7a50a399a58be906b48c24aeec056 14-Apr-2016 bungeman <bungeman@google.com> Remove requestedStyle from SkTypefaceCache.

The typeface cache contains typefaces which can be compared against to
determine if an already known typeface will work instead of creating a
new typeface id. This is primarily for sharing scaler contexts. How that
typeface was requested is not relevant to this comparison, so don't cache
it. Request caching must be handled separately.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1879423002

Review URL: https://codereview.chromium.org/1879423002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
d3b63d3244add67b1d087123f36a418f7fd7ec0f 13-Apr-2016 bungeman <bungeman@google.com> Respect FC_MATRIX and FC_EMBOLDEN as extra font parameters.

A font consists of a set of data and a set of parameters to that data.
For example a ttc font consists of the full font data parameterized by
the index. In addition to the index, FontConfig allows specifying a
matrix and embolden flag. In the future there may also be additional
parameters of this sort, for example which color palette to use.

This does not provide a way to serialize these parameters.
Adding this here provides a nice place to experiment with doing so.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1890533002

Review URL: https://codereview.chromium.org/1890533002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
ed2edabd07086bbf60df17ca0bf52d8ba49f2273 13-Apr-2016 bungeman <bungeman@google.com> Remove SK_VERY_LEGACY_CREATE_TYPEFACE.

The flag and code it guards are no longer used.

TBR=reed
This just removes dead code.

Review URL: https://codereview.chromium.org/1882803002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
11a77c6e0634e2feb6fe4e74806db2fdd2a799ec 12-Apr-2016 bungeman <bungeman@google.com> Begin switch to SkFontStyle for legacy calls.

This adds SK_VERY_LEGACY_CREATE_TYPEFACE which, when defined, provides
only the old interface.

Ideally, everyone would switch directly to SkFontMgr and use one of the
newer calls, but there is currently no path for current users to get
there. This updates all the internals to use SkFontStyle, after
switching these over the higher level APIs can be switched.

The Chromium follow on patch can be seen at https://crrev.com/1877673002

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873923002

TBR=reed
This doesn't really change API, just modernizes it.

Review URL: https://codereview.chromium.org/1873923002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
18300a3aa7cb6eb55d21bb0450dffa58b6fc062c 16-Mar-2016 mtklein <mtklein@chromium.org> detach -> release

The C++ standard library uses the name "release" for the operation we call "detach".

Rewriting each "detach(" to "release(" brings us a step closer to using standard library types directly (e.g. std::unique_ptr instead of SkAutoTDelete).

This was a fairly blind transformation. There may have been unintentional conversions in here, but it's probably for the best to have everything uniformly say "release".

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1809733002

Review URL: https://codereview.chromium.org/1809733002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
f2b340fc885ad2a12d2d73974eff9c8f4c94192c 29-Jan-2016 djsollen <djsollen@google.com> Consolidate SK_CRASH and sk_throw into SK_ABORT

TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1648343003

Review URL: https://codereview.chromium.org/1648343003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
aa97a84404c7505738713a4c19b42347c7daef9e 22-Jan-2016 djsollen <djsollen@google.com> Revert of Consolidate SK_CRASH and sk_throw into SK_ABORT (patchset #5 id:80001 of https://codereview.chromium.org/1610823002/ )

Reason for revert:
Chrome is calling SK_CRASH

Original issue's description:
> Consolidate SK_CRASH and sk_throw into SK_ABORT
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002
>
> Committed: https://skia.googlesource.com/skia/+/4c5cd7d527ed29aabfa72aa47b23a4496eeda357

TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1620333002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
4c5cd7d527ed29aabfa72aa47b23a4496eeda357 22-Jan-2016 djsollen <djsollen@google.com> Consolidate SK_CRASH and sk_throw into SK_ABORT
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002

Review URL: https://codereview.chromium.org/1610823002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
f6c7107d0385cc2b556802354b93b7dcff61570d 21-Jan-2016 bungeman <bungeman@google.com> Expose API for gx font variation axes.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1590223003

Review URL: https://codereview.chromium.org/1590223003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
6950de6c4166fabb35e6c756fc009e0cf1c47819 07-Nov-2015 halcanary <halcanary@google.com> Comments Style: s/skbug.com/bug.skia.org/
DOCS_PREVIEW= https://skia.org/?cl=1432503003

Review URL: https://codereview.chromium.org/1432503003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
96fcdcc219d2a0d3579719b84b28bede76efba64 27-Aug-2015 halcanary <halcanary@google.com> Style Change: NULL->nullptr
DOCS_PREVIEW= https://skia.org/?cl=1316233002

Review URL: https://codereview.chromium.org/1316233002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
385fe4d4b62d7d1dd76116dd570df3290a2f487b 26-Aug-2015 halcanary <halcanary@google.com> Style Change: SkNEW->new; SkDELETE->delete
DOCS_PREVIEW= https://skia.org/?cl=1316123003

Review URL: https://codereview.chromium.org/1316123003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
99fe82260633fcf5d92cca38d12ef0937ecca61c 20-Aug-2015 bungeman <bungeman@google.com> Use static_assert instead of SK_COMPILE_ASSERT.

Now that static_assert is allowed, there is no need to use a non-
standard compile time assertion

Review URL: https://codereview.chromium.org/1306443004
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
f20488b4f2139e6ca09fee7e39b731dd8ab467db 29-Jul-2015 bungeman <bungeman@google.com> Clean up a few includes, introduce iwyu.

The current include-what-you-use with current clang is much less
noisy and more useful than it has been in the past. This change
introduces a few IWYU directives (which are helpful documentation for
humans as well) and fixes a few sets of includes.

Review URL: https://codereview.chromium.org/1207893002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
1b24933e52f50773de29332387a12721811f3012 07-Jul-2015 mtklein <mtklein@chromium.org> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.

SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

No public API changes.
TBR=reed@google.com

BUG=skia:

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

Review URL: https://codereview.chromium.org/1215393002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
02802f64ea0b1fc9223386328a95280b74092c94 02-Jul-2015 jvanverth <jvanverth@google.com> Revert of Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate. (patchset #4 id:60001 of https://codereview.chromium.org/1215393002/)

Reason for revert:
Breaking the roll.

E.g. on android_chromium_gn_compile_dbg:

FAILED: /b/build/goma/gomacc ../../third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -MMD -MF obj/skia/ext/libskia.SkMemory_new_handler.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=1 -DENABLE_NOTIFICATIONS -DENABLE_BROWSER_CDMS -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DDONT_EMBED_BUILD_METADATA -DUSE_OPENSSL=1 -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DDISABLE_NACL -DENABLE_CONFIGURATION_POLICY -DENABLE_SUPERVISED_USERS=1 -DENABLE_AUTOFILL_DIALOG=1 -DUSE_PROPRIETARY_CODECS -DV8_USE_EXTERNAL_STARTUP_DATA -DVIDEO_HOLE=1 -DMOBILE_SAFE_BROWSING -DSAFE_BROWSING_SERVICE -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DCOMPONENT_BUILD -D__GNU_SOURCE=1 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DSKIA_IMPLEMENTATION=1 -DSK_ARM_HAS_OPTIONAL_NEON -DSK_GAMMA_APPLY_TO_A8 -DSK_GAMMA_EXPONENT=1.4 -DSK_GAMMA_CONTRAST=0.0 -DSK_DEFAULT_FONT_CACHE_LIMIT=1048576 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DXML_STATIC -I../.. -Igen -I../../third_party/skia/include/private -I../../third_party/skia/src/core -I../../third_party/skia/src/image -I../../third_party/skia/src/opts -I../../third_party/skia/src/pdf -I../../third_party/skia/src/ports -I../../third_party/skia/src/sfnt -I../../third_party/skia/src/utils -I../../third_party/skia/src/lazy -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/gpu -I../../third_party/zlib -I../../third_party/expat/files/lib -I../../third_party/freetype-android/include -I../../third_party/freetype-android/src/include -I../../third_party/android_tools/ndk/sources/android/cpufeatures -fno-strict-aliasing -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mthumb -mthumb-interwork -fno-tree-sra -fno-caller-saves -funwind-tables -fPIC -pipe -ffunction-sections -funwind-tables -fno-short-enums -finline-limit=64 -mfpu=vfpv3-d16 -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include -fvisibility=hidden --sysroot=/b/build/slave/android_chromium_gn/build/src/third_party/android_tools/ndk/platforms/android-16/arch-arm -Os -fdata-sections -ffunction-sections -fomit-frame-pointer -g1 -Wno-format -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wno-extra -Wno-ignored-qualifiers -Wno-type-limits -Wno-unused-local-typedefs -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -Wno-deprecated -Wno-narrowing -Wno-literal-suffix -Wno-error=c++0x-compat -Wno-non-virtual-dtor -Wno-sign-promo -c ../../skia/ext/SkMemory_new_handler.cpp -o obj/skia/ext/libskia.SkMemory_new_handler.o
../../skia/ext/SkMemory_new_handler.cpp:12:52: fatal error: third_party/skia/include/core/SkThread.h: No such file or directory
#include "third_party/skia/include/core/SkThread.h"

Original issue's description:
> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.
>
> SkThread.h doesn't do anything anymore execept include those two,
> and thankfully, it doesn't seem to be mentioned outside Skia.
>
> No public API changes.
> TBR=reed@google.com
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c50acf2321d7a934c80d754e9cbe936dfb8eb4cc

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1214603003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
c50acf2321d7a934c80d754e9cbe936dfb8eb4cc 01-Jul-2015 mtklein <mtklein@chromium.org> Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.

SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

No public API changes.
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1215393002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
0b1de2626a289ab21bd3b93277ed34d022824b3d 17-Jun-2015 bungeman <bungeman@google.com> Move FontConfig factory into separate file.

This moves the SkFontMgr::Factory implementation which creates a
FontMgr around FontConfig into its own file, and allows the user
to create one manually.

Review URL: https://codereview.chromium.org/1189753007
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
41868fe5625fc3bd70daa3f461c881b5db6a9265 20-May-2015 bungeman <bungeman@google.com> 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

Review URL: https://codereview.chromium.org/1027373002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
465706820d0d373f76ab4831c286115ee0d86b7a 15-May-2015 robertphillips <robertphillips@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
3489ee0f4fa34f124f9de090d12bdc2107d52aa9 14-May-2015 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
5ae1312c9faa25531c07e591b4dff6804020f121 13-May-2015 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
05773ed30920c0214d1433c07cf6360a05476c97 13-May-2015 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
6837b38a62a1621ff43c7e1085b1a3bd208fcd49 29-Apr-2015 bungeman <bungeman@google.com> Check for NULL familyName in SkFontMgr_fontconfig.

If the familyName is NULL, don't bother spending time trying to add
it to the FcPattern.

Review URL: https://codereview.chromium.org/1115073002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
1d4ec0a1ad4998c32c6a28ff4b85000553ff686d 29-Apr-2015 bungeman <bungeman@google.com> FontConfig character/lang match requires weak family.

In FontConfig the normal priority order of matches is character, family,
language; however family can be marked as weak which changes the order to
character, language, family. This is what is desired in
matchFamilyStyleCharacter.

Review URL: https://codereview.chromium.org/1118553002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
9d911d5a9323bda1e4a77c46a0c28708dcc2ad38 17-Apr-2015 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
36352bf5e38f45a70ee4f4fc132a38048d38206d 26-Mar-2015 mtklein <mtklein@chromium.org> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
5f213d9627d2eefa7da81cd97f36754f75eb4ae9 27-Jan-2015 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
a1193e4b0e34a7e4e1bd33e9708d7341679f8321 21-Jan-2015 scroggo <scroggo@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
72c9faab45124e08c85f70ca38536914862d947c 09-Jan-2015 mtklein <mtklein@chromium.org> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
c9232dcda016feb2d30abb51483b3b1862775f84 10-Nov-2014 bungeman <bungeman@google.com> Remove SK_FM_NEW_MATCH_FAMILY_STYLE_CHARACTER.

This removes the old guarded code and enables the new api
introduced with "Update fontMgr to take list of bcp47 language tags."
c20386e3937d3d398ac9b35f9c7d997e972ade98 . Blink on Android is
already using the new code.

Review URL: https://codereview.chromium.org/705843004
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
14df8339841f246a7337a8fb0d90f1b7ee689619 28-Oct-2014 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
32501a1bd4964576264795ada7e9c3bf572285b3 28-Oct-2014 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
ee0c2e4fd429424beaa35f29e7f656997ba3f115 28-Oct-2014 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
60b6e9dbbc492f987a5b887dff60aec107ab70d0 24-Oct-2014 mtklein <mtklein@chromium.org> Remove a pointless use of SkWeakRefCnt.

Can't quite get rid of SkWeakRefCnt yet... SkFontMgr_indirect uses it to cache
SkTypefaces, and I don't quite understand it enough yet to cut out the weak refs.

BUG=skia:3065

Review URL: https://codereview.chromium.org/664173003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
c20386e3937d3d398ac9b35f9c7d997e972ade98 23-Oct-2014 bungeman <bungeman@google.com> Update fontMgr to take list of bcp47 language tags.

This will enable clients to pass more than one bcp47 tag to ensure
that the most appropriate font is selected.

BUG=chromium:422180

Review URL: https://codereview.chromium.org/670243002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
a4c4a2d8cd65abb1e5ac20813831cdb9ace6c7ee 20-Oct-2014 bungeman <bungeman@google.com> Replace SkTypeface::Style with SkFontStyle.

Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20

Review URL: https://codereview.chromium.org/488143002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
802ad83dca2efd57fde6c7ba666555ea78b5324c 20-Oct-2014 mtklein <mtklein@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
43b8b36b20ae00e2d78421c4cda1f3f922983a20 20-Oct-2014 bungeman <bungeman@google.com> Replace SkTypeface::Style with SkFontStyle.

Review URL: https://codereview.chromium.org/488143002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
b14e4a0db5cb1b96cef5236585ee4572c5d95b97 18-Sep-2014 bungeman <bungeman@google.com> Restore old behavior of SkTypeface::CreateFromTypeface.

This reverts
https://skia.googlesource.com/skia/+/9db509272a6fa2badbbdd2f5afce827370960a5f
and completes
https://skia.googlesource.com/skia/+/f91c47d91d72a1d85e2d6701864b8d7accc81647 .

R=caryclark@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/586473002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
d71b75757335393d9643a5b7a0f2769b6ba52fb6 18-Sep-2014 bungeman <bungeman@google.com> Serialize the font index.

BUG=skia:1186
R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/567013002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
b374d6a62c0259387d90cad74753d8bad9ee1bea 17-Sep-2014 bungeman <bungeman@google.com> 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
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
9db509272a6fa2badbbdd2f5afce827370960a5f 12-Sep-2014 bungeman <bungeman@google.com> Handle NULL typeface in SkFontMgr_fontconfig::onMatchFaceStyle.

SampleApp does this, and it needs to be handled properly.

R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/563263003
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
6bc2c94de334efb40e1a09e31112262dec77532b 09-Sep-2014 bungeman <bungeman@google.com> Add font fallback support to SkFontMgr_fontconfig.

R=mtklein@google.com, djsollen@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/489733005
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
49f085dddff10473b6ebf832a974288300224e60 05-Sep-2014 bsalomon <bsalomon@google.com> "NULL !=" = NULL

R=reed@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/544233002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
f87650c39c6f03a4e087cc1efb589dc06a29e841 26-Aug-2014 bungeman <bungeman@google.com> Ensure SkFontMgr_fontconfig debug thread locking is initialized.

R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/512433002
/external/skia/src/ports/SkFontMgr_fontconfig.cpp
a6785ccb540b1b752ab536cdf579a698eadbf7d2 25-Aug-2014 bungeman <bungeman@google.com> Add a working SkFontMgr_fontconfig.

R=tomhudson@google.com, reed@google.com, mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/396143004
/external/skia/src/ports/SkFontMgr_fontconfig.cpp