charset: legacy encodings petscii, atascii, msx, zx-spectrum
[sheet.git] / charset.plp
index d8527f01ff307bc5a80abfe4db1959ec7b0f409b..ccbf145cf6ce28e674fa2e440209321309011089 100644 (file)
@@ -55,6 +55,7 @@ print join " •\n", (
                dos      => 'DOS',
                mac      => 'Apple',
                ebcdic   => 'EBCDIC',
+               legacy   => 'legacy',
                $tablist[0] eq 'default' ? () : ('' => 'common'),
        ],
        [
@@ -153,7 +154,7 @@ sub tabinput {
        if (defined $row{table} or defined $row{cell}) {
                $row{set} //= $input;
        }
-       elsif ($row{set} = Encode::resolve_alias($input)) {
+       elsif ($row{set} = Encode::resolve_alias($charset->{set} // $input)) {
                $row{offset} = delete $row{startpoint};
                if ($charset->{varchar}) {
                        # array of possibly multiple characters per code point
@@ -169,6 +170,7 @@ sub tabinput {
 
                $row{endpoint} -= $row{offset};
                $visible->{ascii}++;  # assume common base
+               $row{set} = $input if $charset->{set};  # base override
        }
        else {
                Alert("Encoding <q>$input</q> unknown");