X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/b2be59c4f3907ccf13f159d624279359136464f0..5ece27f37579b61cebd2a43c2b127fe46c20f424:/unicode.plp diff --git a/unicode.plp b/unicode.plp index 2e9678b..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 @@ -90,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 @@ -107,7 +116,7 @@ $glyphs->print(map { whitetri ?-large ?-heavy - Line drawing + Line_drawing lines/double doubleh doublev