<:
my $cc = do 'cc.inc.pl';
-sub quote {
- local $_ = shift;
- s/"/"/g;
- s/</</g;
- s/>/>/g;
- return $_;
-}
-
{
printf '<table class="mcmap">';
print '<col><colgroup span="26">';
s/North(?:ern)? /N-/g;
s/New /n./g;
s/(\S)(\S+)-/$1-/g; # strip most chars preceding dash
- s/(\S{4}[b-df-hj-np-tv-xz])(\w{2,})/$1./g; # abbreviate (at consonant)
- $_ = quote($_);
+ s/(\S{4}[b-df-hj-np-tv-xz])((?<!Austr)(?!land)\w{2,})/$1./g; # abbreviate (at consonant)
+ $_ = EscapeHTML($_);
}
$name =~ s/([^,]*), (.*)/$2 $1/;
printf "\n".'<td class="%s" title="%s">%s',
- $_ ? 'X '.$class : '', quote("$code: $name"), $_;
+ $_ ? 'X '.$class : '', EscapeHTML("$code: $name"), $_;
}
print "\n";
}
);
}
-sub quote {
- local $_ = shift;
- s/"/"/g;
- s/</</g;
- s/>/>/g;
- return $_;
-}
-
my @nibble = (0..9, 'A'..'F');
for my $row (@request) {
printf '<div class="section"><table class="glyphs%s">', !$row->{cell} && ' charmap';
}
my ($codepoint, $name, $prop, $script, $string) = @$info;
- $glyph = quote($string || $glyph);
+ $glyph = EscapeHTML($string || $glyph);
my $desc = sprintf 'U+%04X%s', $codepoint, $name && " ($name)";
my @class = ('X', grep {$_} $prop, $script);
$glyph = "<span>$glyph</span>" if $prop eq 'Zs';
printf "\n".'<td class="%s" title="%s">%s',
- join(' ', @class), quote($desc), $glyph;
+ join(' ', @class), EscapeHTML($desc), $glyph;
}
print "\n";
}
<:
my $di = do 'digraphs.inc.pl';
-sub quote {
- local $_ = shift;
- s/"/"/g;
- s/</</g;
- s/>/>/g;
- return $_;
-}
-
my @chars = (
[qw{! " % ' ( ) * + , - . /}],
['0'..'9'], [qw{: ; < = > ?}],
print "</colgroup><col>\n";
for my $section (qw{thead tfoot}) {
print "<$section><tr><th>↳";
- print '<th>', quote($_) for map {@$_} @chars2;
+ print '<th>', EscapeHTML($_) for map {@$_} @chars2;
print "<th> \n";
}
for my $c1group (@chars) {
print '<tbody>';
for my $c1 (@$c1group) {
- print '<tr><th>', quote($c1);
+ print '<tr><th>', EscapeHTML($c1);
for my $c2 (map {@$_} @chars2) {
my $mnem = $c1 . $c2;
if (not defined $di->{$mnem}) {
next;
}
if (ref $di->{$mnem} ne 'ARRAY') {
- printf '<td class="X Xr" title="%s">', quote($mnem);
+ printf '<td class="X Xr" title="%s">', EscapeHTML($mnem);
next;
}
my ($codepoint, $name, $prop, $script, $string) = @{ $di->{$mnem} };
my $desc = $mnem . ($name && " ($name)");
my @class = ('X', grep {$_} $prop, $script);
- $glyph = quote($glyph);
+ $glyph = EscapeHTML($glyph);
$glyph = "<span>$glyph</span>" if $prop eq 'Zs';
printf "\n".'<td class="%s" title="%s">%s',
- join(' ', @class), quote($desc), $glyph;
+ join(' ', @class), EscapeHTML($desc), $glyph;
}
- print "\n<th>", quote($c1), "\n";
+ print "\n<th>", EscapeHTML($c1), "\n";
}
}
print "</table>\n";
print '<ul>'."\n";
for (glob '*.plp') {
chomp;
- printf '<li><a href="/source/%s">%1$s</a></li>'."\n", Entity($_);
+ printf '<li><a href="/source/%s">%1$s</a></li>'."\n", EscapeHTML($_);
}
print "</ul>\n\n";
}
my %di = map { $diinfo->{$_}->[0] => $_ } grep { ref $diinfo->{$_} }
sort { length $a <=> length $b } keys %$diinfo;
-sub quote {
- local $_ = shift;
- s/"/"/g;
- s/</</g;
- s/>/>/g;
- return $_;
-}
-
sub glyph_table {
my ($digraphs) = @_;
defined $name ? qq{ title="$name"} : '',
@class ? sprintf(' class="%s"', join ' ', @class) : '',
$colspan > 1 && qq{ colspan="$colspan"},
- $cell eq '' ? ' ' : quote($cell),
- defined $code ? sprintf(' <small class="digraph">%s</small>', quote($code))
+ $cell eq '' ? ' ' : EscapeHTML($cell),
+ defined $code ? sprintf(' <small class="digraph">%s</small>', EscapeHTML($code))
: length($cell) == 1 && $cell !~ /[a-z]/
? sprintf(' <small class="%s">%04X</small>', 'value', ord $cell)
: '',