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

Issue 829605 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 824145
Owner:
Last visit > 30 days ago
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Poor text rendering in Canvas (cufon library)

Reported by therealk...@gmail.com, Apr 5 2018

Issue description

Chrome Version       : 65.0.3325.181
URLs (if applicable) : http://michaelmikiala.com/sensitive-range/face-wash-sensitive.html
Other browsers tested:
  Add OK or FAIL after other browsers where you have tested this issue:
     Safari: OK
    Firefox: OK
    IE/Edge: OK

What steps will reproduce the problem?
1. Some website that use canvas to write text, in particular Cufon library, don't properly displayed in chrome. Chrome treats certain characters, such as hyphens (-) and letters (i, and l) as squares, or simply shows as bold.  An example of a website http://michaelmikiala.com/sensitive-range/face-wash-sensitive.html
If you look in to the product title, you'll see black square instead of a hyphen and letter (i) are bold and stand out from other text. 

This issue is only present in chrome 65 and canary 67.



 
Components: Blink>Canvas
Labels: FoundIn-67 FoundIn-65
Status: Untriaged (was: Unconfirmed)
Summary: Poor text rendering in Canvas (cufon library) (was: Some characters displayed as squares.)

Comment 2 by junov@chromium.org, Apr 23 2018

Components: Blink>Fonts
Labels: -Type-Bug Needs-Bisect Type-Bug-Regression
Status: Available (was: Untriaged)
Cc: elawrence@chromium.org junov@chromium.org susan.boorgula@chromium.org
Labels: -Pri-3 -Needs-Bisect -FoundIn-65 -FoundIn-67 ReleaseBlock-Stable Triaged-ET RegressedIn-65 M-66 FoundIn-66 Target-66 Needs-Triage-M65 hasbisect OS-Linux OS-Mac Pri-1
Able to reproduce this issue on Windows 10, Mac OS 10.12.6 and Ubuntu 14.04 on latest Stable 66.0.3359.117 as per the original comment.
Issue seems to be fixed on the latest Canary 68.0.3404.0 and Dev 67.0.3396.10.

Reverse Bisect Information:
============================
Good Build: 67.0.3395.0 (Revision - 549859)
Bad Build : 67.0.3394.0 (Revision - 549695)

Unable to run the per-revision bisect script as perf error was coming up.

By executing the Chromium bisect, below is the ChangeLog URL.
https://chromium.googlesource.com/chromium/src/+log/167dfe8de1bd028acd8cdd80709fd1965e30384a..3f610510ee579df6613dd5ad3528d2f56bb5ee27

Unable to find the right suspect from the above ChangeLog.
elawrence@ / junov@ - Request you to check the above CL and help us in finding the right suspect for this issue.

Adding ReleaseBlock-Stable for M-66 as this is a recent regression. Please feel free to remove the same if it is not applicable.

Thanks.

Comment 4 by junov@chromium.org, Apr 24 2018

Components: -Blink>Fonts Internals>Skia
Owner: caryclark@chromium.org
Status: Assigned (was: Available)
It is almost certainly the skia roll that fixed the issue in M67.  There are several CLs in the roll that fix path rendering issues (which the cufon library uses for rendering text).

@caryclark: It's probably one of your CLs that fixed this.  Assigning to you to look into merging fix to M66.
Cc: hcm@chromium.org
Mergedinto: 824145
Owner: caryclark@google.com
Status: Duplicate (was: Assigned)
It very well may be my change, which was submitted to Skia as these CLs:

https://skia-review.googlesource.com/c/skia/+/119569
https://skia-review.googlesource.com/c/skia/+/120081
https://skia-review.googlesource.com/c/skia/+/120422
https://skia-review.googlesource.com/c/skia/+/120996
https://skia-review.googlesource.com/c/skia/+/121122
https://skia-review.googlesource.com/c/skia/+/121282
https://skia-review.googlesource.com/c/skia/+/121487
https://skia-review.googlesource.com/c/skia/+/121787
https://skia-review.googlesource.com/c/skia/+/121801
https://skia-review.googlesource.com/c/skia/+/121883
https://skia-review.googlesource.com/c/skia/+/122783
https://skia-review.googlesource.com/c/skia/+/122002
https://skia-review.googlesource.com/c/skia/+/122081
https://skia-review.googlesource.com/c/skia/+/122783

Nearly every CL represents a new bug found that is not a regression but rather a clever exploit that draws incorrectly rather than stealing credit card numbers.
All credit for finding these goes to the author of  crbug.com/824145 , for whom I have immense admiration.

Given the complexity of this change, I would prefer not to merge this to M66; mistakes would be exceedingly hard to catch. Also, given that the page referred to in this bug uses a copy of cufon, an obsolete JavaScript library, to generate the font ("Century Gothic" I think) hopefully this bug is not widespread.
> Nearly every CL represents a new bug found that is not a regression but rather a clever exploit that draws incorrectly rather than stealing credit card numbers.
> All credit for finding these goes to the author of   crbug.com/824145  , for whom I have immense admiration.

Issue owner also made a great job patching it, together we've found required conditions for the algorithm.

Also, this pony is an empty rectangle according to M66:

https://jsfiddle.net/Hackerham/vakd4fw2/4/

Sign in to add a comment