<?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>140150</bug_id>
          
          <creation_ts>2015-01-06 15:14:45 -0800</creation_ts>
          <short_desc>Use HashMap instead of CFDictionary for composite font reference map</short_desc>
          <delta_ts>2015-01-07 01:55:05 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>mitz</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1059183</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-01-06 15:14:45 -0800</bug_when>
    <thetext>Use WebKit types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059184</commentid>
    <comment_count>1</comment_count>
      <attachid>244100</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-01-06 15:22:11 -0800</bug_when>
    <thetext>Created attachment 244100
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059196</commentid>
    <comment_count>2</comment_count>
      <attachid>244100</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-06 15:54:14 -0800</bug_when>
    <thetext>Comment on attachment 244100
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059356</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-01-07 01:55:05 -0800</bug_when>
    <thetext>https://trac.webkit.org/r178028</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244100</attachid>
            <date>2015-01-06 15:22:11 -0800</date>
            <delta_ts>2015-01-06 15:54:14 -0800</delta_ts>
            <desc>patch</desc>
            <filename>composite-font-reference-map.patch</filename>
            <type>text/plain</type>
            <size>8676</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3Nzk5OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE1LTAxLTA2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgSGFzaE1hcCBpbnN0ZWFk
IG9mIENGRGljdGlvbmFyeSBmb3IgY29tcG9zaXRlIGZvbnQgcmVmZXJlbmNlIG1hcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwMTUwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFdlYktpdCB0eXBl
cy4gQWxzbyB1c2UgVVNFKEFQUEtJVCkgY29uc2lzdGVudGx5IGZvciB0aGlzIGZlYXR1cmUuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6RGVyaXZlZEZvbnREYXRhOjp+RGVyaXZlZEZvbnRE
YXRhKToKKworICAgICAgICAgICAgVGhlIHdob2xlIGRlc2N0cnVjdG9yIGdldHMgaGFuZGxlZCBp
bXBsaWNpdGx5LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5cGhQYWdlTWFjLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdseXBoUGFnZTo6bWF5VXNlTWl4ZWRGb250RGF0YVdoZW5GaWxsaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoUGFnZTo6ZmlsbCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlRm9udERhdGE6OmNvbXBvc2l0ZUZvbnRSZWZlcmVuY2VGb250RGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6Z2V0Q29tcG9zaXRlRm9udFJlZmVyZW5jZUZvbnRE
YXRhKTogRGVsZXRlZC4KKwogMjAxNS0wMS0wNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIE1vZGVybml6ZSB0aGUgSFRNTEVsZW1lbnQgZmFjdG9yeQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNw
cAkocmV2aXNpb24gMTc3OTg0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODgsMjEgKzM4OCw2IEBAIGNv
bnN0IE9wZW5UeXBlTWF0aERhdGEqIFNpbXBsZUZvbnREYXRhOjoKIAogU2ltcGxlRm9udERhdGE6
OkRlcml2ZWRGb250RGF0YTo6fkRlcml2ZWRGb250RGF0YSgpCiB7Ci0jaWYgUExBVEZPUk0oQ09D
T0EpCi0gICAgaWYgKGNvbXBvc2l0ZUZvbnRSZWZlcmVuY2VzKSB7Ci0gICAgICAgIC8vIEZJWE1F
OiBXaHkgZG9uJ3Qgd2UgdXNlIFdlYktpdCB0eXBlcyBoZXJlPwotICAgICAgICBDRkRpY3Rpb25h
cnlSZWYgZGljdGlvbmFyeSA9IENGRGljdGlvbmFyeVJlZihjb21wb3NpdGVGb250UmVmZXJlbmNl
cy5nZXQoKSk7Ci0gICAgICAgIENGSW5kZXggY291bnQgPSBDRkRpY3Rpb25hcnlHZXRDb3VudChk
aWN0aW9uYXJ5KTsKLSAgICAgICAgaWYgKGNvdW50ID4gMCkgewotICAgICAgICAgICAgVmVjdG9y
PFNpbXBsZUZvbnREYXRhKiwgMj4gc3Rhc2goY291bnQpOwotICAgICAgICAgICAgU2ltcGxlRm9u
dERhdGEqKiBmb250cyA9IHN0YXNoLmRhdGEoKTsKLSAgICAgICAgICAgIENGRGljdGlvbmFyeUdl
dEtleXNBbmRWYWx1ZXMoZGljdGlvbmFyeSwgMCwgKGNvbnN0IHZvaWQgKiopZm9udHMpOwotICAg
ICAgICAgICAgLy8gVGhpcyBkZWxldGVzIHRoZSBmb250cy4KLSAgICAgICAgICAgIHdoaWxlIChj
b3VudC0tID4gMCAmJiAqZm9udHMpCi0gICAgICAgICAgICAgICAgYWRvcHRSZWYoKmZvbnRzKysp
OwotICAgICAgICB9Ci0gICAgfQotI2VuZGlmCiB9CiAKIFBhc3NSZWZQdHI8U2ltcGxlRm9udERh
dGE+IFNpbXBsZUZvbnREYXRhOjpjcmVhdGVTY2FsZWRGb250RGF0YShjb25zdCBGb250RGVzY3Jp
cHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJ
KHJldmlzaW9uIDE3Nzk3OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Nyw3ICsxODcsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIFVTRShBUFBLSVQpCi0gICAgY29uc3QgU2ltcGxlRm9udERhdGEqIGdl
dENvbXBvc2l0ZUZvbnRSZWZlcmVuY2VGb250RGF0YShOU0ZvbnQgKmtleSkgY29uc3Q7CisgICAg
Y29uc3QgU2ltcGxlRm9udERhdGEqIGNvbXBvc2l0ZUZvbnRSZWZlcmVuY2VGb250RGF0YShOU0Zv
bnQgKmtleSkgY29uc3Q7CiAgICAgTlNGb250KiBnZXROU0ZvbnQoKSBjb25zdCB7IHJldHVybiBt
X3BsYXRmb3JtRGF0YS5uc0ZvbnQoKTsgfQogI2VuZGlmCiAKQEAgLTI5NSw4ICsyOTUsOCBAQCBw
cml2YXRlOgogICAgICAgICBSZWZQdHI8U2ltcGxlRm9udERhdGE+IHZlcnRpY2FsUmlnaHRPcmll
bnRhdGlvbjsKICAgICAgICAgUmVmUHRyPFNpbXBsZUZvbnREYXRhPiB1cHJpZ2h0T3JpZW50YXRp
b247CiAgICAgICAgIFJlZlB0cjxTaW1wbGVGb250RGF0YT4gbm9uU3ludGhldGljSXRhbGljOwot
I2lmIFBMQVRGT1JNKENPQ09BKQotICAgICAgICBtdXRhYmxlIFJldGFpblB0cjxDRk11dGFibGVE
aWN0aW9uYXJ5UmVmPiBjb21wb3NpdGVGb250UmVmZXJlbmNlczsKKyNpZiBVU0UoQVBQS0lUKQor
ICAgICAgICBIYXNoTWFwPE5TRm9udCosIFJlZlB0cjxTaW1wbGVGb250RGF0YT4+IGNvbXBvc2l0
ZUZvbnRSZWZlcmVuY2VzOwogI2VuZGlmCiAgICAgfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZU1hYy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dseXBoUGFnZU1hYy5jcHAJKHJldmlz
aW9uIDE3Nzk1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlw
aFBhZ2VNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw4ICs1NywxMiBAQCBzdGF0aWMgYm9v
bCBzaG91bGRVc2VDb3JlVGV4dChjb25zdCBVQ2hhCiAKIGJvb2wgR2x5cGhQYWdlOjptYXlVc2VN
aXhlZEZvbnREYXRhV2hlbkZpbGxpbmcoY29uc3QgVUNoYXIqIGJ1ZmZlciwgdW5zaWduZWQgYnVm
ZmVyTGVuZ3RoLCBjb25zdCBTaW1wbGVGb250RGF0YSogZm9udERhdGEpCiB7Ci0gICAgLy8gRklY
TUU6IFRoaXMgY291bGQgYmUgc21hcnRlciBpZiB0aGUgbG9naWMgY3VycmVudGx5IGluIEdseXBo
UGFnZTo6ZmlsbCgpIGdvdCB0byBtYWtlIHRoZSBkZWNpc2lvbiBhYm91dCB3aGF0IGtpbmQgb2Yg
R2x5cGhQYWdlIHRvIGNvbnN0cnVjdC4KKyNpZiBVU0UoQVBQS0lUKQorICAgIC8vIEZJWE1FOiBU
aGlzIGlzIG9ubHkgcmVhbGx5IG5lZWRlZCBmb3IgY29tcG9zaXRlIGZvbnQgcmVmZXJlbmNlcy4K
ICAgICByZXR1cm4gc2hvdWxkVXNlQ29yZVRleHQoYnVmZmVyLCBidWZmZXJMZW5ndGgsIGZvbnRE
YXRhKTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIGJvb2wgR2x5cGhQ
YWdlOjpmaWxsKHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuZ3RoLCBVQ2hhciogYnVmZmVy
LCB1bnNpZ25lZCBidWZmZXJMZW5ndGgsIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSkK
QEAgLTE1NCw5ICsxNTgsOSBAQCBib29sIEdseXBoUGFnZTo6ZmlsbCh1bnNpZ25lZCBvZmZzZXQs
IHVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGF2ZUdseXBocyA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KLSNpZiAhUExBVEZP
Uk0oSU9TKQorI2lmIFVTRShBUFBLSVQpCiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIHJ1blNpbXBsZSA9IGZvbnREYXRh
LT5nZXRDb21wb3NpdGVGb250UmVmZXJlbmNlRm9udERhdGEoKE5TRm9udCAqKXJ1bkZvbnQpOwor
ICAgICAgICAgICAgICAgICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogcnVuU2ltcGxlID0gZm9u
dERhdGEtPmNvbXBvc2l0ZUZvbnRSZWZlcmVuY2VGb250RGF0YSgoTlNGb250ICopcnVuRm9udCk7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChydW5TaW1wbGUpIHsKICAgICAgICAgICAgICAgICAg
ICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMDsgaSA8IGdseXBoQ291bnQ7ICsraSkgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJpbmdJbmRpY2VzW2ldID49IHN0YXRpY19jYXN0
PENGSW5kZXg+KGJ1ZmZlckxlbmd0aCkpIHsKQEAgLTE2OSw3ICsxNzMsNyBAQCBib29sIEdseXBo
UGFnZTo6ZmlsbCh1bnNpZ25lZCBvZmZzZXQsIHVuCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9Ci0j
ZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKKyNlbmRpZgogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkocmV2aXNpb24gMTc3
OTUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnRE
YXRhTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC04NSwzNSArODUsMjcgQEAgc3RhdGljIE5TU3Ry
aW5nICp3ZWJGYWxsYmFja0ZvbnRGYW1pbHkodgogICAgIHJldHVybiB3ZWJGYWxsYmFja0ZvbnRG
YW1pbHk7CiB9CiAKLWNvbnN0IFNpbXBsZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6Z2V0Q29t
cG9zaXRlRm9udFJlZmVyZW5jZUZvbnREYXRhKE5TRm9udCAqa2V5KSBjb25zdAorY29uc3QgU2lt
cGxlRm9udERhdGEqIFNpbXBsZUZvbnREYXRhOjpjb21wb3NpdGVGb250UmVmZXJlbmNlRm9udERh
dGEoTlNGb250ICprZXkpIGNvbnN0CiB7Ci0gICAgaWYgKGtleSAmJiAhQ0ZFcXVhbChhZG9wdENG
KENURm9udENvcHlQb3N0U2NyaXB0TmFtZShDVEZvbnRSZWYoa2V5KSkpLmdldCgpLCBDRlNUUigi
TGFzdFJlc29ydCIpKSkgewotICAgICAgICBpZiAoIW1fZGVyaXZlZEZvbnREYXRhKQotICAgICAg
ICAgICAgbV9kZXJpdmVkRm9udERhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPERlcml2ZWRGb250RGF0
YT4oaXNDdXN0b21Gb250KCkpOwotICAgICAgICBpZiAoIW1fZGVyaXZlZEZvbnREYXRhLT5jb21w
b3NpdGVGb250UmVmZXJlbmNlcykKLSAgICAgICAgICAgIG1fZGVyaXZlZEZvbnREYXRhLT5jb21w
b3NpdGVGb250UmVmZXJlbmNlcyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCAxLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsIE5V
TEwpKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBjb25zdCBTaW1wbGVGb250RGF0YSog
Zm91bmQgPSBzdGF0aWNfY2FzdDxjb25zdCBTaW1wbGVGb250RGF0YSo+KENGRGljdGlvbmFyeUdl
dFZhbHVlKG1fZGVyaXZlZEZvbnREYXRhLT5jb21wb3NpdGVGb250UmVmZXJlbmNlcy5nZXQoKSwg
c3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCAqPihrZXkpKSk7Ci0gICAgICAgICAgICBpZiAoZm91bmQp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kOwotICAgICAgICB9Ci0gICAgICAgIGlmIChD
Rk11dGFibGVEaWN0aW9uYXJ5UmVmIGRpY3Rpb25hcnkgPSBtX2Rlcml2ZWRGb250RGF0YS0+Y29t
cG9zaXRlRm9udFJlZmVyZW5jZXMuZ2V0KCkpIHsKLSAgICAgICAgICAgIGJvb2wgaXNVc2luZ1By
aW50ZXJGb250ID0gcGxhdGZvcm1EYXRhKCkuaXNQcmludGVyRm9udCgpOwotICAgICAgICAgICAg
TlNGb250ICpzdWJzdGl0dXRlRm9udCA9IGlzVXNpbmdQcmludGVyRm9udCA/IFtrZXkgcHJpbnRl
ckZvbnRdIDogW2tleSBzY3JlZW5Gb250XTsKLQotICAgICAgICAgICAgQ1RGb250U3ltYm9saWNU
cmFpdHMgdHJhaXRzID0gQ1RGb250R2V0U3ltYm9saWNUcmFpdHMoKENURm9udFJlZilzdWJzdGl0
dXRlRm9udCk7Ci0gICAgICAgICAgICBib29sIHN5bnRoZXRpY0JvbGQgPSBwbGF0Zm9ybURhdGEo
KS5zeW50aGV0aWNCb2xkKCkgJiYgISh0cmFpdHMgJiBrQ1RGb250Qm9sZFRyYWl0KTsKLSAgICAg
ICAgICAgIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IHBsYXRmb3JtRGF0YSgpLnN5bnRoZXRpY09i
bGlxdWUoKSAmJiAhKHRyYWl0cyAmIGtDVEZvbnRJdGFsaWNUcmFpdCk7Ci0KLSAgICAgICAgICAg
IEZvbnRQbGF0Zm9ybURhdGEgc3Vic3RpdHV0ZVBsYXRmb3JtKHN1YnN0aXR1dGVGb250LCBwbGF0
Zm9ybURhdGEoKS5zaXplKCksIGlzVXNpbmdQcmludGVyRm9udCwgc3ludGhldGljQm9sZCwgc3lu
dGhldGljT2JsaXF1ZSwgcGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSwgcGxhdGZvcm1EYXRh
KCkud2lkdGhWYXJpYW50KCkpOwotICAgICAgICAgICAgaWYgKFJlZlB0cjxTaW1wbGVGb250RGF0
YT4gdmFsdWUgPSBhZG9wdFJlZihuZXcgU2ltcGxlRm9udERhdGEoc3Vic3RpdHV0ZVBsYXRmb3Jt
LCBpc0N1c3RvbUZvbnQoKSkpKSB7Ci0gICAgICAgICAgICAgICAgU2ltcGxlRm9udERhdGEqIHZh
bHVlUHRyID0gdmFsdWUuZ2V0KCk7Ci0gICAgICAgICAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFs
dWUoZGljdGlvbmFyeSwga2V5LCB2YWx1ZS5yZWxlYXNlKCkubGVha1JlZigpKTsKLSAgICAgICAg
ICAgICAgICByZXR1cm4gdmFsdWVQdHI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICBp
ZiAoIWtleSB8fCBDRkVxdWFsKGFkb3B0Q0YoQ1RGb250Q29weVBvc3RTY3JpcHROYW1lKENURm9u
dFJlZihrZXkpKSkuZ2V0KCksIENGU1RSKCJMYXN0UmVzb3J0IikpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKworICAgIGlmICghbV9kZXJpdmVkRm9udERhdGEpCisgICAgICAgIG1fZGVyaXZl
ZEZvbnREYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxEZXJpdmVkRm9udERhdGE+KGlzQ3VzdG9tRm9u
dCgpKTsKKworICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9kZXJpdmVkRm9udERhdGEtPmNvbXBvc2l0
ZUZvbnRSZWZlcmVuY2VzLmFkZChrZXksIG51bGxwdHIpOworICAgIGlmIChhZGRSZXN1bHQuaXNO
ZXdFbnRyeSkgeworICAgICAgICBib29sIGlzVXNpbmdQcmludGVyRm9udCA9IHBsYXRmb3JtRGF0
YSgpLmlzUHJpbnRlckZvbnQoKTsKKyAgICAgICAgTlNGb250ICpzdWJzdGl0dXRlRm9udCA9IGlz
VXNpbmdQcmludGVyRm9udCA/IFtrZXkgcHJpbnRlckZvbnRdIDogW2tleSBzY3JlZW5Gb250XTsK
KworICAgICAgICBDVEZvbnRTeW1ib2xpY1RyYWl0cyB0cmFpdHMgPSBDVEZvbnRHZXRTeW1ib2xp
Y1RyYWl0cygoQ1RGb250UmVmKXN1YnN0aXR1dGVGb250KTsKKyAgICAgICAgYm9vbCBzeW50aGV0
aWNCb2xkID0gcGxhdGZvcm1EYXRhKCkuc3ludGhldGljQm9sZCgpICYmICEodHJhaXRzICYga0NU
Rm9udEJvbGRUcmFpdCk7CisgICAgICAgIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IHBsYXRmb3Jt
RGF0YSgpLnN5bnRoZXRpY09ibGlxdWUoKSAmJiAhKHRyYWl0cyAmIGtDVEZvbnRJdGFsaWNUcmFp
dCk7CisKKyAgICAgICAgRm9udFBsYXRmb3JtRGF0YSBzdWJzdGl0dXRlUGxhdGZvcm0oc3Vic3Rp
dHV0ZUZvbnQsIHBsYXRmb3JtRGF0YSgpLnNpemUoKSwgaXNVc2luZ1ByaW50ZXJGb250LCBzeW50
aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBwbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigp
LCBwbGF0Zm9ybURhdGEoKS53aWR0aFZhcmlhbnQoKSk7CisgICAgICAgIGFkZFJlc3VsdC5pdGVy
YXRvci0+dmFsdWUgPSBTaW1wbGVGb250RGF0YTo6Y3JlYXRlKHN1YnN0aXR1dGVQbGF0Zm9ybSwg
aXNDdXN0b21Gb250KCkpOwogICAgIH0KLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gYWRkUmVz
dWx0Lml0ZXJhdG9yLT52YWx1ZS5nZXQoKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxh
dGZvcm1Jbml0KCkK
</data>
<flag name="review"
          id="269019"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>