Skip to content
Snippets Groups Projects
  1. Jun 04, 2015
  2. Mar 19, 2015
    • Jungshik Shin (jungshik at google)'s avatar
      Update CJK converters and their generating scripts · dafa8443
      Jungshik Shin (jungshik at google) authored
      1. Update ucmlocal.mk and convertrs.txt to refer to euc-kr-html.ucm
      instead of windows-949.ucm
      
      2. Tighten up the valid code range for the following converters:
      
         EUC-KR, Shift_JIS, Big5
      
      This is to add back an ASCII range byte to the stream per
      the encoding spec when they're either illegal as a 'trail byte' or
      there's no assigned code point for a "lead + trail" sequence.
      For instance, with this change, '0xF3 0x41' in EUC-KR is converted to
      'U+FFFD U+0041' instead of 'U+FFFD'.
      
      This change requires adding 2 ~ 8 new states to the conversion
      table of each converter mentioned above leading to 6.5kB net increase
      in the final data size.
      
      3. Tighten the trail byte range for 2-byte sequences starting with 0x8E
      from [A1,E2] to [A1,DF] in EUC-JP and update the corresponding generating
      script.
      
      4. Change the substitution characters for EUC-JP and Shift_JIS to
      match other converters. i.e. make them produce U+FFFD when encountering
      an invalid input. Before this chaange, they emitted U+001A.
      
      5. Enable 'U_CHARSET_IS_UTF8' configuration flag.
      Chromium/Blink does not rely on ICU for the code conversion between
      the 'system native encoding' (if it's one of legacy encodings)
      and Unicode. With this configuration, we can cut down the code size
      a bit.
      
      6. Update the icudtl.dat (all platforms) and assembly files (mac,linux)
         and the icudata dll (windows)
      
      See https://codereview.chromium.org/1026453002 for a new blink test
      added ( fast/encoding/char-decoding-invalid-trail.html )
      
      BUG=450312,430823
      TEST=Blink: fast/encoding/char-decoding-{truncated,invalid-trail}.html
      TEST=base_unittests --gtest_filter=*Conv*, browser_tests --gtest_filter=*ncoding*
      R=jsbell@chromium.org, mark@chromium.org
      
      Review URL: https://codereview.chromium.org/984233002
      dafa8443
  3. Jan 21, 2015
  4. Sep 02, 2014
    • jshin@chromium.org's avatar
      Update tz data to 2014f and add SJIS for the encoding spec · ff835309
      jshin@chromium.org authored
      1. Timezone data files (4 of them) in source/data/misc to 2014f (the latest)
         to prepare for an upcoming Russian timezone change.
      2. Add Shift_JIS converter compliant to the WHATWG encoding spec.
      3. Update converters.txt and ucmlocal.mk accordingly
      4. Update the pre-built data files for Linux/Mac/Android/Windows.
         (icudt.dll is not updated in this CL. It's not used in the default
          configuration. It'll be updated in a separate CL).
      5. Fix a typo in ibm866_gen.sh. The acual table used does not need a change.
      
      
      BUG=277062,404445
      TEST=After rolling icu to this revision, the following tests should pass.
      TEST=Blink: fast/encoding/* all pass except for
      fast/encoding/api/ascii-supersets.html that should fail by *passing*
      the test for Shift_JIS, which is expected to fail. Blink layout tests needs
      to be updated.
      TEST=browser_tests --gtest_filter="*ncoding*"
      TEST=In JS console, run the following to check if Europe/Moscow is
      3 hrs ahead of UTC after Oct 26 and 4 hrs ahead before that and
      if Asia/Kamchatka remains 12 hrs ahead of UTC.
        nov1_2014_1500=new Date("11/01/2014 15:00Z")
        nov1_2014_1500.toLocaleString("en", {timeZone: "Europe/Moscow"})
        nov1_2014_1500.toLocaleString("en", {timeZone: "UTC"})
        nov1_2014_1500.toLocaleString("en", {timeZone: "Asia/Kamchatka"})
        oct24_2014_1500=new Date("10/24/2014 15:00Z")
        oct24_2014_1500.toLocaleString("en", {timeZone: "Europe/Moscow"})
        oct24_2014_1500.toLocaleString("en", {timeZone: "UTC"})
        oct24_2014_1500.toLocaleString("en", {timeZone: "Asia/Kamchatka"})
      TEST=net_unittest --gtest_filter="*ilenameUtil*"
      TEST=base_unittests --gtest_filter="*Conv*"
      R=jsbell@chromium.org
      
      Review URL: https://codereview.chromium.org/497543003
      
      git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/icu52@291774 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
      ff835309
Loading