<?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>14058</bug_id>
          
          <creation_ts>2007-06-10 00:58:17 -0700</creation_ts>
          <short_desc>[GDK] Font backend cleanup</short_desc>
          <delta_ts>2007-06-26 22:45:16 -0700</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>523.x (Safari 3)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</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>
          <dependson>14059</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alp Toker">alp</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>8012</commentid>
    <comment_count>0</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-06-10 00:58:17 -0700</bug_when>
    <thetext>The &quot;GDK&quot; font backend locks/unlocks redundantly, misses a free() and truncates the higher part of Unicode characters, preventing them from rendering correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>8006</commentid>
    <comment_count>1</comment_count>
      <attachid>14923</attachid>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-06-10 01:15:47 -0700</bug_when>
    <thetext>Created attachment 14923
Font backend cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>7653</commentid>
    <comment_count>2</comment_count>
    <who name="Alp Toker">alp</who>
    <bug_when>2007-06-13 14:05:49 -0700</bug_when>
    <thetext>Add dependency on #14059 since this change requires the content type to be properly set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6240</commentid>
    <comment_count>3</comment_count>
      <attachid>14923</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2007-06-26 00:42:53 -0700</bug_when>
    <thetext>Comment on attachment 14923
Font backend cleanup

Looks ok to me - I&apos;m not a Cairo or Freetype expert though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6116</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-06-26 22:45:16 -0700</bug_when>
    <thetext>Landed in r23811.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14923</attachid>
            <date>2007-06-10 01:15:47 -0700</date>
            <delta_ts>2007-06-26 00:42:53 -0700</delta_ts>
            <desc>Font backend cleanup</desc>
            <filename>fonts-cleanup.patch</filename>
            <type>text/plain</type>
            <size>6260</size>
            <attacher name="Alp Toker">alp</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjA4NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDctMDYtMTAgIEFscCBUb2tlciAgPGFscC50b2tlckBjb2xsYWJv
cmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNTgKKyAgICAgICAg
R2RrIGZvbnQgYmFja2VuZCBjbGVhbnVwCisKKyAgICAgICAgKiBwbGF0Zm9ybS9Gb250RGF0YS5o
OiBSZW1vdmUgb2Jzb2xldGUgZnVuY3Rpb24uCisgICAgICAgICogcGxhdGZvcm0vZ2RrL0ZvbnRE
YXRhR2RrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRhOjpjb250YWluc0NoYXJhY3Rl
cnMpOiBMb2NrL3VubG9jayBvbmx5IG9uY2UuCisgICAgICAgIChXZWJDb3JlOjpGb250RGF0YTo6
cGxhdGZvcm1XaWR0aEZvckdseXBoKTogUmVtb3ZlIG5lZWRsZXNzIGNhc3QuCisgICAgICAgICog
cGxhdGZvcm0vZ2RrL0ZvbnRQbGF0Zm9ybURhdGEuaDogUmVtb3ZlIG9ic29sZXRlIGZ1bmN0aW9u
LgorICAgICAgICAqIHBsYXRmb3JtL2dkay9Gb250UGxhdGZvcm1EYXRhR2RrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEpOiBQYXNzIHRo
ZSBhY3R1YWwgc2l6ZSwKKyAgICAgICAgbm90IHRoZSBwaXhlbCBzaXplLgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6fkZvbnRQbGF0Zm9ybURhdGEpOiBGcmVlIG1fZm9udE1h
dHJpeC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nZGsvR2x5cGhQYWdlVHJlZU5vZGVHZGsuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6R2x5cGhQYWdlOjpmaWxsKTogTG9jay91bmxvY2sgb25seSBvbmNl
LgorCiAyMDA3LTA2LTA4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgT2xpdmVyLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9Gb250RGF0YS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vRm9udERhdGEuaAkocmV2aXNpb24gMjIwODQp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL0ZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcg
KzkyLDYgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oR0RLKQogICAgIHZvaWQgc2V0Rm9udChj
YWlyb190KikgY29uc3Q7Ci0gICAgR2x5cGggZ2V0R2x5cGhJbmRleChVQ2hhciBjKSBjb25zdCB7
IHJldHVybiBtX2ZvbnQuaW5kZXgoYyk7IH0KICNlbmRpZgogCiBwcml2YXRlOgpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9nZGsvRm9udERhdGFHZGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ2RrL0ZvbnREYXRhR2RrLmNwcAkocmV2aXNpb24gMjIwODQpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dkay9Gb250RGF0YUdkay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1dGVyLCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA2IE1pY2hhZWwgRW1tZWwgbWlr
ZS5lbW1lbEBnbWFpbC5jb20gCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHAu
dG9rZXJAY29sbGFib3JhLmNvLnVrPgogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKQEAgLTc3LDkgKzc4LDIwIEBAIEZvbnREYXRhKiBGb250RGF0YTo6c21hbGxDYXBz
Rm9udERhdGEoY28KIAogYm9vbCBGb250RGF0YTo6Y29udGFpbnNDaGFyYWN0ZXJzKGNvbnN0IFVD
aGFyKiBjaGFyYWN0ZXJzLCBpbnQgbGVuZ3RoKSBjb25zdAogewotICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBsZW5ndGg7IGkrKykKLSAgICAgICAgaWYgKGdldEdseXBoSW5kZXgoY2hhcmFj
dGVyc1tpXSkgPT0gMCkKKyAgICBGVF9GYWNlIGZhY2UgPSBjYWlyb19mdF9zY2FsZWRfZm9udF9s
b2NrX2ZhY2UobV9mb250Lm1fc2NhbGVkRm9udCk7CisKKyAgICBpZiAoIWZhY2UpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkr
KykgeworICAgICAgICBpZiAoRmNGcmVlVHlwZUNoYXJJbmRleChmYWNlLCBjaGFyYWN0ZXJzW2ld
KSA9PSAwKSB7CisgICAgICAgICAgICBjYWlyb19mdF9zY2FsZWRfZm9udF91bmxvY2tfZmFjZSht
X2ZvbnQubV9zY2FsZWRGb250KTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
fQorICAgIH0KKworICAgIGNhaXJvX2Z0X3NjYWxlZF9mb250X3VubG9ja19mYWNlKG1fZm9udC5t
X3NjYWxlZEZvbnQpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTkxLDcgKzEwMyw3IEBA
IHZvaWQgRm9udERhdGE6OmRldGVybWluZVBpdGNoKCkKIGZsb2F0IEZvbnREYXRhOjpwbGF0Zm9y
bVdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0CiB7CiAgICAgY2Fpcm9fZ2x5cGhfdCBj
Z2x5cGg7Ci0gICAgY2dseXBoLmluZGV4ID0gKGludClnbHlwaDsKKyAgICBjZ2x5cGguaW5kZXgg
PSBnbHlwaDsKICAgICBjYWlyb190ZXh0X2V4dGVudHNfdCBleHRlbnRzOwogICAgIGNhaXJvX3Nj
YWxlZF9mb250X2dseXBoX2V4dGVudHMobV9mb250Lm1fc2NhbGVkRm9udCwgJmNnbHlwaCwgMSwg
JmV4dGVudHMpOwogICAgIGZsb2F0IHcgPSBleHRlbnRzLnhfYWR2YW5jZTsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ2RrL0ZvbnRQbGF0Zm9ybURhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dkay9Gb250UGxhdGZvcm1EYXRhLmgJKHJldmlzaW9uIDIyMDg0KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9nZGsvRm9udFBsYXRmb3JtRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Nyw3ICs0Nyw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpbml0KCk7CiAKICAgICBzdGF0
aWMgY2Fpcm9fZm9udF9mYWNlX3QqKiBsaXN0KEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZmFtaWx5TmFtZSwgaW50KiBsZW5ndGgpOwotICAgIEdseXBoIGluZGV4KHVuc2ln
bmVkIHVjczQpIGNvbnN0OwogCiAgICAgYm9vbCBpc0ZpeGVkUGl0Y2goKTsKIApJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9nZGsvRm9udFBsYXRmb3JtRGF0YUdkay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9nZGsvRm9udFBsYXRmb3JtRGF0YUdkay5jcHAJKHJldmlzaW9uIDIy
MDg0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9nZGsvRm9udFBsYXRmb3JtRGF0YUdkay5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTk0LDcgKzk0LDcgQEAgRm9udFBsYXRmb3JtRGF0YTo6Rm9udFBsYXRm
b3JtRGF0YShjb25zdAogICAgIG1fZm9udEZhY2UgPSBjYWlyb19mdF9mb250X2ZhY2VfY3JlYXRl
X2Zvcl9wYXR0ZXJuKG1fcGF0dGVybik7CiAgICAgbV9mb250TWF0cml4ID0gKGNhaXJvX21hdHJp
eF90KiltYWxsb2Moc2l6ZW9mKGNhaXJvX21hdHJpeF90KSk7CiAgICAgY2Fpcm9fbWF0cml4X3Qg
Y3RtOwotICAgIGNhaXJvX21hdHJpeF9pbml0X3NjYWxlKG1fZm9udE1hdHJpeCwgbV9mb250RGVz
Y3JpcHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSwgbV9mb250RGVzY3JpcHRpb24uY29tcHV0ZWRQ
aXhlbFNpemUoKSk7CisgICAgY2Fpcm9fbWF0cml4X2luaXRfc2NhbGUobV9mb250TWF0cml4LCBt
X2ZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKSwgbV9mb250RGVzY3JpcHRpb24uY29tcHV0
ZWRTaXplKCkpOwogICAgIGNhaXJvX21hdHJpeF9pbml0X2lkZW50aXR5KCZjdG0pOwogICAgIG1f
b3B0aW9ucyA9IGNhaXJvX2ZvbnRfb3B0aW9uc19jcmVhdGUoKTsKICAgICBtX3NjYWxlZEZvbnQg
PSBjYWlyb19zY2FsZWRfZm9udF9jcmVhdGUobV9mb250RmFjZSwgbV9mb250TWF0cml4LCAmY3Rt
LCBtX29wdGlvbnMpOwpAQCAtMTIwLDYgKzEyMCw3IEBAIEZvbnRQbGF0Zm9ybURhdGE6On5Gb250
UGxhdGZvcm1EYXRhKCkKIHsKICAgICBpZiAobV9wYXR0ZXJuICYmICgoRmNQYXR0ZXJuKiktMSAh
PSBtX3BhdHRlcm4pKQogICAgICAgICBGY1BhdHRlcm5EZXN0cm95KG1fcGF0dGVybik7CisgICAg
ZnJlZShtX2ZvbnRNYXRyaXgpOwogICAgIGNhaXJvX2ZvbnRfZmFjZV9kZXN0cm95KG1fZm9udEZh
Y2UpOwogICAgIGNhaXJvX3NjYWxlZF9mb250X2Rlc3Ryb3kobV9zY2FsZWRGb250KTsKICAgICBj
YWlyb19mb250X29wdGlvbnNfZGVzdHJveShtX29wdGlvbnMpOwpAQCAtMTYyLDE2ICsxNjMsNiBA
QCBjYWlyb19mb250X2ZhY2VfdCoqIEZvbnRQbGF0Zm9ybURhdGE6OmxpCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAotR2x5cGggRm9udFBsYXRmb3JtRGF0YTo6aW5kZXgodW5zaWduZWQgdWNzNCkg
Y29uc3QKLXsKLSAgICB1Y3M0ID0gKDB4ZmYgJiB1Y3M0KTsKLSAgICBGVF9GYWNlIGZhY2UgPSBj
YWlyb19mdF9zY2FsZWRfZm9udF9sb2NrX2ZhY2UobV9zY2FsZWRGb250KTsKLSAgICBhc3NlcnQo
ZmFjZSAhPSAwKTsKLSAgICBpbnQgaW5kZXggPSBGY0ZyZWVUeXBlQ2hhckluZGV4KGZhY2UsIHVj
czQpOwotICAgIGNhaXJvX2Z0X3NjYWxlZF9mb250X3VubG9ja19mYWNlKG1fc2NhbGVkRm9udCk7
Ci0gICAgcmV0dXJuIGluZGV4OwotfQotCiB2b2lkIEZvbnRQbGF0Zm9ybURhdGE6OnNldEZvbnQo
Y2Fpcm9fdCogY3IpIGNvbnN0CiB7CiAgICAgY2Fpcm9fc2V0X2ZvbnRfZmFjZShjciwgbV9mb250
RmFjZSk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dkay9HbHlwaFBhZ2VUcmVlTm9kZUdkay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9nZGsvR2x5cGhQYWdlVHJlZU5vZGVH
ZGsuY3BwCShyZXZpc2lvbiAyMjA4NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ2RrL0dseXBoUGFn
ZVRyZWVOb2RlR2RrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgTWljaGFlbCBFbW1lbCBtaWtlLmVtbWVsQGdtYWls
LmNvbSAKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscC50b2tlckBjb2xsYWJv
cmEuY28udWs+CiAgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAt
MzcsOCArMzgsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBib29sIEdseXBoUGFnZTo6Zmls
bChVQ2hhciogYnVmZmVyLCB1bnNpZ25lZCBidWZmZXJMZW5ndGgsIGNvbnN0IEZvbnREYXRhKiBm
b250RGF0YSkKIHsKKyAgICBGVF9GYWNlIGZhY2UgPSBjYWlyb19mdF9zY2FsZWRfZm9udF9sb2Nr
X2ZhY2UoZm9udERhdGEtPm1fZm9udC5tX3NjYWxlZEZvbnQpOworCisgICAgaWYgKCFmYWNlKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVm
ZmVyTGVuZ3RoOyBpKyspCi0gICAgICAgIHNldEdseXBoRGF0YUZvckluZGV4KGksIGZvbnREYXRh
LT5nZXRHbHlwaEluZGV4KGJ1ZmZlcltpXSksIGZvbnREYXRhKTsKKyAgICAgICAgc2V0R2x5cGhE
YXRhRm9ySW5kZXgoaSwgRmNGcmVlVHlwZUNoYXJJbmRleChmYWNlLCBidWZmZXJbaV0pLCBmb250
RGF0YSk7CisKKyAgICBjYWlyb19mdF9zY2FsZWRfZm9udF91bmxvY2tfZmFjZShmb250RGF0YS0+
bV9mb250Lm1fc2NhbGVkRm9udCk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAo=
</data>
<flag name="review"
          id="6165"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>