Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Issue 2581083003: Initial OpenType Font Variations Support (Closed)

Created:
4 years ago by drott
Modified:
4 years ago
CC:
ajuma+watch_chromium.org, darktears, apavlov+blink_chromium.org, blink-reviews, blink-reviews-css, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj+watch_chromium.org, dglazkov+blink, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), gavinp+loader_chromium.org, Nate Chapin, jbroman, Justin Novosad, loading-reviews_chromium.org, mac-reviews_chromium.org, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, tyoshino+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

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 Committed: https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64 Cr-Commit-Position: refs/heads/master@{#440455}

Patch Set 1 #

Patch Set 2 : Adding missing test expectation, clean up ambiguous test CSS #

Patch Set 3 : Fix Windows compilation by avoiding VLA #

Total comments: 14

Patch Set 4 : Review comments addressed #

Patch Set 5 : Hash collision fixes #

Patch Set 6 : DCHECK build fix #

Patch Set 7 : CHECK_NE literal #

Patch Set 8 : Avoid duplicate definitions #

Patch Set 9 : Remove leftover logging in new test #

Patch Set 10 : Fix hash collision tests, adjust test expectations #

Total comments: 8

Patch Set 11 : Addressing review comments from Koji #

Patch Set 12 : Fix makeUnique syntax #

Unified diffs Side-by-side diffs Delta from patch set Stats (+355 lines, -39 lines) Patch
M third_party/WebKit/LayoutTests/NeverFixTests View 1 2 3 4 5 6 7 8 9 1 chunk +8 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/text/variable-fonts/variable-box-font.html View 1 2 3 1 chunk +28 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/text/variable-fonts/variable-box-font-expected.html View 1 2 3 1 chunk +14 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/text/variable-fonts/variable-mac-system-font.html View 1 2 3 1 chunk +27 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/resources/variabletest_box.ttf View 1 2 3 Binary file 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/webfont/variable-box-font-arraybuffer.html View 1 2 3 4 5 6 7 8 1 chunk +37 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/webfont/variable-box-font-arraybuffer-expected.html View 1 2 3 1 chunk +14 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/core/css/BinaryDataFontFaceSource.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/css/CSSFontFaceSourceTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/core/css/RemoteFontFaceSource.cpp View 1 chunk +2 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/loader/resource/FontResource.h View 2 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/loader/resource/FontResource.cpp View 1 chunk +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/FontCacheKey.h View 1 2 3 4 5 6 7 8 9 3 chunks +12 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/FontCustomPlatformData.h View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/FontCustomPlatformData.cpp View 1 2 3 4 5 6 7 8 9 10 3 chunks +43 lines, -5 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/FontDescription.cpp View 1 2 3 4 2 chunks +5 lines, -11 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/FontPlatformData.h View 2 chunks +5 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/WebFontDecoder.cpp View 1 2 3 4 5 6 7 8 9 10 2 chunks +18 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/linux/FontPlatformDataLinux.cpp View 1 2 3 1 chunk +6 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/mac/FontCacheMac.mm View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/mac/FontPlatformDataMac.mm View 1 2 3 4 5 6 7 8 9 10 3 chunks +18 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/fonts/opentype/FontSettings.h View 1 2 3 4 5 6 7 8 9 3 chunks +5 lines, -1 line 0 comments Download
A third_party/WebKit/Source/platform/fonts/opentype/FontSettings.cpp View 1 2 3 4 5 6 7 8 9 10 1 chunk +42 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/platform/fonts/opentype/FontSettingsTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +44 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp View 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 75 (49 generated)
drott
Adding missing test expectation, clean up ambiguous test CSS
4 years ago (2016-12-16 14:31:33 UTC) #3
drott
Ready for review, yeyh.
4 years ago (2016-12-16 14:32:20 UTC) #7
drott
Fix Windows compilation by avoiding VLA
4 years ago (2016-12-16 15:30:41 UTC) #10
eae
Starting review.
4 years ago (2016-12-16 18:36:27 UTC) #15
eae
This is great! Have a couple of questions and suggestions but overall this looks really ...
4 years ago (2016-12-16 18:48:27 UTC) #16
drott
Review comments addressed
4 years ago (2016-12-19 13:36:09 UTC) #17
drott
Hash collision fixes
4 years ago (2016-12-19 13:41:53 UTC) #18
drott
DCHECK build fix
4 years ago (2016-12-19 14:10:05 UTC) #23
drott
Thanks for the detailed review and positive feedback, Emil. I am quite excited about getting ...
4 years ago (2016-12-19 14:12:34 UTC) #26
drott
CHECK_NE literal
4 years ago (2016-12-19 15:15:35 UTC) #30
drott
Avoid duplicate definitions
4 years ago (2016-12-19 20:50:55 UTC) #35
drott
Remove leftover logging in new test
4 years ago (2016-12-19 20:55:46 UTC) #38
drott
Fix hash collision tests, adjust test expectations
4 years ago (2016-12-20 09:44:54 UTC) #43
drott
Okay, I had to disable tests on below macOS 10.11 as well - this is ...
4 years ago (2016-12-20 12:10:45 UTC) #48
drott
Behdad and Koji, could you take a look as well after eae@'s earlier review? I ...
4 years ago (2016-12-20 14:21:29 UTC) #50
kojii
lgtm w/a few nits, do you have someone you want to ask review for core? ...
4 years ago (2016-12-21 14:53:12 UTC) #51
drott
Addressing review comments from Koji
4 years ago (2016-12-21 15:19:52 UTC) #53
drott
Thanks for the review, Koji. I appreciate your diving into this subject and the CL ...
4 years ago (2016-12-21 15:22:00 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2581083003/200001
4 years ago (2016-12-21 15:22:22 UTC) #57
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/330744)
4 years ago (2016-12-21 15:31:09 UTC) #59
drott
kouhei@chromium.org, yutak@chromium.org, jochen@chromium.org, pdr@chromium.org, could you please review changes in core/, thank you and happy ...
4 years ago (2016-12-21 15:34:38 UTC) #61
drott
Fix makeUnique syntax
4 years ago (2016-12-22 09:12:14 UTC) #62
jochen (gone - plz use gerrit)
lgtm
4 years ago (2016-12-22 16:01:53 UTC) #67
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2581083003/220001
4 years ago (2016-12-22 18:27:50 UTC) #70
commit-bot: I haz the power
Committed patchset #12 (id:220001)
4 years ago (2016-12-22 18:33:20 UTC) #73
commit-bot: I haz the power
4 years ago (2016-12-22 18:35:24 UTC) #75
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/d5cec19a655dbb722f75bfccdaa44f69c0827e64
Cr-Commit-Position: refs/heads/master@{#440455}

Powered by Google App Engine
This is Rietveld 408576698