<?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>67131</bug_id>
          
          <creation_ts>2011-08-29 09:13:27 -0700</creation_ts>
          <short_desc>[Qt] Add support for webfonts</short_desc>
          <delta_ts>2012-02-07 14:17:07 -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>DUPLICATE</resolution>
          <dup_id>78001</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>55036</dependson>
    
    <dependson>63467</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pierre Rossi">pierre.rossi</reporter>
          <assigned_to name="Pierre Rossi">pierre.rossi</assigned_to>
          <cc>hausmann</cc>
    
    <cc>jarred</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>458240</commentid>
    <comment_count>0</comment_count>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2011-08-29 09:13:27 -0700</bug_when>
    <thetext>[Qt] Add support for webfonts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458251</commentid>
    <comment_count>1</comment_count>
      <attachid>105497</attachid>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2011-08-29 10:01:55 -0700</bug_when>
    <thetext>Created attachment 105497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458252</commentid>
    <comment_count>2</comment_count>
      <attachid>105497</attachid>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2011-08-29 10:04:48 -0700</bug_when>
    <thetext>Comment on attachment 105497
Patch

Just in case someone has and opinion on the contents mainly. The tests are too much of a mess to figure out until we fix them first for 55036, which this patch depends on anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458253</commentid>
    <comment_count>3</comment_count>
      <attachid>105497</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-08-29 10:08:52 -0700</bug_when>
    <thetext>Comment on attachment 105497
Patch

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

&gt; Source/WebCore/platform/graphics/qt/FontPlatformData.h:122
&gt; +        if (m_data-&gt;rawFont.isValid())
&gt; +            m_data-&gt;font.setPixelSize(qRound(m_data-&gt;rawFont.pixelSize()));

This feels very hackish. I realize that we&apos;re already in this situation with the current frankenfonts implementation, but how can we get out of it? Who are the clients of FontPlatformData::font(), and can they be switched over to backend-agnostic (QFont vs QRawFont) logic somehow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458489</commentid>
    <comment_count>4</comment_count>
      <attachid>105497</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-08-29 15:34:37 -0700</bug_when>
    <thetext>Comment on attachment 105497
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

Problem here.

&gt; Source/WebCore/platform/graphics/qt/FontCustomPlatformDataQt.cpp:60
&gt; +    const QByteArray ba(buffer-&gt;data(), buffer-&gt;size());

please use different name than ba.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493277</commentid>
    <comment_count>5</comment_count>
      <attachid>113045</attachid>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2011-10-31 06:31:39 -0700</bug_when>
    <thetext>Created attachment 113045
Patch

Actually, regarding the layout tests, a few of the fonts-related ones I looked into could be unskipped by now. Could be because of 55036, or some other fixes, I guess we should just do that in a separate patch ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493291</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-10-31 06:53:58 -0700</bug_when>
    <thetext>Does it make sense at all to keep the QFontDatabase::addApplicationFonts based &quot;implementation&quot; around?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493294</commentid>
    <comment_count>7</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-10-31 07:00:18 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Does it make sense at all to keep the QFontDatabase::addApplicationFonts based &quot;implementation&quot; around?

If trunk only works &quot;correctly&quot; with QRawFont and pre-QRawFont is no longer being supported[*], the old implementation might as well be trashed.

[*] Is trunk still going to be supported for &lt;=4.7.4 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493302</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-10-31 07:19:37 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Does it make sense at all to keep the QFontDatabase::addApplicationFonts based &quot;implementation&quot; around?
&gt; 
&gt; If trunk only works &quot;correctly&quot; with QRawFont and pre-QRawFont is no longer being supported[*], the old implementation might as well be trashed.

That&apos;s exactly what I was thinking, too. I mean, if pre-QRawFont doesn&apos;t work properly (_if_ that is), then IMHO we should ditch it.
 
&gt; [*] Is trunk still going to be supported for &lt;=4.7.4 ?

While we support Qt 4.7, we should compiling with all patch releases of 4.7. Once 4.8 is out it would be nice to drop 4.7 support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493311</commentid>
    <comment_count>9</comment_count>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2011-10-31 07:40:36 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; Does it make sense at all to keep the QFontDatabase::addApplicationFonts based &quot;implementation&quot; around?
