<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>138526</bug_id>
          
          <creation_ts>2014-11-07 16:09:39 -0800</creation_ts>
          <short_desc>Directional single quotation marks are not rotated in vertical text</short_desc>
          <delta_ts>2014-12-05 21:13:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>enrica</cc>
    
    <cc>jonlee</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1047239</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-11-07 16:09:39 -0800</bug_when>
    <thetext>Directional single quotation marks are not rotated in vertical text</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047240</commentid>
    <comment_count>1</comment_count>
      <attachid>241217</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-11-07 16:10:56 -0800</bug_when>
    <thetext>Created attachment 241217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047241</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-11-07 16:11:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/14393598&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047308</commentid>
    <comment_count>3</comment_count>
      <attachid>241217</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-11-08 13:39:31 -0800</bug_when>
    <thetext>Comment on attachment 241217
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=241217&amp;action=review

&gt; Source/WebCore/platform/graphics/FontGlyphs.cpp:149
&gt; +    if (character == 0x02016 || character == 0x02020 || character == 0x02021 || character == 0x2030 || character == 0x02031)
&gt;          return true;

Strange that we write 0x2030 and not 0x02030 here given the rest of the surrounding code.

This entire function has a coding style that is not great. A whole long data table written out as separate function calls, with no rationale given for the choices of the values or even a summary at the top. Did this come from some table in some specification? Does ICU have a function for this, and if so, why aren’t we using that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1047389</commentid>
    <comment_count>4</comment_count>
      <attachid>241217</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-11-09 08:05:44 -0800</bug_when>
    <thetext>Comment on attachment 241217
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=241217&amp;action=review

&gt;&gt; Source/WebCore/platform/graphics/FontGlyphs.cpp:149
&gt;&gt;          return true;
&gt; 
&gt; Strange that we write 0x2030 and not 0x02030 here given the rest of the surrounding code.
&gt; 
&gt; This entire function has a coding style that is not great. A whole long data table written out as separate function calls, with no rationale given for the choices of the values or even a summary at the top. Did this come from some table in some specification? Does ICU have a function for this, and if so, why aren’t we using that?

Yes: http://www.unicode.org/reports/tr50/tr50-6.Orientation.txt

The numbers in this function originally came from a giant switch statement; I&apos;m guessing the leading 0s existed to make the case statements right-aligned.

I looked for an ICU function, but couldn&apos;t find one. I emailed Kida-san last week to ask if he knows of one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1052974</commentid>
    <comment_count>5</comment_count>
      <attachid>241217</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-05 21:13:41 -0800</bug_when>
    <thetext>Comment on attachment 241217
Patch

Clearing flags on attachment: 241217

Committed r176903: &lt;http://trac.webkit.org/changeset/176903&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1052975</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-05 21:13:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241217</attachid>
            <date>2014-11-07 16:10:56 -0800</date>
            <delta_ts>2014-12-05 21:13:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138526-20141107161107.patch</filename>
            <type>text/plain</type>
            <size>3794</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1NzU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2VlZTAxNDI5MzRiYWI0
