summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorVincent Sanders <vincent.sanders@collabora.co.uk>2012-07-17 20:55:38 +0100
committerVincent Sanders <vincent.sanders@collabora.co.uk>2012-07-17 20:55:38 +0100
commiteafd52f784b62b931dcaff6a59d3b009ae9c9b47 (patch)
tree24342706b2ed1149da37dac0f43f4e28a961ac69 /tools
parent3eadc719b287f36fe9afbd05131a4fd4fbe34202 (diff)
downloadlibrufl-eafd52f784b62b931dcaff6a59d3b009ae9c9b47.tar.gz
librufl-eafd52f784b62b931dcaff6a59d3b009ae9c9b47.tar.bz2
put makeglyphs tool back
Diffstat (limited to 'tools')
-rwxr-xr-xtools/makeglyphs29
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";