&gt; &gt; 
&gt; &gt; If trunk only works &quot;correctly&quot; with QRawFont and pre-QRawFont is no longer being supported[*], the old implementation might as well be trashed.
&gt; 
&gt; That&apos;s exactly what I was thinking, too. I mean, if pre-QRawFont doesn&apos;t work properly (_if_ that is), then IMHO we should ditch it.

The addApplicationFonts implementation does work AFAICT, but I&apos;m afraid it&apos;s not exactly the best approach in our case.

&gt; 
&gt; &gt; [*] Is trunk still going to be supported for &lt;=4.7.4 ?
&gt; 
&gt; While we support Qt 4.7, we should compiling with all patch releases of 4.7. Once 4.8 is out it would be nice to drop 4.7 support.

Agreed, I think 4.7 support was the only reason for the HAVE(RAWFONT) guard, potentially something to drop after 4.8 is out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533885</commentid>
    <comment_count>10</comment_count>
      <attachid>113045</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-01-11 07:35:45 -0800</bug_when>
    <thetext>Comment on attachment 113045
Patch

Clearing review on this patch, since it&apos;s all being rewritten at the moment :) (looking very promising!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533886</commentid>
    <comment_count>11</comment_count>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2012-01-11 07:40:06 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 113045 [details])
&gt; Clearing review on this patch, since it&apos;s all being rewritten at the moment :) (looking very promising!)

Schweeeeeet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551381</commentid>
    <comment_count>12</comment_count>
    <who name="Pierre Rossi">pierre.rossi</who>
    <bug_when>2012-02-07 14:17:07 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 78001 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105497</attachid>
            <date>2011-08-29 10:01:55 -0700</date>
            <delta_ts>2011-10-31 06:31:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67131-20110829190120.patch</filename>
            <type>text/plain</type>
            <size>4874</size>
            <attacher name="Pierre Rossi">pierre.rossi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE1NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwODZjM2QyZGVlYzZjOTUw
