From c4d463bd7c2ecb2c52fcb30aebfe1565a042a23e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 24 Aug 2004 09:38:26 +0000 Subject: exclude fonts from the zip file that are larger than the maximum size we can load with this firmware git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5011 a1c6a512-1295-4272-9138-f99709370657 --- tools/buildzip.pl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) 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 @@ #!/usr/bin/perl +sub filesize { + my ($filename)=@_; + my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, + $atime,$mtime,$ctime,$blksize,$blocks) + = stat($filename); + return $size; +} + sub buildlangs { my ($outputlang)=@_; my $dir = "../apps/lang"; @@ -54,6 +62,16 @@ sub buildzip { my @fonts = grep { /\.bdf$/ && -f "../fonts/$_" } readdir(DIR); closedir DIR; + my $maxfont; + open(HEADER, "<../firmware/export/font.h"); + while(
) { + if(/^\#define MAX_FONT_SIZE[ \t]*(\d+)/) { + $maxfont = $1; + } + } + close(HEADER); + die "no decent max font size" if ($maxfont < 2000); + for(@fonts) { my $f = $_; @@ -63,6 +81,14 @@ sub buildzip { my $cmd ="../tools/convbdf -s 32 -l 255 -f -o \".rockbox/fonts/$o\" \"../fonts/$f\" >/dev/null 2>&1"; print "CMD: $cmd\n" if($verbose); `$cmd`; + + # no need to add fonts we cannot load anyway + my $fontsize = filesize(".rockbox/fonts/$o"); + print STDERR "$maxfont $fontsize $o\n"; + if($fontsize > $maxfont) { + print STDERR "unlink\n"; + unlink(".rockbox/fonts/$o"); + } } if($image) { -- cgit v1.2.3