From eafd52f784b62b931dcaff6a59d3b009ae9c9b47 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Tue, 17 Jul 2012 20:55:38 +0100 Subject: put makeglyphs tool back --- src/Makefile | 2 +- tools/makeglyphs | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100755 tools/makeglyphs diff --git a/src/Makefile b/src/Makefile index 73974aa..7592083 100644 --- a/src/Makefile +++ b/src/Makefile @@ -11,6 +11,6 @@ SOURCES := $(SOURCES) $(BUILDDIR)/rufl_glyph_map.c $(BUILDDIR)/rufl_glyph_map.c: src/Glyphs $(VQ)$(ECHO) "MKGLYPHS: $<" - $(Q)$(PERL) build/tools/makeglyphs < $< > $@ + $(Q)$(PERL) tools/makeglyphs < $< > $@ include $(NSBUILD)/Makefile.subdir 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 \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"; -- cgit v1.2.3