#!/usr/bin/perl -w my $url_volume_list = "http://www.sciencedirect.com/science?_ob=JournalURL&_cdi=6854&_auth=y&_acct=C000058412&_version=1&_urlVersion=0&_userid=2640392&md5=83ef29225305a65e570f317813d45609"; use LWP::Simple; my $content = get $url_volume_list; die "Couldn't get connect to list of volumes on jct website " unless defined $content; my $vol_num="36"; my $iss_num="10"; my $pos1=0; my $pos2=0; my $tablecount=0; my $iss_title=""; my $iss_year=""; my $iss_month=""; my $curpath=`pwd`; $curpath =~ s/^\s*(\S+)\s*$/$1/s; $curpath =~ s{(/[^/]+?/[^/]+$)}{$1}s; $curpath = $1; $curpath =~ m{/[0-9]+?v([0-9]+)/i([0-9]+)}s; $vol_num=$1;$iss_num=$2; if ( @ARGV ) { die "Usage Proc2.pl with no arguments, the vol. number and issue number are taken from the path!!"; } # Retrieve the link of interest from JCT #get the url for this issue out of the volume list page $content =~ m{HREF="([^"]*?Volume_$vol_num,_Issue_$iss_num.*?md5=[0-9,a-z]+)"}gs; my $url2 = "http://www.sciencedirect.com" . $1; my $content2 = get $url2; die "Couldn't get data for that volume " unless defined $content2; # Clean the file a little first #Remove all Scripts (assuming no scripts within scripts $content2 =~ s/<(script)[^>]*?>.*?<\/\1[^>]*?>//sig ; #get the page numbers, month and year for this issue, all available in the title $content2 =~ m{]*?>(.*?)]*?>}si; $iss_title = $1; $iss_title =~ m/Volume.*$/si ; $iss_title = $&; $iss_title =~ m/\((.*?)\)/si; $1 =~ m/(\w+)\s+?(\S+)/si; $iss_month = $1; $iss_year = $2; #The articles are in a series of tables identifiable by class="tableResults-B" #Extract them all pos $content2 = 0; my $num_articles = 0; my @ArticleTables = (); my @Art_DOI = (); my @Art_type =(); #Article or Review or Editor's Note ... my @Abstract_ref = (); my @Authors =(); my @Title = (); my @Pages = (); my @Art_xmlfile = (); my @ThermoML_fname = (); my @ThermoML_trcref = (); my @ThermoML_pages = (); my @ThermoML_vol = (); my $ThermoML_count = 0; my @table_array; my @filelist = `ls *.xml`; chop @filelist; my @citation = (); my $filenum = 0; for $thisfile (@filelist) { open XMLFILE,"<$thisfile" or die " I couldn't open $thisfile\n"; $curcitation =""; $line1=""; ($line1 = ) until $line1 =~ m// ; $curcitation = $line1; $curcitation .= ($line1 = ) until ($line1 =~ m/<\/Citation>/); close XMLFILE; if ($curcitation =~ m/(.*?)<\/TRCRefID>/s) { $_=$1; $trcref=""; m/(.*?)<\/yrYrPub>/s; $trcref.=$1; m/(.*?)<\/sAuthor1>/s; $trcref .= $1; m/(.*?)<\/sAuthor2>/s; $trcref .= $1; m/(.*?)<\/nAuthorn>/s; $trcref .= $1; if ($trcref) { $ThermoML_count++; $ThermoML_fname[$ThermoML_count-1] = $thisfile; $ThermoML_trcref[$ThermoML_count-1]=$trcref; # while ($curcitation =~ m/([^<]*?)<\/sAuthor>/gs) {print "$1 \n";} $curcitation =~ m/([^<]*?)<\/sPage>/s ; $ThermoML_pages[$ThermoML_count-1]=$1; $curcitation =~ m/([^<]*?)<\/sVol>/s; $ThermoML_vol[$ThermoML_count-1]=$1; } } } while ( $content2 =~ m/]*?tableResults-B[^>]*?>/gsi) { $pos1 = (pos $content2) - length($&); $pos2 = $pos1; $tablecount = 1; while ($tablecount != 0) { $content2 =~ m{<([/]?table)[^>]*?>}gsi; $pos2 = pos $content2; ($1 =~ m{^table}i) ? $tablecount++ : $tablecount--; } $ArticleTables[++$num_articles] = substr($content2,$pos1,$pos2-$pos1); pos $content2 = $pos2; # Find content in this article # first get table data item table 1, row 1 column 2 @table_array = table_to_array($ArticleTables[$num_articles]); $table_array[1][2] =~ m/(.*?)
/gsi; $Title[$num_articles] = $1; $table_array[1][2] =~ m/(.*?)
/gsi; $Pages[$num_articles] = $1; $table_array[1][2] =~ m/(.*?)
/gsi; $Authors[$num_articles] = $1; $table_array[1][2] =~ m/(.*?)
/gsi; $Abstract_ref[$num_articles] = $1; #now get the abstract reference $Abstract_ref[$num_articles] =~ m/href="(http:[^"]*?)"/gsi; $url3 = $1; $content3 = get $url3; die "Couldn't get connect to list of volumes on jct website " unless defined $content; $content3 =~ m{href="http://dx\.doi\.org/([^"]*?)"}gsi; $Art_DOI[$num_articles] = $1; } #now see if xml files are available for each article for (my $icount=1;$icount<=$num_articles;$icount++){ #first split the Authors @author_array = split /,|and/,$Authors[$icount]; $trcname = ""; $cnt = 0; while ($author_array[$cnt] and ($cnt < 2)){ # find last names $author_array[$cnt++] =~ m{\s(\S+?)\s*?$}; # print "$1 \n"; $trcname .= lc substr($1,0,3); } $trcname .= $iss_year.$trcname; $Art_xmlfile[$icount]=""; for (my $iloc=0;$iloc < $ThermoML_count;$iloc++) { $ThermoML_pages[$iloc] =~ s/^\s*(\S*)\s*$/$1/; if ( $Pages[$icount] =~ m/$ThermoML_pages[$iloc]/s ){$Art_xmlfile[$icount]=$ThermoML_fname[$iloc];} } #generate citation only xml files for articles with no TRC provided files $Art_DOI[$icount] =~ m/\/(\S+)/s; $local_doi = $1."\.xml"; $Title[$icount] =~ m/\s*(.*?)\ /si; $local_title = $1; $Pages[$icount] =~ m/Pages\s*([0-9]+-[0-9]+)/si; $local_pages = $1; if (not $Art_xmlfile[$icount]) { $Art_xmlfile[$icount] = "\./".$Art_DOI[$icount]."\.xml"; open XMLTAG,">$local_doi" or die "you can't open this file $local_doi \n"; print XMLTAG <<"ENDOFXMLHEAD"; 2 0 journal Original ENDOFXMLHEAD foreach $auth_name (@author_array) { $auth_temp = $auth_name; my $first_name=""; my $last_name = ""; $auth_temp = HTML_to_text($auth_temp); $auth_temp =~ s/^\s*(.*?)\s*$/$1/s; #trim spaces in front and back $auth_temp =~ m/^(.*?)(\S+)$/; $first_name =$1; $last_name = $2; $first_name =~ s/^\s*(.*?)\s*$/$1/s; #trim spaces in front and back print XMLTAG "\t\t$last_name, $first_name\n"; } $local_title = HTML_to_text($local_title); print XMLTAG <<"ENDOFXMLTAIL"; J. Chem. Thermodyn. $iss_year $local_title $vol_num $local_pages ENDOFXMLTAIL close XMLTAG; } else { `ln -s $Art_xmlfile[$icount] $local_doi`; } # print "Article number $icount has xml file $Art_xmlfile[$icount] \n"; `ln -s ../$local_doi ./10.1016/$local_doi`; } print_head($vol_num,$iss_num,$iss_title,$url2); #print tables for (my $icount=1;$icount<=$num_articles;$icount++){ $Art_DOI[$icount] =~ m/\/(\S+)/s; my $local_doi_xml = $1."\.xml"; $rowcolor =""; $rowcolor=" bgcolor=\"#EDEDED\"" if ($icount % 2); print <<"ENDOFTABLE";
$icount.
$Title[$icount]
$Pages[$icount]
$Authors[$icount]
ThermoML Data (To download: right-click on link and select "Save Link Target As" )
ENDOFTABLE #the following line adds a link via the DOI to the article abstract #Link to Abstract on Journal Website (This will take you out of NIST web-space)
} print "
\n"; print "\n"; print "\n"; sub print_head{ my $voln = shift(@_); my $issn = shift(@_); my $isstitle = shift(@_); my $toc_url = shift(@_); print <<"ENDOFHEAD";

$isstitle

ThermoML Data for the Journal of Chemical Thermodynamics, Vol. $voln, No. $issn October 2004
Developed in cooperation between the Journal of Chemical Thermodynamics and the Thermodynamics Research Center (TRC)

