Commit Graph

10 Commits

Author SHA1 Message Date
Brian Osman
c725e8f7ea Make SkShaper's GN setup more DLL friendly
Similar to the Skottie refactor that just landed, this avoids having an
empty component when shaper is disabled (which turns into a DLL with no
sources, and a missing DllMain). I think this pattern of having modules
expose the same components as empty groups is simpler (and also fixes
the fact that only two of N references in top-level BUILD.gn were
guarded). Also, no one is using the define?

Change-Id: I9d25c1cfbd42336874f4428bf61f3e34a4a18d3c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207303
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2019-04-10 18:59:35 +00:00
Hal Canary
2a3093c154 SkPDF: Add experimental Harfbuzz font subsetter
Currently hidden behind gn flag:  skia_pdf_subset_harfbuzz

Replaces Sfntly subsetter.

TODO:
  1) Test on all clients.
  2) Enable on each client.
  3) Set skia_pdf_subset_harfbuzz default to true,
  4) Delete sfntly dependency.

Bug: chromium:931719
Change-Id: I5c763ce3e6b21d6bc65284d4105b9974e0907cdc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/171223
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-03-06 16:30:56 +00:00
Kevin Lubick
867da4b96e Allow system harfbuzz.
This should allow shaper to run on the no-deps bot.

Change-Id: I2515875d4e9b428681c20877630b904c3229ecc5
Reviewed-on: https://skia-review.googlesource.com/c/194420
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2019-02-23 12:14:30 +00:00
Kevin Lubick
1ba9c4df77 [canvaskit] JS API in place for shaped text
Depends on https://skia-review.googlesource.com/c/skia/+/186870

It's optional at build time, which is good given that
it adds about 2MB of uncompressed size (from 4.3 MB to 6.4 MB)

Bug: skia:
Change-Id: I5f54ad628b735c3bc880e917394fb27d16849ebe
Reviewed-on: https://skia-review.googlesource.com/c/187924
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2019-02-22 15:39:55 +00:00
Hal Canary
b6f5378333 SkShaper: enable for unit and render tests
New tests that use skshaper should hide behind SK_USING_SKSHAPER define.

Change-Id: Ifcd726d931e3eb1ff209085a63e8129c9cd5596d
Reviewed-on: https://skia-review.googlesource.com/c/192026
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-02-13 16:19:48 +00:00
Hal Canary
c1a2ea33a3 bin/gn format gn/skia.gni
Change-Id: Id79cf08223d46d2f2558693208d7cb8a82d6d0a5
Reviewed-on: https://skia-review.googlesource.com/c/190001
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-02-06 22:24:19 +00:00
Hal Canary
6102192b96 SkLoadICU: simplify
Change-Id: I98cd1f36ca96a92b72974ae228465199638e4bea
Reviewed-on: https://skia-review.googlesource.com/c/189864
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2019-02-06 21:20:49 +00:00
Florin Malita
0c2add016d Revert "third_party/icu: use upstream"
This reverts commit e6cfe77185.

Reason for revert: Android & Win7 perf/test failures.


Original change's description:
> third_party/icu:  use upstream
> 
>     Change DEPS to point at upstream, not chromium's fork.
>     `skia_use_icu` defaults to true everywhere but iOS
>     Clean up SkLoadICU:  use U_ICUDATA_ENTRY_POINT, no DLL.
>     Add data dep to icu/icu.gni
>     Scripts: icu/{make_data_assembly.py,make_data_obj_win.py}
>     Scripts: icu/{update_icu.sh,build_icu_data_file.py} for rebuilding
>     document process in icu/README.md
> 
> Bug: skia:8702
> Change-Id: I99789749ba84ae737f6c62475d0d676cd36715bb
> Reviewed-on: https://skia-review.googlesource.com/c/186870
> Commit-Queue: Hal Canary <halcanary@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=halcanary@google.com,bungeman@google.com,fmalita@chromium.org,fmalita@google.com

Change-Id: Id379bc2be7d53eca67b2c557ac20bd44073a6258
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:8702
Reviewed-on: https://skia-review.googlesource.com/c/189647
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2019-02-06 02:28:30 +00:00
Hal Canary
e6cfe77185 third_party/icu: use upstream
Change DEPS to point at upstream, not chromium's fork.
    `skia_use_icu` defaults to true everywhere but iOS
    Clean up SkLoadICU:  use U_ICUDATA_ENTRY_POINT, no DLL.
    Add data dep to icu/icu.gni
    Scripts: icu/{make_data_assembly.py,make_data_obj_win.py}
    Scripts: icu/{update_icu.sh,build_icu_data_file.py} for rebuilding
    document process in icu/README.md

Bug: skia:8702
Change-Id: I99789749ba84ae737f6c62475d0d676cd36715bb
Reviewed-on: https://skia-review.googlesource.com/c/186870
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
2019-02-05 22:22:48 +00:00
Hal Canary
32498f0846 GN/ICU cleanup
For targets that depend on ICU, only define if `skia_use_icu` is set.

Move declare_args/skia_use_icu into skia.gni.  Other variables that need
to work like that can move there later.

icu/BUILD.gn defines SK_USING_THIRD_PARTY_ICU if needed.
SkShaper_harfbuzz.cpp SkPDFSubsetFont.cpp respects
SK_USING_THIRD_PARTY_ICU when calling SkLoadICU().

sfntly/BUILD.gn, harfbuzz/BUILD.gn, icu/icu.gni uses $_src variable to
reduce verbosity.   icu/icu.gni adds more headersto sources.

Change-Id: I9e000b9b19902d9f5c0c64e989bf42466aa8a299
Reviewed-on: https://skia-review.googlesource.com/c/189304
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
2019-02-05 17:27:55 +00:00