<?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>13612</bug_id>
          
          <creation_ts>2007-05-07 09:59:29 -0700</creation_ts>
          <short_desc>Provide additional comments for the font and glyph systems</short_desc>
          <delta_ts>2007-05-07 18:26:00 -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>WebCore Misc.</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brett Wilson (Google)">brettw</reporter>
          <assigned_to name="Brett Wilson (Google)">brettw</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>11023</commentid>
    <comment_count>0</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2007-05-07 09:59:29 -0700</bug_when>
    <thetext>I spent some time trying to figure out the font fallback, caching, and glyph systems. It is complex and not well-documented. We should provide some better comments explaining what is going on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10754</commentid>
    <comment_count>1</comment_count>
      <attachid>14405</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2007-05-07 17:09:08 -0700</bug_when>
    <thetext>Created attachment 14405
Add comments for glyph files.

This adds more comments to the glyph system. I also added one assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10756</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-05-07 17:19:30 -0700</bug_when>
    <thetext>I&apos;ll handle this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10749</commentid>
    <comment_count>3</comment_count>
      <attachid>14405</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-05-07 17:21:17 -0700</bug_when>
    <thetext>Comment on attachment 14405
Add comments for glyph files.

The comments conflict with the changes in bug 3315 (which moves the roots among other things).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10751</commentid>
    <comment_count>4</comment_count>
      <attachid>14405</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-05-07 17:33:13 -0700</bug_when>
    <thetext>Comment on attachment 14405
Add comments for glyph files.

Clearing the review bit. I&apos;m going to tweak these comments a bit in order to keep them consistent with 3315.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10743</commentid>
    <comment_count>5</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2007-05-07 18:08:37 -0700</bug_when>
    <thetext>Thanks Dave!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10744</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-05-07 18:20:00 -0700</bug_when>
    <thetext>Ok, landed.  Thanks for taking the time to write these comments.  They helped me spot a bug in my changes in 3315. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10745</commentid>
    <comment_count>7</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2007-05-07 18:26:00 -0700</bug_when>
    <thetext>Going to have to make GlyphPages refcounted.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14405</attachid>
            <date>2007-05-07 17:09:08 -0700</date>
            <delta_ts>2007-05-07 17:33:13 -0700</delta_ts>
            <desc>Add comments for glyph files.</desc>
            <filename>GlyphComments.diff</filename>
            <type>text/plain</type>
            <size>10344</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vR2x5cGhQYWdlVHJlZU5vZGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vR2x5cGhQYWdlVHJlZU5vZGUuY3BwCShyZXZpc2lvbiAyMTI4
NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vR2x5cGhQYWdlVHJlZU5vZGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NywxMSArNTcsMjAgQEAKIHsKICAgICBBU1NFUlQoIW1fcGFnZSk7CiAKKyAgICAv
LyBUaGlzIGZ1bmN0aW9uIG11c3Qgbm90IGJlIGNhbGxlZCBmb3IgdGhlIHJvb3Qgb2YgdGhlIHRy
ZWUsIGJlY2F1c2UgdGhhdAorICAgIC8vIGxldmVsIGRvZXMgbm90IGNvbnRhaW4gYW55IGdseXBo
cy4KKyAgICBBU1NFUlQobV9sZXZlbCA+IDAgJiYgbV9wYXJlbnQpOworCisgICAgLy8gVGhlIHBh
cmVudCdzIHBhZ2Ugd2lsbCBiZSBOVUxMIGlmIHdlIGFyZSBsZXZlbCAxIG9yIHRoZSBwYXJlbnQn
cyBmb250CisgICAgLy8gZGlkIG5vdCBpbmNsdWRlIGFueSBnbHlwaHMgZm9yIHRoYXQgcGFnZS4K
ICAgICBHbHlwaFBhZ2UqIHBhcmVudFBhZ2UgPSBtX3BhcmVudC0+bV9wYWdlOwogCisgICAgLy8g
TlVMTCBGb250RGF0YSBtZWFucyB3ZSdyZSBiZWluZyBhc2tlZCBmb3IgdGhlIHN5c3RlbSBmYWxs
YmFjayBmb250LgogICAgIGlmIChmb250RGF0YSkgewogICAgICAgICBpZiAobV9sZXZlbCA9PSAx
KSB7Ci0gICAgICAgICAgICAvLyBDaGlsZHJlbiBvZiB0aGUgcm9vdCBob2xkIHB1cmUgcGFnZXMu
CisgICAgICAgICAgICAvLyBDaGlsZHJlbiBvZiB0aGUgcm9vdCBob2xkIHB1cmUgcGFnZXMuIFRo
ZXNlIHdpbGwgY292ZXIgb25seSBvbmUKKyAgICAgICAgICAgIC8vIGZvbnQncyBnbHlwaHMsIGFu
ZCB3aWxsIGhhdmUgZ2x5cGggaW5kZXggMCBpZiB0aGUgZm9udCBkb2VzIG5vdAorICAgICAgICAg
ICAgLy8gY29udGFpbiB0aGUgZ2x5cGguCiAgICAgICAgICAgICB1bnNpZ25lZCBzdGFydCA9IHBh
Z2VOdW1iZXIgKiBHbHlwaFBhZ2U6OnNpemU7CiAgICAgICAgICAgICBVQ2hhciBidWZmZXJbR2x5
cGhQYWdlOjpzaXplICogMiArIDJdOwogICAgICAgICAgICAgdW5zaWduZWQgYnVmZmVyTGVuZ3Ro
OwpAQCAtMTExLDE4ICsxMjAsMzQgQEAKICAgICAgICAgICAgICAgICBkZWxldGUgbV9wYWdlOwog
ICAgICAgICAgICAgICAgIG1fcGFnZSA9IDA7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxz
ZSBpZiAocGFyZW50UGFnZSAmJiBwYXJlbnRQYWdlLT5vd25lcigpICE9IG1fcGFyZW50KQotICAg
ICAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBvdmVybGF5IHBhZ2UgaXMgb3duZWQgYnkgdGhl
IGNoaWxkIG9mIHRoZSBvd25lciBvZiB0aGUKLSAgICAgICAgICAgIC8vIHBhcmVudCBwYWdlLCBh
bmQgdGhlcmVmb3JlIHdpbGwgYmUgc2hhcmVkLgorICAgICAgICB9IGVsc2UgaWYgKHBhcmVudFBh
Z2UgJiYgcGFyZW50UGFnZS0+b3duZXIoKSAhPSBtX3BhcmVudCkgeworICAgICAgICAgICAgLy8g
VGhlIHBhZ2Ugd2UncmUgb3ZlcnJpZGluZyBtYXkgbm90IGJlIG93bmVkIGJ5IG91ciBwYXJlbnQg
bm9kZS4KKyAgICAgICAgICAgIC8vIFRoaXMgaGFwcGVucyB3aGVuIG91ciBwYXJlbnQgbm9kZSBw
cm92aWRlcyBubyB1c2VmdWwgb3ZlcnJpZGVzCisgICAgICAgICAgICAvLyBhbmQganVzdCBjb3Bp
ZXMgdGhlIHBvaW50ZXIgdG8gYW4gYWxyZWFkeS1leGlzdGluZyBwYWdlIChzZWUKKyAgICAgICAg
ICAgIC8vIGJlbG93KS4KKyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBXZSB3YW50IG91
ciBvdmVycmlkZSB0byBiZSBzaGFyZWQgYnkgYWxsIG5vZGVzIHRoYXQgcmVmZXJlbmNlCisgICAg
ICAgICAgICAvLyB0aGF0IHBhZ2UgdG8gYXZvaWQgZHVwbGljYXRpb24sIGFuZCBzbyBzdGFuZGFy
ZGl6ZSBvbiBoYXZpbmcgdGhlCisgICAgICAgICAgICAvLyBwYWdlJ3Mgb3duZXIgY29sbGVjdCBh
bGwgdGhlIG92ZXJyaWRlcywgc28gY2FsbCBnZXRDaGlsZCBvbiB0aGUKKyAgICAgICAgICAgIC8v
IGd1eSB3aG8gb3ducyB0aGUgcGFnZSB3aXRoIHRoZSBkZXNpcmVkIGZvbnQsIHdoaWNoIHdpbGwg
cG9wdWxhdGUKKyAgICAgICAgICAgIC8vIHRoZSBwYWdlLCBhbmQgd2UgcmVmZXJlbmNlIHRoYXQu
CiAgICAgICAgICAgICBtX3BhZ2UgPSBwYXJlbnRQYWdlLT5vd25lcigpLT5nZXRDaGlsZChmb250
RGF0YSwgcGFnZU51bWJlciktPnBhZ2UoKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAv
LyBHZXQgdGhlIHB1cmUgcGFnZSBmb3IgdGhlIGZhbGxiYWNrIGZvbnQuCisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAvLyBHZXQgdGhlIHB1cmUgcGFnZSBmb3IgdGhlIGZhbGxiYWNrIGZv
bnQgKGF0IGxldmVsIDEgd2l0aCBubworICAgICAgICAgICAgLy8gb3ZlcnJpZGVzKS4gZ2V0Um9v
dENoaWxkIHdpbGwgYWx3YXlzIGNyZWF0ZSBhIHBhZ2UgaWYgb25lCisgICAgICAgICAgICAvLyBk
b2Vzbid0IGV4aXN0LCBidXQgdGhlIHBhZ2UgZG9lc24ndCBuZWNlc3NhcmlseSBoYXZlIGdseXBo
cworICAgICAgICAgICAgLy8gKHRoaXMgcG9pbnRlciBtYXkgYmUgTlVMTCkuCiAgICAgICAgICAg
ICBHbHlwaFBhZ2UqIGZhbGxiYWNrUGFnZSA9IGdldFJvb3RDaGlsZChmb250RGF0YSwgcGFnZU51
bWJlciktPnBhZ2UoKTsKLSAgICAgICAgICAgIGlmICghcGFyZW50UGFnZSkKKyAgICAgICAgICAg
IGlmICghcGFyZW50UGFnZSkgeworICAgICAgICAgICAgICAgIC8vIFdoZW4gdGhlIHBhcmVudCBo
YXMgbm8gZ2x5cGhzIGZvciB0aGlzIHBhZ2UsIHdlIGNhbiBlYXNpbHkKKyAgICAgICAgICAgICAg
ICAvLyBvdmVycmlkZSBpdCBqdXN0IGJ5IHN1cHBseWluZyB0aGUgZ2x5cGhzIGZyb20gb3VyIGZv
bnQuCiAgICAgICAgICAgICAgICAgbV9wYWdlID0gZmFsbGJhY2tQYWdlOwotICAgICAgICAgICAg
ZWxzZSBpZiAoIWZhbGxiYWNrUGFnZSkgeworICAgICAgICAgICAgfSBlbHNlIGlmICghZmFsbGJh
Y2tQYWdlKSB7CisgICAgICAgICAgICAgICAgLy8gV2hlbiBvdXIgZm9udCBoYXMgbm8gZ2x5cGhz
IGZvciB0aGlzIHBhZ2UsIG91ciBvdmVycmlkZSBvZgorICAgICAgICAgICAgICAgIC8vIHRoZSBw
YXJlbnQgcGFnZSBpcyBqdXN0IHRoZSBwYXJlbnQgcGFnZS4KICAgICAgICAgICAgICAgICBtX3Bh
Z2UgPSBwYXJlbnRQYWdlOwogICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAv
LyBDb21iaW5lIHRoZSBwYXJlbnQncyBnbHlwaHMgYW5kIG91cnMgdG8gZm9ybSBhIG5ldyBtb3Jl
IGNvbXBsZXRlIHBhZ2UuCiAgICAgICAgICAgICAgICAgbV9wYWdlID0gbmV3IEdseXBoUGFnZSh0
aGlzKTsKIAogICAgICAgICAgICAgICAgIC8vIE92ZXJsYXkgdGhlIHBhcmVudCBwYWdlIG9uIHRo
ZSBmYWxsYmFjayBwYWdlLiBDaGVjayBpZiB0aGUgZmFsbGJhY2sgZm9udApAQCAtMTQxLDYgKzE2
Niw4IEBACiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKCFuZXdHbHlw
aHMpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gV2hvb3BzLCB3ZSBkaWRuJ3Qgb3ZlcnJpZGUg
YW55dGhpbmcsIG1ha2luZyBvdXIgb3ZlcnJpZGUKKyAgICAgICAgICAgICAgICAgICAgLy8ganVz
dCB0aGUgcGFyZW50LgogICAgICAgICAgICAgICAgICAgICBkZWxldGUgbV9wYWdlOwogICAgICAg
ICAgICAgICAgICAgICBtX3BhZ2UgPSBwYXJlbnRQYWdlOwogICAgICAgICAgICAgICAgIH0KQEAg
LTE0OSw3ICsxNzYsOSBAQAogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fcGFnZSA9IG5ldyBHbHlw
aFBhZ2UodGhpcyk7CiAgICAgICAgIC8vIFN5c3RlbSBmYWxsYmFjay4gSW5pdGlhbGl6ZWQgd2l0
aCB0aGUgcGFyZW50J3MgcGFnZSBoZXJlLCBhcyBpbmRpdmlkdWFsCi0gICAgICAgIC8vIGVudHJp
ZXMgbWF5IHVzZSBkaWZmZXJlbnQgZm9udHMgZGVwZW5kaW5nIG9uIGNoYXJhY3Rlci4KKyAgICAg
ICAgLy8gZW50cmllcyBtYXkgdXNlIGRpZmZlcmVudCBmb250cyBkZXBlbmRpbmcgb24gY2hhcmFj
dGVyLiBJZiB0aGUgRm9udAorICAgICAgICAvLyBldmVyIGZpbmRzIGl0IG5lZWRzIGEgZ2x5cGgg
b3V0IG9mIHRoZSBzeXN0ZW0gZmFsbGJhY2sgcGFnZSwgaXQgd2lsbAorICAgICAgICAvLyBhc2sg
dGhlIHN5c3RlbSBmb3IgdGhlIGJlc3QgZm9udCB0byB1c2UgYW5kIGZpbGwgdGhhdCBnbHBoeSBp
biBmb3IgdXMuCiAgICAgICAgIGlmIChwYXJlbnRQYWdlKQogICAgICAgICAgICAgbWVtY3B5KG1f
cGFnZS0+bV9nbHlwaHMsIHBhcmVudFBhZ2UtPm1fZ2x5cGhzLCBHbHlwaFBhZ2U6OnNpemUgKiBz
aXplb2YobV9wYWdlLT5tX2dseXBoc1swXSkpOwogICAgICAgICBlbHNlIHsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vR2x5cGhQYWdlVHJlZU5vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL0dseXBoUGFnZVRyZWVOb2RlLmgJKHJldmlzaW9uIDIxMjg3KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9HbHlwaFBhZ2VUcmVlTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxMSArNDAs
MjEgQEAKIAogdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBHbHlwaDsKIAotc3RydWN0IEdseXBoRGF0
YSB7ICAgIAorLy8gSG9sZHMgdGhlIGdseXBoIGluZGV4IGFuZCB0aGUgY29ycmVzcG9uZGluZyBG
b250RGF0YSBpbmZvcm1hdGlvbiBmb3IgYSBnaXZlbgorLy8gY2hhcmFjdGVyLgorc3RydWN0IEds
eXBoRGF0YSB7CiAgICAgR2x5cGggZ2x5cGg7CiAgICAgY29uc3QgRm9udERhdGEqIGZvbnREYXRh
OwogfTsKIAorLy8gQSBHbHlwaFBhZ2UgY29udGFpbnMgYSBmaXhlZC1zaXplIHNldCBvZiBHbHlw
aERhdGEgbWFwcGluZ3MgZm9yIGEgY29udGlndW91cworLy8gcmFuZ2Ugb2YgY2hhcmFjdGVycyBp
biB0aGUgVW5pY29kZSBjb2RlIHNwYWNlLiBHbHlwaFBhZ2VzIGFyZSBpbmRleGVkCisvLyBzdGFy
dGluZyBmcm9tIDAgYW5kIGluY3JlbWVudGluZyBmb3IgZWFjaCAyNTYgZ2x5cGhzLgorLy8KKy8v
IE9uZSBwYWdlIG1heSBhY3R1YWxseSBpbmNsdWRlIGdseXBocyBmcm9tIG90aGVyIGZvbnRzIGlm
IHRoZSBjaGFyYWN0ZXJzIGFyZQorLy8gbWlzc2luZyBpbiB0aGUgcGFyaW1hcnkgZm9udC4gSXQg
aXMgb3duZWQgYnkgZXhhY3RseSBvbmUgR2x5cGhQYWdlVHJlZU5vZGUsCisvLyBhbHRob3VnaCBt
dWx0aXBsZSBub2RlcyBtYXkgcmVmZXJlbmNlIGl0IGFzIHRoZWlyICJwYWdlIiBpZiB0aGV5IGFy
ZSBzdXBwb3NlZAorLy8gdG8gYmUgb3ZlcnJpZGluZyB0aGUgcGFyZW50J3Mgbm9kZSwgYnV0IHBy
b3ZpZGUgbm8gYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4KIHN0cnVjdCBHbHlwaFBhZ2UgewogICAg
IEdseXBoUGFnZSgpCiAgICAgICAgIDogbV9vd25lcigwKQpAQCAtNzUsNiArODUsMjcgQEAKICAg
ICBib29sIGZpbGwoVUNoYXIqIGNoYXJhY3RlckJ1ZmZlciwgdW5zaWduZWQgYnVmZmVyTGVuZ3Ro
LCBjb25zdCBGb250RGF0YSogZm9udERhdGEpOwogfTsKIAorLy8gVGhlIGdseXBoICJ0cmVlIiBp
cyBhIGRhdGEgc3RydWN0dXJlIG1hcHBpbmcgKEZvbnREYXRhLCBnbHlwaCBwYWdlIG51bWJlcikK
Ky8vIHRvIGEgR2x5cGhQYWdlLiAgTGV2ZWwgMCAodGhlICJyb290IikgaXMgc3BlY2lhbC4gVGhl
cmUgaXMgb25lCisvLyBHbHlwaFBhZ2VUcmVlTm9kZSBmb3IgZWFjaCBnbHlwaCBwYWdlIG51bWJl
ci4gVGhlc2Ugcm9vdHMgYXJlIHN0b3JlZCBhcworLy8gc3RhdGljIGRhdGEgaW5zaWRlIHRoZSBn
ZXRSb290KCkgZnVuY3Rpb24uICBUaGVzZSBub2RlcyBkbyBub3QgaGF2ZSBhCisvLyBHbHlwaFBh
Z2UgYXNzb2NpYXRlZCB3aXRoIHRoZW0sIGFuZCB0aGVpciBpbml0aWFsaXplUGFnZSgpIGZ1bmN0
aW9uIGlzIG5ldmVyCisvLyBjYWxsZWQgdG8gZmlsbCB0aGUgZ2x5cGhzLgorLy8KKy8vIEVhY2gg
cm9vdCBub2RlcyBtYXBzIGEgRm9udERhdGEgcG9pbnRlciB0byBhbm90aGVyIEdseXBoUGFnZVRy
ZWVOb2RlIGF0CisvLyBsZXZlbCAxICh0aGUgInJvb3QgY2hpbGQiKSB0aGF0IHN0b3JlcyB0aGUg
YWN0dWFsIGdseXBocyBmb3IgYSBzcGVjaWZpYyBmb250LgorLy8gVGhlc2Ugbm9kZXMgd2lsbCBv
bmx5IGhhdmUgYSBHbHlwaFBhZ2UgaWYgdGhleSBoYXZlIGdseXBocyBmb3IgdGhhdCByYW5nZS4K
Ky8vCisvLyBMZXZlbHMgZ3JlYXRlciB0aGFuIG9uZSBjb3JyZXNwb25kIHRvIHN1YnNlcXVlbnQg
bGV2ZWxzIG9mIHRoZSBmYWxsYmFjayBsaXN0CisvLyBmb3IgdGhhdCBmb250LiBUaGVzZSBsZXZl
bHMgb3ZlcnJpZGUgdGhlaXIgcGFyZW50J3MgcGFnZSBvZiBnbHlwaHMgYnkKKy8vIGZpbGxpbmcg
aW4gaG9sZXMgd2l0aCB0aGUgbmV3IGZvbnQsIG1ha2luZyBhIG1vcmUgY29tcGxldGUgcGFnZS4K
Ky8vCisvLyBBIE5VTEwgRm9udERhdGEgcG9pbnRlciBpcyBtYWdpYyBhbmQgY29ycmVzcG9uZHMg
dG8gdGhlIHN5c3RlbSBmYWxsYmFjaworLy8gZm9udC4gSXQgaXMgdHJhY2tlZCBzZXBhcmF0ZWx5
IGZyb20gdGhlIHJlZ3VsYXIgcGFnZXMgYW5kIG92ZXJyaWRlcyBzbyB0aGF0CisvLyB0aGUgZ2x5
cGggcGFnZXMgZG8gbm90IGdldCBwb2xsdXRlZCB3aXRoIHRoZXNlIGxhc3QtcmVzb3J0IGdseXBo
cy4gVGhlCisvLyBzeXN0ZW0gZmFsbGJhY2sgcGFnZSBpcyBub3QgcG9wdWxhdGVkIGF0IGNvbnN0
cnVjdGlvbiBsaWtlIHRoZSBvdGhlciBvbmVzLAorLy8gYnV0IG9uIGRlbWFuZCBmb3IgZWFjaCBn
bHlwaCwgYmVjYXVzZSB0aGUgc3lzdGVtIG1heSBuZWVkIHRvIHVzZSBkaWZmZXJlbnQKKy8vIGZh
bGxiYWNrIGZvbnRzIGZvciBlYWNoLiBUaGlzIGxhenkgcG9wdWxhdGlvbiBpcyBkb25lIGJ5IHRo
ZSBGb250LgogY2xhc3MgR2x5cGhQYWdlVHJlZU5vZGUgewogcHVibGljOgogICAgIEdseXBoUGFn
ZVRyZWVOb2RlKCkKQEAgLTg5LDYgKzEyMCw5IEBACiAgICAgewogICAgIH0KIAorICAgIC8vIFRo
ZSBtb3N0IHVzZWZ1bCBmdW5jdGlvbiwgdGhpcyByZXR1cm5zIHRoZSBub2RlIGZvciB0aGUgZ2l2
ZW4gKEZvbnREYXRhLAorICAgIC8vIGdseXBoIHBhZ2UgbnVtYmVyKSBwYWlyLiBUaGUgcmV0dXJu
ZWQgbm9kZSBwb2ludGVyIGNhbiBiZSB1c2VkIHRvIGFjY2VzcworICAgIC8vIHRoZSBhY3R1YWwg
Z2x5cGggaW5mb3JtYXRpb24uCiAgICAgc3RhdGljIEdseXBoUGFnZVRyZWVOb2RlKiBnZXRSb290
Q2hpbGQoY29uc3QgRm9udERhdGEqIGZvbnREYXRhLCB1bnNpZ25lZCBwYWdlTnVtYmVyKQogICAg
IHsKICAgICAgICAgcmV0dXJuIGdldFJvb3QocGFnZU51bWJlciktPmdldENoaWxkKGZvbnREYXRh
LCBwYWdlTnVtYmVyKTsKQEAgLTk3LDggKzEzMSwxNCBAQAogICAgIEdseXBoUGFnZVRyZWVOb2Rl
KiBwYXJlbnQoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudDsgfQogICAgIEdseXBoUGFnZVRyZWVO
b2RlKiBnZXRDaGlsZChjb25zdCBGb250RGF0YSosIHVuc2lnbmVkIHBhZ2VOdW1iZXIpOwogCisg
ICAgLy8gUmV0dXJucyB0aGUgcGFnZSBvZiBnbHlwaHMgY29ycmVzcG9uZGluZyB0byB0aGlzIHBh
Z2UuIFRoaXMgbWF5IGJlIE5VTEwKKyAgICAvLyBpZiB0aGVyZSBhcmUgbm8gZ2x5cGhzIGluIHRo
aXMgcmFuZ2UuCiAgICAgR2x5cGhQYWdlKiBwYWdlKCkgY29uc3QgeyByZXR1cm4gbV9wYWdlOyB9
CisKKyAgICAvLyBSZXR1cm5zIHRoZSBsZXZlbCBvZiB0aGlzIG5vZGUuIFNlZSBjbGFzcy1sZXZl
bCBjb21tZW50LgogICAgIHVuc2lnbmVkIGxldmVsKCkgY29uc3QgeyByZXR1cm4gbV9sZXZlbDsg
fQorCisgICAgLy8gVGhlIHN5c3RlbSBmYWxsYmFjayBmb250IGhhcyBzcGVjaWFsIHJ1bGVzIChz
ZWUgYWJvdmUpLgogICAgIGJvb2wgaXNTeXN0ZW1GYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1f
aXNTeXN0ZW1GYWxsYmFjazsgfQogCiBwcml2YXRlOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9G
b250LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0ZvbnQuY3BwCShyZXZpc2lv
biAyMTI4NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vRm9udC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM2OCw2ICszNjgsNyBAQAogICAgICAgICBpZiAocGFnZSkgewogICAgICAgICAgICAgY29uc3Qg
R2x5cGhEYXRhJiBkYXRhID0gcGFnZS0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGMpOwogICAgICAg
ICAgICAgaWYgKGRhdGEuZ2x5cGggfHwgIWF0dGVtcHRGb250U3Vic3RpdHV0aW9uKSB7CisgICAg
ICAgICAgICAgICAgLy8gV2UgaGF2ZSBhIGdseXBoIGZvciB0aGUgY2hhcmFjdGVyIGluIHF1ZXN0
aW9uIGluIHRoZSBjdXJyZW50IHBhZ2UuCiAgICAgICAgICAgICAgICAgaWYgKCFzbWFsbENhcHMp
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogCkBAIC0zOTgsNyArMzk5LDEwIEBA
CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobm9kZS0+aXNTeXN0ZW1GYWxsYmFjaygpKSB7Ci0g
ICAgICAgICAgICAvLyBTeXN0ZW0gZmFsbGJhY2sgaXMgY2hhcmFjdGVyLWRlcGVuZGVudC4KKyAg
ICAgICAgICAgIC8vIFN5c3RlbSBmYWxsYmFjayBpcyBjaGFyYWN0ZXItZGVwZW5kZW50LiBXaGVu
IHdlIGdldCBoZXJlLCB3ZQorICAgICAgICAgICAgLy8ga25vdyB0aGF0IHRoZSBjaGFyYWN0ZXIg
aW4gcXVlc3Rpb24gaXNuJ3QgaW4gdGhlIHN5c3RlbSBmYWxsYmFjaworICAgICAgICAgICAgLy8g
Zm9udCdzIGdseXBoIHBhZ2UuIFRyeSB0byBsYXppbHkgY3JlYXRlIGl0IGhlcmUuCisKICAgICAg
ICAgICAgIC8vIENvbnZlcnQgY2hhcmFjdGVycyB0aGF0IHNob3VsZG4ndCByZW5kZXIgdG8gemVy
byB3aWR0aCBzcGFjZXMgd2hlbiBhc2tpbmcgd2hhdCBmb250IGlzCiAgICAgICAgICAgICAvLyBh
cHByb3ByaWF0ZS4KICAgICAgICAgICAgIGNvbnN0IEZvbnREYXRhKiBjaGFyYWN0ZXJGb250RGF0
YTsKQEAgLTQwOSw2ICs0MTMsOSBAQAogICAgICAgICAgICAgaWYgKHNtYWxsQ2FwcykKICAgICAg
ICAgICAgICAgICBjaGFyYWN0ZXJGb250RGF0YSA9IGNoYXJhY3RlckZvbnREYXRhLT5zbWFsbENh
cHNGb250RGF0YShtX2ZvbnREZXNjcmlwdGlvbik7CiAgICAgICAgICAgICBpZiAoY2hhcmFjdGVy
Rm9udERhdGEpIHsKKyAgICAgICAgICAgICAgICAvLyBHb3QgdGhlIGZhbGxiYWNrIGZvbnQsIHJl
dHVybiB0aGUgZ2x5cGggcGFnZSBhc3NvY2lhdGVkIHdpdGgKKyAgICAgICAgICAgICAgICAvLyBp
dC4gV2UgYWxzbyBzdG9yZSB0aGUgRm9udERhdGEgZm9yIHRoZSBnbHlwaCBpbiB0aGUgZmFsbGJh
Y2sKKyAgICAgICAgICAgICAgICAvLyBwYWdlIGZvciBmdXR1cmUgdXNlIChpdCdzIGxhemlseSBw
b3B1bGF0ZWQgYnkgdXMpLgogICAgICAgICAgICAgICAgIEdseXBoUGFnZSogZmFsbGJhY2tQYWdl
ID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZChjaGFyYWN0ZXJGb250RGF0YSwgcGFn
ZU51bWJlciktPnBhZ2UoKTsKICAgICAgICAgICAgICAgICBjb25zdCBHbHlwaERhdGEmIGRhdGEg
PSBmYWxsYmFja1BhZ2UgPyBmYWxsYmFja1BhZ2UtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjKSA6
IGNoYXJhY3RlckZvbnREYXRhLT5taXNzaW5nR2x5cGhEYXRhKCk7CiAgICAgICAgICAgICAgICAg
aWYgKCFzbWFsbENhcHMpCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyOTEpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDA3LTA1LTA3ICBNYXJ2aW4gRGVja2Vy
ICA8bWFydi5kZWNrZXJAZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGNvbW1lbnRzIGZvciB0aGUgZ2x5cGggY2FjaGluZyBz
eXN0ZW0uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9Gb250LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3Rlcik6CisgICAgICAgICogcGxhdGZvcm0vR2x5cGhQ
YWdlVHJlZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhQYWdlVHJlZU5vZGU6Omlu
aXRpYWxpemVQYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9HbHlwaFBhZ2VUcmVlTm9kZS5oOgor
CiAyMDA3LTA1LTA3ICBKdXN0aW4gR2FyY2lhICA8anVzdGluLmdhcmNpYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgZGFyaW4K
</data>

          </attachment>
      

    </bug>

</bugzilla>