X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/50322e8fe54aa18df8f80689947ded3753f3b80d..v1.1-42-gef10481:/unicode.plp
diff --git a/unicode.plp b/unicode.plp
index 4d48bb4..7c05183 100644
--- a/unicode.plp
+++ b/unicode.plp
@@ -48,14 +48,20 @@ td {
vertical-align: top;
margin: 0;
padding: 0;
+ width: 1.6em;
}
small {
font-size: 50%;
display: block;
- width: 3.2em;
+}
+small.digraph {
background: #888;
color: #FFF;
}
+small.value {
+ background: #CCC;
+ color: #666;
+}
td.empty {
background: #DDD;
@@ -88,79 +94,100 @@ sub quote {
sub table {
my ($width, $digraphs, $rowheads, $colheads) = @_;
- my @cells;
- push @cells, sprintf '
%s%s',
- $di{ord $_} && $diinfo->{$di{ord $_}}->[1],
- $_ eq '-' ? ' class="empty"' : $_ eq '=' ? ' class="reserved"' : '',
- $_ eq '-' || $_ eq '=' ? ' ' : quote($_),
- $di{ord $_} && sprintf(' %s', $di{ord $_})
- for @$digraphs;
-
- if ($rowheads) {
- splice @cells, $_ * $width, 0, ' | '.($rowheads->[$_] || ' ')
- for reverse 0 .. $#cells / $width;
- $width++;
- }
-
my @rows;
- push @rows, sprintf ' | %s', join '', splice @cells, 0, $width, ()
- while @cells;
+
+ my $colspan = 1;
+ for my $cell (@$digraphs) {
+ my $class;
+ if ($cell eq '.') {
+ push @rows, '';
+ $rows[-1] .= ''.(shift @$rowheads || ' ') if $rowheads;
+ next;
+ }
+ elsif ($cell eq '>') {
+ $colspan++;
+ next;
+ }
+ elsif ($cell =~ s/^-//) {
+ $class = 'empty';
+ }
+ elsif ($cell eq '=') {
+ $class = 'reserved';
+ $cell = '';
+ }
+
+ my $code = join '', map { $di{ord $_} || '' } split //, $cell;
+ my $name = $diinfo->{$code}->[1];
+
+ $rows[-1] .= sprintf(' | %s%s',
+ defined $name ? qq{ title="$name"} : '',
+ defined $class ? qq{ class="$class"} : '',
+ $colspan > 1 && qq{ colspan="$colspan"},
+ $cell eq '' ? ' ' : quote($cell),
+ $code ne '' ? sprintf(' %s', quote($code))
+ : length($cell) == 1 && $cell !~ /[a-z]/
+ ? sprintf(' %04X', 'value', ord $cell)
+ : '',
+ );
+
+ $colspan = 1;
+ }
if ($colheads) {
unshift @rows, sprintf '%s | |
', join '',
- map { sprintf '%s', split(/:/, $colheads->[$_], 2) }
- 0 .. $width-2;
+ map { sprintf ' | %s', split(/:/, $_, 2) }
+ @$colheads
}
- return sprintf "\n", join '', @rows;
+ return sprintf "\n", join '', map {" | $_\n"} @rows;
}
print "Arrows
\n\n";
print table(@$_) for (
- [ 4 => [qw{â â â â â - â â â â â -}]],
- [ 4 => [qw{â â â â â - â â â â â -}]],
- [ 3 => [qw{⤠Ⲡ⥠â â ⶠ⣠⼠â¢}]],
- [ 3 => [qw{⸠Ⳡ⹠â â ⷠ⺠⽠â¿}]],
+ [ 4 => [qw{. â â â â . â - â â . â â â -}]],
+ [ 4 => [qw{. â â â â . â - â â . â â â -}]],
+ [ 3 => [qw{. ⤠Ⲡ⥠. â â ⶠ. ⣠⼠â¢}]],
+ [ 3 => [qw{. ⸠Ⳡ⹠. â â â· . ⺠⽠â¿}]],
);
print "Line drawing
\n\n";
print table(@$_) for (
- [ 4 => [qw{â ⬠â â â ⼠⤠â â â´ â -}]],
- [ 4 => [qw{â â³ â â ⣠â â« â â â» â -}]],
- [ 3 => [qw{â ⯠â â ⿠⥠â â· â}]],
- [ 3 => [qw{â â° â â â ⨠â ⸠â}]],
-# [ 4 => [qw{â ⦠â â â ⬠⣠â â â© â -}]],
-# [ 3 => [qw{â ⤠â â ⪠⡠â ⧠â}]],
-# [ 3 => [qw{â ⥠â â ⫠⢠â ⨠â}]],
+ [ 4 => [qw{. â ⬠â â . â ⼠⤠â . â â´ â -}]],
+ [ 4 => [qw{. â â³ â â . ⣠â â« â . â â» â -}]],
+ [ 3 => [qw{. â ⯠â . â ⿠⥠. â â· â}]],
+ [ 3 => [qw{. â â° â . â â ⨠. â ⸠â}]],
+# [ 4 => [qw{. â ⦠â â . â ⬠⣠â . â â© â -}]],
+# [ 3 => [qw{. â ⤠â . â ⪠⡠. â ⧠â}]],
+# [ 3 => [qw{. â ⥠â . â ⫠⢠. â ⨠â}]],
);
print "Signs
\n\n";
print table(@$_) for (
- [ 3 => [qw{â â â â â â â â â â â â}]],
- [ 3 => [qw{⡠⣠â ⤠⦠⥠⧠⩠â¨}]],
- [ 4 => [qw{â ⡠⢠⣠⤠⥠⦠â§}]],
- [10 => [qw{â¼ â¿ â â â â â â
â â}]], # solar
-# [12 => [qw{â â â â â â â â â â â â}]], # zodiac
- [ 8 => [qw{¤ ¢ ⥠⬠£ ⨠$ Â¥ â« â ⦠Ⱡ⧠⮠⩠âª}]],
+ [ 3 => [qw{. â â â . â â â . â â â . â â â}]],
+ [ 3 => [qw{. ⡠⣠â . ⤠⦠⥠. ⧠⩠â¨}]],
+ [ 4 => [qw{. â ⡠⢠⣠. ⤠⥠⦠â§}]],
+ [ 5 => [qw{. â¼ â¿ â â â â â â
â â}]], # solar
+# [12 => [qw{. â â â â â â â â â â â â}]], # zodiac
+ [ 8 => [qw{. ¤ ¢ ⥠⬠£ ⨠$ Â¥ . â« â ⦠Ⱡ⧠⮠⩠âª}]],
);
print "IPA
\n\n";
print table(@$_) for (
[
12 => [qw{
- p t - Ê - c k q - = Ê¡ Ê
- b d - É - É É¡ É¢ - = - =
- m ɱ - n - ɳ ɲ Šɴ = = =
- Ê - - r - - - = Ê = Ñ =
- - â±± - ɾ - ɽ - = É¢Ì = - =
- ɸ f θ s Ê Ê Ã§ x Ï Ä§ Ê h
- β v ð z Ê Ê Ê É£ Ê Ê Ê¢ ɦ
- = = - ɬ - - - - - = = =
- = = - É® - - - - - = = =
- - Ê - ɹ - É» j É° - - - =
- = = - l - É Ê Ê - = = =
- Ê - Ç Ç Ç - Ç - - = = =
- É - É - - - Ê É Ê - - -
+ . p p̪ > > t Ê c k q = Ê¡ Ê
+ . b b̪ > > d É É É¡ É¢ = - =
+ . m ɱ > > n ɳ ɲ Šɴ = = =
+ . Ê - > > r - - = Ê = -Ñ =
+ . - â±± > > ɾ ɽ - = É¢Ì = - =
+ . ɸ f θ s Ê Ê Ã§ x Ï Ä§ Ê h
+ . β v ð z Ê Ê Ê É£ Ê Ê Ê¢ ɦ
+ . = = > > ɬ - - - - = = =
+ . = = > > É® - - - - = = =
+ . - Ê > > ɹ É» j É° - - - =
+ . = = > > l É Ê Ê - = = =
+ . Ê - Ç Ç Ç -â¼ Ç - - = = =
+ . É É̪ > > É -á¶ Ê É Ê = = =
}],
[
'Plosive',
@@ -183,13 +210,13 @@ print table(@$_) for (
],
[
6 => [qw{
- i y ɨ Ê É¯ u
- - ɪ Ê - Ê -
- e ø É Éµ ɤ o
- - - É - - -
- É Å É É Ê É
- æ - É - - -
- a ɶ - - É É
+ . i y ɨ Ê É¯ u
+ . - ɪ Ê - Ê -
+ . e ø É Éµ ɤ o
+ . - - É - - -
+ . É Å É É Ê É
+ . æ - É - - -
+ . a ɶ - - É É
}],
[qw{Close Near-close Close-mid Mid Open-mid Near-open Open}],
[map {substr($_, 0, 1).':'.$_, substr($_, 0, 1)." r:$_ rounded"} qw{Front Central Back}]