WebCore:
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Mar 2008 16:03:02 +0000 (16:03 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Mar 2008 16:03:02 +0000 (16:03 +0000)
commit1eb5474bf7604d819beccadbbee724459113e9fc
tree50972a204002c2d8407809d82e72089b21d421bb
parentfdb4f20c85ff82414ee91ba2dd553d40b0fb351f
WebCore:

        Reviewed by Sam Weinig.

        - fix <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html

        Test: platform/win/fast/text/uniscribe-missing-glyph.html

        Note that default installations of Windows do not have Myanmar fonts.
        What this patch does is ensure that the Myanmar and other complex
        scripts are rendered as missing glyphs rather than not rendered at all.
        The particular page in the bug measures the relative widths of two
        rendered strings and, if they are rendered as missing glyphs, detects
        that a Myanmar fonts is not available and substitutes the text with
        images. By not rendering (and measuring) missing glyphs, WebKit was
        throwing the page's detection code off.

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::shape): Removed an early return in case
        shaping resulted in missing glyphs. This is now expected if font
        fallback failed to produce a font containing glyphs for the character.
        Also changed two resize()s to shrink()s.

LayoutTests:

        - test for <rdar://problem/5622336> Burmese text does not render on http://www.myanmarbible.com/bible/Judson/html/index.html

        * platform/win/fast/text/uniscribe-missing-glyph-expected.txt: Added.
        * platform/win/fast/text/uniscribe-missing-glyph.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/platform/win/fast/text/uniscribe-missing-glyph-expected.txt [new file with mode: 0644]
LayoutTests/platform/win/fast/text/uniscribe-missing-glyph.html [new file with mode: 0644]
WebCore/ChangeLog
WebCore/platform/graphics/win/UniscribeController.cpp