X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/276a672c5fd261773a452d3bca765c7c7e4e562f..bf64871d2554e77756e10b896bb63589d15b4f73:/charset.plp diff --git a/charset.plp b/charset.plp index 6119859..b1c680e 100644 --- a/charset.plp +++ b/charset.plp @@ -85,7 +85,7 @@ sub tabinput { use List::Util qw( first pairfirst pairs ); state $INHERIT = { - 'cp437' => ['cp850' => 0], # ascii range overridden later + 'cp437' => ['cp850' => 0, 'ascii' => '0-31+128'], # ascii range overridden later 'gsm0338' => ['ascii' => '0-127'], 'iso-8859-2' => ['iso-8859-1' => '160'], @@ -166,16 +166,21 @@ sub tabinput { } elsif (defined $visible->{ascii}) { $row{parent} = $parents[0]; - $params = $parents[1] || 128; + $params = $parents[1] // 128; $params = 128 if $params >= 128; # ascii offset at most } elsif (@parents) { $row{parent} = $parents[0]; + $params = $parents[1] if $parents[1] == 0; # apply ascii end } - $visible->{$_} //= 0 for $row{parent}; + $visible->{$_} //= 0 for $row{parent} || (); + } + else { + # manual option to double table width + $row{cols} *= 2 if $params =~ s/[+]\z//; } - if (defined $params) { + if (length $params) { $params =~ m{ \A (? \d+) (?: (?: [-] (? \d+) )? (?: [+] (? \d+) ) )?