From 6705ca954ca9bf786175106c6878fb4d94354a31 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Wed, 11 Feb 2015 23:31:32 +0100 Subject: [PATCH] writing: prefer regexes for unicode version Include only if unassigned, should be faster for common characters. --- Shiar_Sheet/FormatChar.pm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Shiar_Sheet/FormatChar.pm b/Shiar_Sheet/FormatChar.pm index 6b5fb6c..d3926bc 100644 --- a/Shiar_Sheet/FormatChar.pm +++ b/Shiar_Sheet/FormatChar.pm @@ -82,21 +82,22 @@ sub cell { ($cell, $title, my $class, $mnem, $entity) = $self->glyphs_html($input); if ($self->{style} eq 'univer') { - state $agemap = do 'unicode-age.inc.pl' or die $!; - my $version = $agemap->{ord $input}; - if (!$version) { - push @class, 'l1'; # no known unicode assignment + if ($input =~ /\p{age=unassigned}/) { + # check include for assignments after unicode 6.0 (perl v5.14) + state $agemap = do 'unicode-age.inc.pl'; + my $version = $agemap->{ord $input}; + push @class, $version ? 'l2' : 'l1'; } - elsif ($version < 20) { + elsif ($input =~ /^\p{in=1.1}*$/) { push @class, 'l5'; # first release 1993 } - elsif ($version < 31) { + elsif ($input =~ /^\p{in=3.0}*$/) { push @class, 'l4'; # 20th century } - elsif ($version < 50) { + elsif ($input =~ /^\p{in=4.1}*$/) { push @class, 'l4'; # over 10 years ago } - elsif ($version < 61) { + elsif ($input =~ /^\p{in=6.0}*$/) { push @class, 'l3'; # before 2012 } else { -- 2.30.0