Go to file
Ben Wagner 5a479e187d Check hb_font_create return value
There are very few ways that hb_font_create can fail. It will do minimal
sanitization if the data begins with a known magic signature, but will
otherwise return a valid hb_font which more or less looks like a valid
font with no glyphs and upem of 1000. This appears to be the reason gfx
is only using hb_face_create_for_tables to avoid the issue where a
system font may be understood by FreeType and otherwise be valid, but
not recognized by HarfBuzz.

Keep the efficiency of hb_font_create when it can be used, but check if
the resulting hb_font has no glyphs. If it has no glyphs attempt to use
hb_face_create_for_tables instead.

See https://github.com/harfbuzz/harfbuzz/issues/248

Change-Id: Iaf82127152cdf6de160274234bcb19b5ccbccc1b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/419805
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2021-06-18 22:21:47 +00:00
animations
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Switch GrMeshDrawOp::Target to be the stand alone GrMeshDrawTarget class 2021-06-17 19:57:43 +00:00
bin [infra] Fix fetch-sk and fetch-skps 2021-06-18 15:20:38 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Fix ANGLE roll 2021-05-10 15:34:52 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org [canvaskit] Fix demo image link 2021-06-03 12:57:50 +00:00
dm Convert dmsaa to an SkSurfaceProp 2021-04-20 16:24:56 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Remove SkPaint::getHash 2021-06-17 14:59:23 +00:00
example Remove SDL from DEPS (and SDL example that used it) 2021-05-27 21:37:57 +00:00
experimental Purge ccpr 2021-06-18 21:46:36 +00:00
fuzz Removed SkSL::StringFragment in favor of string_view 2021-06-10 16:08:13 +00:00
gm Purge ccpr 2021-06-18 21:46:36 +00:00
gn Purge ccpr 2021-06-18 21:46:36 +00:00
include Purge ccpr 2021-06-18 21:46:36 +00:00
infra Purge ccpr 2021-06-18 21:46:36 +00:00
modules Check hb_font_create return value 2021-06-18 22:21:47 +00:00
platform_tools [androidkit] Add linear gradient 2021-06-17 20:55:53 +00:00
resources Remove SkBlendMode from SkSL 2021-06-16 21:01:30 +00:00
samplecode Purge ccpr 2021-06-18 21:46:36 +00:00
site Fix typo in link 2021-06-17 20:55:05 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Purge ccpr 2021-06-18 21:46:36 +00:00
tests Purge ccpr 2021-06-18 21:46:36 +00:00
third_party Build HarfBuzz without ICU support 2021-06-17 15:44:13 +00:00
tools Purge ccpr 2021-06-18 21:46:36 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore [infra] Add bin/fetch-sk 2021-05-24 17:42:17 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Purge ccpr 2021-06-18 21:46:36 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll ANGLE from f89f244d5259 to 24155b13671f (6 revisions) 2021-06-18 06:10:39 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod Revert "[infra] Roll Infra dep to update CIPD packages" 2021-06-04 19:39:19 +00:00
go.sum Revert "[infra] Roll Infra dep to update CIPD packages" 2021-06-04 19:39:19 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py Remove mtklein from housekeeper message 2021-06-18 17:36:22 +00:00
public.bzl Purge ccpr 2021-06-18 21:46:36 +00:00
README
README.chromium
RELEASE_NOTES.txt Remove SkShaders::Lerp 2021-06-18 16:40:08 +00:00
whitespace.txt Test master branch deletion 2021-05-25 13:20:41 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.