diff --git a/mozilla/content/base/src/nsHTMLContentSerializer.cpp b/mozilla/content/base/src/nsHTMLContentSerializer.cpp index 8beab61fa5f..a87f7594a92 100644 --- a/mozilla/content/base/src/nsHTMLContentSerializer.cpp +++ b/mozilla/content/base/src/nsHTMLContentSerializer.cpp @@ -935,6 +935,8 @@ nsHTMLContentSerializer::AppendToString(const nsAString& aStr, iter != done_reading; iter.advance(PRInt32(advanceLength))) { PRUint32 fragmentLength = iter.size_forward(); + PRUint32 lengthReplaced = 0; // the number of UTF-16 codepoints + // replaced by a particular entity const PRUnichar* c = iter.get(); const PRUnichar* fragmentStart = c; const PRUnichar* fragmentEnd = c + fragmentLength; @@ -962,15 +964,32 @@ nsHTMLContentSerializer::AppendToString(const nsAString& aStr, if (!entityReplacement.IsEmpty()) { entityText = entityReplacement.get(); + lengthReplaced = 1; break; } } else if (val > 127 && mFlags & nsIDocumentEncoder::OutputEncodeW3CEntities && - mEntityConverter && - NS_SUCCEEDED(mEntityConverter->ConvertToEntity(val, - nsIEntityConverter::entityW3C, &fullEntityText))) { - break; + mEntityConverter) { + if (IS_HIGH_SURROGATE(val) && + c + 1 < fragmentEnd && + IS_LOW_SURROGATE(*(c + 1))) { + PRUint32 valUTF32 = SURROGATE_TO_UCS4(val, *(++c)); + if (NS_SUCCEEDED(mEntityConverter->ConvertUTF32ToEntity(valUTF32, + nsIEntityConverter::entityW3C, &fullEntityText))) { + lengthReplaced = 2; + break; + } + else { + advanceLength++; + } + } + else if (NS_SUCCEEDED(mEntityConverter->ConvertToEntity(val, + nsIEntityConverter::entityW3C, + &fullEntityText))) { + lengthReplaced = 1; + break; + } } } @@ -979,13 +998,13 @@ nsHTMLContentSerializer::AppendToString(const nsAString& aStr, aOutputStr.Append(PRUnichar('&')); AppendASCIItoUTF16(entityText, aOutputStr); aOutputStr.Append(PRUnichar(';')); - advanceLength++; + advanceLength += lengthReplaced; } // if it comes from nsIEntityConverter, it already has '&' and ';' else if (fullEntityText) { AppendASCIItoUTF16(fullEntityText, aOutputStr); nsMemory::Free(fullEntityText); - advanceLength++; + advanceLength += lengthReplaced; } } } else { diff --git a/mozilla/intl/unicharutil/idl/nsIEntityConverter.idl b/mozilla/intl/unicharutil/idl/nsIEntityConverter.idl index 0b2fb5170f5..3c3118928b9 100644 --- a/mozilla/intl/unicharutil/idl/nsIEntityConverter.idl +++ b/mozilla/intl/unicharutil/idl/nsIEntityConverter.idl @@ -38,8 +38,8 @@ #include "nsISupports.idl" %{C++ -// {8C4506A1-55E6-11d3-91D9-00105AA3F7DC} -#define NS_ENTITYCONVERTER_CID { 0x8c4506a1, 0x55e6, 0x11d3, {0x91, 0xd9, 0x0, 0x10, 0x5a, 0xa3, 0xf7, 0xdc}} +// {9E9B565A-8E52-4C1A-8805-B2B91655F874} +#define NS_ENTITYCONVERTER_CID { 0x9e9b565a, 0x8e52, 0x4c1a, {0x88, 0x05, 0xb2, 0xb9, 0x16, 0x55, 0xf8, 0x74}} #define NS_ENTITYCONVERTER_CONTRACTID "@mozilla.org/intl/entityconverter;1" %} @@ -56,6 +56,7 @@ interface nsIEntityConverter : nsISupports const unsigned long html40 = html40Latin1+html40Symbols+html40Special; const unsigned long entityW3C = html40+mathml20; + string ConvertUTF32ToEntity(in unsigned long character, in unsigned long entityVersion); string ConvertToEntity(in wchar character, in unsigned long entityVersion); wstring ConvertToEntities(in wstring inString, in unsigned long entityVersion); diff --git a/mozilla/intl/unicharutil/src/nsEntityConverter.cpp b/mozilla/intl/unicharutil/src/nsEntityConverter.cpp index 97195dedc11..759765a009e 100644 --- a/mozilla/intl/unicharutil/src/nsEntityConverter.cpp +++ b/mozilla/intl/unicharutil/src/nsEntityConverter.cpp @@ -44,6 +44,7 @@ #include "nsLiteralString.h" #include "nsXPIDLString.h" #include "nsString.h" +#include "nsUnicharUtils.h" // // implementation methods @@ -179,6 +180,12 @@ NS_IMPL_ISUPPORTS1(nsEntityConverter,nsIEntityConverter) // NS_IMETHODIMP nsEntityConverter::ConvertToEntity(PRUnichar character, PRUint32 entityVersion, char **_retval) +{ + return ConvertUTF32ToEntity((PRUint32)character, entityVersion, _retval); +} + +NS_IMETHODIMP +nsEntityConverter::ConvertUTF32ToEntity(PRUint32 character, PRUint32 entityVersion, char **_retval) { NS_ASSERTION(_retval, "null ptr- _retval"); if(nsnull == _retval) @@ -226,7 +233,14 @@ nsEntityConverter::ConvertToEntities(const PRUnichar *inString, PRUint32 entityV PRUint32 len = nsCRT::strlen(inString); for (PRUint32 i = 0; i < len; i++) { nsAutoString key(NS_LITERAL_STRING("entity.")); - key.AppendInt(inString[i],10); + if (IS_HIGH_SURROGATE(inString[i]) && + i + 2 < len && + IS_LOW_SURROGATE(inString[i + 1])) { + key.AppendInt(SURROGATE_TO_UCS4(inString[i], inString[++i]), 10); + } + else { + key.AppendInt(inString[i],10); + } nsXPIDLString value; diff --git a/mozilla/intl/unicharutil/src/nsEntityConverter.h b/mozilla/intl/unicharutil/src/nsEntityConverter.h index 3a584e0628c..0822473ccb0 100644 --- a/mozilla/intl/unicharutil/src/nsEntityConverter.h +++ b/mozilla/intl/unicharutil/src/nsEntityConverter.h @@ -72,6 +72,7 @@ public: // // nsIEntityConverter // + NS_IMETHOD ConvertUTF32ToEntity(PRUint32 character, PRUint32 entityVersion, char **_retval); NS_IMETHOD ConvertToEntity(PRUnichar character, PRUint32 entityVersion, char **_retval); NS_IMETHOD ConvertToEntities(const PRUnichar *inString, PRUint32 entityVersion, PRUnichar **_retval); diff --git a/mozilla/intl/unicharutil/src/nsSaveAsCharset.cpp b/mozilla/intl/unicharutil/src/nsSaveAsCharset.cpp index 8a8f4532b22..9e4dd9e9e96 100644 --- a/mozilla/intl/unicharutil/src/nsSaveAsCharset.cpp +++ b/mozilla/intl/unicharutil/src/nsSaveAsCharset.cpp @@ -315,10 +315,9 @@ nsSaveAsCharset::DoConversionFallBack(PRUint32 inUCS4, char *outString, PRInt32 if (ATTR_NO_FALLBACK(mAttribute)) { return NS_OK; } - if (attr_EntityAfterCharsetConv == MASK_ENTITY(mAttribute) && - !(inUCS4 & 0xff0000) ) { + if (attr_EntityAfterCharsetConv == MASK_ENTITY(mAttribute)) { char *entity = NULL; - rv = mEntityConverter->ConvertToEntity((PRUnichar)inUCS4, mEntityVersion, &entity); + rv = mEntityConverter->ConvertUTF32ToEntity(inUCS4, mEntityVersion, &entity); if (NS_SUCCEEDED(rv)) { if (NULL == entity || (PRInt32)strlen(entity) > bufferLength) { return NS_ERROR_OUT_OF_MEMORY; diff --git a/mozilla/intl/unicharutil/tables/transliterate.properties b/mozilla/intl/unicharutil/tables/transliterate.properties index dd5b5ad7452..ff91e8aaab0 100644 --- a/mozilla/intl/unicharutil/tables/transliterate.properties +++ b/mozilla/intl/unicharutil/tables/transliterate.properties @@ -1,4 +1,3 @@ -# # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # @@ -34,10 +33,16 @@ # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** + +# +# THIS FILE IS GENERATED BY mozilla/intl/unicharutil/tools/gentransliterate.pl +# PLEASE DO NOT MODIFY THIS FILE BY HAND +# entity.list.name=transliterate entity.169=(c) # # +# Here are the windows-1252 characters from the range 0x80 - 0x9F # entity.8364=EUR entity.8218=, @@ -54,8 +59,8 @@ entity.8217=' entity.8220=" entity.8221=" entity.8226=. -entity.8211=- -entity.8212=-- +entity.8211=-- +entity.8212=--- entity.732=~ entity.8250=> entity.339=oe @@ -76,10 +81,10 @@ entity.1472=| entity.1475=: entity.1523=' entity.1524=" -# -# End of hand coded section -# Below are generated from the unicode character database -# +## +## End of hand coded section +## Below are generated from the unicode character database +## entity.160=\u0020 entity.170=^(a) entity.178=^(2) @@ -207,7 +212,7 @@ entity.325=N, entity.326=n, entity.327=N( entity.328=n( -entity.329=n +entity.329='n entity.332=O- entity.333=o- entity.334=O( @@ -442,6 +447,7 @@ entity.2924=6 entity.2925=7 entity.2926=8 entity.2927=9 +entity.3046=0 entity.3047=1 entity.3048=2 entity.3049=3 @@ -513,6 +519,16 @@ entity.3878=6 entity.3879=7 entity.3880=8 entity.3881=9 +entity.3882=[1/2] +entity.3883=[3/2] +entity.3884=[5/2] +entity.3885=[7/2] +entity.3886=[9/2] +entity.3887=[11/2] +entity.3888=[13/2] +entity.3889=[15/2] +entity.3890=[17/2] +entity.3891=[-1/2] entity.4160=0 entity.4161=1 entity.4162=2 @@ -523,15 +539,6 @@ entity.4166=6 entity.4167=7 entity.4168=8 entity.4169=9 -entity.4969=1 -entity.4970=2 -entity.4971=3 -entity.4972=4 -entity.4973=5 -entity.4974=6 -entity.4975=7 -entity.4976=8 -entity.4977=9 entity.4978=[10] entity.4979=[20] entity.4980=[30] @@ -555,6 +562,16 @@ entity.6118=6 entity.6119=7 entity.6120=8 entity.6121=9 +entity.6128=[0] +entity.6129=[1] +entity.6130=[2] +entity.6131=[3] +entity.6132=[4] +entity.6133=[5] +entity.6134=[6] +entity.6135=[7] +entity.6136=[8] +entity.6137=[9] entity.6160=0 entity.6161=1 entity.6162=2 @@ -565,6 +582,63 @@ entity.6166=6 entity.6167=7 entity.6168=8 entity.6169=9 +entity.6470=0 +entity.6471=1 +entity.6472=2 +entity.6473=3 +entity.6474=4 +entity.6475=5 +entity.6476=6 +entity.6477=7 +entity.6478=8 +entity.6479=9 +entity.6608=0 +entity.6609=1 +entity.6610=2 +entity.6611=3 +entity.6612=4 +entity.6613=5 +entity.6614=6 +entity.6615=7 +entity.6616=8 +entity.6617=9 +entity.7468=^(A) +entity.7470=^(B) +entity.7472=^(D) +entity.7473=^(E) +entity.7475=^(G) +entity.7476=^(H) +entity.7477=^(I) +entity.7478=^(J) +entity.7479=^(K) +entity.7480=^(L) +entity.7481=^(M) +entity.7482=^(N) +entity.7484=^(O) +entity.7486=^(P) +entity.7487=^(R) +entity.7488=^(T) +entity.7489=^(U) +entity.7490=^(W) +entity.7491=^(a) +entity.7495=^(b) +entity.7496=^(d) +entity.7497=^(e) +entity.7501=^(g) +entity.7503=^(k) +entity.7504=^(m) +entity.7506=^(o) +entity.7510=^(p) +entity.7511=^(t) +entity.7512=^(u) +entity.7515=^(v) +entity.7522=v(i) +entity.7523=v(r) +entity.7524=v(u) +entity.7525=v(v) +entity.7580=^(c) +entity.7584=^(f) +entity.7611=^(z) entity.7680=A* entity.7681=a* entity.7682=B. @@ -824,9 +898,12 @@ entity.8229=.. entity.8230=... entity.8239=\u0020 entity.8252=!! +entity.8263=?? entity.8264=?! entity.8265=!? +entity.8287=\u0020 entity.8304=^(0) +entity.8305=^(i) entity.8308=^(4) entity.8309=^(5) entity.8310=^(6) @@ -852,6 +929,11 @@ entity.8330=v(+) entity.8332=v(=) entity.8333=v(() entity.8334=v()) +entity.8336=v(a) +entity.8337=v(e) +entity.8338=v(o) +entity.8339=v(x) +entity.8340=schwa entity.8360=Rs entity.8448=a/c entity.8449=a/s @@ -887,6 +969,12 @@ entity.8497=F entity.8499=M entity.8500=o entity.8505=i +entity.8507=FAX +entity.8517=D +entity.8518=d +entity.8519=e +entity.8520=i +entity.8521=j entity.8531=1/3 entity.8532=2/3 entity.8533=1/5 @@ -1071,6 +1159,27 @@ entity.9447=(x) entity.9448=(y) entity.9449=(z) entity.9450=(0) +entity.9451=(11) +entity.9452=(12) +entity.9453=(13) +entity.9454=(14) +entity.9455=(15) +entity.9456=(16) +entity.9457=(17) +entity.9458=(18) +entity.9459=(19) +entity.9460=(20) +entity.9461=(1) +entity.9462=(2) +entity.9463=(3) +entity.9464=(4) +entity.9465=(5) +entity.9466=(6) +entity.9467=(7) +entity.9468=(8) +entity.9469=(9) +entity.9470=(10) +entity.9471=(0) entity.10102=(1) entity.10103=(2) entity.10104=(3) @@ -1101,6 +1210,10 @@ entity.10128=(7) entity.10129=(8) entity.10130=(9) entity.10131=(10) +entity.10868=::= +entity.10869=== +entity.10870==== +entity.11517=[1/2] entity.12288=\u0020 entity.12295=[0] entity.12321=[1] @@ -1112,6 +1225,36 @@ entity.12326=[6] entity.12327=[7] entity.12328=[8] entity.12329=[9] +entity.12881=(21) +entity.12882=(22) +entity.12883=(23) +entity.12884=(24) +entity.12885=(25) +entity.12886=(26) +entity.12887=(27) +entity.12888=(28) +entity.12889=(29) +entity.12890=(30) +entity.12891=(31) +entity.12892=(32) +entity.12893=(33) +entity.12894=(34) +entity.12895=(35) +entity.12977=(36) +entity.12978=(37) +entity.12979=(38) +entity.12980=(39) +entity.12981=(40) +entity.12982=(41) +entity.12983=(42) +entity.12984=(43) +entity.12985=(44) +entity.12986=(45) +entity.12987=(46) +entity.12988=(47) +entity.12989=(48) +entity.12990=(49) +entity.12991=(50) entity.64256=ff entity.64257=fi entity.64258=fl @@ -1238,3 +1381,804 @@ entity.65371={ entity.65372=| entity.65373=} entity.65374=~ +entity.65799=[1] +entity.65800=[2] +entity.65801=[3] +entity.65802=[4] +entity.65803=[5] +entity.65804=[6] +entity.65805=[7] +entity.65806=[8] +entity.65807=[9] +entity.65808=[10] +entity.65809=[20] +entity.65810=[30] +entity.65811=[40] +entity.65812=[50] +entity.65813=[60] +entity.65814=[70] +entity.65815=[80] +entity.65816=[90] +entity.65817=[100] +entity.65818=[200] +entity.65819=[300] +entity.65820=[400] +entity.65821=[500] +entity.65822=[600] +entity.65823=[700] +entity.65824=[800] +entity.65825=[900] +entity.65856=[1/4] +entity.65857=[1/2] +entity.65858=[1] +entity.65859=[5] +entity.65860=[50] +entity.65861=[500] +entity.65864=[5] +entity.65865=[10] +entity.65866=[50] +entity.65867=[100] +entity.65868=[500] +entity.65871=[5] +entity.65872=[10] +entity.65873=[50] +entity.65874=[100] +entity.65875=[500] +entity.65879=[10] +entity.65880=[1] +entity.65881=[1] +entity.65882=[1] +entity.65883=[2] +entity.65884=[2] +entity.65885=[2] +entity.65886=[2] +entity.65887=[5] +entity.65888=[10] +entity.65889=[10] +entity.65890=[10] +entity.65891=[10] +entity.65892=[10] +entity.65893=[30] +entity.65894=[50] +entity.65895=[50] +entity.65896=[50] +entity.65897=[50] +entity.65898=[100] +entity.65899=[300] +entity.65900=[500] +entity.65901=[500] +entity.65902=[500] +entity.65903=[500] +entity.65904=[500] +entity.65907=[5] +entity.65908=[50] +entity.65909=[1/2] +entity.65910=[1/2] +entity.65911=[2/3] +entity.65912=[3/4] +entity.65930=[0] +entity.66336=[1] +entity.66337=[5] +entity.66338=[10] +entity.66339=[50] +entity.66378=[900] +entity.66513=[1] +entity.66514=[2] +entity.66515=[10] +entity.66516=[20] +entity.66517=[100] +entity.66720=0 +entity.66721=1 +entity.66722=2 +entity.66723=3 +entity.66724=4 +entity.66725=5 +entity.66726=6 +entity.66727=7 +entity.66728=8 +entity.66729=9 +entity.68164=[10] +entity.68165=[20] +entity.68166=[100] +entity.119808=A +entity.119809=B +entity.119810=C +entity.119811=D +entity.119812=E +entity.119813=F +entity.119814=G +entity.119815=H +entity.119816=I +entity.119817=J +entity.119818=K +entity.119819=L +entity.119820=M +entity.119821=N +entity.119822=O +entity.119823=P +entity.119824=Q +entity.119825=R +entity.119826=S +entity.119827=T +entity.119828=U +entity.119829=V +entity.119830=W +entity.119831=X +entity.119832=Y +entity.119833=Z +entity.119834=a +entity.119835=b +entity.119836=c +entity.119837=d +entity.119838=e +entity.119839=f +entity.119840=g +entity.119841=h +entity.119842=i +entity.119843=j +entity.119844=k +entity.119845=l +entity.119846=m +entity.119847=n +entity.119848=o +entity.119849=p +entity.119850=q +entity.119851=r +entity.119852=s +entity.119853=t +entity.119854=u +entity.119855=v +entity.119856=w +entity.119857=x +entity.119858=y +entity.119859=z +entity.119860=A +entity.119861=B +entity.119862=C +entity.119863=D +entity.119864=E +entity.119865=F +entity.119866=G +entity.119867=H +entity.119868=I +entity.119869=J +entity.119870=K +entity.119871=L +entity.119872=M +entity.119873=N +entity.119874=O +entity.119875=P +entity.119876=Q +entity.119877=R +entity.119878=S +entity.119879=T +entity.119880=U +entity.119881=V +entity.119882=W +entity.119883=X +entity.119884=Y +entity.119885=Z +entity.119886=a +entity.119887=b +entity.119888=c +entity.119889=d +entity.119890=e +entity.119891=f +entity.119892=g +entity.119894=i +entity.119895=j +entity.119896=k +entity.119897=l +entity.119898=m +entity.119899=n +entity.119900=o +entity.119901=p +entity.119902=q +entity.119903=r +entity.119904=s +entity.119905=t +entity.119906=u +entity.119907=v +entity.119908=w +entity.119909=x +entity.119910=y +entity.119911=z +entity.119912=A +entity.119913=B +entity.119914=C +entity.119915=D +entity.119916=E +entity.119917=F +entity.119918=G +entity.119919=H +entity.119920=I +entity.119921=J +entity.119922=K +entity.119923=L +entity.119924=M +entity.119925=N +entity.119926=O +entity.119927=P +entity.119928=Q +entity.119929=R +entity.119930=S +entity.119931=T +entity.119932=U +entity.119933=V +entity.119934=W +entity.119935=X +entity.119936=Y +entity.119937=Z +entity.119938=a +entity.119939=b +entity.119940=c +entity.119941=d +entity.119942=e +entity.119943=f +entity.119944=g +entity.119945=h +entity.119946=i +entity.119947=j +entity.119948=k +entity.119949=l +entity.119950=m +entity.119951=n +entity.119952=o +entity.119953=p +entity.119954=q +entity.119955=r +entity.119956=s +entity.119957=t +entity.119958=u +entity.119959=v +entity.119960=w +entity.119961=x +entity.119962=y +entity.119963=z +entity.119964=A +entity.119966=C +entity.119967=D +entity.119970=G +entity.119973=J +entity.119974=K +entity.119977=N +entity.119978=O +entity.119979=P +entity.119980=Q +entity.119982=S +entity.119983=T +entity.119984=U +entity.119985=V +entity.119986=W +entity.119987=X +entity.119988=Y +entity.119989=Z +entity.119990=a +entity.119991=b +entity.119992=c +entity.119993=d +entity.119995=f +entity.119997=h +entity.119998=i +entity.119999=j +entity.120000=k +entity.120001=l +entity.120002=m +entity.120003=n +entity.120005=p +entity.120006=q +entity.120007=r +entity.120008=s +entity.120009=t +entity.120010=u +entity.120011=v +entity.120012=w +entity.120013=x +entity.120014=y +entity.120015=z +entity.120016=A +entity.120017=B +entity.120018=C +entity.120019=D +entity.120020=E +entity.120021=F +entity.120022=G +entity.120023=H +entity.120024=I +entity.120025=J +entity.120026=K +entity.120027=L +entity.120028=M +entity.120029=N +entity.120030=O +entity.120031=P +entity.120032=Q +entity.120033=R +entity.120034=S +entity.120035=T +entity.120036=U +entity.120037=V +entity.120038=W +entity.120039=X +entity.120040=Y +entity.120041=Z +entity.120042=a +entity.120043=b +entity.120044=c +entity.120045=d +entity.120046=e +entity.120047=f +entity.120048=g +entity.120049=h +entity.120050=i +entity.120051=j +entity.120052=k +entity.120053=l +entity.120054=m +entity.120055=n +entity.120056=o +entity.120057=p +entity.120058=q +entity.120059=r +entity.120060=s +entity.120061=t +entity.120062=u +entity.120063=v +entity.120064=w +entity.120065=x +entity.120066=y +entity.120067=z +entity.120068=A +entity.120069=B +entity.120071=D +entity.120072=E +entity.120073=F +entity.120074=G +entity.120077=J +entity.120078=K +entity.120079=L +entity.120080=M +entity.120081=N +entity.120082=O +entity.120083=P +entity.120084=Q +entity.120086=S +entity.120087=T +entity.120088=U +entity.120089=V +entity.120090=W +entity.120091=X +entity.120092=Y +entity.120094=a +entity.120095=b +entity.120096=c +entity.120097=d +entity.120098=e +entity.120099=f +entity.120100=g +entity.120101=h +entity.120102=i +entity.120103=j +entity.120104=k +entity.120105=l +entity.120106=m +entity.120107=n +entity.120108=o +entity.120109=p +entity.120110=q +entity.120111=r +entity.120112=s +entity.120113=t +entity.120114=u +entity.120115=v +entity.120116=w +entity.120117=x +entity.120118=y +entity.120119=z +entity.120120=A +entity.120121=B +entity.120123=D +entity.120124=E +entity.120125=F +entity.120126=G +entity.120128=I +entity.120129=J +entity.120130=K +entity.120131=L +entity.120132=M +entity.120134=O +entity.120138=S +entity.120139=T +entity.120140=U +entity.120141=V +entity.120142=W +entity.120143=X +entity.120144=Y +entity.120146=a +entity.120147=b +entity.120148=c +entity.120149=d +entity.120150=e +entity.120151=f +entity.120152=g +entity.120153=h +entity.120154=i +entity.120155=j +entity.120156=k +entity.120157=l +entity.120158=m +entity.120159=n +entity.120160=o +entity.120161=p +entity.120162=q +entity.120163=r +entity.120164=s +entity.120165=t +entity.120166=u +entity.120167=v +entity.120168=w +entity.120169=x +entity.120170=y +entity.120171=z +entity.120172=A +entity.120173=B +entity.120174=C +entity.120175=D +entity.120176=E +entity.120177=F +entity.120178=G +entity.120179=H +entity.120180=I +entity.120181=J +entity.120182=K +entity.120183=L +entity.120184=M +entity.120185=N +entity.120186=O +entity.120187=P +entity.120188=Q +entity.120189=R +entity.120190=S +entity.120191=T +entity.120192=U +entity.120193=V +entity.120194=W +entity.120195=X +entity.120196=Y +entity.120197=Z +entity.120198=a +entity.120199=b +entity.120200=c +entity.120201=d +entity.120202=e +entity.120203=f +entity.120204=g +entity.120205=h +entity.120206=i +entity.120207=j +entity.120208=k +entity.120209=l +entity.120210=m +entity.120211=n +entity.120212=o +entity.120213=p +entity.120214=q +entity.120215=r +entity.120216=s +entity.120217=t +entity.120218=u +entity.120219=v +entity.120220=w +entity.120221=x +entity.120222=y +entity.120223=z +entity.120224=A +entity.120225=B +entity.120226=C +entity.120227=D +entity.120228=E +entity.120229=F +entity.120230=G +entity.120231=H +entity.120232=I +entity.120233=J +entity.120234=K +entity.120235=L +entity.120236=M +entity.120237=N +entity.120238=O +entity.120239=P +entity.120240=Q +entity.120241=R +entity.120242=S +entity.120243=T +entity.120244=U +entity.120245=V +entity.120246=W +entity.120247=X +entity.120248=Y +entity.120249=Z +entity.120250=a +entity.120251=b +entity.120252=c +entity.120253=d +entity.120254=e +entity.120255=f +entity.120256=g +entity.120257=h +entity.120258=i +entity.120259=j +entity.120260=k +entity.120261=l +entity.120262=m +entity.120263=n +entity.120264=o +entity.120265=p +entity.120266=q +entity.120267=r +entity.120268=s +entity.120269=t +entity.120270=u +entity.120271=v +entity.120272=w +entity.120273=x +entity.120274=y +entity.120275=z +entity.120276=A +entity.120277=B +entity.120278=C +entity.120279=D +entity.120280=E +entity.120281=F +entity.120282=G +entity.120283=H +entity.120284=I +entity.120285=J +entity.120286=K +entity.120287=L +entity.120288=M +entity.120289=N +entity.120290=O +entity.120291=P +entity.120292=Q +entity.120293=R +entity.120294=S +entity.120295=T +entity.120296=U +entity.120297=V +entity.120298=W +entity.120299=X +entity.120300=Y +entity.120301=Z +entity.120302=a +entity.120303=b +entity.120304=c +entity.120305=d +entity.120306=e +entity.120307=f +entity.120308=g +entity.120309=h +entity.120310=i +entity.120311=j +entity.120312=k +entity.120313=l +entity.120314=m +entity.120315=n +entity.120316=o +entity.120317=p +entity.120318=q +entity.120319=r +entity.120320=s +entity.120321=t +entity.120322=u +entity.120323=v +entity.120324=w +entity.120325=x +entity.120326=y +entity.120327=z +entity.120328=A +entity.120329=B +entity.120330=C +entity.120331=D +entity.120332=E +entity.120333=F +entity.120334=G +entity.120335=H +entity.120336=I +entity.120337=J +entity.120338=K +entity.120339=L +entity.120340=M +entity.120341=N +entity.120342=O +entity.120343=P +entity.120344=Q +entity.120345=R +entity.120346=S +entity.120347=T +entity.120348=U +entity.120349=V +entity.120350=W +entity.120351=X +entity.120352=Y +entity.120353=Z +entity.120354=a +entity.120355=b +entity.120356=c +entity.120357=d +entity.120358=e +entity.120359=f +entity.120360=g +entity.120361=h +entity.120362=i +entity.120363=j +entity.120364=k +entity.120365=l +entity.120366=m +entity.120367=n +entity.120368=o +entity.120369=p +entity.120370=q +entity.120371=r +entity.120372=s +entity.120373=t +entity.120374=u +entity.120375=v +entity.120376=w +entity.120377=x +entity.120378=y +entity.120379=z +entity.120380=A +entity.120381=B +entity.120382=C +entity.120383=D +entity.120384=E +entity.120385=F +entity.120386=G +entity.120387=H +entity.120388=I +entity.120389=J +entity.120390=K +entity.120391=L +entity.120392=M +entity.120393=N +entity.120394=O +entity.120395=P +entity.120396=Q +entity.120397=R +entity.120398=S +entity.120399=T +entity.120400=U +entity.120401=V +entity.120402=W +entity.120403=X +entity.120404=Y +entity.120405=Z +entity.120406=a +entity.120407=b +entity.120408=c +entity.120409=d +entity.120410=e +entity.120411=f +entity.120412=g +entity.120413=h +entity.120414=i +entity.120415=j +entity.120416=k +entity.120417=l +entity.120418=m +entity.120419=n +entity.120420=o +entity.120421=p +entity.120422=q +entity.120423=r +entity.120424=s +entity.120425=t +entity.120426=u +entity.120427=v +entity.120428=w +entity.120429=x +entity.120430=y +entity.120431=z +entity.120432=A +entity.120433=B +entity.120434=C +entity.120435=D +entity.120436=E +entity.120437=F +entity.120438=G +entity.120439=H +entity.120440=I +entity.120441=J +entity.120442=K +entity.120443=L +entity.120444=M +entity.120445=N +entity.120446=O +entity.120447=P +entity.120448=Q +entity.120449=R +entity.120450=S +entity.120451=T +entity.120452=U +entity.120453=V +entity.120454=W +entity.120455=X +entity.120456=Y +entity.120457=Z +entity.120458=a +entity.120459=b +entity.120460=c +entity.120461=d +entity.120462=e +entity.120463=f +entity.120464=g +entity.120465=h +entity.120466=i +entity.120467=j +entity.120468=k +entity.120469=l +entity.120470=m +entity.120471=n +entity.120472=o +entity.120473=p +entity.120474=q +entity.120475=r +entity.120476=s +entity.120477=t +entity.120478=u +entity.120479=v +entity.120480=w +entity.120481=x +entity.120482=y +entity.120483=z +entity.120782=0 +entity.120783=1 +entity.120784=2 +entity.120785=3 +entity.120786=4 +entity.120787=5 +entity.120788=6 +entity.120789=7 +entity.120790=8 +entity.120791=9 +entity.120792=0 +entity.120793=1 +entity.120794=2 +entity.120795=3 +entity.120796=4 +entity.120797=5 +entity.120798=6 +entity.120799=7 +entity.120800=8 +entity.120801=9 +entity.120802=0 +entity.120803=1 +entity.120804=2 +entity.120805=3 +entity.120806=4 +entity.120807=5 +entity.120808=6 +entity.120809=7 +entity.120810=8 +entity.120811=9 +entity.120812=0 +entity.120813=1 +entity.120814=2 +entity.120815=3 +entity.120816=4 +entity.120817=5 +entity.120818=6 +entity.120819=7 +entity.120820=8 +entity.120821=9 +entity.120822=0 +entity.120823=1 +entity.120824=2 +entity.120825=3 +entity.120826=4 +entity.120827=5 +entity.120828=6 +entity.120829=7 +entity.120830=8 +entity.120831=9 diff --git a/mozilla/intl/unicharutil/tools/gentransliterate.pl b/mozilla/intl/unicharutil/tools/gentransliterate.pl index 56ebcde0667..0733565dc84 100644 --- a/mozilla/intl/unicharutil/tools/gentransliterate.pl +++ b/mozilla/intl/unicharutil/tools/gentransliterate.pl @@ -114,9 +114,9 @@ entity.8221=" # BULLET entity.8226=. # EN DASH -entity.8211=- +entity.8211=-- # EM DASH -entity.8212=-- +entity.8212=--- # SMALL TILDE entity.732=~ # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK @@ -124,9 +124,9 @@ entity.8250=> # LATIN SMALL LIGATURE OE entity.339=oe # U+2000 EN QUAD -entity.8192=\u0020 +entity.8192=\\u0020 # U+2001 EM QUAD -entity.8193=\u0020 +entity.8193=\\u0020 # U+2010 HYPHEN entity.8208=- # U+2011 NON-BREAKING HYPHEN @@ -167,7 +167,7 @@ sub FromLatinComment { my ($cmt) = (@_); $char = ""; - if($cmt =~ /PRESEDED BY APOSTROPHE/) { + if($cmt =~ /PRECEDED BY APOSTROPHE/) { $char = "\'"; } if($cmt =~ /CAPITAL LETTER ([A-Z]*)/) {