MzllODk3NWI1OWNmZGQzZmFlYTE4MTk5Li5jNmI3Yjc4NTcxYWM5ZmQ3M2E3ZjM1ZTBjZGNjZGEz
NmM4Y2JhNzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDgtMjkgIFBpZXJy
ZSBSb3NzaSAgPHBpZXJyZS5yb3NzaUBnbWFpbC5jb20+CisKKyAgICAgICAgW1F0XSBBZGQgc3Vw
cG9ydCBmb3Igd2ViZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3MTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisgICAgICAgIE1vc3QgbGlrZWx5IHdlIHdh
bnQgdG8gdW5za2lwIHNvbWUgZXhpc3Rpbmcgb25lcywgYW5kIGZpeAorICAgICAgICB0aGUgZXhw
ZWN0ZWQgcmVzdWx0cyBmb3Igb3RoZXJzLgorICAgICAgICBzb21lIGxpa2VseSBjYW5kaWRhdGVz
IGZvciB1bnNraXBwaW5nOgorICAgICAgICBmYXN0L2Nzcy9mb250LWZhY2UtZG93bmxvYWQtZXJy
b3IuaHRtbAorICAgICAgICBmYXN0L2Nzcy9mb250LWZhY2UtcmVwZWF0ZWQtdXJsLmh0bWwKKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhUXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6fkZvbnRDdXN0
b21QbGF0Zm9ybURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0
YTo6Zm9udFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9t
UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpmb250KTogU2V0
IHRoZSBmYWxsYmFjayBmb250J3Mgc2l6ZS4KKwogMjAxMS0wNy0yMiAgUGllcnJlIFJvc3NpICA8
cGllcnJlLnJvc3NpQGdtYWlsLmNvbT4KIAogICAgICAgICBGaXggdGhlIFFGb250IGZhbGxiYWNr
IGlzc3VlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvRm9udEN1c3RvbVBsYXRmb3JtRGF0YS5oCmluZGV4IDM5OTZkMjIzYjk4NzAyY2RmNjMw
Yjk4NWY2NjI5YThmYjBhNWYzYjEuLjNmZWNjYzJhZTUxMjY0YTI2NjAyMWYxYzgwNGIxMDFlYjQy
NTg1ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKQEAgLTI5LDYgKzI5LDkgQEAKICNpbmNs
dWRlIDx3dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaWYgSEFWRShRUkFXRk9OVCkKKyNpbmNsdWRlIDxR
UmF3Rm9udD4KKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDggKzQ0LDEy
IEBAIHB1YmxpYzoKICAgICBGb250Q3VzdG9tUGxhdGZvcm1EYXRhKCkgeyB9CiAgICAgfkZvbnRD
dXN0b21QbGF0Zm9ybURhdGEoKTsKIAorI2lmIEhBVkUoUVJBV0ZPTlQpCisgICAgUVJhd0ZvbnQg
bV9yYXdGb250OworI2Vsc2UKICAgICAvLyBmb3IgdXNlIHdpdGggUUZvbnREYXRhYmFzZTo6YWRk
QXBwbGljYXRpb25Gb250L3JlbW92ZUFwcGxpY2F0aW9uRm9udAogICAgIGludCBtX2hhbmRsZTsK
KyNlbmRpZgogCiAgICAgRm9udFBsYXRmb3JtRGF0YSBmb250UGxhdGZvcm1EYXRhKGludCBzaXpl
LCBib29sIGJvbGQsIGJvb2wgaXRhbGljLCBGb250T3JpZW50YXRpb24gPSBIb3Jpem9udGFsLCBU
ZXh0T3JpZW50YXRpb24gPSBUZXh0T3JpZW50YXRpb25WZXJ0aWNhbFJpZ2h0LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb250V2lkdGhWYXJpYW50ID0gUmVndWxhcldp
ZHRoLCBGb250UmVuZGVyaW5nTW9kZSA9IE5vcm1hbFJlbmRlcmluZ01vZGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YVF0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRDdXN0
b21QbGF0Zm9ybURhdGFRdC5jcHAKaW5kZXggMjBmMTYxYThmMjFmZjgxNDA2YTgyNjQ5NDNlOWUw
MjdiMWIwYzBjMy4uODFhNTk4ZjFiZTZlYzQ3ZTM0N2VhMjI2YTNhZDUxZWYzYmM4OTYxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YVF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhUXQuY3BwCkBAIC0zMSwzMyArMzEsNDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhOjp+Rm9udEN1c3RvbVBsYXRm
b3JtRGF0YSgpCiB7CisjaWYgIUhBVkUoUVJBV0ZPTlQpCiAgICAgUUZvbnREYXRhYmFzZTo6cmVt
b3ZlQXBwbGljYXRpb25Gb250KG1faGFuZGxlKTsKKyNlbmRpZgogfQogCiBGb250UGxhdGZvcm1E
YXRhIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6OmZvbnRQbGF0Zm9ybURhdGEoaW50IHNpemUsIGJv
b2wgYm9sZCwgYm9vbCBpdGFsaWMsIEZvbnRPcmllbnRhdGlvbiwgVGV4dE9yaWVudGF0aW9uLCBG
b250V2lkdGhWYXJpYW50LCBGb250UmVuZGVyaW5nTW9kZSkKIHsKKyNpZiBIQVZFKFFSQVdGT05U
KQorICAgIFFfQVNTRVJUKG1fcmF3Rm9udC5pc1ZhbGlkKCkpOworICAgIG1fcmF3Rm9udC5zZXRQ
aXhlbFNpemUocXJlYWwoc2l6ZSkpOworICAgIHJldHVybiBGb250UGxhdGZvcm1EYXRhKG1fcmF3
Rm9udCk7CisjZWxzZQogICAgIFFGb250IGZvbnQ7CiAgICAgZm9udC5zZXRGYW1pbHkoUUZvbnRE
YXRhYmFzZTo6YXBwbGljYXRpb25Gb250RmFtaWxpZXMobV9oYW5kbGUpWzBdKTsKICAgICBmb250
LnNldFBpeGVsU2l6ZShzaXplKTsKICAgICBpZiAoYm9sZCkKICAgICAgICAgZm9udC5zZXRXZWln
aHQoUUZvbnQ6OkJvbGQpOwogICAgIGZvbnQuc2V0SXRhbGljKGl0YWxpYyk7Ci0KICAgICByZXR1
cm4gRm9udFBsYXRmb3JtRGF0YShmb250KTsKKyNlbmRpZgogfQogCiBGb250Q3VzdG9tUGxhdGZv
cm1EYXRhKiBjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKFNoYXJlZEJ1ZmZlciogYnVmZmVy
KQogewogICAgIEFTU0VSVF9BUkcoYnVmZmVyLCBidWZmZXIpOwogCi0gICAgaW50IGlkID0gUUZv
bnREYXRhYmFzZTo6YWRkQXBwbGljYXRpb25Gb250RnJvbURhdGEoUUJ5dGVBcnJheShidWZmZXIt
PmRhdGEoKSwgYnVmZmVyLT5zaXplKCkpKTsKKyAgICBjb25zdCBRQnl0ZUFycmF5IGJhKGJ1ZmZl
ci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CisjaWYgIUhBVkUoUVJBV0ZPTlQpCisgICAgaW50
IGlkID0gUUZvbnREYXRhYmFzZTo6YWRkQXBwbGljYXRpb25Gb250RnJvbURhdGEoYmEpOwogICAg
IGlmIChpZCA9PSAtMSkKICAgICAgICAgcmV0dXJuIDA7Ci0KICAgICBRX0FTU0VSVChRRm9udERh
dGFiYXNlOjphcHBsaWNhdGlvbkZvbnRGYW1pbGllcyhpZCkuc2l6ZSgpID4gMCk7CisjZW5kaWYK
IAogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEgKmRhdGEgPSBuZXcgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YTsKKyNpZiBIQVZFKFFSQVdGT05UKQorICAgIC8vIFBpeGVsIHNpemUgZG9lc24ndCBt
YXR0ZXIgYXQgdGhpcyBwb2ludAorICAgIGRhdGEtPm1fcmF3Rm9udC5sb2FkRnJvbURhdGEoYmEs
IDAsIFFGb250OjpQcmVmZXJEZWZhdWx0SGludGluZyk7CisjZWxzZQogICAgIGRhdGEtPm1faGFu
ZGxlID0gaWQ7CisjZW5kaWYKICAgICByZXR1cm4gZGF0YTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCmluZGV4
IDc2NjJhYTAwNzFlMjUxZGU0MDUyYzRiZjdhMTA1OTUzZTBmYzhhN2MuLjQyYzhiZjA1MTVmYjFh
MDYyY2QxMWMwOGIxZjZiMDE3ZDhmNjFiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmgKQEAgLTExNyw2ICsxMTcs
MTAgQEAgcHVibGljOgogICAgICAgICBRX0FTU0VSVCghaXNIYXNoVGFibGVEZWxldGVkVmFsdWUo
KSk7CiAgICAgICAgIGlmICghbV9kYXRhKQogICAgICAgICAgICAgcmV0dXJuIFFGb250KCk7Cisj
aWYgSEFWRShRUkFXRk9OVCkKKyAgICAgICAgaWYgKG1fZGF0YS0+cmF3Rm9udC5pc1ZhbGlkKCkp
CisgICAgICAgICAgICBtX2RhdGEtPmZvbnQuc2V0UGl4ZWxTaXplKHFSb3VuZChtX2RhdGEtPnJh
d0ZvbnQucGl4ZWxTaXplKCkpKTsKKyNlbmRpZgogICAgICAgICByZXR1cm4gbV9kYXRhLT5mb250
OwogICAgIH0KICNpZiBIQVZFKFFSQVdGT05UKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113045</attachid>
            <date>2011-10-31 06:31:39 -0700</date>
            <delta_ts>2012-01-11 07:35:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67131-20111031143249.patch</filename>
            <type>text/plain</type>
            <size>6311</size>
            <attacher name="Pierre Rossi">pierre.rossi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhY2M5NWQ0ZTQ4NTQwMmNm
