New issue
Advanced search Search tips

Issue 819816 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

In vertical text, Chrome fails to enable OpenType vkrn feature for kerning

Reported by ch...@w3.org, Mar 7 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0

Steps to reproduce the problem:
1. Go to https://test.csswg.org/harness/test/css-fonts-3_dev/single/font-kerning-03/format/html5/
2. Compare test result to reference page (linked from the above url)

What is the expected behavior?
the three lines of vertical text are identical, with one cross (✗) followed by one check mark (✓)

What went wrong?
The first line (on the right) has two crosses (✗). In the special font used, this means that the OpenType `vkrn` (vertical kern) feature was not turned on.
Chrome passes the equivalent test for horizontal text (with the `kern` feature; the bug is just in vertical text. This looks like a simple oversight.

Did this work before? No 

Does this work in other browsers? No
 Firefox passes the test correctly. Edge and Chrome do not, as described below.

Spec text:
" When rendering with OpenType fonts, the [OPENTYPE] specification suggests that kerning be enabled by default. When kerning is enabled, the OpenType kern feature is enabled (for vertical text runs the vkrn feature is enabled instead)."
https://drafts.csswg.org/css-fonts-3/#font-kerning-prop

Chrome version: 67.0.3364.0 (Official Build) canary (64-bit) (cohort: Clang-64)  Channel: canary
OS Version: 10.0
Flash Version: 

The test case is in web platform tests, in CSS/css-fonts/font-kerning-03.html and the reference is font-kerning-03-ref.html

https://github.com/w3c/web-platform-tests/blob/master/css/css-fonts/font-kerning-03.html
https://github.com/w3c/web-platform-tests/blob/master/css/css-fonts/font-kerning-03.html
 
Labels: Needs-Triage-M67
Cc: susan.boorgula@chromium.org
Labels: Triaged-ET M-67 Target-67 FoundIn-67 OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
chris@ Thanks for the issue.

Tested the issue on Mac OS 10.12.6, Windows 10 and Ubuntu 14.04 on the latest canary 67.0.3366.0 and Stable 65.0.3325.146 and able to reproduce the issue.

The second line has two ticks followed by a cross symbol unlike the reference page.
Attached is the screen shot for reference.

This is a Non-Regression issue as this behavior is observed from M60 Chrome builds. 
Hence marking this as Untriaged for further updates from Dev.

Thanks..
819816.PNG
77.1 KB View Download

Comment 3 by ch...@w3.org, Mar 9 2018

Thanks for the confirmation, Susan. 

Just to note that this is vertical text so the first line is on the right, with two characters; the next line is in the middle, and the last line is on the left.

Also, the second line (which renders correctly) applies the `vkrn` explicitly, which shows that Chrome has all the needed functionality already. What is missing is applying it on vertical text by default, when kerning is enabled. 

Comment 4 by cnardi@chromium.org, Mar 10 2018

Cc: e...@chromium.org
Components: -Blink>CSS Blink>Fonts
+eae@, looks like https://chromium.googlesource.com/chromium/src/+/master/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp#524 is wrong and "vkrn" is not always enabled by default.

Comment 5 by e...@chromium.org, Mar 16 2018

Cc: drott@chromium.org kojii@chromium.org
Status: Available (was: Untriaged)

Sign in to add a comment