From: Mischa POSLAWSKY Date: Wed, 5 Apr 2017 22:57:32 +0000 (+0200) Subject: charset: multirow range title at majority break X-Git-Tag: v1.10~239 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/7f9b1647257de067fb1ca3c58ac19bae8c747141?ds=sidebyside charset: multirow range title at majority break --- diff --git a/charset-unicode.inc.pl b/charset-unicode.inc.pl index 38449ab..559ca88 100644 --- a/charset-unicode.inc.pl +++ b/charset-unicode.inc.pl @@ -8,8 +8,7 @@ use utf8; 0x000A => [0x02, 'X L So joinl joinr', 'comn'], 0x000C => [0x04, 'X L Latin joinl', 'latin1'], 0x0010 => [0x08, 'X L Latin', 'latin extended-A'], - 0x0018 => [0x08, 'X L Latin', 'latin extended-B'], - 0x0020 => [0x05, 'X L Latin', 'latin ext-B'], + 0x0018 => [0x0D, 'X L Latin', 'latin extended-B'], 0x0025 => [0x06, 'X L Latin', 'IPA'], 0x002B => [0x05, 'X Sk', 'spacing modifier'], 0x0030 => [0x08, 'X Mn', 'diacritics'], @@ -44,8 +43,7 @@ use utf8; 0x0100 => [0x0A, 'X L Brahmic', 'myanmar'], 0x010A => [0x06, 'X L Aramaic', 'georgian'], 0x0110 => [0x10, 'X L Hangul', 'hangeul jamo'], - 0x0120 => [0x10, 'X L African', 'ethiopic'], - 0x0130 => [0x08, 'X L African', 'ethiopic'], + 0x0120 => [0x18, 'X L African', 'ethiopic'], 0x0138 => [0x02, 'X L African', 'eth+'], 0x013A => [0x06, 'X L Syllabic', 'cherokee'], 0x0140 => [0x28, 'X L Syllabic', 'unified canadian aboriginal syllabics'], @@ -133,7 +131,7 @@ use utf8; 0x0A49 => [0x04, 'X L Syllabic', 'yi radicals'], 0x0A4D => [0x03, 'X L Latin', 'lisu'], 0x0A50 => [0x14, 'X L Syllabic', 'vai'], - 0x0A64 => [0x06, 'X L Cyrillic', 'cyrillic extended-B'], + 0x0A64 => [0x06, 'X L Cyrillic', 'cyrillic ext-B'], 0x0A6A => [0x06, 'X L Syllabic', 'bamum'], 0x0A70 => [0x02, 'X L Mn', 'tones'], 0x0A72 => [0x0E, 'X L Latin', 'latin extended-D'], @@ -297,8 +295,7 @@ use utf8; 0x11FC => [0x04, 'X Xr L Brahmic', 'tamil+'], 0x1200 => [0x40, 'X L Syllabic', 'cuneiform'], 0x1240 => [0x08, 'X No', 'cuneiform numbers'], - 0x1248 => [0x08, 'X L Syllabic', 'early dynastic cuneiform'], #TODO: join bottom but title at top - 0x1250 => [0x05, 'X L Syllabic', 'e. dyn. cuneiform'], + 0x1248 => [0x0D, 'X L Syllabic', 'early dynastic cuneiform'], 0x1255 => [0x0B], 0x1260 => [0x80, 'X Xr L Syllabic', 'proto-cuneiform'], 0x12E0 => [0x19, 'X Xr L Syllabic', 'indus'], @@ -374,7 +371,7 @@ use utf8; 0x1D2E => [0x02, 'X Xr No', 'mayan', 'Mayan Numerals'], 0x1D30 => [0x06, 'X So', 'tai xuan jing', 'tetragrams'], 0x1D36 => [0x02, 'X No', 'rod'], - 0x1D38 => [0x08, 'X Xr L Sm', 'mathematical alphanumeric+'], + 0x1D38 => [0x08, 'X Xr L Sm', 'math alphanumeric+'], 0x1D40 => [0x40, 'X L Sm', 'mathematical alphanumeric'], 0x1D80 => [0x2B, 'X L Alpha', 'sutton'], 0x1DAB => [0x55], diff --git a/charset.plp b/charset.plp index d96ca45..33eb679 100644 --- a/charset.plp +++ b/charset.plp @@ -121,8 +121,18 @@ sub range_cell { $rest = $len if $len < $rest; #TODO: optimise if ($len -= $rest) { # continued on new row - $table->{$offset + $colsize*$rest} //= [$len*$colsize, "$class joinu", $name, $title]; - $name = ''; + my @next = ($len * $colsize, "$class joinu"); + if ($len > $rest) { + # minority remains + push @next, $name, $title; + $title ||= $name; + $name = ''; + } + else { + # minority on next row + push @next, '"', $title || $name; + } + $table->{$offset + $colsize*$rest} //= \@next; $class .= ' joind'; } $len = $rest;