The full Table of Contents for this issue is available from JCT. The numbers below correspond to the numbers in the full Table of Contents. ENDOFHEAD return 0; } sub table_to_array { my $tabletext = shift(@_); my @tblarray = (); my @tblrow = (); #first ectract all the rows into table row array my $rowpos1 = 0; my $rowpos2 = 0; my $rowcount = 0; my $colcount = 0; my $textpos = 0; my $tagcount = 0; while( $tabletext =~ m/]*?>/gsi ){ #set first position just after tag $rowpos1 = pos $tabletext; $tagcount = 1; while($tagcount != 0){ $tabletext =~ m{<([/]?tr)[^>]*?>}gsi; $rowpos2 = (pos $tabletext) - length($&); #set pos just before tag ($1 =~ m/^tr/i) ? $tagcount++ : $tagcount--; } $tblrow[++$rowcount] = substr($tabletext,$rowpos1,$rowpos2-$rowpos1); } for (my $rownum = 1;$rownum <= $rowcount;$rownum++){ while( $tblrow[$rownum] =~ m/]*?>/gsi ){ #set first position just after tag $rowpos1 = pos $tblrow[$rownum]; $tagcount = 1; while($tagcount != 0){ $tblrow[$rownum] =~ m{<([/]?td)[^>]*?>}gsi; $rowpos2 = (pos $tblrow[$rownum]) - length($&); #set pos just before tag ($1 =~ m/^td/i) ? $tagcount++ : $tagcount--; } $tblarray[$rownum][++$colcount] = substr($tblrow[$rownum],$rowpos1,$rowpos2-$rowpos1); } } return @tblarray; } sub HTML_to_text{ my $htmltxt = shift(@_); my $cnvtxt=""; #first strip all tags $_=$htmltxt; s///sig; s/<\/sub>//sig; s///sig; s/<\/sup>//sig; s///sig; s/<\/i>//sig; s///sig; s/<\/b>//sig; s/

//sig; s/<\/p>//sig; s/

//sig; s/<\/h1>//sig; s/

//sig; s/<\/h2>//sig; s/

//sig; s/<\/h3>//sig; s/
//sig; s/]*?>//sig; s/<\/font>//sig; s///sig; s/<\/small>//sig; s///sig; s/<\/tiny>//sig; s///sig; s/<\/large>//sig; s///sig; s/<\/huge>//sig; s///sig; s/<\em>//sig; s///sig; s/<\u>//sig; s/
//sig; s/
/ /sig; s/<[\/]?\w+?>//sig; $cnvtxt=$_; #now READ in the entire map my @maplist = split "\n",<<'ENDOFHTMLMAP'; 32 SPACE 33 ! ! EXCLAMATION MARK 34 " " """" QUOTATION MARK   (entity name is ") 35 # # NUMBER SIGN 36 $ $ DOLLAR SIGN 37 % % PERCENT SIGN 38 & & & AMPERSAND   (entity name is &) 39 ' ' APOSTROPHE 40 ( ( LEFT PARENTHESIS 41 ) ) RIGHT PARENTHESIS 42 * * ASTERISK 43 + + PLUS SIGN 44 , , COMMA 45 - - HYPHEN-MINUS 46 . . FULL STOP 47 / / SOLIDUS 49 1 1 DIGIT ONE 50 2 2 DIGIT TWO 51 3 3 DIGIT THREE 52 4 4 DIGIT FOUR 53 5 5 DIGIT FIVE 54 6 6 DIGIT SIX 55 7 7 DIGIT SEVEN 56 8 8 DIGIT EIGHT 57 9 9 DIGIT NINE 58 : : COLON 59 ; ; SEMICOLON 60 < < < LESS-THAN SIGN   (entity name is <) 61 = = EQUALS SIGN 62 > > > GREATER-THAN SIGN   (entity name is >) 63 ? ? QUESTION MARK 64 @ @ COMMERCIAL AT 65 A A LATIN CAPITAL LETTER A 66 B B LATIN CAPITAL LETTER B 67 C C LATIN CAPITAL LETTER C 68 D D LATIN CAPITAL LETTER D 69 E E LATIN CAPITAL LETTER E 70 F F LATIN CAPITAL LETTER F 71 G G LATIN CAPITAL LETTER G 72 H H LATIN CAPITAL LETTER H 73 I I LATIN CAPITAL LETTER I 74 J J LATIN CAPITAL LETTER J 75 K K LATIN CAPITAL LETTER K 76 L L LATIN CAPITAL LETTER L 77 M M LATIN CAPITAL LETTER M 78 N N LATIN CAPITAL LETTER N 79 O O LATIN CAPITAL LETTER O 80 P P LATIN CAPITAL LETTER P 81 Q Q LATIN CAPITAL LETTER Q 82 R R LATIN CAPITAL LETTER R 83 S S LATIN CAPITAL LETTER S 84 T T LATIN CAPITAL LETTER T 85 U U LATIN CAPITAL LETTER U 86 V V LATIN CAPITAL LETTER V 87 W W LATIN CAPITAL LETTER W 88 X X LATIN CAPITAL LETTER X 89 Y Y LATIN CAPITAL LETTER Y 90 Z Z LATIN CAPITAL LETTER Z 91 [ [ LEFT SQUARE BRACKET 92 \ \ REVERSE SOLIDUS 93 ] ] RIGHT SQUARE BRACKET 94 ^ ^ CIRCUMFLEX ACCENT 95 _ _ LOW LINE 96 ` ` GRAVE ACCENT 97 a a LATIN SMALL LETTER A 98 b b LATIN SMALL LETTER B 99 c c LATIN SMALL LETTER C 100 d d LATIN SMALL LETTER D 101 e e LATIN SMALL LETTER E 102 f f LATIN SMALL LETTER F 103 g g LATIN SMALL LETTER G 104 h h LATIN SMALL LETTER H 105 i i LATIN SMALL LETTER I 106 j j LATIN SMALL LETTER J 107 k k LATIN SMALL LETTER K 108 l l LATIN SMALL LETTER L 109 m m LATIN SMALL LETTER M 110 n n LATIN SMALL LETTER N 111 o o LATIN SMALL LETTER O 112 p p LATIN SMALL LETTER P 113 q q LATIN SMALL LETTER Q 114 r r LATIN SMALL LETTER R 115 s s LATIN SMALL LETTER S 116 t t LATIN SMALL LETTER T 117 u u LATIN SMALL LETTER U 118 v v LATIN SMALL LETTER V 119 w w LATIN SMALL LETTER W 120 x x LATIN SMALL LETTER X 121 y y LATIN SMALL LETTER Y 122 z z LATIN SMALL LETTER Z 123 { { LEFT CURLY BRACKET 124 | | VERTICAL LINE 125 } } RIGHT CURLY BRACKET 126 ~ ~ TILDE 131 f ƒ [ANSI - f with hook; MacRoman - E acute] 132 "" „ [ANSI - double low-9 quotation mark; MacRoman - N tilde] 133 … … [ANSI - horizontal ellipsis; MacRoman - O diaeresis] 136 ^ ˆ [ANSI - modifier letter circumflex accent; MacRoman - a grave] 138 S Š [ANSI - S caron; MacRoman - a diaeresis] 139 < ‹ [ANSI - single left-pointing angle quotation mark; MacRoman - a tilde] 140 OE Œ [ANSI - OE ligature; MacRoman - a ring above] 142 Z Ž [ANSI - Z caron; MacRoman - e acute] 145 ' ‘ [ANSI - left single quotation mark; MacRoman - e diaeresis] 146 ' ’ [ANSI - right single quotation mark; MacRoman - i acute] 147 "" “ [ANSI - left double quotation mark; MacRoman - i grave] 148 "" ” [ANSI - right double quotation mark; MacRoman - i circumflex] 149 * • [ANSI - bullet; MacRoman - i diaeresis] 150 - – [ANSI - en dash; MacRoman - n tilde] 151 -- — [ANSI - em dash; MacRoman - o acute] 152 ~ ˜ [ANSI - small tilde; MacRoman - o grave] 154 S š [ANSI - s caron; MacRoman - o diaeresis] 155 > › [ANSI - single right-pointing angle quotation mark; MacRoman - o tilde] 156 oe œ [ANSI - oe ligature; MacRoman - u acute] 158 z ž [ANSI - z caron; MacRoman - u circumflex] 159 Y Ÿ [ANSI - Y diaeresis; MacRoman - u diaeresis] 160   NO-BREAK SPACE 161 ¡ ! ¡ INVERTED EXCLAMATION MARK 162 ¢ cents ¢ CENT SIGN 163 £ pounds £ POUND SIGN   [lira sign is ? - ₤] 164 ¤ ¤ CURRENCY SIGN 165 ¥ ¥ YEN SIGN 166 ¦ | ¦ BROKEN BAR 167 § § SECTION SIGN 168 ¨ ¨ DIAERESIS 169 © © COPYRIGHT SIGN   (present in Symbol font) 170 ª a ª FEMININE ORDINAL INDICATOR 171 « << « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 172 ¬ ¬ NOT SIGN   (present in Symbol font) 173 ­ - ­ SOFT HYPHEN 174 ® ® REGISTERED SIGN   (present in Symbol font) 175 ¯ -- ¯ MACRON 176 ° deg. ° DEGREE SIGN 177 ± +/- ± PLUS-MINUS SIGN   (present in Symbol font) 178 ² ^2 ² SUPERSCRIPT TWO 179 ³ ^3 ³ SUPERSCRIPT THREE 180 ´ ' ´ ACUTE ACCENT 181 µ micro µ MICRO SIGN 182 ¶ ¶ PILCROW SIGN 183 · * · MIDDLE DOT 184 ¸ ¸ CEDILLA 185 ¹ ^1 ¹ SUPERSCRIPT ONE 186 º o º MASCULINE ORDINAL INDICATOR 187 » >> » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 188 ¼ 1/4 ¼ VULGAR FRACTION ONE QUARTER 189 ½ 1/2 ½ VULGAR FRACTION ONE HALF 190 ¾ 3/4 ¾ VULGAR FRACTION THREE QUARTERS 191 ¿ ? ¿ INVERTED QUESTION MARK 192 À A À LATIN CAPITAL LETTER A WITH GRAVE 193 Á A Á LATIN CAPITAL LETTER A WITH ACUTE 194  A  LATIN CAPITAL LETTER A WITH CIRCUMFLEX 195 à A à LATIN CAPITAL LETTER A WITH TILDE 196 Ä A Ä LATIN CAPITAL LETTER A WITH DIAERESIS 197 Å A Å LATIN CAPITAL LETTER A WITH RING ABOVE 198 Æ AE Æ LATIN CAPITAL LETTER AE 199 Ç C Ç LATIN CAPITAL LETTER C WITH CEDILLA 200 È E È LATIN CAPITAL LETTER E WITH GRAVE 201 É E É LATIN CAPITAL LETTER E WITH ACUTE 202 Ê E Ê LATIN CAPITAL LETTER E WITH CIRCUMFLEX 203 Ë E Ë LATIN CAPITAL LETTER E WITH DIAERESIS 204 Ì I Ì LATIN CAPITAL LETTER I WITH GRAVE 205 Í I Í LATIN CAPITAL LETTER I WITH ACUTE 206 Î I Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX 207 Ï I Ï LATIN CAPITAL LETTER I WITH DIAERESIS 208 Ð D Ð LATIN CAPITAL LETTER ETH 209 Ñ N Ñ LATIN CAPITAL LETTER N WITH TILDE 210 Ò O Ò LATIN CAPITAL LETTER O WITH GRAVE 211 Ó O Ó LATIN CAPITAL LETTER O WITH ACUTE 212 Ô O Ô LATIN CAPITAL LETTER O WITH CIRCUMFLEX 213 Õ O Õ LATIN CAPITAL LETTER O WITH TILDE 214 Ö O Ö LATIN CAPITAL LETTER O WITH DIAERESIS 215 × * × MULTIPLICATION SIGN   (present in Symbol font) 216 Ø O Ø LATIN CAPITAL LETTER O WITH STROKE 217 Ù U Ù LATIN CAPITAL LETTER U WITH GRAVE 218 Ú U Ú LATIN CAPITAL LETTER U WITH ACUTE 219 Û U Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX 220 Ü U Ü LATIN CAPITAL LETTER U WITH DIAERESIS 221 Ý Y Ý LATIN CAPITAL LETTER Y WITH ACUTE 222 Þ P Þ LATIN CAPITAL LETTER THORN 223 ß ss ß LATIN SMALL LETTER SHARP S 224 à a à LATIN SMALL LETTER A WITH GRAVE 225 á a á LATIN SMALL LETTER A WITH ACUTE 226 â a â LATIN SMALL LETTER A WITH CIRCUMFLEX 227 ã a ã LATIN SMALL LETTER A WITH TILDE 228 ä a ä LATIN SMALL LETTER A WITH DIAERESIS 229 å a å LATIN SMALL LETTER A WITH RING ABOVE 230 æ ae æ LATIN SMALL LETTER AE 231 ç c ç LATIN SMALL LETTER C WITH CEDILLA 232 è e è LATIN SMALL LETTER E WITH GRAVE 233 é e é LATIN SMALL LETTER E WITH ACUTE 234 ê e ê LATIN SMALL LETTER E WITH CIRCUMFLEX 235 ë e ë LATIN SMALL LETTER E WITH DIAERESIS 236 ì i ì LATIN SMALL LETTER I WITH GRAVE 237 í i í LATIN SMALL LETTER I WITH ACUTE 238 î i î LATIN SMALL LETTER I WITH CIRCUMFLEX 239 ï i ï LATIN SMALL LETTER I WITH DIAERESIS 240 ð o ð LATIN SMALL LETTER ETH 241 ñ n ñ LATIN SMALL LETTER N WITH TILDE 242 ò o ò LATIN SMALL LETTER O WITH GRAVE 243 ó o ó LATIN SMALL LETTER O WITH ACUTE 244 ô o ô LATIN SMALL LETTER O WITH CIRCUMFLEX 245 õ o õ LATIN SMALL LETTER O WITH TILDE 246 ö o ö LATIN SMALL LETTER O WITH DIAERESIS 247 ÷ / ÷ DIVISION SIGN   (present in Symbol font) 248 ø o ø LATIN SMALL LETTER O WITH STROKE 249 ù u ù LATIN SMALL LETTER U WITH GRAVE 250 ú u ú LATIN SMALL LETTER U WITH ACUTE 251 û u û LATIN SMALL LETTER U WITH CIRCUMFLEX 252 ü u ü LATIN SMALL LETTER U WITH DIAERESIS 253 ý y ý LATIN SMALL LETTER Y WITH ACUTE 254 þ p þ LATIN SMALL LETTER THORN 255 ÿ y ÿ LATIN SMALL LETTER Y WITH DIAERESIS 256 A ? LATIN CAPITAL LETTER A WITH MACRON 257 a ? LATIN SMALL LETTER A WITH MACRON 258 A ? LATIN CAPITAL LETTER A WITH BREVE 259 a ? LATIN SMALL LETTER A WITH BREVE 260 A ? LATIN CAPITAL LETTER A WITH OGONEK 261 a ? LATIN SMALL LETTER A WITH OGONEK 262 C ? LATIN CAPITAL LETTER C WITH ACUTE 263 c ? LATIN SMALL LETTER C WITH ACUTE 264 C ? LATIN CAPITAL LETTER C WITH CIRCUMFLEX 265 c ? LATIN SMALL LETTER C WITH CIRCUMFLEX 266 C ? LATIN CAPITAL LETTER C WITH DOT ABOVE 267 c ? LATIN SMALL LETTER C WITH DOT ABOVE 268 C ? LATIN CAPITAL LETTER C WITH CARON 269 c ? LATIN SMALL LETTER C WITH CARON 270 D ? LATIN CAPITAL LETTER D WITH CARON 271 d ? LATIN SMALL LETTER D WITH CARON 272 D ? LATIN CAPITAL LETTER D WITH STROKE 273 d ? LATIN SMALL LETTER D WITH STROKE 274 E ? LATIN CAPITAL LETTER E WITH MACRON 275 e ? LATIN SMALL LETTER E WITH MACRON 276 E ? LATIN CAPITAL LETTER E WITH BREVE 277 e ? LATIN SMALL LETTER E WITH BREVE 278 E ? LATIN CAPITAL LETTER E WITH DOT ABOVE 279 e ? LATIN SMALL LETTER E WITH DOT ABOVE 280 E ? LATIN CAPITAL LETTER E WITH OGONEK 281 e ? LATIN SMALL LETTER E WITH OGONEK 282 E ? LATIN CAPITAL LETTER E WITH CARON 283 e ? LATIN SMALL LETTER E WITH CARON 284 G ? LATIN CAPITAL LETTER G WITH CIRCUMFLEX 285 g ? LATIN SMALL LETTER G WITH CIRCUMFLEX 286 G ? LATIN CAPITAL LETTER G WITH BREVE 287 g ? LATIN SMALL LETTER G WITH BREVE 288 G ? LATIN CAPITAL LETTER G WITH DOT ABOVE 289 g ? LATIN SMALL LETTER G WITH DOT ABOVE 290 G ? LATIN CAPITAL LETTER G WITH CEDILLA 291 g ? LATIN SMALL LETTER G WITH CEDILLA 292 H ? LATIN CAPITAL LETTER H WITH CIRCUMFLEX 293 h ? LATIN SMALL LETTER H WITH CIRCUMFLEX 294 H ? LATIN CAPITAL LETTER H WITH STROKE 295 h ? LATIN SMALL LETTER H WITH STROKE 296 I ? LATIN CAPITAL LETTER I WITH TILDE 297 i ? LATIN SMALL LETTER I WITH TILDE 298 I ? LATIN CAPITAL LETTER I WITH MACRON 299 i ? LATIN SMALL LETTER I WITH MACRON 300 I ? LATIN CAPITAL LETTER I WITH BREVE 301 i ? LATIN SMALL LETTER I WITH BREVE 302 I ? LATIN CAPITAL LETTER I WITH OGONEK 303 i ? LATIN SMALL LETTER I WITH OGONEK 304 I ? LATIN CAPITAL LETTER I WITH DOT ABOVE 305 i ? LATIN SMALL LETTER DOTLESS I 306 IJ ? LATIN CAPITAL LIGATURE IJ 307 ij ? LATIN SMALL LIGATURE IJ 308 J ? LATIN CAPITAL LETTER J WITH CIRCUMFLEX 309 j ? LATIN SMALL LETTER J WITH CIRCUMFLEX 310 K ? LATIN CAPITAL LETTER K WITH CEDILLA 311 k ? LATIN SMALL LETTER K WITH CEDILLA 312 k ? LATIN SMALL LETTER KRA 313 L ? LATIN CAPITAL LETTER L WITH ACUTE 314 l ? LATIN SMALL LETTER L WITH ACUTE 315 L ? LATIN CAPITAL LETTER L WITH CEDILLA 316 L ? LATIN SMALL LETTER L WITH CEDILLA 317 L ? LATIN CAPITAL LETTER L WITH CARON 318 l ? LATIN SMALL LETTER L WITH CARON 319 L ? LATIN CAPITAL LETTER L WITH MIDDLE DOT 320 l ? LATIN SMALL LETTER L WITH MIDDLE DOT 321 L ? LATIN CAPITAL LETTER L WITH STROKE 322 l ? LATIN SMALL LETTER L WITH STROKE 323 N ? LATIN CAPITAL LETTER N WITH ACUTE 324 n ? LATIN SMALL LETTER N WITH ACUTE 325 N ? LATIN CAPITAL LETTER N WITH CEDILLA 326 n ? LATIN SMALL LETTER N WITH CEDILLA 327 N ? LATIN CAPITAL LETTER N WITH CARON 328 n ? LATIN SMALL LETTER N WITH CARON 329 n ? LATIN SMALL LETTER N PRECEDED BY APOSTROPHE 330 N ? LATIN CAPITAL LETTER ENG 331 n ? LATIN SMALL LETTER ENG 332 O ? LATIN CAPITAL LETTER O WITH MACRON 333 o ? LATIN SMALL LETTER O WITH MACRON 334 O ? LATIN CAPITAL LETTER O WITH BREVE 335 o ? LATIN SMALL LETTER O WITH BREVE 336 O ? LATIN CAPITAL LETTER O WITH DOUBLE ACUTE 337 o ? LATIN SMALL LETTER O WITH DOUBLE ACUTE 338 &Oelig; OE Œ LATIN CAPITAL LIGATURE OE   (entity name is Œ) 339 œ oe œ LATIN SMALL LIGATURE OE   (entity name is œ) 340 R ? LATIN CAPITAL LETTER R WITH ACUTE 341 r ? LATIN SMALL LETTER R WITH ACUTE 342 R ? LATIN CAPITAL LETTER R WITH CEDILLA 343 r ? LATIN SMALL LETTER R WITH CEDILLA 344 R ? LATIN CAPITAL LETTER R WITH CARON 345 r ? LATIN SMALL LETTER R WITH CARON 346 S ? LATIN CAPITAL LETTER S WITH ACUTE 347 s ? LATIN SMALL LETTER S WITH ACUTE 348 S ? LATIN CAPITAL LETTER S WITH CIRCUMFLEX 349 s ? LATIN SMALL LETTER S WITH CIRCUMFLEX 350 S ? LATIN CAPITAL LETTER S WITH CEDILLA 351 s ? LATIN SMALL LETTER S WITH CEDILLA 352 Š S Š LATIN CAPITAL LETTER S WITH CARON   (entity name is Š) 353 š s š LATIN SMALL LETTER S WITH CARON   (entity name is š) 354 T ? LATIN CAPITAL LETTER T WITH CEDILLA 355 t ? LATIN SMALL LETTER T WITH CEDILLA 356 T ? LATIN CAPITAL LETTER T WITH CARON 357 t ? LATIN SMALL LETTER T WITH CARON 358 T ? LATIN CAPITAL LETTER T WITH STROKE 359 t ? LATIN SMALL LETTER T WITH STROKE 360 U ? LATIN CAPITAL LETTER U WITH TILDE 361 u ? LATIN SMALL LETTER U WITH TILDE 362 U ? LATIN CAPITAL LETTER U WITH MACRON 363 u ? LATIN SMALL LETTER U WITH MACRON 364 U ? LATIN CAPITAL LETTER U WITH BREVE 365 u ? LATIN SMALL LETTER U WITH BREVE 366 U ? LATIN CAPITAL LETTER U WITH RING ABOVE 367 u ? LATIN SMALL LETTER U WITH RING ABOVE 368 U ? LATIN CAPITAL LETTER U WITH DOUBLE ACUTE 369 u ? LATIN SMALL LETTER U WITH DOUBLE ACUTE 370 U ? LATIN CAPITAL LETTER U WITH OGONEK 371 u ? LATIN SMALL LETTER U WITH OGONEK 372 W ? LATIN CAPITAL LETTER W WITH CIRCUMFLEX 373 w ? LATIN SMALL LETTER W WITH CIRCUMFLEX 374 Y ? LATIN CAPITAL LETTER Y WITH CIRCUMFLEX 375 y ? LATIN SMALL LETTER Y WITH CIRCUMFLEX 376 Ÿ Y Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS   (entity name is Ÿ) 377 Z ? LATIN CAPITAL LETTER Z WITH ACUTE 378 z ? LATIN SMALL LETTER Z WITH ACUTE 379 Z ? LATIN CAPITAL LETTER Z WITH DOT ABOVE 380 z ? LATIN SMALL LETTER Z WITH DOT ABOVE 381 Z Ž LATIN CAPITAL LETTER Z WITH CARON 382 z ž LATIN SMALL LETTER Z WITH CARON 383 s ? LATIN SMALL LETTER LONG S 384 b ? LATIN SMALL LETTER B WITH STROKE 385 B ? LATIN CAPITAL LETTER B WITH HOOK 386 b ? LATIN CAPITAL LETTER B WITH TOPBAR 387 B ? LATIN SMALL LETTER B WITH TOPBAR 388 b ? LATIN CAPITAL LETTER TONE SIX 389 b ? LATIN SMALL LETTER TONE SIX 390 O ? LATIN CAPITAL LETTER OPEN O 391 C ? LATIN CAPITAL LETTER C WITH HOOK 392 c ? LATIN SMALL LETTER C WITH HOOK 393 D ? LATIN CAPITAL LETTER AFRICAN D 394 D ? LATIN CAPITAL LETTER D WITH HOOK 395 d ? LATIN CAPITAL LETTER D WITH TOPBAR 396 d ? LATIN SMALL LETTER D WITH TOPBAR 397 d ? LATIN SMALL LETTER TURNED DELTA 398 E ? LATIN CAPITAL LETTER REVERSED E 399 e ? LATIN CAPITAL LETTER SCHWA 400 e ? LATIN CAPITAL LETTER OPEN E 401 F ? LATIN CAPITAL LETTER F WITH HOOK 402 ƒ f ƒ "LATIN SMALL LETTER F WITH HOOK   (entity name is ƒ) (present in WGL4, ANSI and MacRoman; Florin or Guilder in Symbol font)" 403 G ? LATIN CAPITAL LETTER G WITH HOOK 404 Gamma ? LATIN CAPITAL LETTER GAMMA 405 hv ? LATIN SMALL LETTER HV 406 Iota ? LATIN CAPITAL LETTER IOTA 407 I ? LATIN CAPITAL LETTER I WITH STROKE 408 K ? LATIN CAPITAL LETTER K WITH HOOK 409 k ? LATIN SMALL LETTER K WITH HOOK 410 l ? LATIN SMALL LETTER L WITH BAR 411 lambda ? LATIN SMALL LETTER LAMBDA WITH STROKE 412 M ? LATIN CAPITAL LETTER TURNED M 413 n ? LATIN CAPITAL LETTER N WITH LEFT HOOK 414 n ? LATIN SMALL LETTER N WITH LONG RIGHT LEG 415 O ? LATIN CAPITAL LETTER O WITH MIDDLE TILDE 416 O ? LATIN CAPITAL LETTER O WITH HORN 417 o ? LATIN SMALL LETTER O WITH HORN 418 O ? LATIN CAPITAL LETTER OI 419 o ? LATIN SMALL LETTER OI 420 P ? LATIN CAPITAL LETTER P WITH HOOK 421 p ? LATIN SMALL LETTER P WITH HOOK 422 R ? LATIN LETTER YR 423 S ? LATIN CAPITAL LETTER TONE TWO 424 s ? LATIN SMALL LETTER TONE TWO 425 S ? LATIN CAPITAL LETTER ESH 426 s ? LATIN LETTER REVERSED ESH LOOP 427 t ? LATIN SMALL LETTER T WITH PALATAL HOOK 428 T ? LATIN CAPITAL LETTER T WITH HOOK 429 t ? LATIN SMALL LETTER T WITH HOOK 430 T ? LATIN CAPITAL LETTER T WITH RETROFLEX HOOK 431 U ? LATIN CAPITAL LETTER U WITH HORN 432 u ? LATIN SMALL LETTER U WITH HORN 433 Upsilon ? LATIN CAPITAL LETTER UPSILON 434 V ? LATIN CAPITAL LETTER V WITH HOOK 435 Y ? LATIN CAPITAL LETTER Y WITH HOOK 436 y ? LATIN SMALL LETTER Y WITH HOOK 437 Z ? LATIN CAPITAL LETTER Z WITH STROKE 438 z ? LATIN SMALL LETTER Z WITH STROKE 439 Ezh ? LATIN CAPITAL LETTER EZH 440 ezh ? LATIN CAPITAL LETTER EZH REVERSED 441 Ezh ? LATIN SMALL LETTER EZH REVERSED 442 ezh ? LATIN SMALL LETTER EZH WITH TAIL 443 2 ? LATIN LETTER TWO WITH STROKE 444 5 ? LATIN CAPITAL LETTER TONE FIVE 445 5 ? LATIN SMALL LETTER TONE FIVE 452 DZ ? LATIN CAPITAL LETTER DZ WITH CARON 453 Dz ? LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON 454 dz ? LATIN SMALL LETTER DZ WITH CARON 455 LJ ? LATIN CAPITAL LETTER LJ 456 Lj ? LATIN CAPITAL LETTER L WITH SMALL LETTER J 457 lj ? LATIN SMALL LETTER LJ 458 NJ ? LATIN CAPITAL LETTER NJ 459 Nj ? LATIN CAPITAL LETTER N WITH SMALL LETTER J 460 nj ? LATIN SMALL LETTER NJ 461 A ? LATIN CAPITAL LETTER A WITH CARON 462 a ? LATIN SMALL LETTER A WITH CARON 463 I ? LATIN CAPITAL LETTER I WITH CARON 464 i ? LATIN SMALL LETTER I WITH CARON 465 O ? LATIN CAPITAL LETTER O WITH CARON 466 o ? LATIN SMALL LETTER O WITH CARON 467 U ? LATIN CAPITAL LETTER U WITH CARON 468 u ? LATIN SMALL LETTER U WITH CARON 469 U ? LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON 470 u ? LATIN SMALL LETTER U WITH DIAERESIS AND MACRON 471 U ? LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE 472 u ? LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE 473 U ? LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON 474 u ? LATIN SMALL LETTER U WITH DIAERESIS AND CARON 475 U ? LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE 476 u ? LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE 477 e ? LATIN SMALL LETTER TURNED E 478 A ? LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON 479 a ? LATIN SMALL LETTER A WITH DIAERESIS AND MACRON 480 A ? LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON 481 a ? LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON 482 AE ? LATIN CAPITAL LETTER AE WITH MACRON 483 ae ? LATIN SMALL LETTER AE WITH MACRON 484 G ? LATIN CAPITAL LETTER G WITH STROKE 485 g ? LATIN SMALL LETTER G WITH STROKE 486 G ? LATIN CAPITAL LETTER G WITH CARON 487 g ? LATIN SMALL LETTER G WITH CARON 488 K ? LATIN CAPITAL LETTER K WITH CARON 489 k ? LATIN SMALL LETTER K WITH CARON 490 O ? LATIN CAPITAL LETTER O WITH OGONEK 491 o ? LATIN SMALL LETTER O WITH OGONEK 492 O ? LATIN CAPITAL LETTER O WITH OGONEK AND MACRON 493 o ? LATIN SMALL LETTER O WITH OGONEK AND MACRON 494 Ezh ? LATIN CAPITAL LETTER EZH WITH CARON 495 ezh ? LATIN SMALL LETTER EZH WITH CARON 496 J ? LATIN SMALL LETTER J WITH CARON 497 DZ ? LATIN CAPITAL LETTER DZ 498 Dz ? LATIN CAPITAL LETTER D WITH SMALL LETTER Z 499 dz ? LATIN SMALL LETTER DZ 500 G ? LATIN CAPITAL LETTER G WITH ACUTE 501 g ? LATIN SMALL LETTER G WITH ACUTE 504 N ? LATIN CAPITAL LETTER N WITH GRAVE 505 n ? LATIN SMALL LETTER N WITH GRAVE 506 A ? LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE (present in WGL4) 507 a ? LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE (present in WGL4) 508 AE ? LATIN CAPITAL LETTER AE WITH ACUTE (present in WGL4) 509 ae ? LATIN SMALL LETTER AE WITH ACUTE (present in WGL4) 510 O ? LATIN CAPITAL LETTER O WITH STROKE AND ACUTE (present in WGL4) 511 o ? LATIN SMALL LETTER O WITH STROKE AND ACUTE (present in WGL4) 512 A ? LATIN CAPITAL LETTER A WITH DOUBLE GRAVE 513 a ? LATIN SMALL LETTER A WITH DOUBLE GRAVE 514 A ? LATIN CAPITAL LETTER A WITH INVERTED BREVE 515 a ? LATIN SMALL LETTER A WITH INVERTED BREVE 516 E ? LATIN CAPITAL LETTER E WITH DOUBLE GRAVE 517 e ? LATIN SMALL LETTER E WITH DOUBLE GRAVE 518 E ? LATIN CAPITAL LETTER E WITH INVERTED BREVE 519 e ? LATIN SMALL LETTER E WITH INVERTED BREVE 520 I ? LATIN CAPITAL LETTER I WITH DOUBLE GRAVE 521 i ? LATIN SMALL LETTER I WITH DOUBLE GRAVE 522 I ? LATIN CAPITAL LETTER I WITH INVERTED BREVE 523 i ? LATIN SMALL LETTER I WITH INVERTED BREVE 524 O ? LATIN CAPITAL LETTER O WITH DOUBLE GRAVE 525 o ? LATIN SMALL LETTER O WITH DOUBLE GRAVE 526 O ? LATIN CAPITAL LETTER O WITH INVERTED BREVE 527 o ? LATIN SMALL LETTER O WITH INVERTED BREVE 528 R ? LATIN CAPITAL LETTER R WITH DOUBLE GRAVE 529 r ? LATIN SMALL LETTER R WITH DOUBLE GRAVE 530 R ? LATIN CAPITAL LETTER R WITH INVERTED BREVE 531 r ? LATIN SMALL LETTER R WITH INVERTED BREVE 532 U ? LATIN CAPITAL LETTER U WITH DOUBLE GRAVE 533 u ? LATIN SMALL LETTER U WITH DOUBLE GRAVE 534 U ? LATIN CAPITAL LETTER U WITH INVERTED BREVE 535 u ? LATIN SMALL LETTER U WITH INVERTED BREVE 536 S ? LATIN CAPITAL LETTER S WITH COMMA BELOW 537 s ? LATIN SMALL LETTER S WITH COMMA BELOW 538 T ? LATIN CAPITAL LETTER T WITH COMMA BELOW 539 t ? LATIN SMALL LETTER T WITH COMMA BELOW 542 H ? LATIN CAPITAL LETTER H WITH CARON 543 h ? LATIN SMALL LETTER H WITH CARON 544 N ? LATIN CAPITAL LETTER N WITH LONG RIGHT LEG 545 d ? LATIN SMALL LETTER D WITH CURL 546 OU ? LATIN CAPITAL LETTER OU 547 ou ? LATIN SMALL LETTER OU 548 Z ? LATIN CAPITAL LETTER Z WITH HOOK 549 z ? LATIN SMALL LETTER Z WITH HOOK 550 A ? LATIN CAPITAL LETTER A WITH DOT ABOVE 551 a ? LATIN SMALL LETTER A WITH DOT ABOVE 552 E ? LATIN CAPITAL LETTER E WITH CEDILLA 553 e ? LATIN SMALL LETTER E WITH CEDILLA 554 O ? LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON 555 o ? LATIN SMALL LETTER O WITH DIAERESIS AND MACRON 556 O ? LATIN CAPITAL LETTER O WITH TILDE AND MACRON 557 o ? LATIN SMALL LETTER O WITH TILDE AND MACRON 558 O ? LATIN CAPITAL LETTER O WITH DOT ABOVE 559 o ? LATIN SMALL LETTER O WITH DOT ABOVE 560 O ? LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON 561 o ? LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON 562 Y ? LATIN CAPITAL LETTER Y WITH MACRON 563 y ? LATIN SMALL LETTER Y WITH MACRON 564 l ? LATIN SMALL LETTER L WITH CURL 565 n ? LATIN SMALL LETTER N WITH CURL 566 t ? LATIN SMALL LETTER T WITH CURL 592 a ? LATIN SMALL LETTER TURNED A 593 alpha ? LATIN SMALL LETTER ALPHA 594 alpha ? LATIN SMALL LETTER TURNED ALPHA 595 b ? LATIN SMALL LETTER B WITH HOOK 596 o ? LATIN SMALL LETTER OPEN O 597 c ? LATIN SMALL LETTER C WITH CURL 598 d ? LATIN SMALL LETTER D WITH TAIL 599 d ? LATIN SMALL LETTER D WITH HOOK 600 e ? LATIN SMALL LETTER REVERSED E 601 e ? LATIN SMALL LETTER SCHWA 602 e ? LATIN SMALL LETTER SCHWA WITH HOOK 603 e ? LATIN SMALL LETTER OPEN E 604 e ? LATIN SMALL LETTER REVERSED OPEN E 605 e ? LATIN SMALL LETTER REVERSED OPEN E WITH HOOK 606 e ? LATIN SMALL LETTER CLOSED REVERSED OPEN E 607 j ? LATIN SMALL LETTER DOTLESS J WITH STROKE 608 g ? LATIN SMALL LETTER G WITH HOOK 609 g ? LATIN SMALL LETTER SCRIPT G 610 G ? LATIN LETTER SMALL CAPITAL G 611 gamma ? LATIN SMALL LETTER GAMMA 613 h ? LATIN SMALL LETTER TURNED H 614 h ? LATIN SMALL LETTER H WITH HOOK 615 h ? LATIN SMALL LETTER HENG WITH HOOK 616 i ? LATIN SMALL LETTER I WITH STROKE 617 iota ? LATIN SMALL LETTER IOTA 618 I ? LATIN LETTER SMALL CAPITAL I 619 l ? LATIN SMALL LETTER L WITH MIDDLE TILDE 620 l ? LATIN SMALL LETTER L WITH BELT 621 l ? LATIN SMALL LETTER L WITH RETROFLEX HOOK 622 l ? LATIN SMALL LETTER LEZH 623 m ? LATIN SMALL LETTER TURNED M 624 m ? LATIN SMALL LETTER TURNED M WITH LONG LEG 625 m ? LATIN SMALL LETTER M WITH HOOK 626 n ? LATIN SMALL LETTER N WITH LEFT HOOK 627 n ? LATIN SMALL LETTER N WITH RETROFLEX HOOK 628 n ? LATIN LETTER SMALL CAPITAL N 629 o ? LATIN SMALL LETTER BARRED O 630 oe ? LATIN LETTER SMALL CAPITAL OE 631 omega ? LATIN SMALL LETTER CLOSED OMEGA 632 phi ? LATIN SMALL LETTER PHI 633 r ? LATIN SMALL LETTER TURNED R 634 r ? LATIN SMALL LETTER TURNED R WITH LONG LEG 635 r ? LATIN SMALL LETTER TURNED R WITH HOOK 636 r ? LATIN SMALL LETTER R WITH LONG LEG 637 r ? LATIN SMALL LETTER R WITH TAIL 638 r ? LATIN SMALL LETTER R WITH FISHHOOK 639 r ? LATIN SMALL LETTER REVERSED R WITH FISHHOOK 640 R ? LATIN LETTER SMALL CAPITAL R 641 R ? LATIN LETTER SMALL CAPITAL INVERTED R 642 s ? LATIN SMALL LETTER S WITH HOOK 643 s ? LATIN SMALL LETTER ESH 644 j ? LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK 645 s ? LATIN SMALL LETTER SQUAT REVERSED ESH 646 s ? LATIN SMALL LETTER ESH WITH CURL 647 t ? LATIN SMALL LETTER TURNED T 648 t ? LATIN SMALL LETTER T WITH RETROFLEX HOOK 649 u ? LATIN SMALL LETTER U BAR 650 upsilon ? LATIN SMALL LETTER UPSILON 651 v ? LATIN SMALL LETTER V WITH HOOK 652 V ? LATIN SMALL LETTER TURNED V 653 w ? LATIN SMALL LETTER TURNED W 654 y ? LATIN SMALL LETTER TURNED Y 655 Y ? LATIN LETTER SMALL CAPITAL Y 656 z ? LATIN SMALL LETTER Z WITH RETROFLEX HOOK 657 z ? LATIN SMALL LETTER Z WITH CURL 658 ezh ? LATIN SMALL LETTER EZH 659 ezh ? LATIN SMALL LETTER EZH WITH CURL 663 c ? LATIN LETTER STRETCHED C 665 B ? LATIN LETTER SMALL CAPITAL B 666 e ? LATIN SMALL LETTER CLOSED OPEN E 667 G ? LATIN LETTER SMALL CAPITAL G WITH HOOK 668 H ? LATIN LETTER SMALL CAPITAL H 669 j ? LATIN SMALL LETTER J WITH CROSSED-TAIL 670 k ? LATIN SMALL LETTER TURNED K 671 L ? LATIN LETTER SMALL CAPITAL L 672 q ? LATIN SMALL LETTER Q WITH HOOK 675 dz ? LATIN SMALL LETTER DZ DIGRAPH 676 dz ? LATIN SMALL LETTER DEZH DIGRAPH 677 dz ? LATIN SMALL LETTER DZ DIGRAPH WITH CURL 678 ts ? LATIN SMALL LETTER TS DIGRAPH 680 tc ? LATIN SMALL LETTER TC DIGRAPH WITH CURL 682 ls ? LATIN SMALL LETTER LS DIGRAPH 683 lz ? LATIN SMALL LETTER LZ DIGRAPH 686 h ? LATIN SMALL LETTER TURNED H WITH FISHHOOK 687 h ? LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL 688 h ? MODIFIER LETTER SMALL H 689 h ? MODIFIER LETTER SMALL H WITH HOOK 690 j ? MODIFIER LETTER SMALL J 691 r ? MODIFIER LETTER SMALL R 692 r ? MODIFIER LETTER SMALL TURNED R 693 r ? MODIFIER LETTER SMALL TURNED R WITH HOOK 694 R ? MODIFIER LETTER SMALL CAPITAL INVERTED R 695 w ? MODIFIER LETTER SMALL W 696 y ? MODIFIER LETTER SMALL Y 697 ' ? MODIFIER LETTER PRIME 698 '' ? MODIFIER LETTER DOUBLE PRIME 699 , ? MODIFIER LETTER TURNED COMMA 700 ' ? MODIFIER LETTER APOSTROPHE 701 , ? MODIFIER LETTER REVERSED COMMA 706 < ? MODIFIER LETTER LEFT ARROWHEAD 707 > ? MODIFIER LETTER RIGHT ARROWHEAD 708 ^ ? MODIFIER LETTER UP ARROWHEAD 710 ˆ ^ ˆ MODIFIER LETTER CIRCUMFLEX ACCENT   (present in WGL4 and MacRoman) 712 | ? MODIFIER LETTER VERTICAL LINE 713 - ? MODIFIER LETTER MACRON   (present in WGL4) 714 ' ? MODIFIER LETTER ACUTE ACCENT 720 : ? MODIFIER LETTER TRIANGULAR COLON 726 + ? MODIFIER LETTER PLUS SIGN 727 - ? MODIFIER LETTER MINUS SIGN 732 ˜ ~ ˜ SMALL TILDE   (present in WGL4 and MacRoman) 736 gamma ? MODIFIER LETTER SMALL GAMMA 737 l ? MODIFIER LETTER SMALL L 738 s ? MODIFIER LETTER SMALL S 739 x ? MODIFIER LETTER SMALL X 750 '' ? MODIFIER LETTER DOUBLE APOSTROPHE 753 < ? MODIFIER LETTER LOW LEFT ARROWHEAD 754 > ? MODIFIER LETTER LOW RIGHT ARROWHEAD 759 ~ ? MODIFIER LETTER LOW TILDE 760 : ? MODIFIER LETTER RAISED COLON 913 Α Alpha ? GREEK CAPITAL LETTER ALPHA (present in WGL4 and in Symbol font) 914 Β Beta ? GREEK CAPITAL LETTER BETA (present in WGL4 and in Symbol font) 915 Γ Gamma ? GREEK CAPITAL LETTER GAMMA (present in WGL4 and in Symbol font) 916 Δ Delta ? GREEK CAPITAL LETTER DELTA (present in WGL4 and in Symbol font) 917 Ε Epsilon ? GREEK CAPITAL LETTER EPSILON (present in WGL4 and in Symbol font) 918 Ζ Zeta ? GREEK CAPITAL LETTER ZETA (present in WGL4 and in Symbol font) 919 Η Eta ? GREEK CAPITAL LETTER ETA (present in WGL4 and in Symbol font) 920 Θ Theta ? GREEK CAPITAL LETTER THETA (present in WGL4 and in Symbol font) 921 Ι Iota ? GREEK CAPITAL LETTER IOTA (present in WGL4 and in Symbol font) 922 Κ Kappa ? GREEK CAPITAL LETTER KAPPA (present in WGL4 and in Symbol font) 923 Λ Lambda ? GREEK CAPITAL LETTER LAMDA (present in WGL4 and in Symbol font) 924 Μ Mu ? GREEK CAPITAL LETTER MU (present in WGL4 and in Symbol font) 925 Ν Nu ? GREEK CAPITAL LETTER NU (present in WGL4 and in Symbol font) 926 Ξ Xi ? GREEK CAPITAL LETTER XI (present in WGL4 and in Symbol font) 927 Ο Omicron ? GREEK CAPITAL LETTER OMICRON (present in WGL4 and in Symbol font) 928 Π Pi ? GREEK CAPITAL LETTER PI (present in WGL4 and in Symbol font) 929 Ρ Rho ? GREEK CAPITAL LETTER RHO (present in WGL4 and in Symbol font) 931 Σ Sigma ? GREEK CAPITAL LETTER SIGMA (present in WGL4 and in Symbol font) 932 Τ Tau ? GREEK CAPITAL LETTER TAU (present in WGL4 and in Symbol font) 933 Υ Upsilon ? GREEK CAPITAL LETTER UPSILON (present in WGL4 and in Symbol font) 934 Φ Phi ? GREEK CAPITAL LETTER PHI (present in WGL4 and in Symbol font) 935 Χ Chi ? GREEK CAPITAL LETTER CHI (present in WGL4 and in Symbol font) 936 Ψ Psi ? GREEK CAPITAL LETTER PSI (present in WGL4 and in Symbol font) 937 Ω Omega ? "GREEK CAPITAL LETTER OMEGA (present in WGL4 and MacRoman, and in Symbol font)" 945 α alpha ? GREEK SMALL LETTER ALPHA (present in WGL4 and in Symbol font) 946 β beta ? GREEK SMALL LETTER BETA (present in WGL4 and in Symbol font) 947 γ gamma ? GREEK SMALL LETTER GAMMA (present in WGL4 and in Symbol font) 948 δ delta ? GREEK SMALL LETTER DELTA (present in WGL4 and in Symbol font) 949 ε epsilon ? GREEK SMALL LETTER EPSILON (present in WGL4 and in Symbol font) 950 ζ zeta ? GREEK SMALL LETTER ZETA (present in WGL4 and in Symbol font) 951 η eta ? GREEK SMALL LETTER ETA (present in WGL4 and in Symbol font) 952 θ theta ? GREEK SMALL LETTER THETA (present in WGL4 and in Symbol font) 953 ι iota ? GREEK SMALL LETTER IOTA (present in WGL4 and in Symbol font) 954 κ kappa ? GREEK SMALL LETTER KAPPA (present in WGL4 and in Symbol font) 955 λ lambda ? GREEK SMALL LETTER LAMDA (present in WGL4 and in Symbol font) 956 μ mu ? GREEK SMALL LETTER MU (present in WGL4 and in Symbol font) 957 ν nu ? GREEK SMALL LETTER NU (present in WGL4 and in Symbol font) 958 ξ xi ? GREEK SMALL LETTER XI (present in WGL4 and in Symbol font) 959 ο omicron ? GREEK SMALL LETTER OMICRON (present in WGL4 and in Symbol font) 960 π pi ? "GREEK SMALL LETTER PI (present in WGL4 and MacRoman, and in Symbol font)" 961 ρ rho ? GREEK SMALL LETTER RHO (present in WGL4 and in Symbol font) 962 ς sigma ? GREEK SMALL LETTER FINAL SIGMA (present in WGL4 and in Symbol font) 963 σ sigma ? GREEK SMALL LETTER SIGMA (present in WGL4 and in Symbol font) 964 τ tau ? GREEK SMALL LETTER TAU (present in WGL4 and in Symbol font) 965 υ upsilon ? GREEK SMALL LETTER UPSILON (present in WGL4 and in Symbol font) 966 φ phi ? GREEK SMALL LETTER PHI (present in WGL4 and in Symbol font) 967 χ chi ? GREEK SMALL LETTER CHI (present in WGL4 and in Symbol font) 968 ψ psi ? GREEK SMALL LETTER PSI (present in WGL4 and in Symbol font) 969 ω omega ? GREEK SMALL LETTER OMEGA (present in WGL4 and in Symbol font) 977 ϑ Theta ? GREEK THETA SYMBOL (present in Symbol font) 978 ϒ Upsilon ? GREEK UPSILON WITH HOOK SYMBOL (present in Symbol font) 979 Upsilon ? GREEK UPSILON WITH ACUTE AND HOOK SYMBOL 980 Upsilon ? GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL 981 phi ? GREEK PHI SYMBOL (present in Symbol font) 982 ϖ pi ? GREEK PI SYMBOL (present in Symbol font) 8194   ? EN SPACE 8195   ? EM SPACE 8201   ? THIN SPACE 8204 ‌ ? ZERO WIDTH NON-JOINER 8205 ‍ ? ZERO WIDTH JOINER 8206 ‎ ? LEFT-TO-RIGHT MARK 8207 ‏ ? RIGHT-TO-LEFT MARK 8211 – - – "EN DASH   (present in WGL4, ANSI and MacRoman)" 8212 — -- — "EM DASH   (present in WGL4, ANSI and MacRoman)" 8213 _ ? HORIZONTAL BAR (present in WGL4) 8214 || ? DOUBLE VERTICAL LINE 8215 _ ? DOUBLE LOW LINE (present in WGL4) 8216 ‘ ` ‘ "LEFT SINGLE QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8217 ’ ' ’ "RIGHT SINGLE QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8218 ‚ ' ‚ "SINGLE LOW-9 QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8219 ' ? SINGLE HIGH-REVERSED-9 QUOTATION MARK (present in WGL4) 8220 “ " “ "LEFT DOUBLE QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8221 ” " ” "RIGHT DOUBLE QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8222 „ " „ "DOUBLE LOW-9 QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8223 " ? DOUBLE HIGH-REVERSED-9 QUOTATION MARK 8224 † † "DAGGER   (present in WGL4, ANSI and MacRoman)" 8225 ‡ ‡ "DOUBLE DAGGER   (present in WGL4, ANSI and MacRoman)" 8226 • * • "BULLET   (present in WGL4, ANSI and MacRoman)" 8227 * ? TRIANGULAR BULLET 8228 * ? ONE DOT LEADER 8229 ** ? TWO DOT LEADER 8230 … … … "HORIZONTAL ELLIPSIS   (present in WGL4, ANSI, MacRoman, and in Symbol font)" 8231 - ? HYPHENATION POINT 8240 ‰ %o ‰ "PER MILLE SIGN   (present in WGL4, ANSI and MacRoman)" 8242 ′ ' ? PRIME   (present in WGL4 and in Symbol font) 8243 ″ '' ? DOUBLE PRIME   (present in WGL4 and in Symbol font) 8244 ''' ? TRIPLE PRIME 8245 ` ? REVERSED PRIME 8246 `` ? REVERSED DOUBLE PRIME 8247 ``` ? REVERSED TRIPLE PRIME 8248 ^ ? CARET 8249 ‹ < ‹ "SINGLE LEFT-POINTING ANGLE QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8250 › > › "SINGLE RIGHT-POINTING ANGLE QUOTATION MARK   (present in WGL4, ANSI and MacRoman)" 8252 !! ? DOUBLE EXCLAMATION MARK (present in WGL4) 8254 ‾ ? OVERLINE   (present in WGL4) 8259 - ? HYPHEN BULLET 8260 ⁄ / ? "FRACTION SLASH   (present in WGL4 and MacRoman, and in Symbol font)" 8263 ?? ? DOUBLE QUESTION MARK 8264 ?! ? QUESTION EXCLAMATION MARK 8265 !? ? EXCLAMATION QUESTION MARK 8270 * ? LOW ASTERISK 8271 ; ? REVERSED SEMICOLON 8273 * ? TWO ASTERISKS ALIGNED VERTICALLY 8274 - ? COMMERCIAL MINUS SIGN 8279 '''' ? QUADRUPLE PRIME 8287 ? MEDIUM MATHEMATICAL SPACE 8364 € € "EURO SIGN   (present in WGL4, ANSI and MacRoman, and in Symbol font)" 8451 degs. C ? DEGREE CELSIUS 8453 c/o ? CARE OF   (present in WGL4) 8457 Degs. F ? DEGREE FAHRENHEIT 8459 H ? SCRIPT CAPITAL H 8460 H ? BLACK-LETTER CAPITAL H 8461 H ? DOUBLE-STRUCK CAPITAL H 8462 h ? PLANCK CONSTANT 8463 hbar ? PLANCK CONSTANT OVER TWO PI 8464 I ? SCRIPT CAPITAL I 8465 ℑ Imag ? BLACK-LETTER CAPITAL I   (I fraktur in Symbol font) 8466 L ? SCRIPT CAPITAL L 8467 l ? SCRIPT SMALL L   (present in WGL4) 8468 lb ? L B BAR SYMBOL 8469 N ? DOUBLE-STRUCK CAPITAL N 8470 No. ? NUMERO SIGN   (present in WGL4) 8472 ℘ P ? SCRIPT CAPITAL P   (Weierstrass in Symbol font) 8473 P ? DOUBLE-STRUCK CAPITAL P 8474 Q ? DOUBLE-STRUCK CAPITAL Q 8475 R ? SCRIPT CAPITAL R 8476 ℜ Real ? BLACK-LETTER CAPITAL R   (R fraktur in Symbol font) 8477 R ? DOUBLE-STRUCK CAPITAL R 8478 Rx ? PRESCRIPTION TAKE 8482 ™ tm ™ "TRADE MARK SIGN   (present in WGL4, in MacRoman, and in Symbol font)" 8484 Z ? DOUBLE-STRUCK CAPITAL Z 8485 oz. ? OUNCE SIGN 8486 Ohm ? OHM SIGN   (present in WGL4) 8490 K ? KELVIN SIGN 8491 Angstrom ? ANGSTROM SIGN 8492 B ? SCRIPT CAPITAL B 8493 C ? BLACK-LETTER CAPITAL C 8495 e ? SCRIPT SMALL E 8496 E ? SCRIPT CAPITAL E 8497 F ? SCRIPT CAPITAL F 8498 F ? TURNED CAPITAL F 8499 M ? SCRIPT CAPITAL M 8500 o ? SCRIPT SMALL O 8501 ℵ K ? ALEF SYMBOL   (present in Symbol font) 8506 Q ? ROTATED CAPITAL Q 8509 gamma ? DOUBLE-STRUCK SMALL GAMMA 8510 Gamma ? DOUBLE-STRUCK CAPITAL GAMMA 8511 Pi ? DOUBLE-STRUCK CAPITAL PI 8512 Sum ? DOUBLE-STRUCK N-ARY SUMMATION 8513 G ? TURNED SANS-SERIF CAPITAL G 8514 L ? TURNED SANS-SERIF CAPITAL L 8515 L ? REVERSED SANS-SERIF CAPITAL L 8516 Y ? TURNED SANS-SERIF CAPITAL Y 8517 D ? DOUBLE-STRUCK ITALIC CAPITAL D 8518 d ? DOUBLE-STRUCK ITALIC SMALL D 8599 e ? DOUBLE-STRUCK ITALIC SMALL E 8520 i ? DOUBLE-STRUCK ITALIC SMALL I 8521 j ? DOUBLE-STRUCK ITALIC SMALL J 8523 & ? TURNED AMPERSAND 8531 1/3 ? VULGAR FRACTION ONE THIRD 8532 2/3 ? VULGAR FRACTION TWO THIRDS 8533 1/5 ? VULGAR FRACTION ONE FIFTH 8534 2/5 ? VULGAR FRACTION TWO FIFTHS 8535 3/5 ? VULGAR FRACTION THREE FIFTHS 8536 4/5 ? VULGAR FRACTION FOUR FIFTHS 8537 1/6 ? VULGAR FRACTION ONE SIXTH 8538 5/6 ? VULGAR FRACTION FIVE SIXTHS 8539 1/8 ? VULGAR FRACTION ONE EIGHTH (present in WGL4) 8540 3/8 ? VULGAR FRACTION THREE EIGHTHS (present in WGL4) 8541 5/8 ? VULGAR FRACTION FIVE EIGHTHS (present in WGL4) 8542 7/8 ? VULGAR FRACTION SEVEN EIGHTHS (present in WGL4) 8543 1/ ? FRACTION NUMERATOR ONE 8544 I ? ROMAN NUMERAL ONE 8545 II ? ROMAN NUMERAL TWO 8546 III ? ROMAN NUMERAL THREE 8547 IV ? ROMAN NUMERAL FOUR 8548 V ? ROMAN NUMERAL FIVE 8549 VI ? ROMAN NUMERAL SIX 8550 VII ? ROMAN NUMERAL SEVEN 8551 VIII ? ROMAN NUMERAL EIGHT 8552 IX ? ROMAN NUMERAL NINE 8553 X ? ROMAN NUMERAL TEN 8554 XI ? ROMAN NUMERAL ELEVEN 8555 XII ? ROMAN NUMERAL TWELVE 8556 L ? ROMAN NUMERAL FIFTY 8557 C ? ROMAN NUMERAL ONE HUNDRED 8558 D ? ROMAN NUMERAL FIVE HUNDRED 8559 M ? ROMAN NUMERAL ONE THOUSAND 8560 i ? SMALL ROMAN NUMERAL ONE 8561 ii ? SMALL ROMAN NUMERAL TWO 8562 iii ? SMALL ROMAN NUMERAL THREE 8563 iv ? SMALL ROMAN NUMERAL FOUR 8564 v ? SMALL ROMAN NUMERAL FIVE 8565 vi ? SMALL ROMAN NUMERAL SIX 8566 vii ? SMALL ROMAN NUMERAL SEVEN 8567 viii ? SMALL ROMAN NUMERAL EIGHT 8568 ix ? SMALL ROMAN NUMERAL NINE 8569 x ? SMALL ROMAN NUMERAL TEN 8570 xi ? SMALL ROMAN NUMERAL ELEVEN 8571 xii ? SMALL ROMAN NUMERAL TWELVE 8572 l ? SMALL ROMAN NUMERAL FIFTY 8573 c ? SMALL ROMAN NUMERAL ONE HUNDRED 8574 d ? SMALL ROMAN NUMERAL FIVE HUNDRED 8575 m ? SMALL ROMAN NUMERAL ONE THOUSAND 8576 CD ? ROMAN NUMERAL ONE THOUSAND C D 8592 ← <- ? LEFTWARDS ARROW   (present in WGL4 and in Symbol font) 8593 ↑ ^ ? UPWARDS ARROW   (present in WGL4 and in Symbol font) 8594 → -> ? RIGHTWARDS ARROW   (present in WGL4 and in Symbol font) 8595 ↓ ? DOWNWARDS ARROW   (present in WGL4 and in Symbol font) 8596 ↔ <-> ? LEFT RIGHT ARROW   (present in WGL4 and in Symbol font) 8629 ↵ ? DOWNWARDS ARROW WITH CORNER LEFTWARDS   (present in Symbol font) 8656 ⇐ <= ? LEFTWARDS DOUBLE ARROW   (present in Symbol font) 8657 ⇑ ? UPWARDS DOUBLE ARROW   (present in Symbol font) 8658 ⇒ => ? RIGHTWARDS DOUBLE ARROW   (present in Symbol font) 8659 ⇓ ? DOWNWARDS DOUBLE ARROW   (present in Symbol font) 8660 ⇔ <=> ? LEFT RIGHT DOUBLE ARROW   (present in Symbol font) 8666 <= ? LEFTWARDS TRIPLE ARROW 8667 => ? RIGHTWARDS TRIPLE ARROW 8672 <- ? LEFTWARDS DASHED ARROW 8674 -> ? RIGHTWARDS DASHED ARROW 8704 ∀ ? FOR ALL   (present in Symbol font) 8706 ∂ ? "PARTIAL DIFFERENTIAL   (present in WGL4, in MacRoman, and in Symbol font)" 8707 ∃ ? THERE EXISTS   (present in Symbol font) 8709 ∅ ? EMPTY SET   (present in Symbol font) 8711 ∇ ? NABLA   (present in Symbol font) 8712 ∈ ? ELEMENT OF   (present in Symbol font) 8713 ∉ ? NOT AN ELEMENT OF   (present in Symbol font) 8715 ∋ ? CONTAINS AS MEMBER 8719 ∏ ? "N-ARY PRODUCT   (present in WGL4, in MacRoman, and in Symbol font)" 8721 ∑ Sum ? "N-ARY SUMMATION   (present in WGL4, in MacRoman, and in Symbol font)" 8722 − - ? MINUS SIGN   (present in WGL4 and in Symbol font) 8723 -/+ ? MINUS-OR-PLUS SIGN 8725 / ? DIVISION SLASH   (present in WGL4) 8726 \ ? SET MINUS 8727 ∗ * ? ASTERISK OPERATOR   (present in Symbol font) 8730 √ ? "SQUARE ROOT   (present in WGL4, in MacRoman, and in Symbol font)" 8733 ∝ ? PROPORTIONAL TO   (present in Symbol font) 8734 ∞ ? "INFINITY   (present in WGL4, in MacRoman, and in Symbol font)" 8736 ∠ ? ANGLE   (present in Symbol font) 8741 || ? PARALLEL TO 8743 ∧ ? LOGICAL AND   (present in Symbol font) 8744 ∨ ? LOGICAL OR   (present in Symbol font) 8745 ∩ ? INTERSECTION   (present in WGL4 and in Symbol font) 8746 ∪ ? UNION   (present in Symbol font) 8747 ∫ ? "INTEGRAL   (present in WGL4, in MacRoman, and in Symbol font)" 8756 ∴ ? THEREFORE   (present in Symbol font) 8764 ∼ ? TILDE OPERATOR   (present in Symbol font) 8773 ≅ ? APPROXIMATELY EQUAL TO   (present in Symbol font) 8776 ≈ ? "ALMOST EQUAL TO   (present in WGL4, in MacRoman, and in Symbol font)" 8800 ≠ ? "NOT EQUAL TO   (present in WGL4, in MacRoman, and in Symbol font)" 8801 ≡ ? IDENTICAL TO   (present in WGL4 and in Symbol font) 8804 ≤ ? "LESS-THAN OR EQUAL TO   (present in WGL4, in MacRoman, and in Symbol font)" 8805 ≥ ? "GREATER-THAN OR EQUAL TO   (present in WGL4, in MacRoman, and in Symbol font)" 8834 ⊂ ? SUBSET OF   (present in Symbol font) 8835 ⊃ ? SUPERSET OF   (present in Symbol font) 8836 ⊄ ? NOT A SUBSET OF   (present in Symbol font) 8838 ⊆ ? SUBSET OF OR EQUAL TO   (present in Symbol font) 8839 ⊇ ? SUPERSET OF OR EQUAL TO   (present in Symbol font) 8853 ⊕ ? CIRCLED PLUS   (present in Symbol font) 8855 ⊗ ? CIRCLED TIMES   (present in Symbol font) 8869 ⊥ ? UP TACK   (present in Symbol font) 8901 ⋅ ? DOT OPERATOR   (present in Symbol font) 8968 ⌈ ? LEFT CEILING 8969 ⌉ ? RIGHT CEILING 8970 ⌊ ? LEFT FLOOR 8971 ⌋ ? RIGHT FLOOR 9001 ⟨ < ? LEFT-POINTING ANGLE BRACKET (present in WGL4 and in Symbol font) 9002 ⟩ > ? RIGHT-POINTING ANGLE BRACKET (present in WGL4 and in Symbol font) ENDOFHTMLMAP #open HTMLLIST,") foreach $mapline (@maplist) { #skip lines that don't being with a number $_=$mapline; if ( m{\s*([0-9]+)} ) { my $tmp_index=0; ($tmp_index,$name,$html_ascii[$cur_index])= split "\t"; $html_index[$cur_index] = int $tmp_index; # $html_ascii[$cur_index]=eval($html_ascii[$cur_index]); if ($name){ $html_name[$name_index]=$name; $html_name_index[$name_index]=$cur_index; $name_index++; } $cur_index++; } } $list_size = $cur_index; #close HTMLLIST; $_=$cnvtxt; while (m/(&[A-Za-z0-9#]+?;)/s){ my $tagname = $1; my $tagnumber = 0; my $tagindex; if ($tagname =~ /&[a-zA-Z]+?;/){ my $i=0; $i++ until ( $i >= $name_index or $html_name[$i]=~ m/$tagname/ ); $tagindex=$html_name_index[$i]; } else{ if ( $tagname =~ m/&#([0-9]+?);/){ $tagnumber=$1; $tagnumber = int $tagnumber; } else { $tagname =~ m/&#([xX][0-9a-fA-F]+?);/; $tagnumber = "0".$1; $tagnumber = hex $tagnumber; } $tagnumber = int $tagnumber; my $i=0; while ( $i < $list_size and $html_index[$i] != $tagnumber ){++$i}; $tagindex = $i; } if ($tagindex != $list_size) {s/&[A-Za-z0-9#]+?;/$html_ascii[$tagindex]/s;} else {s/&[A-Za-z0-9#]+?;//s;} } return $_; }