Diff
Modified: trunk/LayoutTests/ChangeLog (231360 => 231361)
--- trunk/LayoutTests/ChangeLog 2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/LayoutTests/ChangeLog 2018-05-04 17:38:54 UTC (rev 231361)
@@ -1,3 +1,26 @@
+2018-05-04 Myles C. Maxfield <[email protected]>
+
+ Text shaping in the simple path is flipped in the y direction
+ https://bugs.webkit.org/show_bug.cgi?id=185062
+ <rdar://problem/39778678>
+
+ Reviewed by Simon Fraser.
+
+ This test renders a font which uses our fast text codepath but also includes vertical
+ displacements inside its liga feature. The test makes sure that the vertical displacement
+ occurs in the correct direction.
+
+ The test fonts were created by Ulrike Rausch of LiebeFonts specifically for the purpose
+ of testing. Huge thanks to her!! Figuring out this bug would not have been possible if
+ not for her huge help!
+
+ * fast/text/resources/LiebeTest-calt.woff: Added.
+ * fast/text/resources/LiebeTest-dlig.woff: Added.
+ * fast/text/resources/LiebeTest-liga.woff: Added.
+ * fast/text/resources/LiebeTest-swsh.woff: Added.
+ * fast/text/vertical-displacement-simple-codepath-expected.html: Added.
+ * fast/text/vertical-displacement-simple-codepath.html: Added.
+
2018-05-04 Chris Nardi <[email protected]>
Serialize all URLs with double-quotes per CSSOM spec
Added: trunk/LayoutTests/fast/text/resources/LiebeTest-calt.woff (0 => 231361)
--- trunk/LayoutTests/fast/text/resources/LiebeTest-calt.woff (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-calt.woff 2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,19 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xAE)[GPOS����\xB4������G������d\x89\xBB\x89GSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5��\xB9hhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����P����\xB5&\xF6\xF8post����h������������ \xFF\xB8��2����P����C����xc`d`��a\xB5\x93\xF6a\xF1\xFC6_\x98\x99_0��\xC1u\xFE\xB8\x9DpZ\xF5\xBF\xE3,f} \x97\x99\x81 $
+��&\xAA
+<xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:-ې7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1ud\xB7\xAE\xC3P\x8C\xB3
+xQK\xDC'\xAF\xF7\xF6\xFF\xB3\xE3\xB1
+e\xF1\x98uH\xBA-)\xBB|\xD7H\xAF\x87\xED\x9D\xF6\xBD\xEDN/\x9B\xC0\x97\x9C%鈋\xFFЪP\x9Fl|\xC4o\x8Da\xE1=;\xE5\x95۪*~\xA6|(s\xD2(I\x92\xE9\xFC\xFB\xE2\xD7\xF4Vz$n%>J\xCAym[\xBE2\xFF\xF3\x97\x93\xE4
+66\x94\xB6\xDD\x89h4\x9A\xAE\x8E\x8C.\xB2\xA8+·\xC3\xFE3q\xA5\xBAY\xA3=\xD7@,\xAF\xE3��\xDD.\xB9۸\xCEzŶ5\x87\x88\xFF\x95C\xA8,\xB76\xB0or\xC6q\xA5}p\xBA\xD8\xD5;\x995y\xBB\xF2\xBD&\x84n\xC7昡\x96\xFEK\xBB\x8E\xE9=Y\xEA\xE8@\x8E4-\xA9\xA1@L\x978%\x94\xD2\xA8��\xCB\xF4\xBCV\xF4 -\xEC<Eп%\x83\xC5\xF7\xFC\xBDH
+\xAF»\xC5]Qt\xCFv\xE4$OI9\xA0\xFFI\xC1w\x9C\xC3#\x85u"kJs\xFAN\xFA\xF4\xD4\xFF\xF4\xD6\xFFB2y\xD2R?\x88\xF0\x87\xFE\xBE\xAFm\xC8¯\xFB\xED\xADGD#\xAC)\xADwEJljh+id\xFA8:\xA7!V\xFF\xB5\x9A\x9E\x9D\xD7y\xB5̧\xBE\xD6\xF1=\xD9\xE1+\xD7q4\xD8%\xE4\x8E6\xE4p[\x99&\x8B\x97\xA1\x83L\xFE\x90\xA2\xFC\x9A\xA9\xC01X+Q=5`ܵ\x8F^Kd'\xBDl$S\x8FN\xA4\xA6~+\xB0=\xE0\x80\xD5фb,s\xDBC}\xEF\xCFK\xE05ا\xDD_\xF7\xFEO!ܦx\xC7%\x83����@\xD17>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE\xE3\xADѪ\xAD\xDE/+\xEF! Y\xE2!\x9B\xE9\xE1+ϲ\x87\xDA\xC7ˈ\xFB\xEC\xA4\x{3E94167}\xFCTP\x88\xE6\xEEv\x873䖌&o\xBE\xAC\+\xAB\xC8o\xACoh\xCAׄ\xF2\xBF\xEF\xBAv\xAF\xA76\xBF\xD5j\xCD\xFF\xEEx\xF2\xDDz\x8F\xDE\xED\xD7\xEBj\xFFq\xF9\xDF8f\xA0-
)1H
\xD0N,a+X\xC5ֱ\x81Mla;\xD8\xC5\xF6q\x80C\xE1'8\xC5\xCEq\x81K\\xE17b^ܲ\x8D\xED\xEC`'\xBB\xD8\xCD\xF6\xB2\x8F\xFD\xE0 \x878\xCC\x8Er\x8C\xE3\x9C\xE0$\xA78\xCD\xCEr\x8E\xF3\x94QN\x95TQM+\xB5\xD4QO\x8D\xF7Eϲ\x8FF\x881\xBA\x8E.n\xCC\xED\xCDi\xF6\x9D\xEE\xD6\xC1\xDF\xDA\xFE\xAA\xAF\xB6\xAD\xD8Ƴ[y8\xBD[۶\xDDߵ\xDDy魢\x9F\xD5\xD83g\xAE\xE1\xD8\xD4\xCAg\xB1\xF9\xA4\x917\xE1m\xD8\xCAo\xE5\x9B[\xF5ק\xB71\xE61\xBE\xE7\xDE\xFA\xA3]\x88\\xFF\x9Eש\x91_\x86\xA0\x98\xC9\xEB/ǐ\xA1\xF8\xF2\xB6)\xD8\xEB5Ah\xC2\xE5Md\xE8\xAF˛P\xCCL\xBD\x99\xDEZ1!\xA25={\xC1\xD0(\x82\xE5!\xFC\xB2&\x81\x88x\x92\xA1\xE0\x89\x87\xBD9\x93\xB6\xE9\xA4\xD72\xA63\xE4\xE11(b\xE9
+\xCFA1\xB1^\x96z\xBEk\xDBA]?\xE09S\x81\xBF\x87\xFE\x92&\xB8\xDF#\x9AB\xB755Կm\xA0]\xE8\xAF\xD0ӹmH\x88_\x97\xAD\xCF)/\xD6s\xA5\x8A\xA2\xC6\xD1\xD0h\xDDW\xBD\x98\xB1\xBA\x91V(\xA0?F\xC6G\x91\xB0\xA9U\xA3\xB7\xEF\xDA
+>\x8F6s\xEA\xF9\x9A\x89s\x98\xAD\xB0\xACD_R\xC3V\xDF9~\xD1p\xFA\xD3:2 \xE3\xF4\xF6\x89E\x89\x9A\x8D\xF2\x96\xFE\x98\xAFKY\x85'Ͼ\xAD\x97G\xFD\xB5\xB2B\xA5\xAA\xE2ʚ\x9CE\xC6\xD0\x8D\x85\xF5\xD0\xC3\xD8zн\x9B-'\x91X\xA5\x94\x88\xA4:\x894_\x9B\x97\xC7LS|+S\xA7\xB2\xF4S\xF5F\xD5\xF0\xE9\xCCjm\x8CA\xC1JK\xEA\x94+\xF05\x82Iυ\xB1\x94\xA3\xEF\xCD[OzO\xCD\xE5\xB4۴\xBBwAWDd\xAAյ"Uk/\xB8\x91}\xC8^A\xFA\x8E L\x89\xEE+juBn\xAF\xD7-\xDDC\xCFnם\x87\xCC\x82\xC0\xEEb\x93s\x8B\xD1u\xB7\x90\xD1\xA2\x9C7Ј2\x86D\x90\x9E\xCD$\xE0\xFA1\xF3\xA9S6UM\x81X%\x95rB\x83<\x8BY\x9D\xBDb\xD3\xFCT\xA0 ��\xBA5\xC3\xD03[J\x97&\xB0\xD9J\xA9\x9C\x91\xE9\xE4%\xE5E\x96\xC6]y\xC7\xB3\x81\xFFlӠ\xFE>?\xE7\xCB.Ђ~-\xF3pA������xc`d``\xE0b0`\xF0b`rq\xF3 a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262%'\xE6\x940\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xCAN\xCB������������������������
\ No newline at end of file
Added: trunk/LayoutTests/fast/text/resources/LiebeTest-dlig.woff (0 => 231361)
--- trunk/LayoutTests/fast/text/resources/LiebeTest-dlig.woff (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-dlig.woff 2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,15 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xB6gGPOS����\xB4������G������d\x87\xB9\x87GSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5!hhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����P����\xB5 ,\xDC\xEApost����h������������ \xFF\xB8��2����P����C����xc`d`��a\xB1\x87}}\xF1\xFC6_\x98\x99_0��\xC1u\xFE\xB8\xB7pZ\xF5\xBF\xE3,f} \x97\x99\x81 $
+��HV3xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:-ې7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1ud\xA9\xC3\xC0Z\xCF)\xC4\xA66~Α\xB07\xED\x87i\xF7\xB3M:\xD2\xDC\xF2M\x8Eϩ\xA4\xAAr\x90\xED;[\x9D^\x95\x81.)K\xD2-\x8E\xF4]\xAB\x85\xFAh\xAB\xE0#\xBA0\x86\x84\xF7\xE4\x94Wn\xA7\x96\x91\xF0#\xE5\xC3\xD2\xE8U%I2\x9B\xFE\xDE\xE6\xCFO\xC4mD\xA7h\xA2\x9C\xA2+\xF9\xEF\x94$W\xB0\xB4!\xB7\xD5\xEEDD\xBD\xDEp3_+\x8A\xC8\xE8E\xB5
\xA3N\xAB\x
DBm?\xB3\xAF\xDCnTjO#\x92\xD5Q`\x8D\xAEVTo]m\xBD"[\x99cD\xBF\x8D\x9As\xB0\xB4T\xD9@\xBE\x9C;f-\xB5N/\xB6A5\xCEF\xE5\xBCZ\xFBFB=\x88cs:\xA1\x90\xF7\xE7v\xE3,jᠱB\x89��\xC2%\x8F R\xF4-\x98%|g^1V\xF8Ȏ\x8Au\xE7/`\xB8\xD1=\xBF\x97H\xF1\xAAx\xDD\xF1\xBCDt\xCF?.\x808o\xC4\xF5\x8A\xE7-Gsv\xA4\xACN\xA4+1\xC67L\xF1\x93\xD1S\xFF\xF9\xAD"'yh\xB9=\xD8\xE17\xFE\x81\xDFϖ\xAC\xC8E\xBF\xBBuD\xE8qb\x839\xD6P\xA2)\xC9)d\x8C\xDA<:h\xA1˭\xFDꝞ\xAB\xD7%\xB4ԧ\xB8\xCEѽ\xD8\xF1\xAE\xF7\xD1̮8\xAE\xB1\x85\xE3\xD9J5I\G\xA9\xFCoF
+\xF3kf\xC91keW\x8F\x92w\xEDq\xC2k\xD9\xD9\xC9[\xB6rRg\x89\xB2\xD9\xE3\xC0\xAD\xC6��17s\xFB\x86\xE2ޟ\xE7\x8C7\xCC>}\xFD\xF5\xDB\xFF+\xFD܆x\xC7%\x83����@\xD17>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE\xE3\xAD\xD1Y%㗕\x{1D0107},\xF1\x90͇\xF4\xF0\x95g\xD9C\xED\xE3e\xC4}v\xD2}]\xCA\xC2S~*(Dsw\xBB\xC3rKF\x937_V\xAE\x95U\xE47\xD674\xE5kB\xF9\xDFw]\xBB\xD7S\x9B\xDFj\xB5\xE6w<\xF9n\xBDG\xEF\xF6\xEBu\xB5\xFF\xB8\xFCo
+3Ж\x81\x94$ h'\x96\xB0\x8C\xACb+\xEB\xD8\xC0&\xB6\xB0\x8D\xECb\xFB8\xC0!\x8Ep\x8C\x9C\xE2\xE7\xB8\xC0%\xAEp\x8D1/n\xD9\xC6vv\xB0\x93]\xECf{\xD9\xC7~p\x90C\xE6G9\xC6qNp\x92S\x9C\xE6g9\xC7y\xCA(\xA7\x82J\xAA\xA8\xA6\x86Zꨧ\x81\xC6\xFB\xA2g\xD9G#\xC4]G7\xE6\xF6\xE64\xFBNw\xEB\xE0om\xD5W\xDBVl\xE3و\xAD\x87<\x9Cޭm\xDB\xEE\xEF\xDA\xEE\xBC\xF4V\xD1\xCFj\xEC\x993\xD7\xF0lj\xE5\xB3\xD8|\xD2ț\xF06l\xE5\xB7\xF2ͭ\xFA\x8A\xEB\xD3\xDB\xF3\xDFso\xFD\xD1.D\xAEσ\xEB\xD4\xC8/CP\xCC\xE4\xF5\x97c\xC8P|y\xDB\xEC\xF5\x9A 4\xE1\xF2&2\xF4\x83\xD7\xE5M(f\xA6\xDELo\xAD\x98њ\x9E\x8C\xBD`\xE8A\x86\xF2~\xD9\x93@D<\xC9P\xF0\xC4\xC3\xDE\x88I\xDBt\xD2\xEB+\xD3\xF2\x82\xF0\xB1\xF4+\x85砘X\xAF K=ߵ\x{D82E}\xC0\xDFCI\xDCo\x82M\xA1ۚ\xEA\xDF6\xD0.\xF4W\xE8\xE96$į\xCB\xD6\xE7\x94닋\xB9REQ \xE3hh\xB4\xEE\xAB^L\x82X]\x81H+\xD0#\xE3\xA3H\xD8Ԫ\xD1\xDBwm\x9FG\x9B9\xF5|\xCD\xC49L\x81VXV\xA2/\xA9a\xAB\xEF\xBFh8}\x88i\x90qz{\x8AĢD\xCDFy
+K\xCCW\x8E%\x89 \x82\xACg\xDFր\xCB#\x8E\xFEZY\xA1RUq\x81eM\xCE"c\xE8\x89\xC6\xC2z\xE8al=\xE8\xDE͖\x93H\xACRJDR\x9DD\x9A\xAF\xCD\xCBc\xA6)\xBE\x86\xA9SY\xFA\xA9z\xA3j\xF8tf\xB56Ơ`\xA5%u\xCA\xF8\x9A��\xC1\xA4\xE7B\x88X\xCA\xD1\xF7\xE6\xAD'\xBD\xA7\xE6r\xDAm\xDAݻ\xA0\xAB\xA22\xD5\xEAZ\x91\xAA\xB5\xDC\xC8>d\xAF }G\xA6\x80D\xF7
+\xB5:!\xB7\xD7\xEB\x96g\xB7\xEB\xCEC\xE6A`w\xB1ɹ\xC5\xE8\xBA\xDB\xC8\xE8Q\xCEhDC"H\xCFfp\xFD\x98\xF9\xD4)\x9B\xAA\xA6@\xAC\x92J9\xA1A\x9EŬ\xCE^\xB1i~*P��ݚa\xE8\x99-\xA5K\xD8l\xA5T\xCE\xC8t\xF2\x92\xF2"K㮼c\x8B\xD9\xC0\xB6i\xD0\x8D\xBF\x9F\xF3ehA?\xB3p9������xc`d``\xE0b0`\xF0b`rq\xF3 a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262\xA5\xE4d\xA63\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xC9\xC3������������������������
\ No newline at end of file
Added: trunk/LayoutTests/fast/text/resources/LiebeTest-liga.woff (0 => 231361)
--- trunk/LayoutTests/fast/text/resources/LiebeTest-liga.woff (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-liga.woff 2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,17 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xB1lGPOS����\xB4������G������d\x8D\xB0\x8C\xFBGSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5��mhhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����M����\xB5\xF2\xE3post����h������������ \xFF\xB8��2����P����C����xc`d`��aw\xF9\x9Ex~\x9B\xAF\xCC\xCC/\x80\xE0:\xDCd8\xAD\xFA߂q\xB3>\x90\xCB\xCC\xC0��\xFF 2xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:
-ې7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1u$\xA9ѷ\x9ES4ar\xDA\xFC\xF99G\
xC2\x8Ce\xA4BX.IPő斿\xE9ɱ\x94^\xF7\xEB,\xFF\xCE\xD7\xC7`7&\xD1%\xB5\xB3\xF2#}\xB7:\xD7}\x95\xA2\xA2\xE7H\xF8HAG\xBAP\xC2OuL\xCEnV-\x95e\xD9d\xF6m\xF1sr\xAB??\xB7\x9D\xA4\xB9\xD1\xFA\x8A\xAE\xCC\xFF\xA3,\xBB\x82Ƨ\xB5\xAF'B+\x87\x93\xDDj\xAB}*\x95\xB3y[\xF5T\xBF;\xF4\x9E\x89+\xD5M\x8D\x8DT2"y%\xB6\xB1Ն\xEA}\xA8}\xD4\xE4+wT\xF4\xDB\xE9\x85\xA7\xCA'\x8Af\x98 Tؘ\x82\xCD\xF7I7ΦfUmcäT\x8F\x9BMw\xCAPJ\xFFk\xBFk\xE2<j`\xB1\x81A\xE1\x92OZ2ʙ%|g^3\xD6\xF8\x8F
+
+\x848^t\xCF?\x8A\xA4\xF9\xD5\xFC\xF8.\xA0\xEE\xF9O\x85K 8\xF1Y\xE1/4\xBF{8Ɓ\xB3*d\xB2&\x98\xE1\xF8\xC9\xE8\xA9\xFF\xF9\xAD\xFF\2EX\xA9\x8CD\xF8\x8D \xC1\xF7\xB5 k\xB1?\xDCz(yM\xB0\xC3
+[h\xB1)\xA1$O\x8E6\xA3\x9F>\xBA\xF0\xEA\xBDVӳ\xF3\x9A\xC2\xC0\xCA|\xCAkݓ\xBF\xE9:\x8Eev\xC3r\x8D=\xDF^\xA6I\xE2\xE5p\x94\xC9\xFFf\xA4\xB1\xBAf
+\xE6\x88Y/Q#3\xE1\xDA'o%r\x90^\x{192A41}3LŲ\xD9\xE3ī\xC6M^\xF2ޟ\xAF\xEF\x98}\xDA\xFDu\xEF\xFF\xDD+\xDCn������x\xC7%\x83����@\xD17>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE㭱JF\xF5\x97\x95\x{1D0107},\xF1\x90͇\xF4\xF0\x95g\xD9C\xED\xE3e\xC4}v\xD2}]\xCA\xC2S~*(Dsw\xBB\xC3rKF\x937_V\xAE\x95U\xE47\xD674\xE5kB\xF9\xDFw]\xBB\xD7S\x9B\xDFj\xB5\xE6w<\xF9n\xBDG\xEF\xF6\xEBu\xB5\xFF\xB8\xFCo
+3Ж\x81\x94$ h'\x96\xB0\x8C\xACb+\xEB\xD8\xC0&\xB6\xB0\x8D\xECb\xFB8\xC0!\x8Ep\x8C\x9C\xE2\xE7\xB8\xC0%\xAEp\x8D1/n\xD9\xC6vv\xB0\x93]\xECf{\xD9\xC7~p\x90C\xE6G9\xC6qNp\x92S\x9C\xE6g9\xC7y\xCA(\xA7\x82J\xAA\xA8\xA6\x86Zꨧ\x81\xC6\xFB\xA2g\xD9G#\xC4]G7\xE6\xF6\xE64\xFBNw\xEB\xE0om\xD5W\xDBVl\xE3و\xAD\x87<\x9Cޭm\xDB\xEE\xEF\xDA\xEE\xBC\xF4V\xD1\xCFj\xEC\x993\xD7\xF0lj\xE5\xB3\xD8|\xD2ț\xF06l\xE5\xB7\xF2ͭ\xFA\x8A\xEB\xD3\xDB\xF3\xDFso\xFD\xD1.D\xAEσ\xEB\xD4\xC8/CP\xCC\xE4\xF5\x97c\xC8P|y\xDB\xEC\xF5\x9A 4\xE1\xF2&2\xF4\x83\xD7\xE5M(f\xA6\xDELo\xAD\x98њ\x9E\x8C\xBD`\xE8A\x86\xF2~\xD9\x93@D<\xC9P\xF0\xC4\xC3\xDE\x88I\xDBt\xD2\xEB+\xD3\xF2\x82\xF0\xB1\xF4+\x85砘X\xAF K=ߵ\x{D82E}\xC0\xDFCI\xDCo\x82M\xA1ۚ\xEA\xDF6\xD0.\xF4W\xE8\xE96$į\xCB\xD6\xE7\x94닋\xB9REQ \xE3hh\xB4\xEE\xAB^L\x82X]\x81H+\xD0#\xE3\xA3H\xD8Ԫ\xD1\xDBwm\x9FG\x9B9\xF5|\xCD\xC49L\x81VXV\xA2/\xA9a\xAB\xEF\xBFh8}\x88i\x90qz{\x8AĢD\xCDFy
+K\xCCW\x8E%\x89 \x82\xACg\xDFր\xCB#\x8E\xFEZY\xA1RUq\x81eM\xCE"c\xE8\x89\xC6\xC2z\xE8al=\xE8\xDE͖\x93H\xACRJDR\x9DD\x9A\xAF\xCD\xCBc\xA6)\xBE\x86\xA9SY\xFA\xA9z\xA3j\xF8tf\xB56Ơ`\xA5%u\xCA\xF8\x9A��\xC1\xA4\xE7B\x88X\xCA\xD1\xF7\xE6\xAD'\xBD\xA7\xE6r\xDAm\xDAݻ\xA0\xAB\xA22\xD5\xEAZ\x91\xAA\xB5\xDC\xC8>d\xAF }G\xA6\x80D\xF7
+\xB5:!\xB7\xD7\xEB\x96g\xB7\xEB\xCEC\xE6A`w\xB1ɹ\xC5\xE8\xBA\xDB\xC8\xE8Q\xCEhDC"H\xCFfp\xFD\x98\xF9\xD4)\x9B\xAA\xA6@\xAC\x92J9\xA1A\x9EŬ\xCE^\xB1i~*P��ݚa\xE8\x99-\xA5K\xD8l\xA5T\xCE\xC8t\xF2\x92\xF2"K㮼c\x8B\xD9\xC0\xB6i\xD0\x8D\xBF\x9F\xF3ehA?��p3������xc`d``\xE0b0`\xF0b`rq\xF3 a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262\xE5d\xA6'2\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xC82\xBD������������������������
\ No newline at end of file
Added: trunk/LayoutTests/fast/text/resources/LiebeTest-swsh.woff (0 => 231361)
--- trunk/LayoutTests/fast/text/resources/LiebeTest-swsh.woff (rev 0)
+++ trunk/LayoutTests/fast/text/resources/LiebeTest-swsh.woff 2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,17 @@
+wOFFOTTO��������������\x84������������������������������������������������CFF ����|����5����\x9B\xCB-\x81GPOS����\xB4������G������d\xA0ŠGSUB����\xFC������
+������
+������OS/2����\x84������J������`hg\xACcmap���� ������H������Z\xAD\xCDhead����������0������6\xF5\xF5hhea����d������������$\xA9hhmtx����@������"������\xC4DT��\xE3maxp������������������CP��name����\xD0����P����\xB5\x83Nepost����h������������ \xFF\xB8��2����P����C����xc`d`��\xE1/ZI\xF1\xFC6_\x98\x99_0��\xC1u\xFE\xF8p8\xAD\xFA߂q\xB3>\x90\xCB\xCC\xC0��) \xE6xc\xFC\xC2\xCB\xC1\xC0@\xCC\xC8Ǡ\xCA(\xC0`\xCE\xF0\x8BAȧ����\xA7Yq����xc`d``~\xF1߂\x81\x81\xF1\x83*\x83\xE3,\xA0*\x90��j8��xc`frg\x9C\xC0\xC0\xCA\xC0\xC1\xD4\xC5\xC1\xC0\xC0\xE0+\xA1\xE3\x8Cu\x80|\xA002 \x81P\xEFp?\x86*f\x85\xFF'\x98_0\x9C\x80\xA9a\xFC´H)00��\xDE%\x8F����xLʵa\x82a��\x84\xE1\x{1D3E3B}v)\xE3\xD2%AF\xA0\xC4\xDBlt\xBC\xC6:\xF6a\x88\\xA4{N\x80s\xC2����/ \xD6x\x91-\x9Ew\xD9qFT\xF6l\x93\x90\x97x#\x90\x97٦#\xAF\xB2\xCEP^\xFB\xE7ubL\xE5+\x8E͖\xBC\xF9e\x87\xF1k@`\xAEdå\xA9ȖmӗOf"\xFB\x9F%\xF2f&/si\xB3\xF2*\x87\xB6$\xAF\xFD\xF3:-ې
7\xB8q\x8F\xF2\xE6?\xEF\xB2\xEF\xD2\xF2\xABn\xD1Ue\xB9\xC3P}\xCF*\xD4L\xA8\xDC\xFE\x
BCy\xCCX\xF8-9\xB5O\xD38\xC7viI\xB3\xCBw\xA3a<&IWWd\xFB\xCEV'g\xD6:\xF0%gI\xDA\xE3ʼn\xBF\xB5Pm|\xC4E\xC1\x82{v\xCA+\xB7W\xABH\xF0\x91\xF2\xC1\xBCN\xA3$I\x86\xE3oӟ\xC3[\xFBy+\xDCj\k弱%_\xB9\xFF\xFE\xC7Ir%j\x96\xB6\xDC\xD7@\xD4\xEB+\xB7\xF3\x8D\xB2!\x8F
+\xB3Ȣv\xD4iu\xBB\xEDg\xE2Ju#m<\xE7\x90X^\xC7>\xA6\s\xB5s\x95\xF5\x8AmY\x9C"\xFE]\xA89\x94\x95\xE5Ң=w@\xAF\x8C\xCE,vA5\xCEFz^n|C\x87P+⸨3\xE4\xD2\xFF\xD2nczG\x96*:\x91#Ck\xD2\x88\xE9'\xA3\x84R\xEAAZ��e\xFA\AV\xF4\x8C~\x9E"\xD8/\xA8\xC0\xE2{|/\x9A«\xF0\xEEq\xAF(\xBA\xC7 \x86<\xB88\x9A\xFE\x92w\x878s0Rx'\xB2\x864\xA6o4\xA5\x9F\x90\x9E\xF2\xCFo\xF9\xC9\xE4\xC9He\xFC \xC2o\xFAG,\xF2}\xAB\x86g\xA0\xA5\xF8\xEFo\x{1701B4}ER\xE2\x93\xC3Z\x90A\xE6R\xA7C-\xEAb\xB5_\xAD\xE9\xB9y\x8D`72\x9F\xFC\xDA\xC6\xF7t\x877\\xC71@\xD7\xD0+L\xC5\xE1\xB62MVA'\x99\xFCoH\x8A\xE6\xD7\xC8
+\xB5ד\xD5@\xDC5\xC7 n$\xB2\x93^v\x92\xA9AgR\xD3\xBC+\xD0\xE4\x80Uрb\xACⶇ\xFCޟ\xD7S\xDB}\xDA\xFDu\xEF\xFFu\xCEݮx\xC7%\x83����@\xD17>\xA9\xD3J\xC1\xE14\xAE\xC1\xD1H\x9C[\xF9\x82%V\xB8XY\xFC\xBDV\xE2loi\xED\xE6#Pi\x867/?\x89z\xBA6C7\xB48\x88%\xA2\x83uxc`f��\x83\xFF[\x8C\xB0����,\xC2\xEA��x<\x8DR\x85q��\xC4\xF7\xBF\xD9d\xDB\xD50\xDBƳ\xBFg\xE3*\xDD!\xDB\xC6Y:@6\xC7˟@8!\x84H\x90\xF4\xFD\x84\xDE\xE3\xAD\xF1<\xA6/+\xEF! Y\xE2!\x9B\xE9\xE1+ϲ\x87\xDA\xC7ˈ\xFB\xEC\xA4\x{3E94167}\xFCTP\x88\xE6\xEEv\x873䖌&o\xBE\xAC\+\xAB\xC8o\xACoh\xCAׄ\xF2\xBF\xEF\xBAv\xAF\xA76\xBF\xD5j\xCD\xFF\xEEx\xF2\xDDz\x8F\xDE\xED\xD7\xEBj\xFFq\xF9\xDF8f\xA0-)1H\xD0N,a+X\xC5ֱ\x81Mla;\xD8\xC5\xF6q\x80C\xE1'8\xC5\xCEq\x81K\\xE17b^ܲ\x8D\xED\xEC`'\xBB\xD8\xCD\xF6\xB2\x8F\xFD\xE0 \x878\xCC\x8Er\x8C\xE3\x9C\xE0$\xA78\xCD\xCEr\x8E\xF3\x94QN\x95TQM+\xB5\xD4QO\x8D\xF7Eϲ\x8FF\x881\xBA\x8E.n\xCC\xED\xCDi\xF6\x9D\xEE\xD6\xC1\xDF\xDA\xFE\xAA\xAF\xB6\
xAD\x
D8Ƴ[y8\xBD[۶\xDDߵ\xDDy魢\x9F\xD5\xD83g\xAE\xE1\xD8\xD4\xCAg\xB1\xF9\xA4\x917\xE1m\xD8\xCAo\xE5\x9B[\xF5ק\xB71\xE61\xBE\xE7\xDE\xFA\xA3]\x88\\xFF\x9Eש\x91_\x86\xA0\x98\xC9\xEB/ǐ\xA1\xF8\xF2\xB6)\xD8\xEB5Ah\xC2\xE5Md\xE8\xAF˛P\xCCL\xBD\x99\xDEZ1!\xA25={\xC1\xD0(\x82\xE5!\xFC\xB2&\x81\x88x\x92\xA1\xE0\x89\x87\xBD9\x93\xB6\xE9\xA4\xD72\xA63\xE4\xE11(b\xE9
+\xCFA1\xB1^\x96z\xBEk\xDBA]?\xE09S\x81\xBF\x87\xFE\x92&\xB8\xDF#\x9AB\xB755Կm\xA0]\xE8\xAF\xD0ӹmH\x88_\x97\xAD\xCF)/\xD6s\xA5\x8A\xA2\xC6\xD1\xD0h\xDDW\xBD\x98\xB1\xBA\x91V(\xA0?F\xC6G\x91\xB0\xA9U\xA3\xB7\xEF\xDA
+>\x8F6s\xEA\xF9\x9A\x89s\x98\xAD\xB0\xACD_R\xC3V\xDF9~\xD1p\xFA\xD3:2 \xE3\xF4\xF6\x89E\x89\x9A\x8D\xF2\x96\xFE\x98\xAFKY\x85'Ͼ\xAD\x97G\xFD\xB5\xB2B\xA5\xAA\xE2ʚ\x9CE\xC6\xD0\x8D\x85\xF5\xD0\xC3\xD8zн\x9B-'\x91X\xA5\x94\x88\xA4:\x894_\x9B\x97\xC7LS|+S\xA7\xB2\xF4S\xF5F\xD5\xF0\xE9\xCCjm\x8CA\xC1JK\xEA\x94+\xF05\x82Iυ\xB1\x94\xA3\xEF\xCD[OzO\xCD\xE5\xB4۴\xBBwAWDd\xAAյ"Uk/\xB8\x91}\xC8^A\xFA\x8E L\x89\xEE+juBn\xAF\xD7-\xDDC\xCFnם\x87\xCC\x82\xC0\xEEb\x93s\x8B\xD1u\xB7\x90\xD1\xA2\x9C7Ј2\x86D\x90\x9E\xCD$\xE0\xFA1\xF3\xA9S6UM\x81X%\x95rB\x83<\x8BY\x9D\xBDb\xD3\xFCT\xA0 ��\xBA5\xC3\xD03[J\x97&\xB0\xD9J\xA9\x9C\x91\xE9\xE4%\xE5E\x96\xC6]y\xC7\xB3\x81\xFFlӠ\xFE>?\xE7\xCB.Ђ~\xC3p\x83������xc`d``\xE0b0`\xF0b`rq\xF3 a\xE0\xCBI,\xC9c\x90b`a��\x82\xFF\xFFA\xF262\x97g0\xF0\x81I\xA00PD\x821\x94\xE6��c&\x86i`\xD2��\xD6l+������������������������
\ No newline at end of file
Added: trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html (0 => 231361)
--- trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html (rev 0)
+++ trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html 2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<html>
+<head>
+</head>
+<body>
+This test makes sure that vertical displacements in our fast text codepath are using the correct coordinate system. The test passes if this text you are reading right now is the only thing on the page.
+</body>
+</html>
Added: trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath.html (0 => 231361)
--- trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath.html (rev 0)
+++ trunk/LayoutTests/fast/text/vertical-displacement-simple-codepath.html 2018-05-04 17:38:54 UTC (rev 231361)
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+@font-face {
+ font-family: "LiebeTest-calt";
+ src: url("resources/LiebeTest-calt.woff") format("woff");
+}
+@font-face {
+ font-family: "LiebeTest-dlig";
+ src: url("resources/LiebeTest-dlig.woff") format("woff");
+}
+@font-face {
+ font-family: "LiebeTest-liga";
+ src: url("resources/LiebeTest-liga.woff") format("woff");
+}
+@font-face {
+ font-family: "LiebeTest-swsh";
+ src: url("resources/LiebeTest-swsh.woff") format("woff");
+}
+</style>
+</head>
+<body>
+This test makes sure that vertical displacements in our fast text codepath are using the correct coordinate system. The test passes if this text you are reading right now is the only thing on the page.
+<div style="position: relative;">
+<span style="font: 100px 'LiebeTest-calt';">cba</span><span style="font: 100px 'LiebeTest-dlig'; font-feature-settings: 'dlig';">cba</span><span style="font: 100px 'LiebeTest-liga';">cba</span><span style="font: 100px 'LiebeTest-swsh'; font-feature-settings: 'swsh';">cba</span>
+<div style="position: absolute; top: 0px; left: 0px; width: 100%; height: 102px; background: white;"></div>
+</div>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (231360 => 231361)
--- trunk/Source/WebCore/ChangeLog 2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Source/WebCore/ChangeLog 2018-05-04 17:38:54 UTC (rev 231361)
@@ -1,3 +1,23 @@
+2018-05-04 Myles C. Maxfield <[email protected]>
+
+ Text shaping in the simple path is flipped in the y direction
+ https://bugs.webkit.org/show_bug.cgi?id=185062
+ <rdar://problem/39778678>
+
+ Reviewed by Simon Fraser.
+
+ Shaping in our simple codepath occurs in an "increasing-y-goes-up" coordinate system, but our painting
+ code uses an "increasing-y-goes-down" coordinate system. We weren't fixing up the coordinate systems
+ because we never noticed. This is because the simple codepath is only designed for kerning and ligatures,
+ neither of which move glyphs vertically in the common case.
+
+ Test: fast/text/vertical-displacement-simple-codepath.html
+
+ * platform/graphics/Font.cpp:
+ (WebCore::Font::applyTransforms const):
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::applyFontTransforms):
+
2018-05-04 Chris Nardi <[email protected]>
Serialize all URLs with double-quotes per CSSOM spec
Modified: trunk/Source/WebCore/platform/graphics/Font.cpp (231360 => 231361)
--- trunk/Source/WebCore/platform/graphics/Font.cpp 2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Source/WebCore/platform/graphics/Font.cpp 2018-05-04 17:38:54 UTC (rev 231361)
@@ -368,7 +368,6 @@
bool Font::applyTransforms(GlyphBufferGlyph* glyphs, GlyphBufferAdvance* advances, size_t glyphCount, bool enableKerning, bool requiresShaping) const
{
- // We need to handle transforms on SVG fonts internally, since they are rendered internally.
#if PLATFORM(COCOA)
CTFontTransformOptions options = (enableKerning ? kCTFontTransformApplyPositioning : 0) | (requiresShaping ? kCTFontTransformApplyShaping : 0);
return CTFontTransformGlyphs(m_platformData.ctFont(), glyphs, reinterpret_cast<CGSize*>(advances), glyphCount, options);
Modified: trunk/Source/WebCore/platform/graphics/WidthIterator.cpp (231360 => 231361)
--- trunk/Source/WebCore/platform/graphics/WidthIterator.cpp 2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Source/WebCore/platform/graphics/WidthIterator.cpp 2018-05-04 17:38:54 UTC (rev 231361)
@@ -114,6 +114,9 @@
font->applyTransforms(glyphBuffer->glyphs(lastGlyphCount), advances + lastGlyphCount, glyphBufferSize - lastGlyphCount, m_enableKerning, m_requiresShaping);
+ for (unsigned i = lastGlyphCount; i < glyphBufferSize; ++i)
+ advances[i].setHeight(-advances[i].height());
+
if (!ltr)
glyphBuffer->reverse(lastGlyphCount, glyphBufferSize - lastGlyphCount);
Modified: trunk/Tools/ChangeLog (231360 => 231361)
--- trunk/Tools/ChangeLog 2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Tools/ChangeLog 2018-05-04 17:38:54 UTC (rev 231361)
@@ -1,3 +1,15 @@
+2018-05-04 Myles C. Maxfield <[email protected]>
+
+ Text shaping in the simple path is flipped in the y direction
+ https://bugs.webkit.org/show_bug.cgi?id=185062
+ <rdar://problem/39778678>
+
+ Reviewed by Simon Fraser.
+
+ Huge thanks to Ulrike Rausch of LiebeFonts for contributing the test fonts!!!
+
+ * Scripts/webkitpy/common/config/contributors.json:
+
2018-05-04 Leo Balter <[email protected]>
Test262-Runner: place the processCLI inside the main call
Modified: trunk/Tools/Scripts/webkitpy/common/config/contributors.json (231360 => 231361)
--- trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2018-05-04 17:36:34 UTC (rev 231360)
+++ trunk/Tools/Scripts/webkitpy/common/config/contributors.json 2018-05-04 17:38:54 UTC (rev 231361)
@@ -5547,6 +5547,11 @@
],
"status" : "committer"
},
+ "Ulrike Rausch" : {
+ "emails" : [
+ "[email protected]"
+ ]
+ },
"Vangelis Kokkevis" : {
"emails" : [
"[email protected]"
@@ -6012,4 +6017,4 @@
],
"status" : "reviewer"
}
-}
\ No newline at end of file
+}