ZDk4YzhkM2QyODk3NTkwY2IxYjEzYmU4Yi4uYTBjNjBkODA2MmYzODk5M2NiZGQ2NmViN2FkNjEy
MjZlMWRjMWU0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTExLTA3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgRGlyZWN0aW9u
YWwgc2luZ2xlIHF1b3RhdGlvbiBtYXJrcyBhcmUgbm90IHJvdGF0ZWQgaW4gdmVydGljYWwgdGV4
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NTI2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gdmVy
dGljYWwgdGV4dCwgZGlyZWN0aW9uYWwgc2luZ2xlIHF1b3RhdGlvbiBtYXJrcyBhcmUgbm90IHJv
dGF0ZWQgYWxvbmcgd2l0aAorICAgICAgICB0aGUgcmVzdCBvZiB0aGUgbGV0dGVycy4KKworICAg
ICAgICBUZXN0OiBmYXN0L3RleHQvdmVydGljYWwtcXVvdGF0aW9uLW1hcmtzLmh0bWwKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHbHlwaHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6c2hvdWxkSWdub3JlUm90YXRpb24pOgorCiAyMDE0LTExLTA3ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUHNldWRvIGVs
ZW1lbnQgbWF0Y2hlZENTU1J1bGVzIGRvIG5vdCBpbmNsdWRlIG1hdGNoaW5nIHNlbGVjdG9yIGlu
Zm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRHbHlw
aHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAK
aW5kZXggMzMzMGIyM2UwNmZmZTU2ZDQ1NTg4ZmE2YzlhZmQ5MjYxZjFlNDgyOC4uOTMyMTYzNWZj
ZGFmZjBlNjZjZjRiMTQyMmM1OGQ4ZTdkN2RiYzM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAKQEAgLTE0NSw4ICsxNDUsNyBAQCBzdGF0
aWMgYm9vbCBzaG91bGRJZ25vcmVSb3RhdGlvbihVQ2hhcjMyIGNoYXJhY3RlcikKICAgICBpZiAo
aXNJblJhbmdlKGNoYXJhY3RlciwgMHgwMTEwMCwgMHgwMTFGRikgfHwgaXNJblJhbmdlKGNoYXJh
Y3RlciwgMHgwMTQwMSwgMHgwMTY3RikgfHwgaXNJblJhbmdlKGNoYXJhY3RlciwgMHgwMTgwMCwg
MHgwMThGRikpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgaWYgKGNoYXJhY3RlciA9PSAw
eDAyMDE2IHx8IGNoYXJhY3RlciA9PSAweDAyMDE4IHx8IGNoYXJhY3RlciA9PSAweDAyMDE5IHx8
IGNoYXJhY3RlciA9PSAweDAyMDIwIHx8IGNoYXJhY3RlciA9PSAweDAyMDIxCi0gICAgICAgIHx8
IGNoYXJhY3RlciA9PSAweDIwMzAgfHwgY2hhcmFjdGVyID09IDB4MDIwMzEpCisgICAgaWYgKGNo
YXJhY3RlciA9PSAweDAyMDE2IHx8IGNoYXJhY3RlciA9PSAweDAyMDIwIHx8IGNoYXJhY3RlciA9
PSAweDAyMDIxIHx8IGNoYXJhY3RlciA9PSAweDIwMzAgfHwgY2hhcmFjdGVyID09IDB4MDIwMzEp
CiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgaWYgKGlzSW5SYW5nZShjaGFyYWN0ZXIsIDB4
MDIwM0IsIDB4MDIwM0QpIHx8IGNoYXJhY3RlciA9PSAweDAyMDQyIHx8IGNoYXJhY3RlciA9PSAw
eDAyMDQ0IHx8IGNoYXJhY3RlciA9PSAweDAyMDQ3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTQwYmVkYTcxYzYxMDkyZDg0
OGQ3ZDczYzQ4NjQzYjQzMDk5YTE1ZC4uZDg2NjhiMDUwNjA3MjJjNDQ5MjdjZWYwNzE0MWYyYTdm
NGFkMmZmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE0LTExLTA3ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgRGlyZWN0aW9uYWwgc2luZ2xl
IHF1b3RhdGlvbiBtYXJrcyBhcmUgbm90IHJvdGF0ZWQgaW4gdmVydGljYWwgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4NTI2CisKKyAgICAg
ICAgQ29tcGFyZSB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCByZW5kZXJpbmdzLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC90ZXh0L3ZlcnRp
Y2FsLXF1b3RhdGlvbi1tYXJrcy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3RleHQvdmVydGljYWwtcXVvdGF0aW9uLW1hcmtzLmh0bWw6IEFkZGVkLgorCiAyMDE0LTExLTA3
ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogUHNldWRvIGVsZW1lbnQgbWF0Y2hlZENTU1J1bGVzIGRvIG5vdCBpbmNsdWRlIG1h
dGNoaW5nIHNlbGVjdG9yIGluZm8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC92
ZXJ0aWNhbC1xdW90YXRpb24tbWFya3MtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC92ZXJ0aWNhbC1xdW90YXRpb24tbWFya3MtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
NGJlNTVkZTEzZTg3OTBkYTgxMjFlOWM2MjEyNGQyMTA2ZTY1OGVjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3ZlcnRpY2FsLXF1b3RhdGlvbi1tYXJrcy1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDUwcHg7IC13ZWJraXQt
dHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUo
OTBkZWcpIHRyYW5zbGF0ZVgoLTUwcHgpOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2siPgorV2hhdCYj
eDIwMTk7cyBnb2luZyYjeDIwMTg7IG9uPworPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC92ZXJ0aWNhbC1xdW90YXRpb24tbWFya3MuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC92ZXJ0aWNhbC1xdW90YXRpb24tbWFya3MuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMzY2MzUwMTFiODMxMjhjYWUzZDUzNzYyYzk4NjI2YmQyMjUzNDY2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3ZlcnRpY2FsLXF1b3RhdGlvbi1t
YXJrcy5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDUwcHg7IC13ZWJr
aXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOyI+CitXaGF0JiN4MjAxOTtzIGdvaW5nJiN4MjAx
ODsgb24/Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>