66 lines
1.6 KiB
Perl
66 lines
1.6 KiB
Perl
#!/usr/bin/perl
|
|
#
|
|
# script to create HTML file with character table
|
|
# in plain, italic, bold, bold-italic
|
|
#
|
|
# see COPYRIGHT
|
|
#
|
|
|
|
# width of tables
|
|
$step=16;
|
|
|
|
# commands to enable and disable the font modes
|
|
# (the fastest changing is first)
|
|
@matrix = (
|
|
[ "Roman", "Italic", "</i>", "<i>" ],
|
|
[ "Medium", "Bold", "</b>", "<b>" ],
|
|
[ "Variable", "Fixed", "</tt>", "<tt>" ],
|
|
);
|
|
|
|
sub printall
|
|
{
|
|
local $i, $j;
|
|
|
|
printf("<table border=\"0\" >\n");
|
|
for($j=32; $j<256; $j+=$step) {
|
|
printf("<tr>\n");
|
|
for $i ($j..$j+$step-1) {
|
|
$c=chr($i);
|
|
if($c eq "<") {
|
|
$c="<";
|
|
} elsif($c eq ">") {
|
|
$c=">";
|
|
}
|
|
printf("<td><font color=\"gray\">%03d</font></td><td>\n", $i);
|
|
printf("<font color=\"white\">%s%s%s</font>\n", $enmode, $c, $dismode);
|
|
printf("</td>\n");
|
|
}
|
|
printf("</tr>\n");
|
|
}
|
|
printf("</table><p>\n");
|
|
}
|
|
|
|
printf("<HTML><HEAD></HEAD><BODY bgcolor=\"black\">\n<font color=\"white\"><p>\n");
|
|
|
|
for $mask (0.. (1<<@matrix)-1) {
|
|
#printf("<table><tr>");
|
|
$mode = $enmode = $dismode = "";
|
|
for $bit (0.. $#matrix) {
|
|
$val = ($mask >> $bit) & 1;
|
|
$mode = $matrix[$bit]->[$val] . "<br>" . $mode;
|
|
if( $val ) {
|
|
$enmode = $matrix[$bit]->[3] . $enmode;
|
|
$dismode = $dismode . $matrix[$bit]->[2];
|
|
}
|
|
#printf("=== %d %s %s %s\n", $val, $mode, $enmode, $dismode);
|
|
}
|
|
#printf("%x %s %s %s\n", $mask, $mode, $enmode, $dismode);
|
|
printf("<table border=\"0\"><tr><td>\n");
|
|
&printall();
|
|
printf("</td><td valign=top><font size=\"+1\" color=\"yellow\"><b>\n");
|
|
printf("%s\n", $mode);
|
|
printf("</b></font></td></tr></table>\n");
|
|
}
|
|
|
|
printf("</font></BODY></HTML>\n");
|