diff options
Diffstat (limited to 'makeglyphs')
-rwxr-xr-x | makeglyphs | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1,21 +1,29 @@ #!/usr/bin/perl -W -%glyph = (); +%name = (); print "#include <stdlib.h>\n"; print "#include \"rufl_internal.h\"\n"; print "const struct rufl_glyph_map_entry rufl_glyph_map[] = {\n"; +print "\t{\" \", 0}, /* sentinel */\n"; while (<>) { if (/^([0-9A-F]{4});([a-zA-Z0-9]+);/) { - $glyph{$2} = $1; + $name{"$1:$2"} = 1; } } -foreach $z (sort keys %glyph) { - print "\t{\"$z\", 0x$glyph{$z}},\n"; +@glyph = (); +while (($un, ) = each %name) { + ($u, $n) = split ':', $un; + push @glyph, [$n, $u]; } +foreach $z (sort {$$a[0] cmp $$b[0] or $$a[1] cmp $$b[1]} @glyph) { + print "\t{\"$$z[0]\", 0x$$z[1]},\n"; +} + +print "\t{\"~\", 0} /* sentinel */\n"; print "};\n"; print "const size_t rufl_glyph_map_size = sizeof rufl_glyph_map /\n"; print " sizeof rufl_glyph_map[0];\n"; |