File: makeglyphs

package info (click to toggle)
netsurf 3.11-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 87,296 kB
  • sloc: ansic: 403,115; xml: 81,988; cpp: 6,246; perl: 4,605; makefile: 2,907; yacc: 2,246; python: 2,057; sh: 1,500; jsp: 1,156; lex: 623; javascript: 551; ruby: 329; asm: 326; lisp: 151; php: 6
file content (29 lines) | stat: -rwxr-xr-x 665 bytes parent folder | download | duplicates (6)
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";