ZWI0NGNjYWUxM2YwN2I4ZDhhMDJmNDg3Li41Y2YwYWUwYzYwNzlhMzhmZWI5OTY2ZjMyNjdjYzg2
YmU0YTE4ZmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDgtMjkgIFBpZXJy
ZSBSb3NzaSAgPHBpZXJyZS5yb3NzaUBnbWFpbC5jb20+CisKKyAgICAgICAgW1F0XSBBZGQgc3Vw
cG9ydCBmb3Igd2ViZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY3MTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6fkZvbnRDdXN0b21QbGF0Zm9ybURhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVGb250Q3VzdG9tUGxhdGZvcm1EYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YVF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OmZvbnQpOiBTZXQgdGhlIGZhbGxiYWNrIGZvbnQn
cyBzaXplLgorCiAyMDExLTEwLTMxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEFkZCBSZXNvdXJjZVByZXZpZXdWaWV3LmpzIHRv
IHRoZSBsaXN0IG9mIGluc3BlY3RvciBmcm9udC1lbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggZTNiOGVj
NzNlY2EwNWY2NWEzZDNhNzRkYTNiMDE3NmY3ZDQ2MzZlNi4uZDM2MjcxMzBiOTY2NDJmZDVlZTFi
NzgzODY0MzkzMDUwNGMzYzhhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5w
cm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTMyNTksNyArMzI1OSw3IEBA
IGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9NQVRITUw9MSkgewogIyBhbmQgbWVhc3VyZW1lbnQg
aW4gV2ViQ29yZS4gQmVjYXVzZSB0aGUgZmVhdHVyZSBpcyBzdGlsbCB1bmRlcmdvaW5nCiAjIGRl
dmVsb3BtZW50LCBpdCBpcyBkaXNhYmxlZCBpbiBidWlsZHMuCiAjCi0jIGV4aXN0cygkJFtRVF9J
TlNUQUxMX0hFQURFUlNdL1F0R3VpL1FSYXdGb250KTogSEFWRV9RUkFXRk9OVD0xCisgZXhpc3Rz
KCQkW1FUX0lOU1RBTExfSEVBREVSU10vUXRHdWkvUVJhd0ZvbnQpOiBIQVZFX1FSQVdGT05UPTEK
IAogIWlzRW1wdHkoSEFWRV9RUkFXRk9OVCkgewogICAgIERFRklORVMgKz0gSEFWRV9RUkFXRk9O
VD0xCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250
Q3VzdG9tUGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgKaW5kZXggMzk5NmQyMjNiOTg3MDJjZGY2MzBiOTg1
ZjY2MjlhOGZiMGE1ZjNiMS4uM2ZlY2NjMmFlNTEyNjRhMjY2MDIxZjFjODA0YjEwMWViNDI1ODVk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1
c3RvbVBsYXRmb3JtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0ZvbnRDdXN0b21QbGF0Zm9ybURhdGEuaApAQCAtMjksNiArMjksOSBAQAogI2luY2x1ZGUg
PHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KKyNpZiBIQVZFKFFSQVdGT05UKQorI2luY2x1ZGUgPFFSYXdG
b250PgorI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDQsMTIgQEAg
cHVibGljOgogICAgIEZvbnRDdXN0b21QbGF0Zm9ybURhdGEoKSB7IH0KICAgICB+Rm9udEN1c3Rv
bVBsYXRmb3JtRGF0YSgpOwogCisjaWYgSEFWRShRUkFXRk9OVCkKKyAgICBRUmF3Rm9udCBtX3Jh
d0ZvbnQ7CisjZWxzZQogICAgIC8vIGZvciB1c2Ugd2l0aCBRRm9udERhdGFiYXNlOjphZGRBcHBs
aWNhdGlvbkZvbnQvcmVtb3ZlQXBwbGljYXRpb25Gb250CiAgICAgaW50IG1faGFuZGxlOworI2Vu
ZGlmCiAKICAgICBGb250UGxhdGZvcm1EYXRhIGZvbnRQbGF0Zm9ybURhdGEoaW50IHNpemUsIGJv
b2wgYm9sZCwgYm9vbCBpdGFsaWMsIEZvbnRPcmllbnRhdGlvbiA9IEhvcml6b250YWwsIFRleHRP
cmllbnRhdGlvbiA9IFRleHRPcmllbnRhdGlvblZlcnRpY2FsUmlnaHQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEZvbnRXaWR0aFZhcmlhbnQgPSBSZWd1bGFyV2lkdGgs
IEZvbnRSZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZvcm1EYXRh
UXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udEN1c3RvbVBs
YXRmb3JtRGF0YVF0LmNwcAppbmRleCAyMGYxNjFhOGYyMWZmODE0MDZhODI2NDk0M2U5ZTAyN2Ix
YjBjMGMzLi45YzdlNzU1OTNiZDkyNjU3N2RiYjFlNzgyOTJhMGNjZDg1ZDgzYWY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250Q3VzdG9tUGxhdGZv
cm1EYXRhUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0Zv
bnRDdXN0b21QbGF0Zm9ybURhdGFRdC5jcHAKQEAgLTMxLDMzICszMSw0NyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIEZvbnRDdXN0b21QbGF0Zm9ybURhdGE6On5Gb250Q3VzdG9tUGxhdGZvcm1E
YXRhKCkKIHsKKyNpZiAhSEFWRShRUkFXRk9OVCkKICAgICBRRm9udERhdGFiYXNlOjpyZW1vdmVB
cHBsaWNhdGlvbkZvbnQobV9oYW5kbGUpOworI2VuZGlmCiB9CiAKIEZvbnRQbGF0Zm9ybURhdGEg
Rm9udEN1c3RvbVBsYXRmb3JtRGF0YTo6Zm9udFBsYXRmb3JtRGF0YShpbnQgc2l6ZSwgYm9vbCBi
b2xkLCBib29sIGl0YWxpYywgRm9udE9yaWVudGF0aW9uLCBUZXh0T3JpZW50YXRpb24sIEZvbnRX
aWR0aFZhcmlhbnQsIEZvbnRSZW5kZXJpbmdNb2RlKQogeworI2lmIEhBVkUoUVJBV0ZPTlQpCisg
ICAgUV9BU1NFUlQobV9yYXdGb250LmlzVmFsaWQoKSk7CisgICAgbV9yYXdGb250LnNldFBpeGVs
U2l6ZShxcmVhbChzaXplKSk7CisgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEobV9yYXdGb250
KTsKKyNlbHNlCiAgICAgUUZvbnQgZm9udDsKICAgICBmb250LnNldEZhbWlseShRRm9udERhdGFi
YXNlOjphcHBsaWNhdGlvbkZvbnRGYW1pbGllcyhtX2hhbmRsZSlbMF0pOwogICAgIGZvbnQuc2V0
UGl4ZWxTaXplKHNpemUpOwogICAgIGlmIChib2xkKQogICAgICAgICBmb250LnNldFdlaWdodChR
Rm9udDo6Qm9sZCk7CiAgICAgZm9udC5zZXRJdGFsaWMoaXRhbGljKTsKLQogICAgIHJldHVybiBG
b250UGxhdGZvcm1EYXRhKGZvbnQpOworI2VuZGlmCiB9CiAKIEZvbnRDdXN0b21QbGF0Zm9ybURh
dGEqIGNyZWF0ZUZvbnRDdXN0b21QbGF0Zm9ybURhdGEoU2hhcmVkQnVmZmVyKiBidWZmZXIpCiB7
CiAgICAgQVNTRVJUX0FSRyhidWZmZXIsIGJ1ZmZlcik7CiAKLSAgICBpbnQgaWQgPSBRRm9udERh
dGFiYXNlOjphZGRBcHBsaWNhdGlvbkZvbnRGcm9tRGF0YShRQnl0ZUFycmF5KGJ1ZmZlci0+ZGF0
YSgpLCBidWZmZXItPnNpemUoKSkpOworICAgIGNvbnN0IFFCeXRlQXJyYXkgZm9udERhdGEoYnVm
ZmVyLT5kYXRhKCksIGJ1ZmZlci0+c2l6ZSgpKTsKKyNpZiAhSEFWRShRUkFXRk9OVCkKKyAgICBp
bnQgaWQgPSBRRm9udERhdGFiYXNlOjphZGRBcHBsaWNhdGlvbkZvbnRGcm9tRGF0YShmb250RGF0
YSk7CiAgICAgaWYgKGlkID09IC0xKQogICAgICAgICByZXR1cm4gMDsKLQogICAgIFFfQVNTRVJU
KFFGb250RGF0YWJhc2U6OmFwcGxpY2F0aW9uRm9udEZhbWlsaWVzKGlkKS5zaXplKCkgPiAwKTsK
KyNlbmRpZgogCiAgICAgRm9udEN1c3RvbVBsYXRmb3JtRGF0YSAqZGF0YSA9IG5ldyBGb250Q3Vz
dG9tUGxhdGZvcm1EYXRhOworI2lmIEhBVkUoUVJBV0ZPTlQpCisgICAgLy8gUGl4ZWwgc2l6ZSBk
b2Vzbid0IG1hdHRlciBhdCB0aGlzIHBvaW50CisgICAgZGF0YS0+bV9yYXdGb250LmxvYWRGcm9t
RGF0YShmb250RGF0YSwgMCwgUUZvbnQ6OlByZWZlckRlZmF1bHRIaW50aW5nKTsKKyNlbHNlCiAg
ICAgZGF0YS0+bV9oYW5kbGUgPSBpZDsKKyNlbmRpZgogICAgIHJldHVybiBkYXRhOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZv
cm1EYXRhLmgKaW5kZXggNzY2MmFhMDA3MWUyNTFkZTQwNTJjNGJmN2ExMDU5NTNlMGZjOGE3Yy4u
NzI4YmZjNWI3YjQ5MGUyMDRmZDc2YWU1ZDY3ZDRlNzVhY2Q4NDA2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9ybURhdGEuaApA
QCAtMTEyLDEzICsxMTIsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2RhdGEgJiYgbV9k
YXRhLT5pc0RlbGV0ZWRWYWx1ZTsKICAgICB9CiAKLSAgICBRRm9udCBmb250KCkgY29uc3QKLSAg
ICB7Ci0gICAgICAgIFFfQVNTRVJUKCFpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpKTsKLSAgICAg
ICAgaWYgKCFtX2RhdGEpCi0gICAgICAgICAgICByZXR1cm4gUUZvbnQoKTsKLSAgICAgICAgcmV0
dXJuIG1fZGF0YS0+Zm9udDsKLSAgICB9CisgICAgUUZvbnQgZm9udCgpIGNvbnN0OworCiAjaWYg
SEFWRShRUkFXRk9OVCkKICAgICBRUmF3Rm9udCByYXdGb250KCkgY29uc3QKICAgICB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1E
YXRhUXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRm9udFBsYXRm
b3JtRGF0YVF0LmNwcAppbmRleCA4NmZjMTJlM2ExZWE3MDgwZTFlYzFlODBmZDBlYTk2MTU2ZWY5
MjAzLi40MmZiZDYxODY1OTk1ZDE0MDE5M2MwN2ZhMGI1YTNiMDJkMzQ2OWM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9Gb250UGxhdGZvcm1EYXRhUXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0ZvbnRQbGF0Zm9y
bURhdGFRdC5jcHAKQEAgLTExNCw2ICsxMTQsMjEgQEAgYm9vbCBGb250UGxhdGZvcm1EYXRhOjpv
cGVyYXRvcj09KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIG90aGVyKSBjb25zdAogICAgIHJldHVy
biBlcXVhbHM7CiB9CiAKK1FGb250IEZvbnRQbGF0Zm9ybURhdGE6OmZvbnQoKSBjb25zdAorewor
ICAgIFFfQVNTRVJUKCFpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpKTsKKyAgICBpZiAoIW1fZGF0
YSkKKyAgICAgICAgcmV0dXJuIFFGb250KCk7CisjaWYgSEFWRShRUkFXRk9OVCkKKyAgICBpZiAo
bV9kYXRhLT5yYXdGb250LmlzVmFsaWQoKSkgeworICAgICAgICBtX2RhdGEtPmZvbnQuc2V0UGl4
ZWxTaXplKHFSb3VuZChtX2RhdGEtPnJhd0ZvbnQucGl4ZWxTaXplKCkpKTsKKyAgICAgICAgbV9k
YXRhLT5mb250LnNldFdlaWdodChtX2RhdGEtPnJhd0ZvbnQud2VpZ2h0KCkpOworICAgICAgICBt
X2RhdGEtPmZvbnQuc2V0U3R5bGUobV9kYXRhLT5yYXdGb250LnN0eWxlKCkpOworICAgIH0KKyNl
bmRpZgorICAgIHJldHVybiBtX2RhdGEtPmZvbnQ7Cit9CisKIHVuc2lnbmVkIEZvbnRQbGF0Zm9y
bURhdGE6Omhhc2goKSBjb25zdAogewogICAgIGlmICghbV9kYXRhKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>