Issue metadata
Sign in to add a comment
|
Hangul Tonemarks are rendered with dotted circle instead of 'to the left of base' (Noto Sans CJK) |
||||||||||||||||||||||||
Issue description
OS: Mac OS 10.11, but likely to be everywhere. However, Chrome on Android (50.0.2661.26) is fine.
Version: 1. Chrome 49.0.2623.87
2. 51.0.2673.0 canary
How to reproduce
1. Install Noto Sans CJK (or Noto Sans KR) at http://www.google.com/get/noto/help/cjk/ (the easiest for Mac/Linux is install the super TTC)
2. Go to https://ko.wikisource.org/wiki/%ED%9B%88%EB%AF%BC%EC%A0%95%EC%9D%8C%EC%96%B8%ED%95%B4
Actual (the 1st screenshot : Chrome ) : U+302E and U+302F are shown AFTER a base syllable with a dotted circle as if it does not have a base character (and it's a stand-alone combining mark)
Expected (the 2nd screenshot : Firefox) : U+302E and U+302F are shown to the left of 'base' syllable (it can be either a single code point for modern precomposed syllable between U+AC00 ~ U+D7A8 or a sequence of two or three Hangul Jamos that form a syllable)
Additional Information: This is a regression. It used to work fine. Firefox does not have this problem.
,
Mar 14 2016
,
Mar 14 2016
The rendering of the above minimal test. Note that in the omnibox, U+302E (single dot centered vertically) is rendered correctly (to the left of '한'), but in the contents area, it's rendered with a dotted circle as if there's no base character.
,
Mar 14 2016
> in the omnibox, U+302E (single dot centered vertically) is rendered correctly Well, it's not exactly correct. The spacing is too tight. It uses the Mac OS default font for '한' and only U+302E may have come from Noto Sans CJK
,
Mar 15 2016
Thanks for the report and test case, we have issues with fallback for combining characters that follow the base, I'll mark this a duplicate of 591346.
,
Mar 15 2016
> Additional Information: This is a regression. It used to work fine. Firefox does not have this problem. It may have looked acceptable, but I tend to think we incorrectly combined the tone mark and the base from different fonts, compare issue 504745 .
,
Mar 15 2016
> It may have looked acceptable, but I tend to think we incorrectly combined the > tone mark and the base from different fonts, compare issue 504745 . Hmm.. could that happen even with an explicit font specified (as in a test given in comment 1)? How about cases where the only font covering U+302E and U+302F is 'Noto Sans CJK' (when an explicit font is not specified) ?
,
Mar 15 2016
,
Mar 15 2016
True, the case in comment #1 is definitely different, I am unmerging this from the fallback issue. Suspecting an issue with how we handled collections, I tried with the Noto Sans CJK .ttc as well as with the Korean only, single typeface font. But the issue happens in both cases. hb-shape shapes the "한〮" sequence correctly with these fonts.
,
Mar 15 2016
The collection should not be an issue. It should be 'transparent' to Blink. Believe me :-) This used to work fine before. I produced a sample image to include in Google Korea Blog post using Chrome multiple times :-) https://ko.wikisource.org/wiki/%ED%9B%88%EB%AF%BC%EC%A0%95%EC%9D%8C%EC%96%B8%ED%95%B4 is a page I always use to check 'Old Hangul' support (it explicitly specifies Noto Sans CJK KR in their CSS and it used to work fine). Perhaps, we should add a layout test using Noto Sans CJK (or a small subset thereof)
,
Apr 1 2016
The shaper code correctly handles this but the CJK optimized segmentation in CachingWordShapeIterator breaks it. We need to exclude the combining marks when segmenting. Kojii, could you take a look? You wrote much of the CJK code path in CachingWordShapeIterator.
,
Apr 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a7051b4065ce7dabe0e1ab758396f7e5c770d02d commit a7051b4065ce7dabe0e1ab758396f7e5c770d02d Author: kojii <kojii@chromium.org> Date: Wed Apr 06 16:29:03 2016 Fix Hangul Tone Marks not to delimit in CachingWordShapeIterator This patch includes two fixes for CachingWordShapeIterator not to delimit Hangul Tone Marks from base characters. The first fix is not to delmit non-CJK runs when it encounters CJK marks. The second fix is to exclude: U+302E HANGUL SINGLE DOT TONE MARK U+302F HANGUL DOUBLE DOT TONE MARK from the isCJKIdeographOrSymbol set. This change makes the Hangul tone marks consistent with other Hangul characters. BUG= 594658 Review URL: https://codereview.chromium.org/1861033003 Cr-Commit-Position: refs/heads/master@{#385475} [modify] https://crrev.com/a7051b4065ce7dabe0e1ab758396f7e5c770d02d/third_party/WebKit/Source/platform/fonts/Character.h [modify] https://crrev.com/a7051b4065ce7dabe0e1ab758396f7e5c770d02d/third_party/WebKit/Source/platform/fonts/CharacterPropertyData.cpp [modify] https://crrev.com/a7051b4065ce7dabe0e1ab758396f7e5c770d02d/third_party/WebKit/Source/platform/fonts/CharacterPropertyDataGenerator.h [modify] https://crrev.com/a7051b4065ce7dabe0e1ab758396f7e5c770d02d/third_party/WebKit/Source/platform/fonts/CharacterTest.cpp [modify] https://crrev.com/a7051b4065ce7dabe0e1ab758396f7e5c770d02d/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShapeIterator.h [modify] https://crrev.com/a7051b4065ce7dabe0e1ab758396f7e5c770d02d/third_party/WebKit/Source/platform/fonts/shaping/CachingWordShaperTest.cpp
,
Apr 7 2016
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by js...@chromium.org
, Mar 14 2016