New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 589335 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Small-caps styled elements truncated when text contains ß

Project Member Reported by drott@chromium.org, Feb 24 2016

Issue description

<span style="font-variant: small-caps;">ßa</span>

Renders as "SS", the a is truncated. This is because we do not account for a potentially larger string length in addToHarfBuzzBufferInternal.

This will be addressed by the font-variant-caps implementation, see issue 587094, which has to touch and update this code anyway.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de2db20f1ddb41f0c8de88ab9d376cbf40769a0c

commit de2db20f1ddb41f0c8de88ab9d376cbf40769a0c
Author: drott <drott@chromium.org>
Date: Wed Jun 29 12:01:05 2016

Fix case mapping buffer length divergence for synthetic caps

And provide locale to case WTF::String's upper implementation, which is
based on ICU transliterators. This fix handles all cases of Unicode's
SpecialCasing.txt case mapping rules list where the base character is
extended to two or more characters after case mapping, except those
cases where context is required. The latter case is tracked in
 crbug.com/623940  and depends on ICU streaming uppercase API support.

Fix by adding multiple characters after case mapping to the same
HarfBuzz cluster index, which is nicely compatible with our previous
approaches for shaping result extraction, text selection, etc.

BUG= 589335 , 605067 
R=eae,behdad

Review-Url: https://codereview.chromium.org/2102113002
Cr-Commit-Position: refs/heads/master@{#402782}

[modify] https://crrev.com/de2db20f1ddb41f0c8de88ab9d376cbf40769a0c/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/de2db20f1ddb41f0c8de88ab9d376cbf40769a0c/third_party/WebKit/LayoutTests/fast/text/font-features/caps-casemapping.html
[modify] https://crrev.com/de2db20f1ddb41f0c8de88ab9d376cbf40769a0c/third_party/WebKit/Source/platform/fonts/shaping/CaseMappingHarfBuzzBufferFiller.cpp
[modify] https://crrev.com/de2db20f1ddb41f0c8de88ab9d376cbf40769a0c/third_party/WebKit/Source/platform/fonts/shaping/CaseMappingHarfBuzzBufferFiller.h
[modify] https://crrev.com/de2db20f1ddb41f0c8de88ab9d376cbf40769a0c/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp

Comment 2 by drott@chromium.org, Jun 29 2016

Status: Fixed (was: Assigned)
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 29 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/255978b9f438b6e14982bf2beddae09c51e0ab07

commit 255978b9f438b6e14982bf2beddae09c51e0ab07
Author: Rebaseline Bot <blink-rebaseline-bot@chromium.org>
Date: Wed Jun 29 13:24:49 2016

Auto-rebaseline for r402782

https://chromium.googlesource.com/chromium/src/+/de2db20f1

BUG= 589335 
TBR=drott@chromium.org

Review URL: https://codereview.chromium.org/2101923007 .

Cr-Commit-Position: refs/heads/master@{#402789}

[modify] https://crrev.com/255978b9f438b6e14982bf2beddae09c51e0ab07/third_party/WebKit/LayoutTests/TestExpectations
[add] https://crrev.com/255978b9f438b6e14982bf2beddae09c51e0ab07/third_party/WebKit/LayoutTests/platform/android/fast/text/small-caps-turkish-expected.png
[modify] https://crrev.com/255978b9f438b6e14982bf2beddae09c51e0ab07/third_party/WebKit/LayoutTests/platform/linux/fast/text/small-caps-turkish-expected.png
[modify] https://crrev.com/255978b9f438b6e14982bf2beddae09c51e0ab07/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/text/small-caps-turkish-expected.png
[modify] https://crrev.com/255978b9f438b6e14982bf2beddae09c51e0ab07/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/text/small-caps-turkish-expected.png
[modify] https://crrev.com/255978b9f438b6e14982bf2beddae09c51e0ab07/third_party/WebKit/LayoutTests/platform/mac/fast/text/small-caps-turkish-expected.png
[modify] https://crrev.com/255978b9f438b6e14982bf2beddae09c51e0ab07/third_party/WebKit/LayoutTests/platform/win7/fast/text/small-caps-turkish-expected.png

Sign in to add a comment