commit | 36c08c1fb50c18303e82236c4bf143bbaf9c675b | [log] [tgz] |
---|---|---|
author | Koji Ishii <kojii@chromium.org> | Tue Nov 20 13:33:18 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Nov 20 13:33:18 2018 |
tree | 2ce198998fedc6373b935e17b0816bf02d1c4cc7 | |
parent | 478a17a5364bb91e3a3e0e54127f163ae4426605 [diff] |
Reland "Normalize Katakana to Hiragana in ScriptRunIterator" This is a reland of 05672d8d19afbbfada4f027ac1a9f27228bc78a6 The original change was reverted as suspected to cause Android CFI builder to fail: [ RUN ] RenderViewImplTest.PreferredSizeZoomed [FATAL:data_pack.cc(444)] Check failed: !handle->HasResource(resource_id). Duplicate resource 25400 with scale 1 I cannot find any relationship to the failure, and android_cfi_rel_ng trybot passes. Relanding to see if this was really the cause. Original change's description: > Normalize Katakana to Hiragana in ScriptRunIterator > > This patch normalizes Katakana to Hiragana in ScriptData, and > thus in ScriptRunIterator. > > There are 3 ICU script code for kana; USCRIPT_HIRAGANA, > USCRIPT_KATAKANA, and USCRIPT_KATAKANA_OR_HIRAGANA. However, > OpenType has only one 'kana' for all these 3 script codes. > > When shaping, HarfBuzz handles the normalization. However, > Blink splits the incoming string by the ICU scripts. > Splitting these 3 scripts is not useful but consumes CPU > and memory. > > By normalizing in ScriptRunIterator, all types of Kana are > in single run. > > timeToFirstContentfulPaint:layout shows ~3% improvements > https://pinpoint-dot-chromeperf.appspot.com/job/10d9760fe40000 > > though bink_perf.layout does not show much differences > https://pinpoint-dot-chromeperf.appspot.com/job/14f19c00140000 > > This is probably because Katakana characters are not used > much in `japanese-kokoro-insert` (written in ~100 years ago,) > while they are more used in modern pages. > > Bug: 636993 > Change-Id: If692bb575f2232b8fca10cd2ea87e3022debdf05 > Reviewed-on: https://chromium-review.googlesource.com/c/1337650 > Commit-Queue: Koji Ishii <kojii@chromium.org> > Reviewed-by: Dominik Röttsches <drott@chromium.org> > Cr-Commit-Position: refs/heads/master@{#609119} TBR=drott@chromium.org Bug: 636993 Change-Id: I1d741fa47556c5e7bf47e3badcdcf60a81fbc22b Reviewed-on: https://chromium-review.googlesource.com/c/1343583 Reviewed-by: Koji Ishii <kojii@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#609680}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .