summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtools/buildzip.pl26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools/buildzip.pl b/tools/buildzip.pl
index 9d7af3db40..ce9188f6fd 100755
--- a/tools/buildzip.pl
+++ b/tools/buildzip.pl
@@ -1,5 +1,13 @@
1#!/usr/bin/perl 1#!/usr/bin/perl
2 2
3sub filesize {
4 my ($filename)=@_;
5 my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
6 $atime,$mtime,$ctime,$blksize,$blocks)
7 = stat($filename);
8 return $size;
9}
10
3sub buildlangs { 11sub buildlangs {
4 my ($outputlang)=@_; 12 my ($outputlang)=@_;
5 my $dir = "../apps/lang"; 13 my $dir = "../apps/lang";
@@ -54,6 +62,16 @@ sub buildzip {
54 my @fonts = grep { /\.bdf$/ && -f "../fonts/$_" } readdir(DIR); 62 my @fonts = grep { /\.bdf$/ && -f "../fonts/$_" } readdir(DIR);
55 closedir DIR; 63 closedir DIR;
56 64
65 my $maxfont;
66 open(HEADER, "<../firmware/export/font.h");
67 while(<HEADER>) {
68 if(/^\#define MAX_FONT_SIZE[ \t]*(\d+)/) {
69 $maxfont = $1;
70 }
71 }
72 close(HEADER);
73 die "no decent max font size" if ($maxfont < 2000);
74
57 for(@fonts) { 75 for(@fonts) {
58 my $f = $_; 76 my $f = $_;
59 77
@@ -63,6 +81,14 @@ sub buildzip {
63 my $cmd ="../tools/convbdf -s 32 -l 255 -f -o \".rockbox/fonts/$o\" \"../fonts/$f\" >/dev/null 2>&1"; 81 my $cmd ="../tools/convbdf -s 32 -l 255 -f -o \".rockbox/fonts/$o\" \"../fonts/$f\" >/dev/null 2>&1";
64 print "CMD: $cmd\n" if($verbose); 82 print "CMD: $cmd\n" if($verbose);
65 `$cmd`; 83 `$cmd`;
84
85 # no need to add fonts we cannot load anyway
86 my $fontsize = filesize(".rockbox/fonts/$o");
87 print STDERR "$maxfont $fontsize $o\n";
88 if($fontsize > $maxfont) {
89 print STDERR "unlink\n";
90 unlink(".rockbox/fonts/$o");
91 }
66 } 92 }
67 93
68 if($image) { 94 if($image) {