From: "Saved by Windows Internet Explorer 7"
Subject: Routesms
Date: Tue, 27 May 2008 10:45:02 +0300
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_0012_01C8BFE6.B7BD02E0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18000
This is a multi-part message in MIME format.
------=_NextPart_000_0012_01C8BFE6.B7BD02E0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.routesms.com/UniConverter.asp
Libantext Com - Online Unicode Converter
Online Unicode Converter
------=_NextPart_000_0012_01C8BFE6.B7BD02E0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.routesms.com/img/converter_title.jpg
/9j/4AAQSkZJRgABAgEASABIAAD/4QRBRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUA
AAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAUAAAAcgEyAAIAAAAUAAAAhodp
AAQAAAABAAAAnAAAAMgAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhvdG9zaG9wIDcuMAAyMDA3OjA5
OjI5IDA0OjU0OjQxAAAAAAOgAQADAAAAAf//AACgAgAEAAAAAQAAAuKgAwAEAAAAAQAAABwAAAAA
AAAABgEDAAMAAAABAAYAAAEaAAUAAAABAAABFgEbAAUAAAABAAABHgEoAAMAAAABAAIAAAIBAAQA
AAABAAABJgICAAQAAAABAAADEwAAAAAAAABIAAAAAQAAAEgAAAAB/9j/4AAQSkZJRgABAgEASABI
AAD/7QAMQWRvYmVfQ00AAv/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwP
FRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQO
Dg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEI
AAUAgAMBIgACEQEDEQH/3QAEAAj/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEF
AQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMi
cYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj
80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcG
BTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMHJjXC0kST
VKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3h5ent8f/
2gAMAwEAAhEDEQA/AMupw3DfWwiDO57gPL6FTnKy9+Jsd+hxt2z2Ftt3Me32to/nd3+m/wCuexea
pLojvrxfT/0Fy/sfSy/D3u3U43eItyNsy7/RUent27fo/o0G5zDmN9Gutte5sCp73NGuu31667F5
0kkPDi+u3/OUfo+tnk8/ilr5/ivJElGufW9fP8UtfP8AFeSJJKfW9fP8UtfP8V5Ikkl9gx9m/wDS
AlvmXj/qQVp0H2jYHR2g2/8AkV4YkoslfytfB9/qN3YWfff/AORVun1p1FvzN/8A34bV86pKrOv5
WyxfprG9Tvu+e/8A78rrZj/evlhJVJ7s8X//2f/tD4ZQaG90b3Nob3AgMy4wADhCSU0EJQAAAAAA
EAAAAAAAAAAAAAAAAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAQBIAAAAAQABOEJJTQQmAAAAAAAO
AAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAA
CQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAE4QklNA/UAAAAA
AEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEA
NQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAA
AAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAA
AP////////////////////////////8D6AAAOEJJTQQAAAAAAAACAAI4QklNBAIAAAAAABQAAAAC
AAAAAQABAAAAAAAAAAAAAjhCSU0ECAAAAAAAGgAAAAEAAAJAAAACQAAAAAIAAAP+AAAAAmABOEJJ
TQQeAAAAAAAEAAAAADhCSU0EGgAAAAADOwAAAAYAAAAAAAAAAAAAABwAAALiAAAAAwBiAGcAMQAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAC4gAAABwAAAAAAAAAAAAAAAAAAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAQAAAAAQAAAAAAAG51bGwAAAACAAAABmJvdW5kc09iamMAAAABAAAA
AAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAA
ABwAAAAAUmdodGxvbmcAAALiAAAABnNsaWNlc1ZsTHMAAAABT2JqYwAAAAEAAAAAAAVzbGljZQAA
ABIAAAAHc2xpY2VJRGxvbmcAAAAAAAAAB2dyb3VwSURsb25nAAAAAAAAAAZvcmlnaW5lbnVtAAAA
DEVTbGljZU9yaWdpbgAAAA1hdXRvR2VuZXJhdGVkAAAAAFR5cGVlbnVtAAAACkVTbGljZVR5cGUA
AAAASW1nIAAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAA
AABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAAAcAAAAAFJnaHRsb25nAAAC4gAAAAN1cmxURVhU
AAAAAQAAAAAAAG51bGxURVhUAAAAAQAAAAAAAE1zZ2VURVhUAAAAAQAAAAAABmFsdFRhZ1RFWFQA
AAABAAAAAAAOY2VsbFRleHRJc0hUTUxib29sAQAAAAhjZWxsVGV4dFRFWFQAAAABAAAAAAAJaG9y
ekFsaWduZW51bQAAAA9FU2xpY2VIb3J6QWxpZ24AAAAHZGVmYXVsdAAAAAl2ZXJ0QWxpZ25lbnVt
AAAAD0VTbGljZVZlcnRBbGlnbgAAAAdkZWZhdWx0AAAAC2JnQ29sb3JUeXBlZW51bQAAABFFU2xp
Y2VCR0NvbG9yVHlwZQAAAABOb25lAAAACXRvcE91dHNldGxvbmcAAAAAAAAACmxlZnRPdXRzZXRs
b25nAAAAAAAAAAxib3R0b21PdXRzZXRsb25nAAAAAAAAAAtyaWdodE91dHNldGxvbmcAAAAAADhC
SU0EEQAAAAAAAQEAOEJJTQQUAAAAAAAEAAAADDhCSU0EDAAAAAADLwAAAAEAAACAAAAABQAAAYAA
AAeAAAADEwAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/tAAxBZG9iZV9DTQAC/+4ADkFkb2JlAGSA
AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgABQCAAwEiAAIRAQMRAf/dAAQACP/EAT8AAAEF
AQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAAB
BAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHx
Y3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm
9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS
0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0
pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8Ay6nDcN9bCIM7nuA8voVO
crL34mx36HG3bPYW23cx7fa2j+d3f6b/AK57F5qkuiO+vF9P/QXL+x9LL8Pe7dTjd4i3I2zLv9FR
6e3bt+j+jQbnMOY30a6217mwKnvc0a67fXrrsXnSSQ8OL67f85R+j62eTz+KWvn+K8kSUa59b18/
xS18/wAV5Ikkp9b18/xS18/xXkiSSX2DH2b/ANICW+ZeP+pBWnQfaNgdHaDb/wCRXhiSiyV/K18H
3+o3dhZ99/8A5FW6fWnUW/M3/wDfhtXzqkqs6/lbLF+msb1O+757/wDvyutmP96+WElUnuzxf//Z
ADhCSU0EIQAAAAAAVQAAAAEBAAAADwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAAABMA
QQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAIAA3AC4AMAAAAAEAOEJJTQ+gAAAAAAY3bW9w
dAAAAAMAAAABAAAAAAAAAAcAAAABAAAAAAABAAD//////////wAAADwAAAAB/////wAAAAAAAAAA
AAAAAAAAAAEAAAAA/////wAAAAAE/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAAAAAAA
/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A
AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA
/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A
AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA
/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A
AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA
/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8A
AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA
/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAAAA
AAAAAAAAAAAAAbUAAAAQAAAAAQAAAAAADlRhcmdldFNldHRpbmdzAAAACgAAAA9lbWJlZElDQ1By
b2ZpbGVib29sAAAAAAxub01hdHRlQ29sb3Jib29sAAAAAABNdHRDT2JqYwAAAAEAAAAAAApOYXRp
dmVRdWFkAAAAAwAAAABSZCAgbG9uZwAAAP8AAAAAQmwgIGxvbmcAAAD/AAAAAEdybiBsb25nAAAA
/wAAAAtwcm9ncmVzc2l2ZWJvb2wAAAAADHpvbmVkUXVhbGl0eU9iamMAAAABAAAAAAAJWm9uZWRJ
bmZvAAAABAAAAA1lbXBoYXNpemVUZXh0Ym9vbAAAAAAQZW1waGFzaXplVmVjdG9yc2Jvb2wAAAAA
CWNoYW5uZWxJRGxvbmf/////AAAABWZsb29ybG9uZwAAAAAAAAAAUWx0eWxvbmcAAAA8AAAAAE9w
dG1ib29sAQAAAApmaWxlRm9ybWF0ZW51bQAAAApGaWxlRm9ybWF0AAAAAEpQRUcAAAAKYmx1ckFt
b3VudFVudEYjTm5lAAAAAAAAAAAAAAAUcHJlc2VydmVFWElGTWV0YWRhdGFib29sAAA4QklND6EA
AAAAAC1tc2V0AAAAEAAAAAEAAAAAAARudWxsAAAAAQAAAAdWZXJzaW9ubG9uZwAAAAAAOEJJTQQG
AAAAAAAHAAEAAAABAQD/4RJIaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQg
YmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8P2Fkb2JlLXhhcC1m
aWx0ZXJzIGVzYz0iQ1IiPz4KPHg6eGFwbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLycgeDp4
YXB0az0nWE1QIHRvb2xraXQgMi44LjItMzMsIGZyYW1ld29yayAxLjUnPgo8cmRmOlJERiB4bWxu
czpyZGY9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMnIHhtbG5z
OmlYPSdodHRwOi8vbnMuYWRvYmUuY29tL2lYLzEuMC8nPgoKIDxyZGY6RGVzY3JpcHRpb24gYWJv
dXQ9J3V1aWQ6ZmM4NzBiN2YtNmUxOS0xMWRjLWFkZWYtYzc3NmFlMDViMjBiJwogIHhtbG5zOnhh
cE1NPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vJz4KICA8eGFwTU06RG9jdW1lbnRJ
RD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MGI5Y2VkNDYtNmUxOS0xMWRjLWFkZWYtYzc3NmFlMDVi
MjBiPC94YXBNTTpEb2N1bWVudElEPgogPC9yZGY6RGVzY3JpcHRpb24+Cgo8L3JkZjpSREY+Cjwv
eDp4YXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKPD94cGFja2V0IGVuZD0ndyc/Pv/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoL
ERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4N
EA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DP/AABEIABwC4gMBIgACEQEDEQH/3QAEAC//xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJ
CgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIx
BUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXy
s4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQD
BAUGBwcGBTUBAAIRAyExEgRBUWFxIhMFMoGRFKGxQiPBUtHwMyRi4XKCkkNTFWNzNPElBhaisoMH
JjXC0kSTVKMXZEVVNnRl4vKzhMPTdePzRpSkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2JzdHV2d3
h5ent8f/2gAMAwEAAhEDEQA/AMhJJE30/Z9vpn198+ru9uyP5v0tv0t3+E9RdK5KNJE30/Z9npn1
98+ru9uyP5v0tv0t3+E9RDSUpJdF/wCtl/1yfl6cyhdO6d0u1nTqr67XXdSc9hsa8NbXDzUx7WbH
b1F7wABIOsRLT+sJS/7hf7ZugepH8v8AGcJOWub9IETqJ8FvYFQrxcbKBNlteLlXUMfDmtex5aHV
1uG32N3X/wBdiqMyuqdVqGLkvdkVetWPtNsvdUbCawG2E+2u3/R/8Gj7lk6DhiakSfHhRwba6nZy
0lvM6V03NtvxcVluPZi3V1G2x4eHtstbiOc9mxnpWNdZ6ntRasfBysLIw8OuzG9TOxcdz7Xb5k5F
bLfoV7X+79IxA5x2OhHF/V4k+2e4619HnE4BJgCSeAFt9V6d0qnFtfi2NF1Dw0NFptL2k7Heoz0a
fRsb9L6SBiX24fRrcrEcasl+Q2p9zNHtr2GxrGP+lX6r930P9EiMtxsA78NS9KOCjRPS9HLIIMHQ
hMtmoXdTsbldTY51dGNZZ6rPbZeKjt91rt+5zXv9N9uz+aYiU9N6XkijLDLasa2rKfZQHhzg7GZ6
s1WuZ9Czc36bUjlA3G29eoX+7/zU8BOx+1wkltjpvT8oUOx2PpdmY9zqai/fF1LnQ3ftbuZeyvbt
/wBKiY3RcBu45L4djY9VmQx7/Tb6t53VsNja7XVsqpNe/wBn88kc8Rvd9uu/B/0/Sr2z4ef4uAkt
6zpvSKrMm8F2Rj047LxVXZoHvtbj+l67q2b2e7fu9NWDg9LzfsUVnHqpwHZFm60AOAusqbW+xtPt
/SO3vu2fzaBzx3o1t9eHipXtnuHmUlvu6X0j7QLGO9SkY9t9lNNm+HVcNbe+qv2W/wDF+xYdzq3W
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
+as/RrmP8o/8N/0kv8o/8N/0kuKFfJHh84cPy/8AeKqV/Mb8pfy+Z6a3q/ULnl77dTW6iA1rWit3
02MrY1tbN38hqprF/wAo/wDDf9JL/KP/AA3/AEk6MtPTAf4JigjvL7QXaSWL/lH/AIb/AKSX+Uf+
G/6SdxS/cP2xRQ/e/B63BA+zt1jU9vNWYb+9+BVHok/s2r1p9SXbt0z9Ix9JXx6UdlGd1w2W2j97
8Eto/e/BS/Q+SX6HyQSx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto
/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/B
S/Q+SX6HySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+
SX6HySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+SX6H
ySUx2j978Eto/e/BS/Q+SX6HySUx2j978Eto/e/BS/Q+SX6HySUxhv734FLa3978FL9D5JfofJJS
21v734JQ3978Cn/Q+SX6HySUttb+9+CW1v734FP+h8kv0Pkkpdm1pnd+CsVZFbQAZPwH+xV/0Pkp
s9LSeEyVdUi+jdGRX/K/zSn+0V/y/wDNKAPQ0mfxS/Qef4qP0+K/VsDIq/lf5pTi+r+X/mlAHod5
/FGZ9jjWf+kgeHxVqzF9X8v/ADD/AHJxfT4u/wAw/wByYfY/P/pKQ+yef/STdPFOvgr16e5d/mH+
5P61P7zv8w/3Jfqfn/0lIfYv9dyWnj+CdfBQuo/ed/mH/wAipC6j993+Y7/yKX6j/ruTj7D5fim6
eP8AzVa+CvVx/wB93+Y7/wAinFuP/pHf9tu/8inH7P8AL/pKQ/Z/l+KGnj/zU6+H4rC3H/0jv+23
f+RTizG/0rv+23f+RUh+z/L8VIfs7+T+KGnj/wA1Ovh+LEWY3+ld/wBtu/8AIqQfi/6Z3/bbv/Iq
Q/Z3fb+KkP2b/J/FDT+t/wA1X2fis12M5wAudJ/4N3/kUUV0/wCmP+Y7/wAiot/Z0/m/iiD9n9ti
afC/+auH0/FQrq/0x/zHf+RU/Tp/0x/zHf8AkUw/Z/8AIUm/s/8Akppvx/5qfs/FcV1f6U/5jv8A
yKPWyvaP0hP9k/3IQ/Z/8lGZ9i2iNqZL6/8ANSPozDax/hD/AJp/uUw1n7//AESoj7J/JUm/Zu0J
h+v4LmQDf3j9xUgG/vfgo/oJ7KY9LtCaUrgDx/BPA8fwTfo/JP7EErmPFKAkdsapDb2QUpJL2pJK
f//Z
------=_NextPart_000_0012_01C8BFE6.B7BD02E0
Content-Type: text/css;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.routesms.com/css.css
TD {
FONT-SIZE: 12px; COLOR: #555555; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
.black {
COLOR: #333333; TEXT-DECORATION: none
}
A {
COLOR: #023f6f; TEXT-DECORATION: none
}
.titles {
FONT-SIZE: 12px; COLOR: #003366; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
.leftlink {
FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #666666; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.leftlink1 {
FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ff3300; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.txtbox {
BORDER-RIGHT: #5f64a0 1px dotted; BORDER-TOP: #ff0000 1px dotted; =
FONT-SIZE: 12px; BORDER-LEFT: #5f64a0 1px dotted; COLOR: #555555; =
BORDER-BOTTOM: #ff0000 1px dotted; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif
}
.style4 {
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #306d9c; FONT-FAMILY: Arial, =
Helvetica, sans-serif
}
.style3 {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: Arial, Helvetica, =
sans-serif
}
.sMenuLinks {
FONT-SIZE: 10pt; COLOR: #0066cc; FONT-FAMILY: Tahoma; TEXT-DECORATION: =
underline
}
.sMenuLinks:hover {
FONT-SIZE: 10pt; COLOR: #666600; FONT-FAMILY: Tahoma; TEXT-DECORATION: =
none
}
.leftlink1 {
FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #cc0000; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.button {
BORDER-RIGHT: #e9e9e9 1px solid; BORDER-TOP: #e9e9e9 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 12px; BORDER-LEFT: #e9e9e9 1px solid; =
CURSOR: hand; COLOR: #4e4e4e; BORDER-BOTTOM: #e9e9e9 1px solid; =
FONT-FAMILY: Tahoma, Verdana, Arial; BACKGROUND-COLOR: #ffffff
}
.button1 {
BORDER-RIGHT: #eaebed 1px solid; BORDER-TOP: #eaebed 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 11px; BORDER-LEFT: #eaebed 1px solid; =
CURSOR: hand; COLOR: #4e4e4e; BORDER-BOTTOM: #eaebed 1px solid; =
FONT-FAMILY: Tahoma, Verdana, Arial; BACKGROUND-COLOR: #ffffff
}
.button2 {
BORDER-RIGHT: #4791c5 1px solid; BORDER-TOP: #4791c5 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 12px; BORDER-LEFT: #4791c5 1px solid; =
COLOR: #000000; BORDER-BOTTOM: #4791c5 1px solid; FONT-FAMILY: Verdana; =
BACKGROUND-COLOR: #ffffff
}
.inputbox {
BORDER-RIGHT: #e9e9e9 1px solid; BORDER-TOP: #e9e9e9 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 11px; BORDER-LEFT: #e9e9e9 1px solid; =
COLOR: #4e4e4e; BORDER-BOTTOM: #e9e9e9 1px solid; FONT-FAMILY: Tahoma
}
.inputbox1 {
BORDER-RIGHT: #eaebed 1px solid; BORDER-TOP: #eaebed 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 14px; BORDER-LEFT: #eaebed 1px solid; =
COLOR: #4e4e4e; BORDER-BOTTOM: #eaebed 1px solid; FONT-FAMILY: Tahoma
}
.style6 {
FONT-SIZE: 11px; COLOR: #003366; FONT-FAMILY: Tahoma, Verdana, Arial
}
.style2 {
FONT-SIZE: 11px; COLOR: #4e4e4e; FONT-FAMILY: Tahoma, Verdana, Arial
}
.tblmain {
BORDER-RIGHT: #6699cc 0px solid; BORDER-TOP: #6699cc 0px solid; =
FONT-SIZE: 13px; BORDER-LEFT: #6699cc 0px solid; COLOR: #800080; =
BORDER-BOTTOM: #6699cc 0px solid; FONT-FAMILY: Verdana
}
.tblmain1 {
BORDER-RIGHT: #6699cc 1px solid; BORDER-TOP: #6699cc 1px solid; =
FONT-SIZE: 13px; BORDER-LEFT: #6699cc 1px solid; COLOR: #800080; =
BORDER-BOTTOM: #6699cc 1px solid; FONT-FAMILY: Verdana
}
.txtbox3 {
BORDER-RIGHT: #4791c5 1px solid; BORDER-TOP: #4791c5 1px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 14px; BORDER-LEFT: #4791c5 1px solid; =
COLOR: #ffffff; BORDER-BOTTOM: #4791c5 1px solid; FONT-FAMILY: Verdana; =
BACKGROUND-COLOR: #4791c5
}
.font2 {
BORDER-RIGHT: #ff3300 1px; BORDER-TOP: #ff3300 1px; FONT-SIZE: 12px; =
BORDER-LEFT: #ff3300 1px; COLOR: #000000; BORDER-BOTTOM: #ff3300 1px; =
FONT-FAMILY: Verdana
}
.txtbox2 {
BORDER-RIGHT: #4791c5 1px solid; BORDER-TOP: #4791c5 1px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 12px; BORDER-LEFT: #4791c5 1px solid; =
COLOR: #000000; BORDER-BOTTOM: #4791c5 1px solid; FONT-FAMILY: Verdana
}
.tdbg {
BACKGROUND-COLOR: #dbeaf5
}
------=_NextPart_000_0012_01C8BFE6.B7BD02E0
Content-Type: text/css;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.routesms.com/UniCodeFiles/uniview-style.css
.propsTable {
FONT-SIZE: 1.1em; FONT-FAMILY: "Arial Narrow"
}
.largeChar {
FONT-SIZE: 72pt
}
.selectedChar {
BORDER-RIGHT: gray 1pt solid; BORDER-TOP: gray 1pt solid; MARGIN-TOP: =
0px; FONT-SIZE: 32pt; MARGIN-BOTTOM: 0px; BORDER-LEFT: gray 1pt solid; =
COLOR: gray; BORDER-BOTTOM: gray 1pt solid; FONT-FAMILY: "Arial Unicode =
MS", Specials, sans-serif
}
.chartChar {
FONT-SIZE: 1.3em
}
.listChar {
FONT-SIZE: 0.9em
}
.label {
MARGIN-TOP: 0pt; FONT-SIZE: 16px; MARGIN-BOTTOM: 0pt; FONT-FAMILY: =
"Arial Unicode MS", sans-serif
}
.hi {
FONT-FAMILY: mangal, serif
}
.ipa {
FONT-FAMILY: "arial unicode ms", sans-serif
}
P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
.ipa {
FONT-SIZE: 1em; FONT-FAMILY: "arial unicode ms", sans-serif
}
.hi {
FONT-SIZE: 1em; COLOR: red; FONT-FAMILY: mangal, "arial unicode ms", =
sans-serif
}
.th {
FONT-SIZE: 2em; COLOR: red; FONT-FAMILY: cordiaupc, "cordia new", =
irisupc, "arial unicode ms", sans-serif
}
.ar {
FONT-SIZE: 1.5em; COLOR: red; FONT-FAMILY: "traditional arabic", =
sans-serif
}
.gr {
FONT-SIZE: 1em; COLOR: red; FONT-FAMILY: "lucida sans unicode", "arial =
unicode ms", sans-serif
}
#chart TD {
BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
VERTICAL-ALIGN: middle; WIDTH: 30px; PADDING-TOP: 0px; TEXT-ALIGN: =
center; BORDER-RIGHT-WIDTH: 0px; cellspacing: 0
}
TD.hexNum {
FONT-WEIGHT: normal; FONT-SIZE: 50%; FONT-FAMILY: "arial narrow", =
sans-serif
}
TD.empty {
BACKGROUND-COLOR: #f2f2f2
}
IMG {
CURSOR: pointer; align: middle
}
propshead {
MARGIN-TOP: 2em
}
------=_NextPart_000_0012_01C8BFE6.B7BD02E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.routesms.com/UniCodeFiles/uniconversion.asp
var debug1 =3D true;
var debug2 =3D true;
function dec2hex ( textString ) {
return (textString+0).toString(16).toUpperCase();
}
function dec2hex2 ( textString ) {
var hexequiv =3D new Array ("0", "1", "2", "3", "4", "5", "6", "7", =
"8", "9", "A", "B", "C", "D", "E", "F");
return hexequiv[(textString >> 4) & 0xF] + hexequiv[textString & 0xF];
}
function dec2hex4 ( textString ) {
var hexequiv =3D new Array ("0", "1", "2", "3", "4", "5", "6", "7", =
"8", "9", "A", "B", "C", "D", "E", "F");
return hexequiv[(textString >> 12) & 0xF] + hexequiv[(textString >> 8) =
& 0xF] + hexequiv[(textString >> 4) & 0xF] + hexequiv[textString & 0xF];
}
function convertCP2Char ( textString ) {
var outputString =3D '';
textString =3D textString.replace(/^\s+/, '');
if (textString.length =3D=3D 0) { return ""; }
textString =3D textString.replace(/\s+/g, ' ');
var listArray =3D textString.split(' ');
for ( var i =3D 0; i < listArray.length; i++ ) {
var n =3D parseInt(listArray[i], 16);
if (n <=3D 0xFFFF) {
outputString +=3D String.fromCharCode(n);
} else if (n <=3D 0x10FFFF) {
n -=3D 0x10000
outputString +=3D String.fromCharCode(0xD800 | (n >> 10)) + =
String.fromCharCode(0xDC00 | (n & 0x3FF));
} else {
outputString +=3D '!erreur ' + dec2hex(n) +'!';
}
}
return( outputString );
}
function convertCP2UTF16 ( textString ) {
var outputString =3D "";
textString =3D textString.replace(/^\s+/, '');
if (textString.length =3D=3D 0) { return ""; }
textString =3D textString.replace(/\s+/g, ' ');
var listArray =3D textString.split(' ');
for ( var i =3D 0; i < listArray.length; i++ ) {
var n =3D parseInt(listArray[i], 16);
if (i > 0) { outputString +=3D '';}
if (n <=3D 0xFFFF) {
outputString +=3D dec2hex4(n);
} else if (n <=3D 0x10FFFF) {
n -=3D 0x10000
outputString +=3D dec2hex4(0xD800 | (n >> 10)) + ' ' + =
dec2hex4(0xDC00 | (n & 0x3FF));
} else {
outputString +=3D '!erreur ' + dec2hex(n) +'!';
}
}
return( outputString );
}
function convertChar2CP ( textString ) {
var outputString =3D "";
var haut =3D 0;
var n =3D 0;
for (var i =3D 0; i < textString.length; i++) {
var b =3D textString.charCodeAt(i); // alert('b:'+dec2hex(b));
if (b < 0 || b > 0xFFFF) {
outputString +=3D '!erreur ' + dec2hex(b) + '!';
}
if (haut !=3D 0) {
if (0xDC00 <=3D b && b <=3D 0xDFFF) {
outputString +=3D dec2hex(0x10000 + ((haut - 0xD800) << 10) + (b =
- 0xDC00)) + ' ';
haut =3D 0;
continue;
} else {
outputString +=3D '!erreur ' + dec2hex(haut) + '!';
haut =3D 0;
}
}
if (0xD800 <=3D b && b <=3D 0xDBFF) {
haut =3D b;
} else {
outputString +=3D dec2hex(b) + ' ';
}
}
return( outputString.replace(/ $/, '') );
}
function convertUTF162CP ( textString ) {
var outputString =3D "";
var haut =3D 0;
var n =3D 0;
textString =3D textString.replace(/^\s+/, '');
if (textString.length =3D=3D 0) { return ""; }
textString =3D textString.replace(/\s+/g, ' ');
var listArray =3D textString.split(' ');
for ( var i =3D 0; i < listArray.length; i++ ) {
var b =3D parseInt(listArray[i], 16); // alert('b:'+dec2hex(b));
if (b < 0 || b > 0xFFFF) {
outputString +=3D '!erreur ' + dec2hex(b) + '!';
}
if (haut !=3D 0) {
if (0xDC00 <=3D b && b <=3D 0xDFFF) {
outputString +=3D dec2hex(0x10000 + ((haut - 0xD800) << 10) + (b =
- 0xDC00)) + ' ';
haut =3D 0;
continue;
} else {
outputString +=3D '!erreur ' + dec2hex(haut) + '!';
haut =3D 0;
}
}
if (0xD800 <=3D b && b <=3D 0xDBFF) {
haut =3D b;
} else {
outputString +=3D dec2hex(b) + '';
}
}
return( outputString.replace(/ $/, '') );
}
------=_NextPart_000_0012_01C8BFE6.B7BD02E0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.routesms.com/UniCodeFiles/functions.js
// functions.js
// this file contains most of the javascript functions needed to run =
UniView
// all of the language specific text is in functions-text.js
// note: several global variables are set in prefs.js
var _notesArray =3D new Array;
var _newNotesArray =3D false;
var _currentFont =3D _defaultFont;
if (document.all) { var IE =3D 'true'; }
var _tempList =3D false; // true if results of search or c&p displayed =
(for font change)
var _IE =3D false;
function getCharFromInt ( n ) {
// converts a decimal integer into a Unicode character
// n: integer, the decimal Unicode codepoint to be converted
// output: a character
if (n <=3D 0xFFFF) {
outputString =3D String.fromCharCode(n);
}=20
else if (n <=3D 0x10FFFF) {
n -=3D 0x10000
outputString =3D String.fromCharCode(0xD800 | (n >> 10)) + =
String.fromCharCode(0xDC00 | (n & 0x3FF));
}=20
else {
outputString =3D '!error ' + dec2hex(n) +'!';
}
return( outputString );
}
function showChar () {
printProperties( this.title );
}
function setOnclick ( codepoint, node ) {
//sets the event functions for node, used by createMatrix, createList, =
etc.
node.onclick =3D function(){ printProperties(codepoint) };
node.onclick =3D function () { addtocharSelect(codepoint) };
}
=09
function addtocharSelect ( codepoint ) {
// adds a character to the cut & paste field
// codepoint: integer, the decimal Unicode codepoint to be added
var field =3D document.getElementById( 'charSelect' );
field.value =3D field.value + getCharFromInt(codepoint);
// field.value =3D getCharFromInt(codepoint);
document.uni.chars.value=3Ddocument.getElementById('charSelect').value;
setUnicodeText();
setCounter();
}
function findScriptGroup ( charNum ) {
// output: returns the name of the script group in which charNum falls
// charNum: a decimal number representing the code point of the =
character in question
var i=3D0;
while ( i scriptGroups[i][0] ) {
i++;
}
if ( i =3D=3D scriptGroups.length ) { return( sNotAChar ); }
if ( scriptGroups[i-1][1] >=3D charNum ) { return( =
scriptGroups[i-1][2]); }
if ( scriptGroups[i][0] =3D=3D charNum ) { return( scriptGroups[i][2]); =
}
return( sNotAChar );
}=09
function createMatrix ( formField ) {
// output: a grid format list of characters in the left panel
// formField: a string of the form 'XXXX:YYYY' indicating a range of =
characters in hex notation
var table, tbody, tr, td, img;
_tempList =3D false;
var listDiv =3D document.getElementById( 'listOutput' );
var oldtable =3D document.getElementById('chart');
table =3D document.createElement( 'table' );
table.className =3D 'chartChar';
table.id =3D 'chart';
table.setAttribute( 'border', '1' );
tbody =3D table.appendChild( document.createElement( 'tbody' ));
// work out what the range is
var cCell =3D 0;
var HexURange =3D formField.split(':');
var start =3D parseInt( HexURange[0], 16 );
var end =3D parseInt( HexURange[1], 16 );
var cols =3D Math.ceil((end-start+1)/16);
var character =3D '';
var totalCodes =3D cols*16;
var notFound =3D true;
for (i=3D-1; i<16; i++) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
=09
// Create number column
td =3D tr.appendChild( document.createElement( 'td' ));
td.className =3D 'hexNum';
// td.setAttribute( 'noChar', 'y' );
if (_showNumbers && i>-1) {
td.appendChild( document.createTextNode( i.toString(16).toUpperCase() =
));
}
else { td.appendChild( document.createTextNode( '\u00A0' )); }
=09
for (j=3D0; j -1) {
img.src =3D 'graphics/'+scriptGroup+'/'+hexNum+'.png'; }
else { img.src =3D =
'http://decodeunicode.org/data/glyph/26x26/'+hexNum+'.gif'; }
}
}
}
}
}
var removedNode =3D listDiv.replaceChild( table, oldtable );
if (document.getElementById('generalCat').value !=3D 'startup') {
highlightList( 2, document.getElementById('generalCat').value );
}
if (document.getElementById('directionality').value !=3D 'startup') {
highlightList( 4, document.getElementById('directionality').value );
}
document.getElementById('fontSize').value =3D '100%';
}
function createList (formField) {
// output: a list of characters for a range given by formField =
displayed in the left panel
// formField: a string of the form 'XXXX:YYYY' indicating a range of =
characters in hex notation
=09
_tempList =3D false;
var HexURange =3D formField.split(':');
var start =3D parseInt( HexURange[0], 16 );
var end =3D parseInt( HexURange[1], 16 );
var rangeLength =3D end - start;
=09
var listDiv =3D document.getElementById( 'listOutput' );
var oldContent =3D document.getElementById('chart');
var newContent =3D document.createElement( 'div' );
newContent.className =3D 'charList';
newContent.id =3D 'chart';
=09
for (i=3Dstart; i<=3Dend; i++) {
if (U[i]) {
addLine( i, newContent );
}=09
}
var removedNode =3D listDiv.replaceChild( newContent, oldContent );
if (document.getElementById('generalCat').value !=3D 'startup') {
highlightList( 2, document.getElementById('generalCat').value );
}
if (document.getElementById('directionality').value !=3D 'startup') {
highlightList( 4, document.getElementById('directionality').value );
}
document.getElementById('fontSize').value =3D '100%';
}
function parseString ( string ) {
// output: a list of the characters contained in string=20
// string: a string of characters
// ***docObj: the window in which the results will be output
_tempList =3D true;
var codepoint =3D 0;
if ( string.length =3D=3D 1 ) { printProperties(string.charCodeAt(0)); =
}
else {
var listDiv =3D document.getElementById( 'listOutput' );
var oldContent =3D document.getElementById('chart');
var newContent =3D document.createElement( 'div' );
newContent.className =3D 'charList';
newContent.id =3D 'chart';
for (i=3D0; i -1) {
img.src =3D 'graphics/'+scriptGroup+'/'+cRecord[0]+'.png'; }
else { img.src =3D =
'http://decodeunicode.org/data/glyph/26x26/'+cRecord[0]+'.gif'; }
//img.src =3D =
'http://decodeunicode.org/data/glyph/26x26/'+cRecord[0]+'.gif';
}
div.appendChild( document.createTextNode( '\u00A0 '+cRecord[1] ));
}
=09
function findString ( searchString ) {
//function findString ( searchString, docObj ) {
// effect: outputs in the left panel a list of characters whose =
descriptions in the database match searchString
// searchString: a string of text to search for in the database
// ***docObj: the window in which the result will be output
// U: the Unicode database
_tempList =3D true;
var counter =3D 0;
var i =3D 0;
searchString =3D searchString.toUpperCase();
var listDiv =3D document.getElementById( 'listOutput' );
var oldContent =3D document.getElementById('chart');
var tempContent =3D document.createElement( 'div' );
tempContent.className =3D 'charList';
tempContent.id =3D 'chart';
tempContent.appendChild( document.createTextNode( sSearching ))
var removedNode =3D listDiv.replaceChild( tempContent, oldContent );
oldContent =3D document.getElementById('chart');
=09
var newContent =3D document.createElement( 'div' );
newContent.className =3D 'charList';
newContent.id =3D 'chart';
for (i=3D0; i <13311; i++ ) {
if ( U[i] && U[i].indexOf(searchString, 0) > -1 ) {
addLine(i, newContent);
counter++;
}
}
for (i=3D40960; i <42183; i++ ) {
if ( U[i] && U[i].indexOf(searchString, 0) > -1 ) {
addLine(i, newContent);
counter++;
}
}
for (i=3D64256; i <65534; i++ ) {
if ( U[i] && U[i].indexOf(searchString, 0) > -1 ) {
addLine(i, newContent);
counter++;
}
}
for (i=3D66304; i <66638; i++ ) {
if ( U[i] && U[i].indexOf(searchString, 0) > -1 ) {
addLine(i, newContent);
counter++;
}
}
for (i=3D118784; i <120832; i++ ) {
if ( U[i] && U[i].indexOf(searchString, 0) > -1 ) {
addLine(i, newContent);
counter++;
}
}
for (i=3D917505; i <917632; i++ ) {
if ( U[i] && U[i].indexOf(searchString, 0) > -1 ) {
addLine(i, newContent);
counter++;
}
}
if (counter =3D=3D 0) { newContent.appendChild( =
document.createTextNode( sNoMatch )); }
removedNode =3D listDiv.replaceChild( newContent, oldContent );
if (document.getElementById('generalCat').value !=3D 'startup') {
highlightList( 2, document.getElementById('generalCat').value );
}
if (document.getElementById('directionality').value !=3D 'startup') {
highlightList( 4, document.getElementById('directionality').value );
}
document.getElementById('fontSize').value =3D '100%';
}
function printProperties ( codepoint ) {
//function printProperties ( codepoint, docObj ) {
// output: a description of a single character in the right panel, plus =
notes if an appropriate file has been loaded
// codepoint: an integer representing the Unicode scalar value of the =
character to be displayed
// ***docObj: the window to which the results will be output
=09
var MsPadding =3D ''; // Will be set to a space if this is a =
non-spacing mark
var description =3D false;
var div, span, img, table, tbody, tr, td;
var listDiv =3D document.getElementById( 'charOutput' );
var oldContent =3D document.getElementById('charInfo');
var newContent =3D document.createElement( 'div' );
newContent.className =3D 'charInfo';
newContent.setAttribute( 'id', 'charInfo' );
// resultString +=3D 'onDblClick=3D"' + =
'parent.keyboard.displayHighlight(document.selection.createRange().text)"=
';
if (U[codepoint]) {=20
cRecord =3D U[codepoint].split(';');
if (cRecord[3] > 0) { MsPadding =3D '\u00A0'; } // ie. this is a =
combining character
// float the large character to the right
div =3D newContent.appendChild( document.createElement( 'div' ));
if (IE) { div.style.styleFloat =3D 'right'; } else { =
div.style.cssFloat =3D 'right'; }
div.style.paddingRight =3D '20px';
div.style.paddingLeft =3D '40px';
if (_utf8) {=20
span =3D div.appendChild( document.createElement( 'span' ));
span.setAttribute( 'id', 'largeChar' );
span.className =3D 'largeChar' ;
span.style.fontFamily =3D _currentFont;
span.appendChild( document.createTextNode( MsPadding + =
getCharFromInt(parseInt(cRecord[0],16)) ));
}
else {
img =3D div.appendChild( document.createElement( 'img' ));
scriptGroup =3D findScriptGroup(codepoint);
if (localGraphics.indexOf(scriptGroup+',') > -1) {
img.src =3D 'graphics/'+scriptGroup+'/'+cRecord[0]+'.png'; }
else { img.src =3D =
'http://decodeunicode.org/data/glyph/196x196/'+cRecord[0]+'.gif'; }
//img.setAttribute( 'src', =
'http://decodeunicode.org/data/glyph/196x196/'+cRecord[0]+'.gif');
}
=09
=09
// set up navigational graphics
img =3D newContent.appendChild( document.createElement( 'img' ));
img.onclick =3D function () { adjacentChar( codepoint, -1 ) };
img.src =3D 'images/undo.gif';
img.className =3D 'icon';
img.alt =3D sPrevChar;
img.title =3D sPrevChar;
img =3D newContent.appendChild( document.createElement( 'img' ));
img.onclick =3D function () { adjacentChar( codepoint, 1 ) };
img.src =3D 'images/go.gif';
imgclassName =3D 'icon';
img.alt =3D sNextChar;
img.title =3D sNextChar;
// character no. & name
div =3D newContent.appendChild( document.createElement( 'div' ));
div.style.marginTop =3D '10px';
div.appendChild( document.createTextNode( cRecord[0]+': \u00A0 =
'+cRecord[1]+' \u00A0 \u00A0 ' ));
=09
// fill out properties table =09
table =3D newContent.appendChild( document.createElement( 'table' ));
table.className =3D 'propsTable';
table.width =3D '90%';
table.style.clear =3D 'both';
tbody =3D table.appendChild( document.createElement( 'tbody' ));
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sGeneralCat ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[2] + ' - ' + =
generalProp[ cRecord[2] ] ));
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sCanonCombClass ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[3] + ' - ' + =
combClass[ cRecord[3] ] ));
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sBidiCat ));
td =3D tr.appendChild( document.createElement( 'td' ));
string =3D cRecord[4] + ' - ' + bidiProp[ cRecord[4] ];
if (cRecord[9] =3D=3D 'Y' ) { string +=3D sMirrored };
td.appendChild( document.createTextNode( string ));
if (cRecord[5]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sCharDecompMap ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[5] ));
}
if (cRecord[6]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sDecDigitValue ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[6] ));
}
if (cRecord[7]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sDigitValue ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[7] ));
}
if (cRecord[8]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sNumValue ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[8] ));
}
if (cRecord[10]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sUnicode1Name ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[10] ));
}
if (cRecord[11]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( s10646Comment ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[11] ));
}
if (cRecord[12]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sUppercaseMap ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[12] ));
}
if (cRecord[13]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sLowercaseMap ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[13] ));
}
if (cRecord[14]) {
tr =3D tbody.appendChild( document.createElement( 'tr' ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( sTitlecaseMap ));
td =3D tr.appendChild( document.createElement( 'td' ));
td.appendChild( document.createTextNode( cRecord[14] ));
}
=09
//find script group
p =3D newContent.appendChild( document.createElement( 'p' ));
p.style.marginTop =3D "18px";
strong =3D p.appendChild( document.createElement( 'strong' ));
strong.appendChild( document.createTextNode( sScriptGroup ));
p.appendChild( document.createTextNode( findScriptGroup( codepoint =
)));
=09
// find the descriptions
var hexLength =3D cRecord[0].length;
for (i=3D0; i < descriptions.length-1; i++ ) {
if ( descriptions[i].slice(0, hexLength) =3D=3D cRecord[0] ) {=20
dRecord =3D descriptions[i].split('=C2=B6');
p =3D newContent.appendChild( document.createElement( 'p' ));
p.style.marginTop =3D "18px";
strong =3D p.appendChild( document.createElement( 'strong' ));
strong.appendChild( document.createTextNode( sDescription ));
p.appendChild( document.createElement( 'br' ));
description =3D true;
for (var j=3D1; j < dRecord.length; j++ ) {
p.appendChild( document.createTextNode( dRecord[j] ));
p.appendChild( document.createElement( 'br' ));
}
break;
}
}
=09
// add notes from iframe
// alert( _newNotesArray );
// if ( _newNotesArray ) {
// var iframe =3D document.getElementById( 'iframe' );
// if (iframe.contentDocument) { //alert('using DOM');
// _notesArray =3D =
iframe.contentDocument.getElementsByTagName('div');
// alert( sNotesReadIn + _notesArray.length + sDivs );
// }
// else if ( iframe.Document ) { //alert( 'must be IE' );=20
// _IE =3D true; // this is a hack until such time as I can figure =
out how to make IE work
// _notesArray =3D iframe.Document.getElementsByTagName('div');
// alert( sNotesReadIn + _notesArray.length + sDivs );
// }
// _newNotesArray =3D false;
// }
// if (_notesArray.length =3D=3D 0){alert('no notes array');} else =
{alert('notes array exists');}
=09
// var codeID =3D 'C' + cRecord[0];
// _notesArray =3D document.getElementById( codeID );
// var iframe =3D document.getElementById('iframe');
// nodeArray =3D iframe.contentDocument.getElementsByTagName('div');=09
// alert( _notesArray.length + ' ' + codeID );
// if (_notesArray) {
// for (i=3D0; i < _notesArray.length-1; i++ ) {
// alert(_notesArray[i].getAttribute('id'));
// if (_notesArray[i].id =3D=3D codeID) {
// alert( 'found it' );
// var notesNode =3D _notesArray[i].cloneNode(true);
// hr =3D newContent.appendChild( document.createElement( 'hr' ) );
// hr.noShade =3D true; hr.style.color =3D '#009966';
// alert( 'after' );
// if ( ! _IE ) { // this is a hack until such time as I can figure =
out how to make IE work
// newContent.appendChild( notesNode );
// }
// newContent.appendChild( _notesArray[i] );
// newContent.appendChild( test );
// alert( 'leaving' );
// break;
// }
// }
// }
var codeID =3D 'C' + cRecord[0];
notesNode =3D document.getElementById( codeID );
// alert( codeID );
if (notesNode) {
var clonedNode =3D notesNode.cloneNode(true);
hr =3D newContent.appendChild( document.createElement( 'hr' ) );
hr.noShade =3D true;=20
hr.style.color =3D '#009966';
newContent.appendChild( clonedNode );
}
=09
// add any notes
}
else { // this is either not a recognized character or a Han or Hangul =
character
var group =3D findScriptGroup(codepoint);
if (group !=3D sNotAChar){
// float the large character to the right
div =3D newContent.appendChild( document.createElement( 'div' ));
if (IE) { div.style.styleFloat =3D 'right'; } else { =
div.style.cssFloat =3D 'right'; }
div.style.paddingRight =3D '20px';
div.style.paddingLeft =3D '40px';
if (_utf8) {=20
span =3D div.appendChild( document.createElement( 'span' ));
span.id =3D 'largeChar';
span.className =3D 'largeChar' ;
span.style.fontFamily =3D _currentFont;
span.appendChild( document.createTextNode( MsPadding + =
getCharFromInt(codepoint) ));
}
else {
img =3D div.appendChild( document.createElement( 'img' ));
scriptGroup =3D findScriptGroup(codepoint);
if (localGraphics.indexOf(scriptGroup+',') > -1) {
img.src =3D 'graphics/'+scriptGroup+'/'+cRecord[0]+'.png'; }
else { img.src =3D =
'http://decodeunicode.org/data/glyph/196x196/'+cRecord[0]+'.gif'; }
//img.setAttribute( 'src', =
'http://decodeunicode.org/data/glyph/196x196/'+cRecord[0]+'.gif');
}
}
=09
// character no. & name
div =3D newContent.appendChild( document.createElement( 'div' ));
div.style.marginTop =3D '10px';
div.appendChild( document.createTextNode( =
codepoint.toString(16).toUpperCase() +
sNoDescAvail ));
=09
//display script group
p =3D newContent.appendChild( document.createElement( 'p' ));
p.style.marginTop =3D "18px";
strong =3D p.appendChild( document.createElement( 'strong' ));
strong.appendChild( document.createTextNode( sScriptGroup ));
p.appendChild( document.createTextNode( group ));
}
var removedNode =3D listDiv.replaceChild( newContent, oldContent );
}=09
//???=09
function highlightList ( field, searchString ) {
// output: highlighting in the left panel of all characters that fall =
into the category selected
// field: string, the field in the record to search for a match
// searchString: string, the specific setting to search for in the =
field
var nodeArray =3D new Array;
=09
var leftpanel =3D document.getElementById('chart');
if ( _displayStyle =3D=3D 'list' ) { nodeArray =3D =
leftpanel.getElementsByTagName("div") }
else { nodeArray =3D leftpanel.getElementsByTagName("td") }=20
// clear out any existing highlighting
for (var i=3D0; i < nodeArray.length; i++) {=20
// if (U[nodeArray[i].title]) { nodeArray[i].style.backgroundColor =3D =
'white'; }
// else if (! nodeArray[i].noChar) { nodeArray[i].style.backgroundColor =
=3D unassignedFiltered; }
if (nodeArray[i].className =3D=3D 'ch' ) {=20
nodeArray[i].style.backgroundColor =3D 'white';=20
}
else if (nodeArray[i].className =3D=3D 'empty') {=20
nodeArray[i].style.backgroundColor =3D unassignedFiltered; }
}
=09
// if you set searchstring to 'none' to clear highlighting, quit now
if (searchString =3D=3D 'none') {=20
if (_displayStyle =3D=3D 'matrix') {
for (var i=3D0; i < nodeArray.length; i++) {
// if (!U[nodeArray[i].title] && nodeArray[i].className =3D=3D =
'empty' ) {
if ( nodeArray[i].className =3D=3D 'empty' ) {
nodeArray[i].style.backgroundColor =3D unassignedChar;
}
}
} =20
return;=20
} =20
// check whether this is a general or specific category
if (searchString.charAt(0) =3D=3D 'x') {
searchString =3D searchString.charAt(1);
for (var i=3D0; i < nodeArray.length; i++) {
// if (U[nodeArray[i].title]) {
if (nodeArray[i].className =3D=3D 'ch') {
cRecord =3D U[ nodeArray[i].title ].split( ';' );
if ( cRecord[field].charAt(0) =3D=3D searchString ) {
nodeArray[i].style.backgroundColor =3D filterHighlight;
}
}
} =20
}
else { for (var i=3D0; i < nodeArray.length; i++) {
if (nodeArray[i].className =3D=3D 'ch') {
cRecord =3D U[ nodeArray[i].title ].split( ';' );
if ( cRecord[field] =3D=3D searchString ) {
nodeArray[i].style.backgroundColor =3D filterHighlight;
}
}
}
}
}
=09
function adjacentChar (codepoint, direction) {
// output: shows the next or previous character in the database in the =
right panel
// codepoint: integer, the decimal Unicode scalar value of the =
character currently displayed
// direction: integer, either 1 or -1
=09
while (codepoint !=3D 0 && codepoint !=3D U.length) {
codepoint +=3D direction;
if (U[codepoint]) { break; }
}
printProperties(codepoint);
}
// ACTION ROUTINES
function showCodepoint (codepoint) {
printProperties(parseInt( codepoint, 16 ));
}
=09
function showUnihan (codepoint) {
unihan =3D =
window.open('http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=3D=
'+codepoint+'&useutf8=3Dtrue', 'unihan');
unihan.focus();
}
function showConverter (codepoints, origin) {
converter =3D =
window.open('conversion.php?codepoints=3D'+codepoints+'&origin=3D'+origin=
, 'converter');
converter.focus();
}
function showRange() {
if (document.getElementById('customRange1').value) {
createMatrix(document.getElementById('customRange1').value + ':' + =
document.getElementById('customRange2').value);
}
// alert( document.getElementById('URangeSelector').value );
document.getElementById('URangeSelector').value =3D 'Custom';
//this doesn't work yet - fix it
}=09
=09
function showSelection(range) {
if (_displayStyle =3D=3D 'matrix') { createMatrix(range); }
else { createList(range); }
rangeArray =3D range.split(':')
document.getElementById('customRange1').value =3D rangeArray[0];
document.getElementById('customRange2').value =3D rangeArray[1];=20
}
function toggleDisplay (graphic) {
if (_displayStyle =3D=3D 'matrix') {
_displayStyle =3D 'list';
graphic.src =3D 'images/grid.gif';
}
else {
_displayStyle =3D 'matrix';
graphic.src =3D 'images/list.gif';
}
refreshRange();
}
=09
function toggleGraphic (graphic) {
if (_utf8) {
_utf8 =3D false;
graphic.src =3D 'images/utf-8.gif';
}
else {=20
_utf8 =3D true;
graphic.src =3D 'images/graphic.gif';
}
refreshRange();
}
=09
function toggleNumbers (graphic) {
if (_showNumbers) {
_showNumbers =3D false;
graphic.src =3D 'images/num-on.gif';
}
else {=20
_showNumbers =3D true;
graphic.src =3D 'images/num-off.gif';
}
refreshRange();
}
=09
function refreshRange () {
if (document.getElementById('customRange1').value !=3D '') {
showSelection( document.getElementById('customRange1').value+':'
+document.getElementById('customRange2').value );
}
}
=09
function changeFontSize (size) {
var leftpanel =3D document.getElementById('chart');
=09
if ( _displayStyle =3D=3D 'matrix' ) {
nodeArray =3D leftpanel.getElementsByTagName("td");
for (var i=3D0; i < nodeArray.length; i++) {=20
if (nodeArray[i].className !=3D 'hexNum') {
nodeArray[i].style.fontSize =3D size;
}
}
}
=09
else { nodeArray =3D leftpanel.getElementsByTagName('span')=20
for (var i=3D0; i < nodeArray.length; i++) {=20
if (nodeArray[i].className =3D=3D 'ch') {
nodeArray[i].style.fontSize =3D size;=20
}
}
} =20
}
=09
function changeFont (fontName) {
// changes the font used for character display
// fontName: string, the name of the font to apply
// _defaultFont: string, set in prefs.js
// _currentFont: string, allows changes to persist
=09
//deal with accidents or resets
if (fontName =3D=3D sApplyFont || fontName =3D=3D '') {
document.getElementById('chFont').value =3D sApplyFont;
_currentFont =3D _defaultFont;
}
else { _currentFont =3D fontName; }
=09
// make the changes
var leftpanel =3D document.getElementById('chart');
=09
if ( _displayStyle =3D=3D 'matrix' ) {
nodeArray =3D leftpanel.getElementsByTagName("td");
for (var i=3D0; i < nodeArray.length; i++) {=20
if (nodeArray[i].className !=3D 'hexNum') {
nodeArray[i].style.fontFamily =3D _currentFont;
}
}
}
=09
else { nodeArray =3D leftpanel.getElementsByTagName('span')=20
for (var i=3D0; i < nodeArray.length; i++) {=20
if (nodeArray[i].className =3D=3D 'chSpan') {
nodeArray[i].style.fontFamily =3D _currentFont;=20
}
}
}=20
=09
if ( document.getElementById('largeChar')) {
document.getElementById('largeChar').style.fontFamily =3D =
_currentFont;
}
}
=09
function setupNotesSelector () {=09
var selector =3D document.getElementById( 'notesSelector' );
for (i=3D0; i -1 ) {
hexCode =3D hexCode.replace(' ', '');
}
=09
// if not a hex number, set notHex to true
for (i=3D0; i 6) { notHex =3D true; }
=09
if (notHex) { alert( sNotHex ); return; }
else {
var decCode =3D parseInt( hexCode, 16 );
//check for combining character
cRecord =3D U[decCode].split(';');
if (cRecord[3] > 0) { ccPadding =3D '\u00A0'; } // ie. this is a =
combining character
=09
var preview =3D document.getElementById('preview');
var dropPoint =3D preview.firstChild;
var newText =3D document.createTextNode( ccPadding + =
getCharFromInt(decCode));
var removedText =3D preview.replaceChild(newText, dropPoint);
preview.style.fontFamily =3D _currentFont;
}
}
function changeHeight ( height ) {
// changes the height of the visible text in the left panel by user =
request
// height: user specified height (including px, etc.)
var panel =3D document.getElementById( 'listOutput' );
panel.style.height =3D height;
}
------=_NextPart_000_0012_01C8BFE6.B7BD02E0--