#!/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");
|