diff options
author | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-07-17 20:55:38 +0100 |
---|---|---|
committer | Vincent Sanders <vincent.sanders@collabora.co.uk> | 2012-07-17 20:55:38 +0100 |
commit | eafd52f784b62b931dcaff6a59d3b009ae9c9b47 (patch) | |
tree | 24342706b2ed1149da37dac0f43f4e28a961ac69 /tools/makeglyphs | |
parent | 3eadc719b287f36fe9afbd05131a4fd4fbe34202 (diff) | |
download | librufl-eafd52f784b62b931dcaff6a59d3b009ae9c9b47.tar.gz librufl-eafd52f784b62b931dcaff6a59d3b009ae9c9b47.tar.bz2 |
put makeglyphs tool back
Diffstat (limited to 'tools/makeglyphs')
-rwxr-xr-x | tools/makeglyphs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/makeglyphs b/tools/makeglyphs new file mode 100755 index 0000000..6acb350 --- /dev/null +++ b/tools/makeglyphs @@ -0,0 +1,29 @@ +#!/usr/bin/perl -W + +%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]+);/) { + $name{"$1:$2"} = 1; + } +} + +@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"; |