Title: [95070] trunk
Revision
95070
Author
ba...@chromium.org
Date
2011-09-13 18:58:25 -0700 (Tue, 13 Sep 2011)

Log Message

WebFont followed tiny monospace text displays weird
https://bugs.webkit.org/show_bug.cgi?id=67996

Reviewed by Darin Adler.

Source/WebCore:

Always call wkSetCGFontRenderingMode() in Font::drawGlyphs() so that the rendering mode is set correctly.

Test: platform/mac/fast/text/webfont-after-tiny-monospace-text.html

* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):

LayoutTests:

This test ensures that webfont followed tiny monospace text is displayed correctly.

* platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.png: Added.
* platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt: Added.
* platform/mac/fast/text/webfont-after-tiny-monospace-text.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (95069 => 95070)


--- trunk/LayoutTests/ChangeLog	2011-09-14 01:24:36 UTC (rev 95069)
+++ trunk/LayoutTests/ChangeLog	2011-09-14 01:58:25 UTC (rev 95070)
@@ -1,3 +1,16 @@
+2011-09-13  Kenichi Ishibashi  <ba...@chromium.org>
+
+        WebFont followed tiny monospace text displays weird
+        https://bugs.webkit.org/show_bug.cgi?id=67996
+
+        Reviewed by Darin Adler.
+
+        This test ensures that webfont followed tiny monospace text is displayed correctly.
+
+        * platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.png: Added.
+        * platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt: Added.
+        * platform/mac/fast/text/webfont-after-tiny-monospace-text.html: Added.
+
 2011-09-13  Tom Sepez  <tse...@chromium.org>
 
         Fix XSS auditor bypass when inline handlers contain comments.

Added: trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.png (0 => 95070)


--- trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.png	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.png	2011-09-14 01:58:25 UTC (rev 95070)
@@ -0,0 +1,90 @@
+\x89PNG
+
+
+IHDR X\x9Av\x82p)tEXtchecksum8b4f3e41f455878e1134b847bbbf4f5a\x9EK\xEEiCCPICC Profilex\x85T\xCFkA\xFE6n\xA9\xD0"Zk\xB2x\x90"IY\xABhE\xD46\xFDbk\xDB\xB6E\x90d3I\xD6n6\xEB\xEE&\xB5\xA5\x88\xE4\xE2\xD1*\xDEE\xED\xA1\xFF\x80z\xF0d/J\x85ZE(ޫ(b\xA1-\xF1\xCDnL\xB6\xA5\xEA\xC0\xCE~\xF3\xDE7\xEF}ov\xDF
+r\xD24\xF5\x80\xE4
+\xC7R\xA2il|Bj\xFC\x88\x8E\xA2	A4%U\xDB\xECN$A\x83s\xF9{\xE7\xD8z\x81[V\xC3{\xFBw\xB2w\xAD\x9AҶ\x9A\x84\xFD@\xE0G\x9A\xD9*\xB0\xEFq
+Y\x88<ߡ)\xC7t\xDF\xE3\xD8\xF2\xEC\x8F9Nyx\xC1\xB5+=\xC4Y"|@5-\xCEM\xB8S\xCD%\xD3@\x83H8\x94\xF5qR>\x9C׋\x94\xD7inf\xC6\xC8\xBDO\x90\xA6\xBB\xCC\xEE\xABb\xA1\x9CN\xF6\x90\xBD\x9D\xF4~N\xB3\xDE>\xC2!\xC2\xAD?F\xB8\x8D\x9E\xF5\x8C\xD5?\xE2a\xE1\xA4\xE6Ć=5\xF4\xF8`\xB7\xA9\xF85\xC2_M'\xA2Tq\xD9.
+\xF1\x98\xAE\xFDV\xF2J\x82p\x908\xCAda\x80sZHO\xD7Ln\xF8\xBA\x87}&\xD7\xAF\xE2wVQ\xE1y\x8Fg\xDE\xD4\xDD\xEFE\xDA\xAF0\x9A
+HPEa\x98\xB0P@\x86<14\xB2r?#\xAB\x93{2u$j\xBBtbD\xB1A{6\xDC=\xB7Q\xA4\xDD<\xFE("q\x94C\xB5\x92\xFCA\xFE*\xAF\xC9O\xE5y\xF9\xCB\\xB0\xD8V\x{1D4B5B}\x9A\xBA\xF2\xE0;\xC5噹\xD7\xD3\xC8\xE3sM^|\x95\xD4v\x93WG\x96\xACyz\xBC\x9A\xEC?\xECW\x971\xE6\x825\x8F\xC4s\xB0\xFB\xF1-_\x95̗)\x8C\xC5\xE3U\xF3\xEAK\x84uZ17ߟl;=\xE2.\xCF.\xB5\xD6s\xAD\x89\x8B7V\x9B\x97g\xFDjH\xFB\x93\xE6U\xF9O^\xF5\xF1\xFCg\xCD\xC4c\xE2)1&v\x8A\xE7!\x89\x97\xC5.\xF1\x92\xD8K\xAB\xE2`m\xC7\x9D\x95\x86)\xD2m\x91\xFA$\xD5``\x9A\xBC\xF5/]?[x\xBDF\xF5Q\x94\xCC\xD2T\x89\xF7\xC2*d4\x9D\xB9o\xFA\x8F\xDB\xC7\xFC\xE4\xF7\x8A\xE7\x9F(/l\xE0ș\xBAmSq\xEF\xA1e\xA5ns\xAE\xBF\xD1}\xF0\xB6nk\xA3~8\xFCX<\xAB\xADR5\x9F \xBCv\x87z\xE8)\x98Ӗ\x96\xCD9R\x87,\x9F\x93\xBA\xE9\xCAbR\xCCP\xDBCRR\xD7%\xD7eK\xB3\x99Ub\xE9vؙ\xD3n\xA19B\xF7ħJe\x93\xFA\xAF\xF1\xB0\xFD\xB0R\xF9\xF9\xACR\xD9~Nց\x97\xFAo\xC0\xBC\xFDE\xC0x\x8B\x89 IDATx\xED\xDDg\x88,	\xD5\xE0Zs\xCE9\xAE\xA8(朳\xA8(\xCC9\xA3`\sA0c]\xAB\xFE0G\x8C\xF8\xC3*f\xCCfŜs\xA8\xAFN\xF1U\xD33Ν\xE9ٽw\xF6\xDD\xE3Ӱ\xCCL\xDF\xEA\xEEs\x9E\xF7\x8A\xFD\xDE\xEE\xAE9j\x9C.\x83 @\x80@\xE0d\xF0\x82 @\x80\xB3\x80\xE2/ @\x80&\xA0\x80\xB5"@\x80 @@\xF1w\x80 @\x80\x81P@\x8C\xDA @\x80 \xA0\x80\xF8;@\x80 @\x80\xC0\x81	( F\xED\x81 @\x80P@\xFC @\x80 @\xE0\xC0\x90\xA3\xF6@ @\x80( \xFE @\x80 p`
+ȁQ{  @\x80 @\x8080\xE4\xC0\xA8= @\x80
+\x88\xBF @\x80\x98\x80r`\xD4\x88 @\x80\xC4\xDF @\x80L@90\xEA#\xF7@\xF7\xBE\x{1FD1E3}\x8E:j\xD7\xFF\x9E\xFD\xECg\xCF\x9C\xF9\xCCg\x9E\xF9\xCCg\xEE:\xCC&\xC7\xECz\xD3\xFE\xFA׿^\xFB\xDA\xD7\xEEuؾ\xFE\xFCp\xDC\xE7\xE1\xD8mӡO}\xEAS/y\xC9Kv=\xFC\xEEw\xBF\xFBp\xA3\xDDh\xD7c\xD7n\xE2W3\xBF\xE0/8\\xB9\xE5~\x8E\xE4}oy\xA0\xC3\xF8\xC3A\xE6s\xC7vW @ Z\xE0\xD1\xD3n#\x81?\xF8\xC1\xC3\xCDo~\xF3ձ\x8F|\xE4#\x87\xA3\x8F>z8\xE6\x98cV\xD7]\xFE\xF2\x97_}\xBF\xD77\xF7\xB8\xC7=\x86\xFD\xBF\xD3\xFD\xD5L\xBF\xFF\xFD\xEF\x87\xFB\xDC\xE7>;\xFD\xF1\xF1\xBA\xEEH\xDC\xE7\xF1\xE4$z\xA3ۯ\x8A\xF2e.s\x99\x93\xA8\x9E\xB1	 @\x80\x81\xC3%\xA0\x80.\xC9\xF1~\xAE~\xF5\xAB\xF5\xDFry\xEAS\x9F:\\xE8B\xEEr\x97\xBB,W\xED\xEB\xEBK_\xFA\xD2}\xBF\xD3\xC1\xFF\xFE\xF7\xBFw\xBA\xFA]w$\xEE\xF3
+t\xBB\xF1\x89\xED\xF7\x8AW\xBC\xE2$&f\ @\xE0Hx֑P
+\xBFϿ\xFD\xEDo\xC3C\xFA\xD0\xE1|\xE7;\xDFp\xAEs\x9Dk\xB8\xDF\xFD\xEE7\xFC\xF9\xCF^M}\xC3\xDEpx\xCDk^\xB3\xFA\xF9\x93\x9F\xFC\xE4p\x9D\xEB\g8ә\xCE4\x9C\xE7<\xE7\xEEx\xC7;?\xFE\xF1\x8FW\xBE\xFD\x9BG<\xE2Ç?\xFC\xE1\xA1nwի^u\xF8\xD9\xCF~6r\xEC\xB1\xC7W\xBC\xE2\x873\x9C\xE1\xC3\xAEp\x85\xE1\x8Do|\xE3\xEA\xA6\xEFx\xC7;\xE6c\xDF\xF7\xBE\xF7\xAD\xAE\xFBԧ>5_\xF7\xEEw\xBF{8\xD4}\xAE\xFE\xFFo6\x99u\xAF\xFD\xEB\xAE\xEAmH\x97\xBB\xDC\xE5\x863\x9E\xF1\x8C\xC3ծv\xB5\xE1-oy˖\x87\xBAֵ\xAE5\xBC\xF9\xCDo\xDEr]\xBF=\xE8A[\xAE[\xFF\xE1\x9F\xFF\xFC\xE7\xF0\xF0\x87?|\xB8\xF0\x85/<\x9C\xFF\xFC\xE7\x9E\xF8\xC4'\xFF\xF9\xCF\xD6\xD9\xF1\xFB\xCA\xE3\xFD\xEF\xFF|\xDF\xBC\xE0\x87s\x9F\xFB\xDC\xC3C\xF2\x90\xE1\xEF\xFF\xFB\x96\xE3w\x9ByS\xBF\xBA\xC3?\xFE\xF1\x8FC\xBD
+v\xB6\xB3\x9Dm\xB8ԥ.5\xECTHw\xCBr\xCBPk?\x94\xD9\xEB_\xFF\xFA\xD55\xE5\xF1\xC2\xBEp\xB8\xC5-n1\xFFݺ\xC0.0\xEF\xF8\x97\xBF\xFCeu̿\xFE\xF5\xAF\xE11\x8Fy\xCCp\x91\x8B\d8\xEFy\xCF;\xFF\xBD=\xEE\xB8ㆻ\xDE\xF5\xAE\xFB:\xA6\xDEk\xE6\xE3\x9B\xCFj\xDF @\x80\x9B	\x8C.\xED.v\xB1\x8B\x8Dw\xBAӝv\xDCk*\xE3\xA9Nu\xAA\xF1JW\xBA\xD28=!\xA7\xF7\xB8\x8F\xD3ߔ\xF1Y\xCFz\xD6\xEA\xF8:\xE6\xCFx\xC6\xFC\xF3\xF46\xAA\xF1,g9\xCBx\xEB[\xDFz|\xFB\xDB\xDF>NOFǩ\xB8\x8C׻\xDE\xF5V\xC7o\xFFf*\xE3T<\xC6\xE9	\xFC\xF8\xBA׽n\xFCӟ\xFE4N\x9F;Oq\x8AS\xCCs\xBD\xE9Mo\xA7'\xB8\xF3\xCF\xF5\xE7u\x99\x9E\xFC\x8DW\xBE\xF2\x95\xC7\xE9\x89\xF9\xF8\xBB\xDF\xFDn\x9CJ\xC2x\xC9K^r\x9C\x9E\xFC\x8Fӓ\xD0q\xA7\xFB\xDC\xFE\xB8\x9B̺\xC9\xFE\x8F}\xECc\xE7ٞ\xFE\xF4\xA7\x8F\xEF}\xEF{\xC7\xE9\xC9\xFEl\xF4\xAAW\xBDj\xF5\x90e\xF8\xE2\xBFx\xF5s}s\xB7\xBB\xDDm\x9C\xCA\xC2\xEA\xBA\xED\xC7LoA\xA7Ϡ\xCC\xEESy\xAFy\xCDk\x8E\xA7<\xE5)\xB7\xDCfu\xE3\xB5oj\xE6\xE9\xC9\xF7x\xD9\xCB^v\x9C>S2\xDE\xE66\xB7\x99\xE7\x99
+\xC7꨽f\xDEį\xEE\xACf\xAE\x99\xEE|\xE7;\x8FS\xF1\x9F\xFC\xE4'\x8F\xD3\xE7\x8BƗ\xBD\xECe\xAB\xC7\xDA+\xCBՁ۾\xA9\xFB~\xFE󟿺\xB6\xBE?\xC79\xCE1>\xE79\xCF\xDF\xF9\xCEw\x8Ex\xC0\xE6\xBD\xEA\xE7\xE5r\xDF\xFB\xDEw<\xDD\xE9N7\xBE\xE8E/\xA7\x92:\xDE\xE07O{\xDA\xD3\xCE\xFB9f\x93\x99\x8Fo>\xCB\xBE @\x80\x9B	\x9B樓\x92\xC0^\xE4\xE2\xBF\xF8\x96u\xEA\xF8\x9B\xDD\xECf\xAB\xEB\xD6\xC8\xF4\x8A\xC2\xFC\xA4\xF0\xAB_\xFD\xEA\xEA\xCF\xEB\x89\xE0\xF4/\xF9s1X]\xB9\xED\x9B\xDB\xDF\xFE\xF6\xAB\xFB\xACBQ\xF7y\xFF\xFB\xDF\xCBQUj\xA6Ϫ\xAC\xAE\xFBҗ\xBE4?\xF9}\xE08>\xE1	O\x98\x9F\xAF?\xEE\xFA}\xAEn\xB4\xF6\xCD&\xB3\xD6\xBB\xED?\xBD\xB23?\xEE\xE3\xF7\xB8\xB5{\xC7[\xDD\xEAV\xE3\xF4\xCA\xC3\\x8C\xEA\xB6\x97\x8B\xBAn\xB7\xF2\xC3\xFEp<\xF9\xC9O>\xBE\xFAկ\xAEC\xE7\xCB\xF4\xA1𹐬\x97\x96\xE5\xCFֿ\xD6\xCC\xF5\xD8\xEB\x97\xE9Ղ񖷼\xE5|զ3\xEF\xE5WwV{]\xF4\xA2\xA7WfV7\xBD\xE25\xC3\xE9-\s9\xDC$\xCBՍ׾Y/ ӫ7\xE35\xAEq\x8D\xF1\xE5/\xF9\xDA\xE3x\x89K\b\xBC\xEDmo;_\xF7\xDD\xEF~w6\xAB\xF2\xB0\\xA6W\xEA\xC6Ӝ\xE64\xAB\xB2\xC91\x9B\xFC\xFD;!\xF9,\xB3\xF9J\x80l&\xB0\xE7[\xB0v:\xBB\xD2\xF2\xDAJ\xFD\x99\xCBIO`\xFD\xF3"5}\xBD5\xE6\xE7?\xFF\xF9\x8E\x8BLO\x87ӟ\xFE\xF4\xC3\xEDnw\xBB\xF9\xED2\xDF\xFAַ\x86\xE9	\xE20\xFD\xEB\xFF0=\xA1\xDE\xF16ۯ\xFC\xE2\xBF8\xFC\xE1\x98\xDFv\xF5\xE9OzX\xFE\x9B\xFEE\xF8\xFE\xF7\xBF?\xFC\xF4\xA7?\x9DoRoy\xAA\xB7%\xBD\xF2\x95\xAF\x9E\xF7\xBC\xE7
+Oy\xCAS\x86K_\xFA\xD2\xDB\xEF\xEE\x90?o:\xEBn\xFB\xD7[\xB8\xFE\xF1\x8F7\xBE\xF1\x8D\xB7<\xCEMoz\xD3\xD9\xE8\xDB\xDF\xFE\xF6\x96\xEB7\xFD\xE1s\x9F\xFB\xDCP\x9F\xC1X?Y@\xBD\xC5\xE9&7\xB9\xC9Fwq\xFD\xEB_\xCBq\xF5\x96\xB8_\xFC\xE2\xF3u\x87{\xE6:+\xD7\xFA\xFF\xB6\xAF}\xEDk?\xF9\xC9O\xE6\x9C6\xCDr˰;\xFC0\x95\x91\xF9-zS٬\xBE\xF3\x9D\xEF\xCCos\x9B^%[\xED\xF5\x99\xCF|f6[?K\xD8\xF4j\xC8\xFC\xF7u\xB9\xCBM\x8E\xD9d\xE6\x9A\xCF2\x8F\xAF @\x80\xC0\xDE{\x90\xBA\x8Bz\x82\xB0\xFEu\xFEa\xED\xFA\xE5g_\x87-O\xDC\xF6\xEB\xB1\xFE\xA4o\xBF\xB7\xDD\xCF\xF1\xF5D}\xFD2\xFD\x8B\xF2\xFCDo\xFD\xBA\xE5\xFB\xB3\x9E\xF5\xAC\xC3{\xDE\xF3\x9E\xA1N\xA1\xFA\xA8G=j\xA8\xDB\xD6\xB2>\xFAя.\x87\xEC\xF9\xF5?\xF8\xC1|\xCC\xC3\xF6\xB0a\xFAW\xEF\xD5\xD3ۼ\xE6\xEB\xEB\xC9\xEDr\x99\xDEJ4?V=\xAD\xCFK\xEC\xE7\xB2鬻\xED\xBF\xCCZ\xA5l\xFDRO\xF8\xEB\xF2\xA3\xFDh\xFDꍿ_v<\xE79Ϲ\xE56\xF5y\x90M.U\xD6\xD6/ӫ\xAB\xFF]\xB4\xE9\xADq\xF3C\xD7gy\x96\xC7\xDA$\xCB\xF5yw\xFA\xFE\xF3\x9F\xFF\xFC\xFC\xF9\x8F\xE9-~\xC3\xF4\xAA\xD4\xF0\xB4\xA7=m.\xAA\xCB\xE7b\xEAsF\xF5\xBF\x89\xE5\xF1\x97\xFB\xB8\xCAU\xAE\xB2|;i\xAFc6\x99\xF9\x84\xE6\xB3\xC87 @\x80\xC0\x9E\x90\x9D\xEE\xA5\xFEO\xFD	\xF3\xF2\xF3N\xD7\xD5\xED\x97?\xDF\xEB\xBEu\xFB\xF5\xFBX?f\xFD\xFA\xF5\xFB^o9v\xFB\xCF\xEB\xB7[\x8EYn\xBF۱\xCB1;}]\xEEg\xB9\xFDr\xCC\xF6\x9F\xEB\xFA\xF5c\xB7\xFF\xBC\xFC\xD9r\xFB\xC3\xFD\xF5d'\xDB_\xEC\xF5!\xE8/\xF9\xCB\xC3\xF4v\xA8\xE1\xB9\xCF}\xEE\xFC
+A\xBD"\xF0\x9B\xDF\xFCf\xA3Ѫԥ\xFE\xB5\xBA^]\xD8\xFE\xDF\xFA\xCA\xFA}%\xF5\xC1\xE3\xFA@p=!\xDD\xEFe\x93Ywۿ\x9E\xD7e\xFA\xDCʖ\x87\xFE\xEB_\xFF:\xFF\¯KeT{\xAC_v+'\xD3g\xE6C\xA7\xB7\xAD\xDFd~½\xE5\x8AC\xFCp8f>\xC4]\xFF\xD7\xD5u\xFA\xE4\xF5˲{}\xF8}?Y\xAE\xDF\xC7\xF6\xEF\xEB	\xBD\xCAT\xAF|ԫ]U6\xBE\xF1\x8Do\xD3\xDBW\x87\xD6	\xEA?\xB6g\xF1\xB5\xAF}m_\xC7l2\xF3	\xCDg5\x90o @\x80\x81=\xF6|&\xBA\xBC\xFA\xB1\xDC\xD3\xF2\xF3\xF2u\xB9\xBE\xBE\xD6u\xF5\xDF\xF2z\xFB1\xDB\xDE~ۺ\xDDr\xFB\xE5\xFB\xE5\xE7\xE5\xD8\xFAy\xFD\xBA\x9D\x8E[\xFC:v\xB9l\xBF\xED\xF2g\x87\xBA\xBF\xE5v\xCBc\xD4\xCF\xCB}/\xB6\xFEu\xFD\xFE\x96\xEFu\xDB\xE51\x97\xE3ֿ.߯\xDF\xF7\x89\xF5}\xBD]\xAA\xCERT\xBFĮ\xDEU\xAFPL\x9E\xC2'>\xF1\x89C\x8EUO\x98\x97ɞ>L>\xF7\xAEw\xBDk\x98>\xE0\xBC\xFA\xEF
+ox\xC3|\xAE\xE5lN\xF56\x98\xE9\xC8Ó\x9E\xF4\xA4\xF9\xCCG\xF5K\xFC>\x{1B13ED}c\xFD>WW\xAE}s|g]\xBB\x8B\xF9\xAC[\xF5s\xBD\xADi\xFD\xF2\xC1~p\x98>\xFC\xBCz\x82|\xF6\xB3\x9F}uv\xAF:\xAE\xDE^U\xFF\xA2\xA8\xCB\xF2
+ƺY\xDDf}\xBFC\xDDv\xAF\xEB\xEBLcu\xD9k\xE6\xBD\xFC\x96\xC7\xF9\xECg?\xBB|;\xAD\xDDk\xDF:sצYn\xB9\x83~\xA8\xB3\xA4Uљ>2\xD4۰\xEA\xBE\xEB\xE7\x8F\xFC㫣\x97W>>\xF4\xA1\xAD\xAE+\xB3\xFD\xB3\xC9\xCCG2\x9F\xD5\xF0\xBE!@\x80f\x81=\xC8Iѩ\x9E\xC0\xD7\xF5\xE4\xB7°^v\xDAs\xBD,Ǯ_\xB7\xD3mv\xBA\xEE\x84\xDCv\xA7\xFB;\xC8\xEB\xEAs_\xF9\xCAW\x86G?\xFA\xD1\xF3\xBFV\xD7\xE7\xEA3\xF5dv\xB7_VX\xA7\xDA\xFD\xFA׿>?Y\xACӫ\xD6\xE7F\xEA\xC9\xE6t6\xA3\xE1W\xBF\xFA\xD5\xFC\xB6\xAE:p\xFDY\xBD\xACJH\xFD\xA2\xBAz"X\x9F\xFD\x98\xCE@5\x9Fv:Ұ\x9C\x96u\xFD>\x97\x95_\xB78\xBE\xB3n\xBF\x8F\xE9LKs\xAABQ\xA7\xEC\xAD\xD3\xD7+3\xF5\x8B\xFC괼u\xA9\xDD\xEB4\xBCU\xAA\xEAա\xE9N\x87|[_\xE5m\xFA\xA0\xFF|:᷾\xF5\xAD\xF3\xE7)\xCA\xF4\x9B\xDF\xFCf\xFD\xF1	\xBA\xD4ޛ̼\x97\xDF2D\xCD\x{1F6DFD}m\xB5{\xC1z\xCBU}\xE6\xA7\xDE*\xB5W\x96\xCB\xFD\xEC\xF6uy\xC5a\xF9\xFCJ}N\xA3\xDErW\xAF|-\xAF\x95\xD9\xEEp\x87\xF9\xB1\xA73\xB0\xCD\xEB\x9E\xF7\xBC\xE7\T\x96\xFB\xDE\xE4\x98Mf\xDE4\x9Fʼ\xB2^?m\xF52\x8B\xAF @\x80\xC0\x86\xD3\xEA=/\xD3]\xD5\xCB\xF3\xCB\xC1\xCB\xCF\xF5\xB5.\xCB\xD7\xED\xDF\xEF\xF4s]\xB7~Yn\xBB\xD3\xD7\xE5\xBA:~\xB7\xEF\xB7\xFFY\xFD\xBC\xD7u\xCB}nr\xECr\xCC\xFA}\xAE\xEF\xB0\xFE\xFDr\xECr\xDD\xF2\xF3\xFAm\x97ۏ]~\xAE\xAFۏY\xFF\xB3\x9D\xBE\xDF\xEB,X\xCB)v\x97\xDB\xD6Y\xA7\xA6'\xFEˏ\xF3\xAB֏\xF9\xC0>0N\x82\x9E\xCFPU\xB3\xD4)a\xA7W/V\xC7\xEF\xF4\xCD\xF4\xAF\xE6\xF3\xFD\xD4\xF1\xF9\xC8G\xC6:\xE3\xD3\xF4\x8B\xE7\xB3\xD5uuV\xA7\xE9\xF7\x8F\x8CuV\xA3\xBA\xD4Y\xA7\xEA,IS\xD9Y\xDD\xDDT\xE6\xD3\xE1\xD6\xB7\xEA\xB2\xFD>W\xAE}\xB3׬u\xA7\xF5\xDD\xEA\xA6\xDB\xF7\xAF\xD3\xF9֩n\xA7Ͻ\xCC\xF65\xD7T\x96Vg\xC0\xAA\xDBL\xAF\xD6\xCCg\x86\xAA]\xEA\xECVu\xDA\xE3\xC7?\xFE\xF1[N\xA9[\xB7[?U\xEF/\xF9\xCBq\xFA\xD0\xF9|Zۺ]\x9D\x86wzB\xBD\xE56u\xDF\xDB/\x87\x9A\xB9Nu\xBC\6\x99y\xBF\x9A\xB9\xCE@6\xFD"\xCBy\xF7:u\xF2\xF4\xBBM\xC6\xE9\xEDf\xCBC\xED\x99\xE5\xEA\xC0m\xDF\xD4}/\xA7᭳lթ\x83\xA7\xB7\xB4͹י\xAD\xA6\x923N\xBFd\xF6\x99\x8A\xEE|\xEB\xA9h\xCE\xD7\xD7<\xD3[\xB2\xE6Y\xA6"\x8C׽\xEEuW\xF7\xBE\xC91{\xFD\xFD\xAB;\xDB$\x9F\xE9\xF7\xA9\xCC.u. @\x80\xC0\xF18\xAAn6=:\xA2\x97\xE5\x80#\xFA {\xDCy\xC2{\x8C\xFF\xC7u&\xAB\xE9I\xDAp\xF4\xD1Got\xAC\xFA\xABUo\xAB\x99~\xF7\xC5ꕨz\xA5\xA3\xDE\xFF\x91\xE9\xCBU&\xFB\xBD\xECt\x9F;\xDD\xC7~g\xDD\xE9>\xEA3\xD3\xE9Y\xE7_Xo\xDB~\xA9\xB7\xD5\x9C\xEB\x83\xE5\xCB+#ۏ\xD9\xE9\xE7\xFA\xFEzU\xA7~\xE4\xE1\xBE\xEC5\xF3\xA6~5\xD7\xF7\xBE\xF7\xBD\xF9\x97\xFF\xD5+T;]\xF6\x9Be\x9DȠ>Ct\xCC1Ǭ\xEE\xAE\xE6\xA93\xA1\xD5/X\xAC\xAC_\xEA\xB3\xF5*Z\xFD\xD2ʩ\xBC\xAC\xFE\xA8ΊU\x9FG\xA9_d\xB9\xC91\xABN\xDFl2\xF3\x91\xCCg}\xDF @\x80\x81\xFFU\x81#^@R\x9E\xF8/Ov\xEB	\x8F+Po\xBB\xAB\xA2V\xA5az%l\xA3\xAFY \xAF߄^o\x81\xABrUoy\x9B~y\xE60\xFD\xCBa\xFAe\x89\xF3\x87\xF8\xF7:f\xA3s p`G\xBC\x80\xD8&\x88\x81H\x81\xE9\xEDuñ\xC7;\xD4Ʀ_69\xD4\xEF?\xD9\xF4R\x9F\x9A~\xE1\xFC\xF9\x9A\xFAǃ\xDF\xFE\xF6\xB7ý\xEEu\xAF\xE1\xB8\xE3\x8E[\xBDb\xB2\xC91\x9B>\x9E\xE3 @\x80\x81#/\xA0\x80yc\x8F@\xE0Z\xA0>`^oݫ\xB7Nm\xFA\xCB+\xD7\xC1\xAAx|\xE1_\x98\xCF:Vg\xB4\x9A~S\xFB\xFA\xCF\xDFor\xCC\xDD\xC8 @\x80\xC0\x89"\xA0\x80\x9C(\xEC\x94 @\x80\xC0\xFF\xA6@\xCB\xD3\xF0\xFEoFik @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi|\xF1D\xFCIDAT @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\x906QZ\x84 @\x80@\xBE\x80\x92\x9F\x91		 @\x80\xB4P@\xDADi @\x80\xF9
+H~F&$@\x80 \xD0F@i\xA5E @\x80\xE4( \xF9\x99\x90 @\x80@\xA4M\x94!@\x80 \x90/\xA0\x80\xE4gdB @\x80m\xFEκ_\xEA{\x92|\xA8IEND\xAEB`\x82
\ No newline at end of file

Added: trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt (0 => 95070)


--- trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text-expected.txt	2011-09-14 01:58:25 UTC (rev 95070)
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {DIV} at (0,0) size 784x30
+        RenderInline {SPAN} at (0,0) size 100x10
+          RenderText {#text} at (0,13) size 100x10
+            text run at (0,13) width 100: "Tiny monospace text."
+        RenderText {#text} at (100,0) size 5x30
+          text run at (100,0) width 5: " "
+        RenderInline {SPAN} at (0,0) size 222x30
+          RenderText {#text} at (105,0) size 222x30
+            text run at (105,0) width 222: "This text should not be jagged."
+        RenderText {#text} at (0,0) size 0x0

Added: trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text.html (0 => 95070)


--- trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text.html	                        (rev 0)
+++ trunk/LayoutTests/platform/mac/fast/text/webfont-after-tiny-monospace-text.html	2011-09-14 01:58:25 UTC (rev 95070)
@@ -0,0 +1,25 @@
+<style>
+@font-face {
+    font-family: webfont;
+    src: url(resources/Garuda.ttf);
+}
+div {
+    font-family: webfont;
+}
+</style>
+<script>
+if (window.layoutTestController)
+    layoutTestController.waitUntilDone();
+
+function ensureWebFontLoaded() {
+    document.body.offsetTop;
+    if (window.layoutTestController)
+        layoutTestController.notifyDone();
+}
+</script>
+<body _onload_="setTimeout(ensureWebFontLoaded, 300)">
+<div>
+<span style="font-family: monospace; font-size: 7pt;">Tiny monospace text.</span>
+<span>This text should not be jagged.</span>
+</div>
+</body>

Modified: trunk/Source/WebCore/ChangeLog (95069 => 95070)


--- trunk/Source/WebCore/ChangeLog	2011-09-14 01:24:36 UTC (rev 95069)
+++ trunk/Source/WebCore/ChangeLog	2011-09-14 01:58:25 UTC (rev 95070)
@@ -1,3 +1,17 @@
+2011-09-13  Kenichi Ishibashi  <ba...@chromium.org>
+
+        WebFont followed tiny monospace text displays weird
+        https://bugs.webkit.org/show_bug.cgi?id=67996
+
+        Reviewed by Darin Adler.
+
+        Always call wkSetCGFontRenderingMode() in Font::drawGlyphs() so that the rendering mode is set correctly.
+
+        Test: platform/mac/fast/text/webfont-after-tiny-monospace-text.html
+
+        * platform/graphics/mac/FontMac.mm:
+        (WebCore::Font::drawGlyphs):
+
 2011-09-13  Tom Sepez  <tse...@chromium.org>
 
         Fix XSS auditor bypass when inline handlers contain comments.

Modified: trunk/Source/WebCore/platform/graphics/mac/FontMac.mm (95069 => 95070)


--- trunk/Source/WebCore/platform/graphics/mac/FontMac.mm	2011-09-14 01:24:36 UTC (rev 95069)
+++ trunk/Source/WebCore/platform/graphics/mac/FontMac.mm	2011-09-14 01:58:25 UTC (rev 95070)
@@ -208,10 +208,10 @@
         matrix = CGAffineTransformConcat(matrix, CGAffineTransformMake(1, 0, -tanf(SYNTHETIC_OBLIQUE_ANGLE * acosf(0) / 90), 1, 0, 0)); 
     CGContextSetTextMatrix(cgContext, matrix);
 
-    if (drawFont) {
-        wkSetCGFontRenderingMode(cgContext, drawFont);
+    wkSetCGFontRenderingMode(cgContext, drawFont);
+    if (drawFont)
         CGContextSetFontSize(cgContext, 1.0f);
-    } else
+    else
         CGContextSetFontSize(cgContext, platformData.m_size);
 
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to