-
-
Notifications
You must be signed in to change notification settings - Fork 23
/
dumpFont.pl
47 lines (38 loc) · 713 Bytes
/
dumpFont.pl
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!perl --
use strict;
use warnings;
use Font::FreeType;
my $face = Font::FreeType->new->face('emojione_android.ttf');
my $f =0;
my $l =0;
my $n =0;
$face->foreach_char(sub{
my $codepoint = $_->char_code;
if( $codepoint < 80 ){
return;
}
if($n ==0 ){
if( $l == 0 ){
print "\tprivate static void initForFont",(++$f),"(){\n";
}
print "\t\taddFontCode(new int[]{";
}
printf "0x%x,",$codepoint;
if( ++$n >= 5 ){
$n =0;
print "});\n";
if( ++$l >= 100 ){
$l = 0;
print "\t}\n";
}
}
});
if( $n > 0 ){
print "});\n";
print "\t}\n";
}
print "\tstatic{\n";
for(my $i=1;$i<=$f;++$i){
print"\t\tinitForFont$i();\n";
}
print "\t}\n";