WebKit Bugzilla
Attachment 339433 Details for
Bug 185062
: Text shaping in the simple path is flipped in the y direction
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185062-20180503111646.patch (text/plain), 18.58 KB, created by
Myles C. Maxfield
on 2018-05-03 11:16:47 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Myles C. Maxfield
Created:
2018-05-03 11:16:47 PDT
Size:
18.58 KB
patch
obsolete
>Subversion Revision: 231313 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 84d3e7f897832d7d35d389ea5900659f0da61bce..bf6a8f0c38067ad1a050eb58639f52a269d22e7f 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,23 @@ >+2018-05-03 Myles C. Maxfield <mmaxfield@apple.com> >+ >+ 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 NOBODY (OOPS!). >+ >+ 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-03 Zalan Bujtas <zalan@apple.com> > > [LFC] Box invalidation logic should go to dedicated classes. >diff --git a/Source/WebCore/platform/graphics/Font.cpp b/Source/WebCore/platform/graphics/Font.cpp >index 30e5f3c09248440ae3ecd419ed3f555855ff8ed1..2e2ad390dcc9c014b41427fe0561eb2aa1730da4 100644 >--- a/Source/WebCore/platform/graphics/Font.cpp >+++ b/Source/WebCore/platform/graphics/Font.cpp >@@ -368,7 +368,6 @@ RefPtr<Font> Font::createScaledFont(const FontDescription& fontDescription, floa > > 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); >diff --git a/Source/WebCore/platform/graphics/WidthIterator.cpp b/Source/WebCore/platform/graphics/WidthIterator.cpp >index 688978a369be79413bf4aa8972a7366e489cf2d3..5a8da01f47d7cb1715668bc8be6bb5247315c235 100644 >--- a/Source/WebCore/platform/graphics/WidthIterator.cpp >+++ b/Source/WebCore/platform/graphics/WidthIterator.cpp >@@ -114,6 +114,9 @@ inline float WidthIterator::applyFontTransforms(GlyphBuffer* glyphBuffer, bool l > > 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() * -1); >+ > if (!ltr) > glyphBuffer->reverse(lastGlyphCount, glyphBufferSize - lastGlyphCount); > >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index c8f57a9d138c44d92f0adde87a6dc573d837fed4..2c047e6d7d20c7e73acb685d4f37cd5ced43d51b 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,15 @@ >+2018-05-03 Myles C. Maxfield <mmaxfield@apple.com> >+ >+ 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 NOBODY (OOPS!). >+ >+ Huge thanks to Ulrike Rausch of LiebeFonts for contributing the test fonts!!! >+ >+ * Scripts/webkitpy/common/config/contributors.json: >+ > 2018-05-03 Don Olmstead <don.olmstead@sony.com> > > [WinCairo] Add JSC test bots >diff --git a/Tools/Scripts/webkitpy/common/config/contributors.json b/Tools/Scripts/webkitpy/common/config/contributors.json >index 53e495d89080c1901857bc2549a6ed2808f81e70..c921ae8f2957ea65ab0d68ef0afed3a63f34f8ad 100644 >--- a/Tools/Scripts/webkitpy/common/config/contributors.json >+++ b/Tools/Scripts/webkitpy/common/config/contributors.json >@@ -5547,6 +5547,11 @@ > ], > "status" : "committer" > }, >+ "Ulrike Rausch" : { >+ "emails" : [ >+ "" >+ ] >+ }, > "Vangelis Kokkevis" : { > "emails" : [ > "vangelis@chromium.org" >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index c57160d41e115d5ef61d39eb1913042213754364..c58101305c26d164eeab2d92a1e46fe888354d97 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,26 @@ >+2018-05-03 Myles C. Maxfield <mmaxfield@apple.com> >+ >+ 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 NOBODY (OOPS!). >+ >+ 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-03 Miguel Gomez <magomez@igalia.com> > > Unreviewed GTK+ gardening after r231300. >diff --git a/LayoutTests/fast/text/resources/LiebeTest-calt.woff b/LayoutTests/fast/text/resources/LiebeTest-calt.woff >new file mode 100644 >index 0000000000000000000000000000000000000000..853af0c2d2c3517124a1046227afaef14c5f6e33 >GIT binary patch >literal 2056 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 >E1H4k0{Qv*} > >literal 0 >HcmV?d00001 > >diff --git a/LayoutTests/fast/text/resources/LiebeTest-dlig.woff b/LayoutTests/fast/text/resources/LiebeTest-dlig.woff >new file mode 100644 >index 0000000000000000000000000000000000000000..84be1983abfd0ec519a794fe09400acf7479640f >GIT binary patch >literal 2056 >zcmZvddpwhUAIE=l3Y$YwHivRrMdVN!?z)lX919WMYIE2|#++4{AyjCk5GqvM&g77a >z+psi*rUPrDTE;`dA_;k}dY<RM=lgoSuh;MMxxTN@_xj_yu5XNsjg5=Dy9)r4k^l~% >zf~Wkt{=c%eu~7#=EDiwC0}utxa5a)G&czLYO^r~$ErfsCqckyFx8sK)Zw=DYzkvbZ >z;$~nB0PI(`0|cI|Mym3o5U5a|I;8C&ykXU_esTc8AL^5bv>}9v>=I0a44IGz`Ctcx >zws<*=Or}J}LY^h0H6d77cfh9*Vxc^kB%~#NV~qnL1WEwpy#PQ22hD0y*BhOthDJm} >zXEM~I0HMCo0-$GuZd(Ho3-iPK;{l;QEk1r>&EzyH@8)Sk&=K{s<ssF3sa>3}M~qj` >zy-AnSmIihn@O@DKTBm%UVh7Vw?m7EeQSWXheqjEx6`WnB3_zI|BJ6*e_=JV=BszTo >zo~)aU;OiAh>M}NgAXBlezh@G|Nrg;iFSFy-Qz(o1UZxnuM`j?S661;#RSk{R>9{$n >zg~TQa@l;*ng^g{9U3sSs3lqx;Yn_do>~stbMZg#ue&yFJr`{$)5&@)qSk7*F60O4@ >zLR;Asv3NAmV9`j4)^77}1Vs8@_s%;fMksUwV4$w@CibfS?HF#Djr+IYY({RZ79*Ei >zs#W`70C#G2GRoI!LME#}r*$PDZQ+b1zQ(`nemOgb@-kP=g{ZkoyMq=IcN#<lHVAdo >znzd`!znbgw7?_r@D?)+A+=ICx;r7Z9j#89=`IauG_n;07R;qw9p(PAltrJ(q%%%k{ >zHykw|8WqBiW(}6#s|aVz{&8~0ty4GXdvzR#w(Dmt`cz){L9TqS_1G{qW%<)}&ycd5 >ztMghDT|-mHmC^Rbs<eWis$+sd7ZwFuMlLBFZZ6rgGDo|v?OE5T@$mH*EVgZoy6^NJ >zl}qfYBiowpI#=>277ewdA?`sg;#${UAH!$Xc({l9P}($4-t@z^XXZ!LHM(;x|0(=~ >zsH)#2=WNhybzs0|qSbrV26gyQx?hBOF=Kf$T7j>o7o_^3sQ&Op(22f+kaAr_>gS>3 >zNT-ZEzO%C~MQz_aX@GCx9BR+CTd0VAx6q1>9JJW7H_<edwWM@uQr|Wr`d*duJsG2J >zjMG9k$8BS!nx?tyEcp@Y(8veOPrBInU``c+eWd+K6m}|1#W&gP4X#8-zDEb{pYisf >zIk~v6dVTuV?aE<EbmObCmH|%N$bxdsGUs`XX-)kFKG)%Z{a+Hc<!hlf(qGRIdsL0i >z1bAM#hKiXD>pa8d_MB`EcNHZeFFxqZ=SuLI)!o1d6S125aqP}y2Il#n@#{;x4N;l( >z(bQO&+B39BG60qw%y7$}<u4sNKFIH{>EPHEB2KO(p*>noc&)X0d<+f^oE2!{0#jia >z1B;929&a+S#x!m-6-h^zY))2zNB#P)h#-06Bq{@02Y_BDY#Mr34`zzGUI+uM<#sO8 >zpND*H$m?!sC-HUPY4Eze%q>lx_1&>F)kv{ZW-KbNr;PEdIbLXf?u}(eN}ApRqd#qN >z{sxI_J<AVZ#YYdt`}B6YCFt(PM#MbnLWMipWMfWy)Z94!3G)WCf8xyHmGKxK*(bwp >z1>-?Y0$R+$m5?^uxo<O3O&cw1p{ioi`(EVGuOqc#QX(ScU1B+P8C$D-WoAa0JDck= >z)js>mt(r15vZxsfg&z@<ElhL`HB-gNAcWf;9bK30^O-1jp8G68mddbJ6-e5eb%!}q >zuelWp5G1o_XM1;-B{@|5U7G4W{dXC?d$okbwbf!FeQcEw7{NEe{#ECgnfIX-+G|gq >zM=+n8UY&NZaIBib`!e_TOY5QsXE5mV&3(i3u;8GHhLN}-cEP+!@Wex5fAx<`GcS3_ >zugLL;&~?sUYz=KNdFB<{z#8}b(^9S<8y9z$r}%j(Uw!`v;ZEbl<l%{<yNRNuV@{#f >zdGeh6+Zk>6DTJa`s!%?G3(vO19_+!*v%1Dq)9rbYLo+g{mndP<JW{cKQRc#AQQnDK >zDaS+OO|wNcJLaKZ4|Cj_X0I?BnzZ?7F)v?vdfep2-bK%;e~n%-(Pq{5y_vkOG;{g# >zBiAFxr1)fV<Cn@)PDv+x=yrP)U+mE0-?bZgRl(uKP{i-p7MLx?^|Q>J=pH9LN({;g >za+Pzc?PSyV^guNfBkY{)`Ae)4Y`@J}X-C>~&n)yssidmTY|{9f#6GR8pWa@@uE)dZ >zq5($-H2tP7c6XkeA_O0r8tc!=wySb=z`EYT=GXT3`IYMYlUnZP^`rdU-JtK0#3qyO >zBK&=HRIdc=dp_v6H+eYyL@#GqP`#_IOc4H-^7h@6qDt8kIpf#U-d8J{lt$Tq`q!$* >z+sc<FVwbl{H<@cZ9G=PfQk+G4I5S`^khQ|c)b~7kI`x<*$)1uuHlRYrilD4D?FNZk >zsOxzvuXGA3N-e9dIhYk&-F{j%aH>8qK^G?v-sKafZtCB6R2T`q?>@ke6kZc*I`V5; >z{VsEvG?C`O7jm>6neBJJ1}KrOEMN)^R5NH{{bxtv-}@Tk=Y8?vVPB;P@B8fadi)r^ >zcmhb;*su~xn#dd9|Kwk~Z=P<yxyTT=9h+nXzb*iNJ5vMkYD1t$8Qul0MJVjQ^=|<Q >Bo6-OP > >literal 0 >HcmV?d00001 > >diff --git a/LayoutTests/fast/text/resources/LiebeTest-liga.woff b/LayoutTests/fast/text/resources/LiebeTest-liga.woff >new file mode 100644 >index 0000000000000000000000000000000000000000..772784b965e220f93dc55b2130919d637f090b95 >GIT binary patch >literal 2056 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 >BnY;i1 > >literal 0 >HcmV?d00001 > >diff --git a/LayoutTests/fast/text/resources/LiebeTest-swsh.woff b/LayoutTests/fast/text/resources/LiebeTest-swsh.woff >new file mode 100644 >index 0000000000000000000000000000000000000000..a0d2a4f42d1213accd192ff5534ca9ef787ee0f1 >GIT binary patch >literal 2056 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 >F`Y$zpm6!kk > >literal 0 >HcmV?d00001 > >diff --git a/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html b/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html >new file mode 100644 >index 0000000000000000000000000000000000000000..f98e373697796b5095f985b3b263c491bf2078a4 >--- /dev/null >+++ b/LayoutTests/fast/text/vertical-displacement-simple-codepath-expected.html >@@ -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> >diff --git a/LayoutTests/fast/text/vertical-displacement-simple-codepath.html b/LayoutTests/fast/text/vertical-displacement-simple-codepath.html >new file mode 100644 >index 0000000000000000000000000000000000000000..d39f2bd2d2863343908df9d2f41f24bea07288a9 >--- /dev/null >+++ b/LayoutTests/fast/text/vertical-displacement-simple-codepath.html >@@ -0,0 +1,18 @@ >+<!DOCTYPE html> >+<html> >+<head> >+<style> >+@font-face { >+ font-family: "LiebeTest-liga"; >+ src: url("LiebeTest-liga.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;"> >+<div style="font: 100px 'LiebeTest-liga';">cba</div> >+<div style="position: absolute; top: 0px; left: 0px; width: 102px; height: 102px; background: white;"></div> >+</div> >+</body> >+</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185062
:
338948
|
339433
|
339439
|
339441
|
339445
|
339458
|
339475
|
339524