Implement SkFontMgr interface for Fuchsia |
|||||
Issue descriptionCurrently on Fuchsia we use empty SkFontMgr on Fuchsia, see https://codesearch.chromium.org/chromium/src/third_party/skia/BUILD.gn?l=416 Ideally the implementation should be using FontsProvider interface from garnet. There are two issues that block this approach: - FontsProvider doesn't allow to enumerate fonts, see https://fuchsia.atlassian.net/browse/US-409 - FIDL and FIDL interfaces are not in SDK. To unblock layout tests before these issues are resolved we can bundle same Roboto fonts that are used in the fonts package in garnet.
,
Apr 6 2018
,
Apr 10 2018
,
Jul 3
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/587827f06cbe1e65dd503493f0823d279e5195c7 commit 587827f06cbe1e65dd503493f0823d279e5195c7 Author: Sergey Ulanov <sergeyu@chromium.org> Date: Tue Jul 03 21:29:10 2018 [Fuchsia] Add SkFontMgr implementation for Fuchsia Initial implementation of SkFontMgr for Fuchsia that implements minimal SkFontMgr functionality used in Blink. There are still a number of features that don't work properly and will require changes in the system FontProvider to get fixed: 1. Character to font matching (see onMatchFamilyStyleCharacter()). Currently the system API doesn't provide this feature. 2. Style matching according to CSS3: Font style matching rules implemented in Fuchsia's font provider do not match CSS3 rules. 3. Font aliasing: FontProvider supports only 3 Roboto fonts (Roboto, RobotoSlab and RobotoMono) doesn't support any font family aliases. To workaround this issue aliasing implemented directly in FuchsiaFontManager. The new SkFontMgr is not enabled yet because it doesn't work in sandbox. Will enabled it later in a separate CL. Bug: 800156 Change-Id: I98a9bed3f98c492577cc9cf0a81f190c8837da31 Reviewed-on: https://chromium-review.googlesource.com/1114192 Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#572360} [modify] https://crrev.com/587827f06cbe1e65dd503493f0823d279e5195c7/skia/BUILD.gn [modify] https://crrev.com/587827f06cbe1e65dd503493f0823d279e5195c7/skia/ext/fontmgr_default_fuchsia.cc [add] https://crrev.com/587827f06cbe1e65dd503493f0823d279e5195c7/skia/ext/fontmgr_fuchsia.cc [add] https://crrev.com/587827f06cbe1e65dd503493f0823d279e5195c7/skia/ext/fontmgr_fuchsia.h [add] https://crrev.com/587827f06cbe1e65dd503493f0823d279e5195c7/skia/ext/fontmgr_fuchsia_unittest.cc [modify] https://crrev.com/587827f06cbe1e65dd503493f0823d279e5195c7/third_party/fuchsia-sdk/BUILD.gn
,
Jul 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789 commit 2d789814568e68f6f3d7c1cdfba8b9c9f20ab789 Author: Sergey Ulanov <sergeyu@chromium.org> Date: Thu Jul 05 20:40:13 2018 [Fuchsia] Add base::fuchsia::FilteredServiceDirectory FilteredServiceDirectory will be used to export subset of services in /svc namespace to child processes. TBR=dcheng@chromium.org Bug: 800156 Change-Id: I896b38fbf0517a6ba7143d3b67952259ff01779a Reviewed-on: https://chromium-review.googlesource.com/1117856 Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#572852} [modify] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/BUILD.gn [modify] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/fidl_interface_request.h [add] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/filtered_service_directory.cc [add] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/filtered_service_directory.h [add] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/filtered_service_directory_unittest.cc [modify] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/service_directory.cc [modify] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/service_directory.h [add] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/service_directory_test_base.cc [add] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/service_directory_test_base.h [modify] https://crrev.com/2d789814568e68f6f3d7c1cdfba8b9c9f20ab789/base/fuchsia/service_directory_unittest.cc
,
Jul 6
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4eb9ad614c00ecde0a19731094ee081ca2e54e0b commit 4eb9ad614c00ecde0a19731094ee081ca2e54e0b Author: Sergey Ulanov <sergeyu@chromium.org> Date: Fri Jul 06 00:15:02 2018 [Fuchsia] Allow FontProvider access in renderers. Use it. ChildProcessLauncherHelper now uses fuchsia::ServiceDirectoryProxy to allow renderers access FontProvicer service. Also enabled FuchsiaFontManager to be used by default. Bug: 800156 Change-Id: I49336251c958a5fb4d74a0b933e9bbc62ea88f9f Reviewed-on: https://chromium-review.googlesource.com/1117872 Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Nasko Oskov <nasko@chromium.org> Cr-Commit-Position: refs/heads/master@{#572873} [modify] https://crrev.com/4eb9ad614c00ecde0a19731094ee081ca2e54e0b/content/browser/child_process_launcher_helper.h [modify] https://crrev.com/4eb9ad614c00ecde0a19731094ee081ca2e54e0b/content/browser/child_process_launcher_helper_fuchsia.cc [modify] https://crrev.com/4eb9ad614c00ecde0a19731094ee081ca2e54e0b/content/common/BUILD.gn [modify] https://crrev.com/4eb9ad614c00ecde0a19731094ee081ca2e54e0b/content/common/sandbox_policy_fuchsia.cc [modify] https://crrev.com/4eb9ad614c00ecde0a19731094ee081ca2e54e0b/content/common/sandbox_policy_fuchsia.h [modify] https://crrev.com/4eb9ad614c00ecde0a19731094ee081ca2e54e0b/skia/BUILD.gn [modify] https://crrev.com/4eb9ad614c00ecde0a19731094ee081ca2e54e0b/skia/ext/fontmgr_default_fuchsia.cc
,
Jul 6
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a000e68ad79187293c393cf9f83355dafbdbea5e commit a000e68ad79187293c393cf9f83355dafbdbea5e Author: Wez <wez@chromium.org> Date: Fri Jul 06 05:52:38 2018 Add missing BASE_EXPORT to base::fuchsia::FilteredServiceDirectory. TBR: sergeyu Bug: 800156 Change-Id: Id51e0b56bcdd1a5e9edb8d62e42a8a5cbd07abc2 Reviewed-on: https://chromium-review.googlesource.com/1127491 Reviewed-by: Wez <wez@chromium.org> Commit-Queue: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#572905} [modify] https://crrev.com/a000e68ad79187293c393cf9f83355dafbdbea5e/base/fuchsia/filtered_service_directory.h
,
Jul 6
Fonts should be rendered correctly in trunk with the changes I landed above. There are several features that are still missing: - Proper onMatchFamilyStyleCharacter() implementation - Font collection support - CSS-compliant style matching These features depend on fixes in FontProvider in Fuchsia. They are tracked by https://fuchsia.atlassian.net/browse/US-409 . Keeping this bug open to add missing functionality once it's implemented in FontProvider.
,
Jan 15
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by sergeyu@google.com
, Feb 26 2018