summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0ded18d)
Input only allows two start-stop ranges for now.
data => [qw'charset-unicode.inc.pl charset-utf8.inc.pl'],
});
data => [qw'charset-unicode.inc.pl charset-utf8.inc.pl'],
});
-my @tablist = split /[^\w-]+/, $Request || 'default';
+my @tablist = split m{/+}, $Request || 'default';
:>
<h1>Character encoding</h1>
:>
<h1>Character encoding</h1>
'iso-8859-6' => ['iso-8859-1' => '160'],
'iso-8859-7' => ['iso-8859-1' => '160'],
'iso-8859-8' => ['iso-8859-1' => '160'],
'iso-8859-6' => ['iso-8859-1' => '160'],
'iso-8859-7' => ['iso-8859-1' => '160'],
'iso-8859-8' => ['iso-8859-1' => '160'],
- 'iso-8859-9' => ['iso-8859-1' => '208'],
+ 'iso-8859-9' => ['iso-8859-1' => '208-223+240'],
'iso-8859-10' => ['iso-8859-4' => '160'],
'iso-8859-11' => ['iso-8859-1' => '160'],
'iso-8859-13' => ['iso-8859-4' => '160'],
'iso-8859-10' => ['iso-8859-4' => '160'],
'iso-8859-11' => ['iso-8859-1' => '160'],
'iso-8859-13' => ['iso-8859-4' => '160'],
'cp1252' => ['iso-8859-1' => '128-159'],
'cp1250' => ['iso-8859-2' => '128-191', 'cp1252' => '128'],
'cp1252' => ['iso-8859-1' => '128-159'],
'cp1250' => ['iso-8859-2' => '128-191', 'cp1252' => '128'],
- 'cp1254' => ['iso-8859-9' => '128-159', 'cp1252' => '128'],
+ 'cp1254' => ['iso-8859-9' => '128-159', 'cp1252' => '128-159+208'],
'cp874' => ['iso-8859-11' => '128-159', 'cp1252' => '128'], # windows-874 actually cp1162
'cp874' => ['iso-8859-11' => '128-159', 'cp1252' => '128'], # windows-874 actually cp1162
- 'cp1257' => ['iso-8859-13' => '128', 'cp1252' => '128'],
+ 'cp1257' => ['iso-8859-13' => '128-159+255', 'cp1252' => '128'],
'cp1251' => ['cp1252' => '128'],
'cp1253' => ['cp1252' => '128'],
'cp1255' => ['iso-8859-8' => '128-223', 'cp1252' => '128'],
'cp1256' => ['cp1252' => '128'],
'cp1251' => ['cp1252' => '128'],
'cp1253' => ['cp1252' => '128'],
'cp1255' => ['iso-8859-8' => '128-223', 'cp1252' => '128'],
'cp1256' => ['cp1252' => '128'],
- 'cp1258' => ['cp1252' => '128'],
+ 'cp1258' => ['cp1252' => '128-159+192'],
'cp850' => ['cp437' => '144'],
'cp860' => ['cp437' => '128-175'],
'cp850' => ['cp437' => '144'],
'cp860' => ['cp437' => '128-175'],
'cp863' => ['cp437' => '128-175'],
'cp865' => ['cp437' => '144-175'],
'cp852' => ['cp850' => '128', 'cp437' => '128'],
'cp863' => ['cp437' => '128-175'],
'cp865' => ['cp437' => '144-175'],
'cp852' => ['cp850' => '128', 'cp437' => '128'],
- 'cp857' => ['cp850' => '128-239', 'cp437' => '128'],
+ 'cp857' => ['cp850' => '128-175+208-239', 'cp437' => '128'],
'cp775' => ['cp850' => '128'], # partial cp437
'cp775' => ['cp850' => '128'], # partial cp437
- 'cp866' => ['cp437' => '128'],
+ 'cp866' => ['cp437' => '128-175+224'],
'cp855' => ['cp437' => '128'],
'cp1006' => ['cp437' => '128'],
'cp855' => ['cp437' => '128'],
'cp1006' => ['cp437' => '128'],
- 'cp737' => ['cp437' => '128'],
+ 'cp737' => ['cp437' => '128-175+224'],
'cp869' => ['cp437' => '128'],
'cp869' => ['cp437' => '128'],
- 'cp862' => ['cp437' => '128'],
+ 'cp862' => ['cp437' => '128-159'],
'cp864' => ['cp437' => '128'],
'koi8-u' => ['koi8-r' => 128],
'cp864' => ['cp437' => '128'],
'koi8-u' => ['koi8-r' => 128],
if (defined $params) {
$params =~ m{
\A (?<offset> \d+)
if (defined $params) {
$params =~ m{
\A (?<offset> \d+)
+ (?: (?: [-] (?<stop> \d+) )? (?: [+] (?<restart> \d+) ) )?
(?: [-] (?<endpoint> \d+) )? \z
}x or Alert([
"Unknown range parameters for $input",
(?: [-] (?<endpoint> \d+) )? \z
}x or Alert([
"Unknown range parameters for $input",
- "<q>$params</q> is not in format start(-end)",
+ "<q>$params</q> is not in format start(-stop)(+restart(-end))",
]);
$row{offset} = $+{offset};
$endpoint = $+{endpoint} if $+{endpoint};
]);
$row{offset} = $+{offset};
$endpoint = $+{endpoint} if $+{endpoint};
+ if (my $restart = $+{restart}) {
+ my $skip = int(($+{stop} || $row{offset}) / $row{cols});
+ for ($skip + 1 .. ($restart / $row{cols}) - 1) {
+ $row{skip}->{ $_ * $row{cols} - $row{offset} }++;
+ }
+ }
}
if ($input =~ /^U([0-9a-f]+)(?:-([0-9a-f]+))?/) {
}
if ($input =~ /^U([0-9a-f]+)(?:-([0-9a-f]+))?/) {
}
print '<tbody>';
while ($offset < $row->{endpoint}) {
}
print '<tbody>';
while ($offset < $row->{endpoint}) {
+ if ($row->{skip}->{$offset}) {
+ $offset += $cols * $colsize;
+ next;
+ }
+
print '<tr><th>';
{
if (my $rowmod = $offset % $rowdiv) {
print '<tr><th>';
{
if (my $rowmod = $offset % $rowdiv) {