From e155b6dc4a8a43375d222c6a920a59fceb23e128 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 23 Dec 2010 21:52:24 +0100 Subject: [PATCH] formatchar: separate anno and style options Split single digraph boolean into distinct configuration for cell annotation and styling. --- Shiar_Sheet/FormatChar.pm | 8 ++++---- latin.plp | 3 ++- unicode.plp | 8 ++++---- writing.plp | 3 ++- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Shiar_Sheet/FormatChar.pm b/Shiar_Sheet/FormatChar.pm index 185e0af..30aab5e 100644 --- a/Shiar_Sheet/FormatChar.pm +++ b/Shiar_Sheet/FormatChar.pm @@ -14,7 +14,7 @@ our %di = map { $diinfo->{$_}->[0] => $_ } grep { ref $diinfo->{$_} } sub new { my ($class) = @_; - bless { digraph => 1, unicode => 0 }, $class; + bless { unicode => 0, anno => 'di', style => 'di' }, $class; } sub glyph_info { @@ -83,7 +83,7 @@ sub cell { ($cell, $title, my $class, $mnem) = $self->glyphs_html($input); - if ($self->{digraph}) { + if ($self->{style} = 'di') { if (defined $mnem) { push @class, $class =~ /\bXz\b/ ? ('l2', 'u-prop') # unofficial : ('l3', 'u-di'); # standard digraph @@ -112,7 +112,7 @@ sub cell { @class ? sprintf(' class="%s"', join ' ', @class) : '', $html || '', $cell eq '' ? (' ', '') : ($cell, - $self->{digraph} && defined $mnem && length $mnem + $self->{anno} eq 'di' && defined $mnem && length $mnem ? sprintf(' %s', EscapeHTML($mnem)) : $self->{unicode} + $cell =~ /^[^a-zA-Z]$/ > 0 ? sprintf(' %04X', 'value', ord $cell) @@ -164,7 +164,7 @@ sub table { } return sprintf qq{\n%s
\n}, - $self->{digraph} || $self->{unicode} >= 0 ? ' dilabel' : '', + $self->{anno} || $self->{unicode} >= 0 ? ' dilabel' : '', join '', map {"$_\n"} @rows; } diff --git a/latin.plp b/latin.plp index 5484624..f91055d 100644 --- a/latin.plp +++ b/latin.plp @@ -39,7 +39,8 @@ use Shiar_Sheet::FormatChar; my $glyphs = Shiar_Sheet::FormatChar->new; unless (exists $get{v}) { $glyphs->{unicode}--; - $glyphs->{digraph}--; + $glyphs->{anno} = 0; + $glyphs->{style} = 0; } my %scriptname = ( diff --git a/unicode.plp b/unicode.plp index d7e5e01..5b3093d 100644 --- a/unicode.plp +++ b/unicode.plp @@ -31,12 +31,12 @@ use Shiar_Sheet::FormatChar; my $glyphs = Shiar_Sheet::FormatChar->new; if (exists $get{di}) { - $glyphs->{digraph} = defined $get{di} ? ! !$get{di} : 1; + $glyphs->{anno} = (!defined $get{di} || $get{di}) && 'di'; $glyphs->{unicode} = 1; } if (exists $get{q}) { $glyphs->{unicode} = -1; - $glyphs->{digraph}--; + $glyphs->{anno} = 0; } our $verbose = exists $get{v}; @@ -136,8 +136,8 @@ $glyphs->print(map {
ascii - <:= $glyphs->{digraph} ? 'digraph' : 'latin1' :> - <:= $glyphs->{digraph} ? 'proposed' : 'BMP' :> + <:= $glyphs->{style} eq 'di' ? 'digraph' : 'latin1' :> + <:= $glyphs->{style} eq 'di' ? 'proposed' : 'BMP' :> other unicode discouraged
diff --git a/writing.plp b/writing.plp index eab0051..86654e2 100644 --- a/writing.plp +++ b/writing.plp @@ -29,7 +29,8 @@ use Shiar_Sheet::FormatChar; my $glyphs = Shiar_Sheet::FormatChar->new; unless (exists $get{v}) { $glyphs->{unicode}--; - $glyphs->{digraph}--; + $glyphs->{anno} = 0; + $glyphs->{style} = 0; } my $scriptname = do 'writing-script.inc.pl'; -- 2.30.0