summaryrefslogtreecommitdiff
path: root/build/tools/makeglyphs
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2010-01-06 16:32:59 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2010-01-06 16:32:59 +0000
commitf3a77d3c00c095a53f37aa7efb39d56168799596 (patch)
tree0bd2269afe0edd5018c5d231c95a5011002c83cf /build/tools/makeglyphs
parent628079a91ca6d86a7915906d266e6fe5593bb846 (diff)
downloadlibrufl-f3a77d3c00c095a53f37aa7efb39d56168799596.tar.gz
librufl-f3a77d3c00c095a53f37aa7efb39d56168799596.tar.bz2
Port to core buildsystem.
The python module (and associated make runes) need some love (as does non-GCC building with the core buildsystem in general) svn path=/trunk/rufl/; revision=9792
Diffstat (limited to 'build/tools/makeglyphs')
-rwxr-xr-xbuild/tools/makeglyphs29
1 files changed, 29 insertions, 0 deletions
diff --git a/build/tools/makeglyphs b/build/tools/makeglyphs
new file mode 100755
index 0000000..6acb350
--- /dev/null
+++ b/build/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";