Title: [100718] trunk
- Revision
- 100718
- Author
- [email protected]
- Date
- 2011-11-17 21:25:01 -0800 (Thu, 17 Nov 2011)
Log Message
[chromium] Font::drawComplexText can not draw a segment of text run
https://bugs.webkit.org/show_bug.cgi?id=72095
Patch by Robin Cao <[email protected]> on 2011-11-17
Reviewed by Adam Barth.
Source/WebCore:
drawComplexText() should respect the 'from' and 'to' arguments.
Drawing the whole text run may result in text overlapping.
Test: platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html
* platform/graphics/chromium/ComplexTextControllerLinux.cpp:
(WebCore::ComplexTextController::glyphsForRange):
* platform/graphics/chromium/ComplexTextControllerLinux.h:
* platform/graphics/chromium/FontLinux.cpp:
(WebCore::Font::drawComplexText):
LayoutTests:
* platform/chromium-linux/fast/text/international/draw-complex-text-from-to-expected.png: Added.
* platform/chromium-linux/fast/text/international/draw-complex-text-from-to-expected.txt: Added.
* platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html: Added.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (100717 => 100718)
--- trunk/LayoutTests/ChangeLog 2011-11-18 05:02:58 UTC (rev 100717)
+++ trunk/LayoutTests/ChangeLog 2011-11-18 05:25:01 UTC (rev 100718)
@@ -1,3 +1,14 @@
+2011-11-17 Robin Cao <[email protected]>
+
+ [chromium] Font::drawComplexText can not draw a segment of text run
+ https://bugs.webkit.org/show_bug.cgi?id=72095
+
+ Reviewed by Adam Barth.
+
+ * platform/chromium-linux/fast/text/international/draw-complex-text-from-to-expected.png: Added.
+ * platform/chromium-linux/fast/text/international/draw-complex-text-from-to-expected.txt: Added.
+ * platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html: Added.
+
2011-11-17 Peter Kasting <[email protected]>
[chromium] Fix broken expectation.
Added: trunk/LayoutTests/platform/chromium-linux/fast/text/international/draw-complex-text-from-to-expected.png (0 => 100718)
--- trunk/LayoutTests/platform/chromium-linux/fast/text/international/draw-complex-text-from-to-expected.png (rev 0)
+++ trunk/LayoutTests/platform/chromium-linux/fast/text/international/draw-complex-text-from-to-expected.png 2011-11-18 05:25:01 UTC (rev 100718)
@@ -0,0 +1,37 @@
+\x89PNG
+
+
+IHDR X ' )tEXtchecksum 0079ee0f65f64b0235fb590a3eec8cfc\xF6z ~IDATx\x9C\xED\xDD}\x90\x95e\xDD\xC0\xF1\xEB \x82\x82\xEE\xFA\xEA\xB6KN$ʤ\xA839\x953h):\x96D31\xA9MN\xC5:\xE5\xF925\xCE\xE4H
+\xC1da
+S\xE8ī\x91M)\x82b\xAC\xCB[\x90K\xBC\xB2\xB0\xC4y\xFE8\xCFs\x9E\xD39{\xCB\xF2\x93e\x97\xCF篛\xFB\xBE\xEE\xFB\xBE\xF6\xBA\xFF\xE0;\xE7\x9C=\x9B\xC9f\xB3 \x808]\xDA{ \x9D\x8D\xC0 &\xB0 \x82 , \x80` \x98\xC0 &\xB0 \x82 , \x80` \x98\xC0 &\xB0 \x82\x95
+\xACLy\xF3\xE7Ͽ\xFC\xF2\xCBO\xE6,\xB5~\xF2\xF9\x91\x85\xA7\\xFD\xF5\xC7{\xC76\x9C\x92\x8Eg\x9E\xC7{\x85\xF4\xF8:\xD0T\xA0P\xA6\xDC{\xCEd2\xDF\xFD\xEEwz\xE8\xA1\xEEݻg2\x99l6{\xE8С &<\xFE\xF8\xE3\xF8\xC0\xB6o\xDF\xDEA\xFFJtMM͎;Z3\xF9\xBE}\xFBnݺ5\x9B\xCD\xE67N\xC2\xF4\xF2jkkOp\x91\xCBM\xBB\xF5+\xD0\xEE\xDAe\xE5\xE0ĕ
+\xACA\x83-[\xB6\xAC\xAA\xAA*\xA5\x94\xAC\x94\xD2{\x87\xBEr\xE5\xCA3\xCF<\xB3
+\xFF\xED\xE5\xAFs\xCE*\xE7СC\xAD\x9C|~d\xEBO t\xE27-w\x85\x90'\xF6\xA1\x94\xD3.+ '\xAE\xEC[\x84k\xCD\xD5U\xA1\xEA\xEA\xEA\xB5k\xD7\xF6\xE8ѣ
+wZ\xB7n\xDDI;\xAB\x82\xD6O>?\xF2x\xDEl6{\xE0\xC0\x81\xE3=Tt\xB4m\x8B\\xA8\xDCN\xFC\xCA\xE1\xA5\x9C\x9F* \xB4\x8B\xB6\xC8\xFD\xED\xB7\xDF6lXUUմi\xD3r{\x9A\x9A\x9Aƌӳg\xCF+\xAF\xBCr\xE3ƍE\xE3o\xBF\xFD\xF6\x94R&\x935jT\x8B\x83\xF3\x9F\xF1z\xF1\xC5\xF3\xDBEg\xFA\xE9Oگ_\xBF3\xCE8\xA3\xAE\xAEn\xF2\xE4\xC9)\xA50\xE0\xEF\xFF\xFB5\xD7\SUU5eʔ\xFC\xE09s\xE60\xE0\x9Cs\xCEy\xFE\xF9\xE7[\xFCq*O>'\xFF\x91\xA0\x858pժU\xFD\xE8G{\xF5\xEA5s\xE6\xCC\xFC\x98\xA7\x9F~\xBAgϞcǎ\xCDd2\xE9\xBF?ETt\xA8H\x8BGK9\xA54{\xF6욚\x9A{O\x9D:5\xB7'\xB7V\xA5ۅ*\xAF@\x85\xA5+\xBD]\x85\x87R:~\xE1
\xB9)]z\xE9\xA5)\xA5ѣG\xE7\xFE\xD9\xD8\xD8X\xBA\xE6\xB9i<\xF3\xCC3]t\xD1\xD5W_]x\xD9\xD2\xC7]\xE1) @;˶B鰔\xD2SO=\xB5{\xF7\xEE\|\xF1Ź\x9D\xDF\xFC\xE67\xFE\xF3\x9F755͟?\xFF\xA6\x9Bn\xAA|\x9D\xD2\xC1\xFF\xFA\xBE\xF1\x8Do\xFC\xF0\x87?ܿ\xFF\xA8Q\xA3Ǝ{\xE8С\xEF\x9E\xF3\xC1~\xB0\xA1\xA1\xA1\xB9\xB9yɒ%\xBDz\xF5\xCAf\xB3555\xB9\x89\xEDڵky\xBD{\xF7\\xBCx\xF1
+7ܰiӦݻw?\xFC\xF0\xC3-^\xB0\xC5\xC9\xE7G\xE66r\xD7\xCFf\xB3^xaJiʔ){\xF7\xEEݴi\xD3u\xD7]\xF7\xE2\x8B/\xE6FVUU\xD5\xD7\xD7ϙ3\xA7\xE8\x94\xD2CEJ\x8F\xB6\xB8\xC8+V\xAC\xF8\xC4'>\xD1\xD8\xD8\xF8\xF2\xCB/WWW\xFF\xFE\xF7\xBF\xCFf\xB3\xF5\xF5\xF5\xF9\xB36l\xD8P4\xED֬@\xB9\xA5k\xF1vJ\x8B\xE3o\xB9喃f\xB3\xD9\xE6\xE6\xE6k\xAF\xBD6\xF7dKO\x9F>)\xA5\x97^z)\xC1\xFC\x8DJw\x85\xA7 \xED\xAB큕\xDB8r\xE4H\x97.]r\xDBuuu\xF9n\xEBٳg\xE5\xEB\x94|\xD7]w=\xFD\xF4\xD3<\xF0\xC0\xFE\xF3\x9Frw\xCFkjj\x9A6m\xDA\xE0\xC1\x83sc\x9A\x9A\x9A
+'\x96\xDF>|\xF8\xFA\xF5\xEBs\xDB{\xF6\xECi\xF1\x82-Χ\xA8T<\x98
+\xDE\xC8˟\xBBr\xE5\xCA\xFE\xFD\xFB\xE7\xB60eʔ\xE6\xE6\xE6\xDC?\xF3\xA7\x94*Rz\xB4\xC5E>|x}}}n\xFB\xD9g\x9F4hP\xE9*\x95\xD61W\xA0\xC2\xD2\xF3v\x85ʍ\xFF\xDA\xB6z\xF5\xEAl6\xFBꫯ>\xF8\xE0\x83\xB9\x9D\xA5k^8\x8D\xD2=\xEE
+O \xDAV\xE1v\x8F=Z\x9Dr\x83g͚u\xCE9\xE7\xE4~ͭ\xDC\xDDs\xDEx㍫\xAF\xBE\xFA\xE1\x87^\xBF~}iRn\x9Fu\xD6Y\x87\xAE|\xC1\xE7Sz\xD9ot\xF8\xF0\xE1\xFC\xE9
+
+
+w\xDEyg\xBF~\xFD\x96.]Z4\xB2\xF4P\xA1
+'nw\xEF\xDE\xFD\xC0\x81\xB9\xED\xFD\xFB\xF7\xE7\xEF[9\xB0Z\xB3m\xBE]\xA1r\xE3\x97/_>v\xEC\xD8l6\xFB\xF9\xCF~\xE5ʕ\xB9\x9D\x95\xE8\x9F\xC7|܅O \xDAWd`
+<8\xBF\xF3\xBF\xF8E\xE5\xEB\x94\xFC\xB1\x8F}l\xE2ĉ#G\x8E\xACp\xF7\x9C~\xFD\xFA\xE5^\x95ٵkW\xE5\xC0=z\xF4\xF2\xE5\xCBs\xDB{\xF7\xEEM)\xE5ޢ*\xD4\xE2|*V>Y6n\xDCx\xE5\x95W^\xED\x95W^\xB9\xE4\x92KZ\x9C\xE1\xA1R\xE5N,\\xE4_\xFD\xEAW\xB9\xED\x9D;w~\xFC\xE3\xCF8z\xF4h~\xBB\xE8\xDD\xD5֬\xC0\xF1ޮ\xC5\xF9\x97\x9F\xCDf\xF8\xB7\xBF\xFDm\xE0\xC0\x81\x85\x83\xF3ۥk^\xF4\xCFr\x8F\xBB\xC2S \x80\xF6r\x8C\xC0:z\xF4\xE8믿\x9ERz\xED\xB5\xD7\xF2\xEF\xD9544\xA4\x94\xB6mۖ\xCDfw\xECؑRڲeK6\x9B\xFDַ\xBE\xF5\xB3\x9F\xFDl\xFF\xFE\xFD3g\xCE1bD\xE9պu\xEB\xB6dɒ\xDC\xDBF\xA5\x83\xEB\xEB\xEB?\xFB\xD9\xCFΜ93\x9B\xCDΜ9\xF3\xCB_\xFErccc\xD1Y\x85\xCE=\xF7\xDC9s\xE6l۶\xED\xC9'\x9F\xECҥ\xCB{w\xFB(Rnb۷o\xCFOlǎ\xD7_\xFD\xB2e\xCB\xF6\xEF\xDF\xFF\xFD\xF7\xA7\x94jjj\x8A\xAEV:\x9F͛7\xA7\x94\xB6n\xDDZ\xB4\xB1y\xF3\xE6l6\x9BR7nܾ}\xFB\xB6m\xDB\xF6\xA9O}\xAA\xB0f͚\xF5\xD6[o]p\xC1\xF9\x8B\xE4O)<T\xFC$\xFE\xFBh\xB9E^\xBAt\xE9\x87>\xF4\xA1?\xFD\xE9O;w\xEE,|5\xE8\xFC\xF3\xCF_\xB0`\xC1\xEEݻ\xF4\xA3\xA5\x94jkk\xF3\xD3n\xCD
+\x94[\xBAr\xB7+\xF7Pʍ\xCFf\xB3=\xF4Ї?\xFC\xE1o\xFB\xDB\xD6|˖-)\xA5\xA6\xA6\xA6܀\xC2\xA1\xF4qWx
+ о\x8EX\xE9\xBF\xED,\xDAo\xDFm\xB7\xDDֽ{\xF7!C\x86\xBC\xF5\xD6[\xA5W=z\xF4y\xE7\x9D\xF7\xCA+\xAF\xB48\xB8\xDCe\xCF*\xF4\xD4SO\xF5\xEC\xD9sذa{\xF6\xEC\xB9\xE2\x8A+Ə_\xEE
+\xD9lv͚5\xFD\xFB\x{1EFB6D}]\xB4hѥ\x97^:w\xEEܢ\xABU\x98O\xA9\xDC\xD1\xDC\xEF\xFD\xD5\xD5\xD5M\x9A4\xA9pŦO\x9F^UU5y\xF2\xE4\xD2\xAA\xF0P\xE9RW8\xB1\xF0g\x99<y\xF2\xB9\xE7\x9E[SS3k֬\xFC\xE9O>\xF9d\xAF^\xBD\x86\xBAq\xE3\xC6\xCB.\xBBlyǵ\xC7{\xBBr\xA5\xDC\xF8l6\xFB\xFE5\xA5\x94\xFB$V\xE55\xEF۷o\xE9\xACJw\x85\xA7p\xED\xB5זN N\x9A\x93\xF1u\x91\x9D\xD2\xC9\xF9\xA6M*\xF3 85\xF9c\xCFm\xB1s\xE7ΔR\xEE\x9D;ڋ\xA7 \xC0)\xCB m\x91\xFF&O\xAB< NY \x98\xB7 \x82 , \x80` \x98\xC0 &\xB0 \x82 , \x80` \x98\xC0 &\xB0 \x82 , \x80` \x98\xC0 &\xB0 \x82 , \x80` \x98\xC0 &\xB0 \x82 , \x80` \x98\xC0 &\xB0 \x82 , \x80` \x98\xC0 v\xBAִi\xD3\xEE\xBA\xEB\xAE\xFA\xFA\xFA\xF6\x9E \xD0\xF9e\xB2\xD9l{\xCF\xE1}w\xE4ȑ\xFE\xFD\xFB\xBF\xF3\xCE;ݻw\xBF\xE7\x9E{\xBE\xF3\x9D\xEF\xF4\xE9ӧ\xBD' tZ\x9D\xE1\xAC\xDF\xFC\xE67\x95̘1\xE3\x9Dw\xDEI)>|\xF8\xC7?\xFE\xF1\x88#Nƴ \x80\xD3U\x87\xAC\xDF\xFE\xF6\xB7\xB3gϮ<fҤI\x85\xFF?~\xFC\xFB9# \xE0t\xD7\xE1k ;w\xEE\xAC<f\xC1\x82w\xDF}w]SJ\x83\xBE\xFD\xF6\xDBO\xCA\xD4 \x80\xD3T\xC7\xAC\xDF\xFD\xEEw˗/\xFF\xE7?\xFFYy\xD8E]4u\xEA\xD45k1\xE2\xB1\xC7\xCBd2'gz \xC0\xE9\xA9[{O\xE0\x84\xACZ\xB5*\xA5t\xCC\xC0ʹ\xE2\x8A+\xE6͛\xF7>\xCF \xA0\x83\xBF\x82u\xF1\xC5\xA7\x94\xDE}\xF7\xDD\xF6\x9E \xC0\xFF\xEBUSS\x93RjnngO{\xCF \xE0u\xEC\xC0\xBA\xF0\xC2s^\xC4 N\x9D$\xB0v\xED\xDA\xF5>\xDDb̘1\x9B6mz\x9F. tJ;\xB0z\xF7\xEEݥK\x97\x94Rccc+Oy\xE4\x91G&N\x9Cx\xF8\xF0\xE1\xD6^\xBCx\xF1s\xCF=w\xE3\x8D7n\xB9\xED\xB3 N3;\xB0\xBAv\xEDz\xDEy\xE7\xA5\xE3 \xAC7\xDExcܸqW]uU\xEE\xBB\xDD+{\xF4\xD1GSJ
+
+
+7\xDDt\xD3\xFB\xF7" \xD0\xC9t\xEC\xC0J)\xF5\xEE\xDD;\xCF[\x84\xB9\xAE\xFA\xCB_\xFE2lذիWW\xB9jժ%K\x96\xE4\xB6ׯ_\xFF\xE9O\xFA\xE0\xC1\x83'4W \xE0\xF4\xD0Ik\xF7\xEEݭ\x9F\xE1\xEA\xDDw߽\xF5\xD6[+|:~͚5\x85\xFF\\xBE|\xF9\xBF\xF8\xC5\xD3\xE1oc '\xA8\xC3V\x9F>}\xD2\xF1\xD6\xCB/\xBF|\xC7w\xE4\xB67o\xDE|\xEF\xBD\xF7\x96\xF9\x85/|\xE1\xEB_\xFFz\xE1\x9Eٳg\xEF{\xDFk\xE3D\x80\xD3\xC6iXÆ
+{\xE1\x85\xE6̙ӳgϔү\xFD\xEB?\xFF\xF9\xCF-\x8E\\xB3f\xCD\xFF\xF8Ǣ\x9D\x8F>\xFA\xE8K/\xBDt\xF3 :\xBFX\xB9\xB9\xB7>\xB0rn\xBB\xED\xB6Y\xB3f\xE5~\xF1\xF1\xC7/\xB0gϞ\x9Bo\xBEy\xE5ʕE\xFB\xB3٬/n *\xEB\xF0\x81u\xFE\xF9秔\xF6\xED\xDBw\xBC'\xDE|\xF3\xCD_\xFAҗRJ\xF3\xE7\xCF\xFF\xF7\xBF\xFF]t\xF4\x818p\xE0\xC0\xF4\xE9\xD3\xF7\xEC\xD9\xD3\xD8\xD8\xF8\xB9\xCF}.h߾}w\xDEy\xE7\x91#GNl\xE2 @\xA7\xD5Ik\xEFm8\xF7\x91G\xE9ڵkSS\xD3\xFE\xF0\x87\xC2\xFDK\x97.\x9D>}\xFA\xF3\xCF??v\xEC\xD8\xEA\xEA\xEA.\xB8\xE0?\xF8A\xE1\x80\xD7^{\xADh @^' \xACҗ\xA0Z\xA3\xA6\xA6擟\xFCdJiŊ\xF9\x9D\xCD\xCD\xCD\xF7\xDCsO6\x9B>|x~g\xEEwSJg\x9CqFn\xE3\xB1\xC7۰aC\x9B\xA7
+ tb>\xB0r\x9F\xC1:p\xE0@\xDBN\xBF\xF1\xC6SJk\xCD\xEFy\xE2\x89'֭[\x97R\xBA\xF7\xDE{\xF3_\xF8\xFE\xCC3Ϥ\x94\xAA\xAB\xAB\xA7O\x9F\x9E\xDBs\xF8\xF0\xE1\xFB\xEF\xBF\xFF& tZ>\xB0\xAA\xAA\xAARJm\xFE
+СC\x87\xA6\x94
+\xFFN\xFE\xBD\xBF_\xFE\xF2\x97Æ
+[\xB6l\xD9ĉ|\xF0\xC1\x94ҠA\x83ƌ3~\xFC\xF8܀y\xF3\xE6\x95\xFB
+D \xE0t\xD6\xE1\xAB\xBA\xBA:\xA5t\xE8С\xB6\x9D~\xC9%\x97\xA4\x94\xB6oߞ\xDFs\xF9\xE5\x97\xE7\xB7\xDF|\xF3\xCD\xE1Ç\x8F7\xEE\xE8ѣ)\xA5Q\xA3F\xA5\x94\xBE\xFF\xFD\xEF\xE7\xB2,\xA54eʔ\xB6N \xE8\xB4:|`\x9D}\xF6\xD9)\xA5\xBF`\xBD\xA1\xA1!\x93\xC9}!{\x91\xDC\xD7h\xBD\xF7\xDE{\xF9=\x8B/\xBE\xEF\xBE\xFBr\xDF\xE0P誫\xAE\xFA\xCAW\xBE\x92R\xEA֭\xDBO<\x91۹p\xE1\xC2\x9B>