Once we have CSS support for axis value definitions through font-variation-settings, we should use these values for passing them to shaping and font instantiation for painting.
CL is up \o/: https://codereview.chromium.org/2581083003
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d5cec19a655dbb722f75bfccdaa44f69c0827e64 commit d5cec19a655dbb722f75bfccdaa44f69c0827e64 Author: drott <drott@chromium.org> Date: Thu Dec 22 18:32:45 2016 Initial OpenType Font Variations Support Adding support for instantiating OpenType Font Variations from web fonts through font-variation-settings on Linux and Mac. Linux currenly requires a system FreeType at version 2.6.5 or newer and at least macOS 10.11, but support is still experimental. With this CL, in addition to web fonts Mac supports instantiating system font variations. Some known issues, see meta bug crbug.com/669453 : * Correct mark positioning requires new HarfBuzz API to pass axis parameters from Skia to HarfBuzz * Incorrect advance width scaling on Linux when hinting is enabled (as it is by default), discussed and almost solved in https://bugs.chromium.org/p/skia/issues/detail?id=5917 TEST=fast/text/variable-fonts/variable-box-font.html, fast/text/variable-fonts/variable-mac-system-font.html, http/tests/webfont/variable-box-font-arraybuffer.html FontSettingsTest.cpp BUG= 669459 , 670246 Review-Url: https://codereview.chromium.org/2581083003 Cr-Commit-Position: refs/heads/master@{#440455} [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/LayoutTests/NeverFixTests [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/LayoutTests/fast/text/variable-fonts/variable-box-font-expected.html [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/LayoutTests/fast/text/variable-fonts/variable-box-font.html [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/LayoutTests/fast/text/variable-fonts/variable-mac-system-font.html [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/LayoutTests/http/tests/resources/variabletest_box.ttf [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/LayoutTests/http/tests/webfont/variable-box-font-arraybuffer-expected.html [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/LayoutTests/http/tests/webfont/variable-box-font-arraybuffer.html [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/core/css/BinaryDataFontFaceSource.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/core/loader/resource/FontResource.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/core/loader/resource/FontResource.h [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/FontCacheKey.h [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/FontCustomPlatformData.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/FontCustomPlatformData.h [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/FontDescription.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/FontPlatformData.h [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/WebFontDecoder.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/linux/FontPlatformDataLinux.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/mac/FontCacheMac.mm [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/mac/FontPlatformDataMac.mm [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/opentype/FontSettings.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/opentype/FontSettings.h [add] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/opentype/FontSettingsTest.cpp [modify] https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
Fixed in https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64
Comment 1 by drott@chromium.org
, Dec 16 2016