- if ($self->{digraph}) {
- if (defined $mnem) {
- push @class, 'di-d'; # digraph
- push @class, 'di-prop' if $class =~ /\bXz\b/; # unofficial
+ 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
+ }
+ elsif ($version < 20) {
+ push @class, 'l5'; # first release 1993
+ }
+ elsif ($version < 31) {
+ push @class, 'l4'; # 20th century
+ }
+ elsif ($version < 50) {
+ push @class, 'l4'; # over 10 years ago
+ }
+ elsif ($version < 61) {
+ push @class, 'l3'; # before 2012
+ }
+ else {
+ push @class, 'l2'; # more recent
+ }
+ next;
+ }
+
+ if ($self->{style} eq 'di') {
+ if ($class =~ /\bu-di\b/) {
+ push @class, ('l3', 'u-di'); # standard digraph
+ }
+ elsif ($class =~ /\bu-prop\b/) {
+ push @class, ('l2', 'u-prop'); # unofficial
+ }
+ }
+ elsif ($self->{style} eq 'html') {
+ if (defined $entity) {
+ push @class, ('l3', 'u-html');