summaryrefslogtreecommitdiff
path: root/makeglyphs
blob: 6acb350eade0604ce7da1883e8fc829ea1109204 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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";