| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
created new file src/core/SkColorData.h for
internal consumption. Note that many of the
functions there are unused as well.
Bug: skia: 6898
R: reed@google.com
Change-Id: I25bfd5a9c21f53558c4ca65a77eb5d322d897c6d
Reviewed-on: https://skia-review.googlesource.com/46848
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
|
|
|
|
|
|
|
|
| |
Bug: skia:
Change-Id: I6d3a0019f2fcf11feca69123e4ce6eb35de43613
Reviewed-on: https://skia-review.googlesource.com/31222
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also updates create_test_font so that it can be built, compiles,
and uses SkFontStyle instead of SkTypeface::Style.
BUG=b/63669723
Change-Id: I6eb0f851853f4721cf8e5052255b5b6750c3257f
Reviewed-on: https://skia-review.googlesource.com/24740
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
| |
All users have now been updated and this define is no longer used.
Change-Id: Ib701b6e31f7c0958eed3d97e033b334e09fa9bb0
Reviewed-on: https://skia-review.googlesource.com/14365
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
| |
When determining whether or not to use symmetric rendering,
only look at the gasp table if it's version 1.
Change-Id: Ib64ec1853545eb2c467a9e280d9e00f51e8b0aa8
Reviewed-on: https://skia-review.googlesource.com/13863
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Dominik Röttsches <drott@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the font has a gasp table use it to determine symmetric. Otherwise,
use symmetric if the the font isn't hinted or is >20px. The remaining
cases use non-symmetric.
BUG=chromium:706792,skia:6432
Change-Id: I91b66a9615aae27c195e1545298a9d36bc58a705
Reviewed-on: https://skia-review.googlesource.com/11400
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing code assumes that GetGdiCompatibleGlyphMetrics transform
parameter acts the same as the GetGlyphOutlineW lpmat2 parameter.
However, it appears this is very much not true.
BUG=skia:6499
Change-Id: I88c762b27acd09cc746da4d6e2b901540876908a
Reviewed-on: https://skia-review.googlesource.com/13479
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When comparing against gasp ranges always use the rounded (gdi) size.
Previously the truncated size was used, but it appears other
implementations are using the rounded size.
BUG=chromium:706693
Change-Id: I185cdf5b905261038e5150a04eef1b99bf73d875
Reviewed-on: https://skia-review.googlesource.com/11354
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When comparing against gasp ranges always use the rounded (gdi) size.
Previously the truncated size was used, but it appears other
implementations are using the rounded size.
BUG=chromium:706693
Change-Id: I0f545175bf2d5f4e8db610b26c2f3e21a89eeb2a
Reviewed-on: https://skia-review.googlesource.com/10751
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
| |
Users have been updated and this define is no longer used.
Change-Id: I0430039978171c16ffe19fb3037897bcdf313e42
Reviewed-on: https://skia-review.googlesource.com/10417
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The FontMetricsFlags::kUnderlineThinknessIsValid_Flag has a typo in it.
Fortunately no user currently uses this enumeration value by name but
instead uses the getter so the name can be updated.
BUG=skia:6174
Change-Id: I810260d826482de1da8876cd9739d24b3bfb0f95
Reviewed-on: https://skia-review.googlesource.com/10050
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous code would also set 'grayscale' for aliased which would
then cause the code to use the new renderer, which has issues with
aliased glyphs.
BUG=skia:5416
Change-Id: Ia856322b59d0eba258522d73c3a4d827ab4429e1
Reviewed-on: https://skia-review.googlesource.com/9834
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DirectWrite2 supports pixel antialiasing and rendering without hinting.
To maintain the infered size based decisions of the previous rendering,
only use the new renderer when it is needed.
BUG=skia:5416
Change-Id: Ia87fdf8fc91dc7ff0f0ce4284c90a5d79045308f
Reviewed-on: https://skia-review.googlesource.com/9805
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 34db1eee20ffea6e423284bb06824653efff645d.
Reason for revert: breaks the chrome roll
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(287,49): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
GaspRange range{bitmapPPEM, bitmapPPEM, 0};
^
{}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(287,49): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
GaspRange range{bitmapPPEM, bitmapPPEM, 0};
^
{}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(290,59): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
range = GaspRange{bitmapPPEM, bitmapPPEM, 0};
^
{}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(290,59): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
range = GaspRange{bitmapPPEM, bitmapPPEM, 0};
^
{}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(338,39): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
GaspRange range = {0, 0xFFFF, 0};
^
{}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(338,39): error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
GaspRange range = {0, 0xFFFF, 0};
^
{}
Original change's description:
> Support pixel antialising in DirectWrite.
>
> DirectWrite2 supports pixel antialiasing and rendering without hinting.
>
> BUG=skia:5416
>
> Change-Id: I215245b20dd403669dbccd37e34cb2fcd5e06431
> Reviewed-on: https://skia-review.googlesource.com/9145
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
>
TBR=mtklein@google.com,bungeman@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5416
Change-Id: Ic5f09abc3be8dd85d213a007780b3fe15fc11d92
Reviewed-on: https://skia-review.googlesource.com/9747
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
DirectWrite2 supports pixel antialiasing and rendering without hinting.
BUG=skia:5416
Change-Id: I215245b20dd403669dbccd37e34cb2fcd5e06431
Reviewed-on: https://skia-review.googlesource.com/9145
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
While developing DirectWrite it was ncessary to support building with
older Windows SDKs which may not have certain headers. Now that the
minimum required Windows SDK is 8.1 (0x0603) we can remove these
difficult to use macros to simplify future development.
Change-Id: Ia780466b7c9b86198116c5974c43363f49a0ebac
Reviewed-on: https://skia-review.googlesource.com/9124
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
| |
BUG=skia:
Change-Id: I88ecfe9d4c72506f6b1a0e0dfadd2a5c171a6cb6
Reviewed-on: https://skia-review.googlesource.com/8353
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently Skia tries hard to use symmetric rendering with DirectWrite
as often as possible. However, particularly on Windows 7 with CJK fonts,
thin horizontal strokes can be rendered without sufficient contrast
because the font was relying on the 6x1 oversampling for what is
effecitvely drop-out control. This change will only allow symmetric
rendering if the font allows it in the 'gasp' table.
BUG=chromium:645055
Change-Id: I45a9d5e4a0b49bb969c44fb20dc92528dfe9c48d
Reviewed-on: https://skia-review.googlesource.com/8268
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
| |
BUG=chromium:681857
Change-Id: Ia97354d7798eb685351a98ff559bcf176a67af18
Reviewed-on: https://skia-review.googlesource.com/7380
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extract SkPackedID and its strongly typed subclasses SkPackedGlyphID and
SkPackedUnicharID out of SkGlyph. This simplifies the code handling
these types, as well as making it clearer that we wouuld eventually like
to get away from this scheme.
Changes SkScalerContext::getPath to take SkPackedGlyphID.
Changes SkScalerContext::generatePath to take SkGlyphID.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4722
Change-Id: I365c0c618b7ae0d348272155fac7761a69faa920
Reviewed-on: https://skia-review.googlesource.com/4722
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
|
|
|
|
|
|
|
|
|
| |
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot;master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot
Change-Id: I27a714388b8ded7dfc968e322b0a587205f575f1
Reviewed-on: https://skia-review.googlesource.com/3731
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The COLR table format allows for use of the 'current color'.
Currently the code asserts if this is used, but will use a nearby
luminance grey to this color instead if the assert is ignored.
Remove the assert now that this path is known to be used.
BUG=skia:5788
Review-Url: https://codereview.chromium.org/2359923004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/2065833002/ )
Reason for revert:
Moving to the new glyph run analysis changes things anyway, and the Chromium Win 10 bots are having issues with this. Revert until I have time to make the suppression wider.
Original issue's description:
> Support pixel antialising in DirectWrite.
>
> DirectWrite2 supports pixel antialiasing and rendering without hinting.
>
> BUG=skia:5416
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002
>
> TBR=reed
> Will move SkTScopedComPtr into src.
>
> Committed: https://skia.googlesource.com/skia/+/bd770d619553a88eeaa64ff29082f62db5c9b4d2
TBR=reed@google.com,mtklein@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5416
Review-Url: https://codereview.chromium.org/2075913002
|
|
|
|
|
|
|
|
|
|
|
|
| |
DirectWrite2 supports pixel antialiasing and rendering without hinting.
BUG=skia:5416
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2065833002
TBR=reed
Will move SkTScopedComPtr into src.
Review-Url: https://codereview.chromium.org/2065833002
|
|
|
|
|
|
|
|
|
|
| |
This is purely for convenience, to not need to write the lock type
in the guard anymore. This should all inline away.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2055023003
Review-Url: https://codereview.chromium.org/2055023003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support to the DirectWrite scaler context
for detection of color fonts. If it detects a color font and
the glyph is a color glyph, it will use DirectWrite's
TranslateColorGlyphRun API and generate an image of the
glyph that can then be rendered.
Chromium tests: https://codereview.chromium.org/2003853002
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1984943002
Review-Url: https://codereview.chromium.org/1984943002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of https://codereview.chromium.org/1863013003/ )"
add SK_SUPPORT_NEW_ONCREATESCALERCONTEXT for chrome
this has now landed https://codereview.chromium.org/1878913002/
TBR=
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880873002
Review URL: https://codereview.chromium.org/1880873002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1863013003/ )
Reason for revert:
Seems to have broken the DEPS roll.
Original issue's description:
> Pass effects directly to fontcache
>
> BUG=skia:5176
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1863013003
>
> Committed: https://skia.googlesource.com/skia/+/c79172857c3f69cc46837e1beeae0c1ead377bb2
TBR=djsollen@google.com,bungeman@google.com,mtklein@google.com,fmalita@chromium.org,msarett@google.com,reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5176
Review URL: https://codereview.chromium.org/1872253004
|
|
|
|
|
|
|
| |
BUG=skia:5176
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1863013003
Review URL: https://codereview.chromium.org/1863013003
|
|
|
|
|
|
|
| |
BUG=skia:4632
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1737693006
Review URL: https://codereview.chromium.org/1737693006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I sometimes dream to hone our build process down to something as simple as
$ find src -name '*.cpp' | xargs c++ <some cflags> -c -o skia.o
To start, it helps if we can compile all files on all platforms. Each
non-portable file guards itself with defines provided by SkTypes.h. This does
not convert all non-portable code, but it's a good representative chunk.
E.g. instead of having to remember which SkDebug_*.cpp to compile on which
platform we can just compile all three and let the code itself sort it out.
This has the nice side effect of making non-portable code declare the
conditions under which it can compile explicitly.
I've been testing mostly with the CMake build as it's easiest, but this should
apply equally to BUILD, Gyp, and GN files... to any build system really.
BUG=skia:4269
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac10.9-Clang-x86_64-Release-CMake-Trybot
Review URL: https://codereview.chromium.org/1411283005
|
|
|
|
|
|
| |
BUG=547182
Review URL: https://codereview.chromium.org/1424093002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1417873005
|
|
|
|
|
|
| |
BUG=skia:4479
Review URL: https://codereview.chromium.org/1421433004
|
|
|
|
|
|
| |
DOCS_PREVIEW= https://skia.org/?cl=1316233002
Review URL: https://codereview.chromium.org/1316233002
|
|
|
|
|
|
|
|
|
|
|
| |
This tickles a warning in Clang:
reference cannot be bound to dereferenced null pointer in well-defined
C++ code; pointer may be assumed to always convert to true
[-Wundefined-bool-conversion]
BUG=none
Review URL: https://codereview.chromium.org/1220113003
|
|
|
|
|
|
| |
BUG=chromium:468509
Review URL: https://codereview.chromium.org/1018863003
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All of our font back-ends use the text size in some way other than
simple concatentation with the current matrix. The code here finds
the full device matrix and then decomposes it to extract the text
size.
FreeType, GDI, and DirectWrite use the text size as the pre-hint scale.
CoreText will not scale color emoji above the requested text size,
and certain features like 'trak' are performed on the text size.
Review URL: https://codereview.chromium.org/748883005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/728673002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This introduces the SK_HAS_DWRITE_1_H define which may be set at
build time or will be true when WINVER_MAXVER >= 0x0602 .
The dwrite_1.h header is available starting in Windows SDK 8.0.
This change supports users who must still use Windows SDK 7.0.
It also allows for easier local testing of the older interfaces
on newer versions of Windows.
See also: https://bugzilla.mozilla.org/show_bug.cgi?id=1053652
R=george@mozilla.com, mtklein@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/552383002
|
|
|
|
|
|
|
|
| |
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/544233002
|
|
|
|
|
|
|
|
|
|
|
| |
If there is an error while trying to determine the metrics,
we need to bail instead of potentially using uninitialized data.
R=reed@google.com, mtklein@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/511783003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some CJK fonts with some versions of DirectWrite return valid
data for bitmaps, but not for cleartype data.
For reference, two screenshots. M37 Stable and then with this patch:
http://imgur.com/9pf3rB9,EiTb6Li
See https://code.google.com/p/chromium/issues/detail?id=396624#c10 for
content of test html file.
R=eae@chromium.org, reed@google.com, shrikant@chromium.org, bungeman@chromium.org, cpu@chromium.org
BUG=chromium:407945
Review URL: https://codereview.chromium.org/504343007
|
|
|
|
|
|
|
|
|
| |
BUG=chromium:395043
R=eae@chromium.org, caryclark@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/412993002
|
|
|
|
|
|
|
|
| |
R=reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/370463002
|
|
|
|
| |
This flag is no longer defined anywhere, so remove it's use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The exist a number of webfonts which have poor hinting which look very
bad with any vertical subsampling. The fonts often rely on drop out
control to avoid zero coverage in the y direction. As a result, any font
with hints but no 'gasp' table is considered to be poorly hinted in this
way, and will not be rendered with vertical subsampling when hinted.
R=eae@chromium.org, reed@google.com, mtklein@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/363433002
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When requesting embedded bitmaps, all sizes in a gridfit gasp range with a
bitmap in that range should be gridfit to the fullest extent possible.
R=eae@chromium.org, reed@google.com, mtklein@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/341343002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In keeping with the FreeType and Mac scaler contexts, do not artificially
round already subpixel metrics.
The subpixel flag should be the 'forceSubpixel' flag when it comes to
metrics. Existing backends will give subpixel metrics when 'subpixel' is
requested, but will not round proper metrics when 'subpixel' is not
requested.
R=reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/344253002
|