Skip to content
Snippets Groups Projects
  • jshin@chromium.org's avatar
    Turn on UCONFIG_NO_NON_HTML5_CONVERTER · 52e8245c
    jshin@chromium.org authored
    UCONFIG_NO_NON_HTML5_CONVERTER was added earlier to our copy of ICU, but
    it was never set to 1.  It's my oversight.
    
    1. Turns UCON..CONVERTER on in icu.gyp to drop all the encodings not
       required by the Encoding spec. Dropped encodings include
       UTF-7, BOCU, SCSU, CESU, ISCII, ISO-2022-{KR, CN*}, HZ-GB, ISO-2022-JP's
       other than the original.
    
    2. A lot more sections of the ICU converter code are excluded when
       it's set to 1 including the code for LMB (Lotus Multibyte) encodings and
       X11 compound text encoding (icu common).
    
    3. The character encoding detections for encodings excluded are also disabled.
       (icu i18n)
    
    4. ISO-2022-{KR, CN*} and HZ-GB can be dropped now because Blink treats them
       as replacement encoding. The corresponding alias entries from convertrs.txt
       are also removed.
    
    5. ibm-874 was removed. We used to need it before Blink started, but not any
       more. We only need windows-874.
    
    6. A mistaken in convertrs.txt was corrected : Big5-HKSCS was pointing to
       an old mapping table.
    
    7. Per ICU upstream's suggestion, use '-html' suffix instead of '-html5'
    for the encoding tables derived from the WHATWG's encoding spec (ibm866,
    shift_jis and euc-jp).
    
    The static 64-bit release build of Chrome on Linux went down from
    141,596,616 to 141,491,968 bytes (~ 100 kB reduction). Besides, the icu data
    size got smaller by ~ 19 kB ( 10,490,576 to 10,471,008 bytes).
    
    See http://bugs.icu-project.org/trac/ticket/11296 for an upstream bug
    I've filed on the issue.
    
    
    BUG=76328
    TEST=browser_tests --gtest_filter="*ncoding*"
    TEST=net_unittest --gtest_filter="*ilenameUtil*"
    TEST=base_unittests --gtest_filter="*Conv*"
    TEST=Blink: fast/encoding/*
    TEST=With shared library build, the following has no match.
      nm libicuuc.so | egrep  -i '(bocu|scsu|utf7|2022kr|2022cn|iscii)'
      nm libicui18n.so | egrep  -i '(2022kr|2022cn|ibm42)'
    TEST=With static library build, the following has no match.
      nm chrome | egrep -i '(bocu|scsu|utf7|2022kr|2022cn|iscii|ibm42)'
    
    R=jsbell@chromium.org, mark@chromium.org
    
    Review URL: https://codereview.chromium.org/587833004
    
    git-svn-id: http://src.chromium.org/svn/trunk/deps/third_party/icu52@292131 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
    52e8245c