X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/6e6a65b81dcaf4c6e82d0ed14fce1a3bee50ae1d..5ece27f37579b61cebd2a43c2b127fe46c20f424:/unicode.plp diff --git a/unicode.plp b/unicode.plp index 5f2c576..475a887 100644 --- a/unicode.plp +++ b/unicode.plp @@ -46,15 +46,21 @@ my $tables = do 'unicode.inc.pl' or die $@ || $!; $glyphs->print(map { my $_ = /(.*)\?(.*)/ ? ($verbose ? $2 : $1) : $_; - if (/[A-Z]/) { + if (!$_) { + (); + } + elsif (/[A-Z]/) { + tr/_/ /; $_; } else { state $group; $group = $1 if s{^([^/]+)/}{}; - if (s/=(.*)//) { - my @select = split /=/, $1; - my $table = $tables->{$group}->{$_}; + my @select = s/=(.*)// ? split(/=/, $1) : (); + my $table = $tables->{$group}->{$_} + or die "Unknown table specified: $group/$_"; + + if (@select) { my $rowlen; for ($rowlen = 1; $rowlen++; $rowlen <= $#$table) { last if $table->[$rowlen] =~ /\./; @@ -63,11 +69,9 @@ $glyphs->print(map { my $end = (s/-(.+)?// ? ($1 // @$table / $rowlen - 1) : $_) + 1; $_ * $rowlen .. $end * $rowlen - 1; } @select; - [ @$table[@cells] ]; - } - else { - $tables->{$group}->{$_}; + $table = [ @$table[@cells] ]; } + $table; } } qw{ Popular @@ -79,10 +83,6 @@ $glyphs->print(map { ?uncommon punctuation/version punctuation/marks - math/size - equal - set - logic Symbols symbols/currency cards @@ -94,13 +94,18 @@ $glyphs->print(map { Signs solar zodiac=0?zodiac - Key commands + Key_commands keys/spacing editing modifier control command ?player + Mathematics + math/size + equal + set + logic Arrows arrows/single double @@ -111,7 +116,7 @@ $glyphs->print(map { whitetri ?-large ?-heavy - Line drawing + Line_drawing lines/double doubleh doublev