** Description changed: - The following Chromium Issue was reported on 2011-06-13: + Hangul glyphs stack on top of one another, and hence unreadable, + especially in Chromium browser. - "WenQuanYi Micro Hei" is rendered incorrectly on Linux - https://code.google.com/p/chromium/issues/detail?id=85890 + See: - with a screenshot that the Hangul glyphs were overlapping each other, - and hence unreadable. + * https://code.google.com/p/chromium/issues/detail?id=85890 + "WenQuanYi Micro Hei" is rendered incorrectly on Linux (2011-06-13) - Using FontTools/TTX for analysis, e.g. by running + * https://sourceforge.net/p/wqy/bugs/42/ + WenQuanYiMicroHei hangul advance + (an anonymous user reported the problem upstream on 2013-03-29) - ttx -x glyf -y 0 wqy-microhei.ttc + * https://code.google.com/p/chromium/issues/detail?id=233851 + korean fonts stacking vertically onto eachother and/or replaced with pinyin + after updating to linux raring ringtail 13.04 (2013-04-19) + + * http://bugs.debian.org/714641 + ttf-wqy-microhei: Incorrect advanceWidths in hmtx for composite glyphs. + (with a suggested fix) + + + Using FontTools/TTX for analysis, e.g. by running: + + ttx -x glyf -y 0 wqy-microhei.ttc an XML file is generated, showing the following Horizontal Matrix table: - <hmtx> - ... - <mtx name="uni9FC0" width="2048" lsb="104"/> - <mtx name="uni9FC1" width="2048" lsb="96"/> - <mtx name="uni9FC2" width="2048" lsb="104"/> - <mtx name="uni9FC3" width="2048" lsb="112"/> - <mtx name="uniAC00" width="256" lsb="128"/> - <mtx name="uniAC01" width="256" lsb="112"/> - <mtx name="uniAC02" width="256" lsb="112"/> - <mtx name="uniAC03" width="256" lsb="112"/> - <mtx name="uniAC04" width="256" lsb="112"/> - ... - <mtx name="uniAC6E" width="256" lsb="72"/> - <mtx name="uniAC6F" width="256" lsb="72"/> - <mtx name="uniAC70" width="2048" lsb="88"/> - <mtx name="uniAC71" width="256" lsb="72"/> - <mtx name="uniAC72" width="256" lsb="72"/> - ... - <mtx name="uniACA6" width="256" lsb="72"/> - <mtx name="uniACA7" width="256" lsb="72"/> - <mtx name="uniACA8" width="2048" lsb="88"/> - <mtx name="uniACA9" width="256" lsb="72"/> - <mtx name="uniACAA" width="256" lsb="72"/> - ... - <mtx name="uniD7A1" width="256" lsb="168"/> - <mtx name="uniD7A2" width="256" lsb="168"/> - <mtx name="uniD7A3" width="256" lsb="168"/> - <mtx name="uniF900" width="256" lsb="136"/> - <mtx name="uniF901" width="2048" lsb="104"/> - <mtx name="uniF902" width="2048" lsb="104"/> - <mtx name="uniF903" width="256" lsb="168"/> - <mtx name="uniF904" width="256" lsb="88"/> - <mtx name="uniF905" width="2048" lsb="216"/> - <mtx name="uniF906" width="2048" lsb="128"/> - <mtx name="uniF907" width="2048" lsb="96"/> - <mtx name="uniF908" width="2048" lsb="96"/> - <mtx name="uniF909" width="256" lsb="80"/> - <mtx name="uniF90A" width="2048" lsb="80"/> - <mtx name="uniF90B" width="256" lsb="160"/> - <mtx name="uniF90C" width="256" lsb="104"/> - <mtx name="uniF90D" width="256" lsb="80"/> - <mtx name="uniF90E" width="2048" lsb="72"/> - <mtx name="uniF90F" width="256" lsb="96"/> - <mtx name="uniF910" width="256" lsb="128"/> - <mtx name="uniF911" width="256" lsb="128"/> - ... - <mtx name="uniFA25" width="2048" lsb="96"/> - <mtx name="uniFA26" width="256" lsb="104"/> - <mtx name="uniFA27" width="256" lsb="88"/> - <mtx name="uniFA28" width="256" lsb="88"/> - <mtx name="uniFA29" width="256" lsb="168"/> - <mtx name="uniFA2A" width="2048" lsb="80"/> - <mtx name="uniFA2B" width="256" lsb="80"/> - <mtx name="uniFA2C" width="2048" lsb="80"/> - <mtx name="uniFA2D" width="256" lsb="48"/> - ... - </hmtx> + <hmtx> + ... + <mtx name="uni9FC0" width="2048" lsb="104"/> + <mtx name="uni9FC1" width="2048" lsb="96"/> + <mtx name="uni9FC2" width="2048" lsb="104"/> + <mtx name="uni9FC3" width="2048" lsb="112"/> + <mtx name="uniAC00" width="256" lsb="128"/> + <mtx name="uniAC01" width="256" lsb="112"/> + <mtx name="uniAC02" width="256" lsb="112"/> + <mtx name="uniAC03" width="256" lsb="112"/> + <mtx name="uniAC04" width="256" lsb="112"/> + ... + <mtx name="uniAC6E" width="256" lsb="72"/> + <mtx name="uniAC6F" width="256" lsb="72"/> + <mtx name="uniAC70" width="2048" lsb="88"/> + <mtx name="uniAC71" width="256" lsb="72"/> + <mtx name="uniAC72" width="256" lsb="72"/> + ... + <mtx name="uniACA6" width="256" lsb="72"/> + <mtx name="uniACA7" width="256" lsb="72"/> + <mtx name="uniACA8" width="2048" lsb="88"/> + <mtx name="uniACA9" width="256" lsb="72"/> + <mtx name="uniACAA" width="256" lsb="72"/> + ... + <mtx name="uniD7A1" width="256" lsb="168"/> + <mtx name="uniD7A2" width="256" lsb="168"/> + <mtx name="uniD7A3" width="256" lsb="168"/> + <mtx name="uniF900" width="256" lsb="136"/> + <mtx name="uniF901" width="2048" lsb="104"/> + <mtx name="uniF902" width="2048" lsb="104"/> + <mtx name="uniF903" width="256" lsb="168"/> + <mtx name="uniF904" width="256" lsb="88"/> + <mtx name="uniF905" width="2048" lsb="216"/> + <mtx name="uniF906" width="2048" lsb="128"/> + <mtx name="uniF907" width="2048" lsb="96"/> + <mtx name="uniF908" width="2048" lsb="96"/> + <mtx name="uniF909" width="256" lsb="80"/> + <mtx name="uniF90A" width="2048" lsb="80"/> + <mtx name="uniF90B" width="256" lsb="160"/> + <mtx name="uniF90C" width="256" lsb="104"/> + <mtx name="uniF90D" width="256" lsb="80"/> + <mtx name="uniF90E" width="2048" lsb="72"/> + <mtx name="uniF90F" width="256" lsb="96"/> + <mtx name="uniF910" width="256" lsb="128"/> + <mtx name="uniF911" width="256" lsb="128"/> + ... + <mtx name="uniFA25" width="2048" lsb="96"/> + <mtx name="uniFA26" width="256" lsb="104"/> + <mtx name="uniFA27" width="256" lsb="88"/> + <mtx name="uniFA28" width="256" lsb="88"/> + <mtx name="uniFA29" width="256" lsb="168"/> + <mtx name="uniFA2A" width="2048" lsb="80"/> + <mtx name="uniFA2B" width="256" lsb="80"/> + <mtx name="uniFA2C" width="2048" lsb="80"/> + <mtx name="uniFA2D" width="256" lsb="48"/> + ... + </hmtx> Apparently, WenQuanYi Micro Hei uses a horizontal advance width of 2048 for CJK characters by default, e.g.: - <mtx name="uni9FC0" width="2048" lsb="104"/> - <mtx name="uni9FC1" width="2048" lsb="96"/> - <mtx name="uni9FC2" width="2048" lsb="104"/> - <mtx name="uni9FC3" width="2048" lsb="112"/> + <mtx name="uni9FC0" width="2048" lsb="104"/> + <mtx name="uni9FC1" width="2048" lsb="96"/> + <mtx name="uni9FC2" width="2048" lsb="104"/> + <mtx name="uni9FC3" width="2048" lsb="112"/> whereas DroidSansFallback.ttf uses a horizontal advance width of 256 for CJK characters by default. Perhaps something went wrong when the Hangul (and related Korean Han fallback glyphs) from DroidSansFallback.ttf were merged into WenQuanYi Micro Hei?
** Bug watch added: code.google.com/p/chromium/issues #233851 http://code.google.com/p/chromium/issues/detail?id=233851 ** Also affects: chromium-browser via http://code.google.com/p/chromium/issues/detail?id=233851 Importance: Unknown Status: Unknown ** No longer affects: chromium-browser -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1258520 Title: Hangul glyphs in "WenQuanYi Micro Hei" overlap one another in Chromium (incorrect advanceWidth in hmtx table) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ttf-wqy-microhei/+bug/1258520/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
