<?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>3618</bug_id>
          
          <creation_ts>2005-06-20 06:44:56 -0700</creation_ts>
          <short_desc>RTL runs drawn by CG not reversed properly</short_desc>
          <delta_ts>2005-11-04 00:29:57 -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>Layout and Rendering</component>
          <version>412</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>bugs.mano</cc>
    
    <cc>nirs</cc>
    
    <cc>xslf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>12681</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2005-06-20 06:44:56 -0700</bug_when>
    <thetext>Summary: In the rare case that CG gets to draw an RTL run, it applies order-swapping to all but the last 
glyph in the run.

To reproduce: make sure &quot;Use ATSUI For All Text&quot; is off and open the testcase.

Expected: to see ?!* on the second line. (To get expected behavior, switch on Use ATSUI and reload, or 
open in Firefox).

Actual: see !*? on the second line.

Analysis: the order-swapping loops in _CG_drawRun:style:geometry start with the next-to-last glyph 
instead of the last one, so the last glyph doesn&apos;t move to the beginning as it should.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12682</commentid>
    <comment_count>1</comment_count>
      <attachid>2499</attachid>
    <who name="">mitz</who>
    <bug_when>2005-06-20 06:46:17 -0700</bug_when>
    <thetext>Created attachment 2499
testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12683</commentid>
    <comment_count>2</comment_count>
      <attachid>2500</attachid>
    <who name="">mitz</who>
    <bug_when>2005-06-20 06:52:54 -0700</bug_when>
    <thetext>Created attachment 2500
Proposed fix

Just changed (actually restored) the initial value of end in those three loops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12687</commentid>
    <comment_count>3</comment_count>
      <attachid>2500</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-20 08:32:54 -0700</bug_when>
    <thetext>Comment on attachment 2500
Proposed fix

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2499</attachid>
            <date>2005-06-20 06:46:17 -0700</date>
            <delta_ts>2005-06-20 06:46:17 -0700</delta_ts>
            <desc>testcase</desc>
            <filename>CGRTLSwapping.html</filename>
            <type>text/html</type>
            <size>295</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIgCiJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgo8aHRtbD4NCjxo
ZWFkPg0KPHRpdGxlPlJldmVyc2luZyBSVEwgcnVucyBpbiBfQ0dfZHJhd1J1bjpzdHlsZTpnZW9t
ZXRyeTo8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHk+CjxwPlRoZSBuZXh0IGxpbmUgc2hvdWxkIGxv
b2sgbGlrZSA/ISo8L3A+CjxwIGRpcj0icnRsIiBhbGlnbj0ibGVmdCI+CiohPwo8L3A+CjwvYm9k
eT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2500</attachid>
            <date>2005-06-20 06:52:54 -0700</date>
            <delta_ts>2005-06-20 08:32:54 -0700</delta_ts>
            <desc>Proposed fix</desc>
            <filename>3618_patch_r1.txt</filename>
            <type>text/plain</type>
            <size>1334</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYlRleHRSZW5kZXJlci5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJLaXQvV2ViQ29yZVN1cHBvcnQuc3VicHJvai9XZWJUZXh0UmVuZGVyZXIubSx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4xNzQKZGlmZiAtcCAtdSAtcjEuMTc0IFdlYlRleHRSZW5kZXJlci5tCi0t
LSBXZWJUZXh0UmVuZGVyZXIubQkyMDA1LzA2LzIwIDAxOjIwOjAxCTEuMTc0CisrKyBXZWJUZXh0
UmVuZGVyZXIubQkyMDA1LzA2LzIwIDEzOjQ4OjM0CkBAIC0xMTAyLDE5ICsxMTAyLDE5IEBAIHN0
YXRpYyB2b2lkIF9kcmF3R2x5cGhzKE5TRm9udCAqZm9udCwgTlMKICAgICAgICAgQ0dTaXplIGFz
d2FwMSwgYXN3YXAyOwogICAgICAgICBOU0ZvbnQgKmZzd2FwMSwgKmZzd2FwMjsKICAgICAgICAg
Ci0gICAgICAgIGZvciAoaSA9IHBvcywgZW5kID0gbnVtR2x5cGhzLTE7IGkgPCAobnVtR2x5cGhz
IC0gcG9zKS8yOyBpKyspeworICAgICAgICBmb3IgKGkgPSBwb3MsIGVuZCA9IG51bUdseXBoczsg
aSA8IChudW1HbHlwaHMgLSBwb3MpLzI7IGkrKyl7CiAgICAgICAgICAgICBnc3dhcDEgPSBnbHlw
aEJ1ZmZlcltpXTsKICAgICAgICAgICAgIGdzd2FwMiA9IGdseXBoQnVmZmVyWy0tZW5kXTsKICAg
ICAgICAgICAgIGdseXBoQnVmZmVyW2ldID0gZ3N3YXAyOwogICAgICAgICAgICAgZ2x5cGhCdWZm
ZXJbZW5kXSA9IGdzd2FwMTsKICAgICAgICAgfQotICAgICAgICBmb3IgKGkgPSBwb3MsIGVuZCA9
IG51bUdseXBocyAtIDE7IGkgPCAobnVtR2x5cGhzIC0gcG9zKS8yOyBpKyspeworICAgICAgICBm
b3IgKGkgPSBwb3MsIGVuZCA9IG51bUdseXBoczsgaSA8IChudW1HbHlwaHMgLSBwb3MpLzI7IGkr
Kyl7CiAgICAgICAgICAgICBhc3dhcDEgPSBhZHZhbmNlc1tpXTsKICAgICAgICAgICAgIGFzd2Fw
MiA9IGFkdmFuY2VzWy0tZW5kXTsKICAgICAgICAgICAgIGFkdmFuY2VzW2ldID0gYXN3YXAyOwog
ICAgICAgICAgICAgYWR2YW5jZXNbZW5kXSA9IGFzd2FwMTsKICAgICAgICAgfQotICAgICAgICBm
b3IgKGkgPSBwb3MsIGVuZCA9IG51bUdseXBocyAtIDE7IGkgPCAobnVtR2x5cGhzIC0gcG9zKS8y
OyBpKyspeworICAgICAgICBmb3IgKGkgPSBwb3MsIGVuZCA9IG51bUdseXBoczsgaSA8IChudW1H
bHlwaHMgLSBwb3MpLzI7IGkrKyl7CiAgICAgICAgICAgICBmc3dhcDEgPSBmb250QnVmZmVyW2ld
OwogICAgICAgICAgICAgZnN3YXAyID0gZm9udEJ1ZmZlclstLWVuZF07CiAgICAgICAgICAgICBm
b250QnVmZmVyW2ldID0gZnN3YXAyOwo=
</data>
<flag name="review"
          id="57"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>