共有フォントテーブルのタイムスタンプを引数で与えれるよう変更。

共有フォントテーブルのエントリにNULLエントリを加えられるよう変更。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1366 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2008-05-15 11:55:45 +00:00
parent 6885accd26
commit 3458675b5e
2 changed files with 25 additions and 8 deletions

View File

@ -20,6 +20,7 @@ TARGET_FIRM = SYSTEMMENU
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
FONT_TIMESTAMP = 08041700
FONT_DIR = WW
FONTS = TWL_BF00_l.NFTR \
TWL_BF00_m.NFTR \
@ -45,6 +46,6 @@ include $(TWL_IPL_RED_ROOT)/build/buildtools/modulerules
do-build : $(FONT_TABLE)
$(FONT_TABLE): $(FONT_RSC)
$(GEN_FONT_TABLE) $(FONT_RSC)
$(GEN_FONT_TABLE) $(FONT_TIMESTAMP) $(FONT_RSC)
#===== End of Makefile =====

View File

@ -28,8 +28,8 @@
use POSIX 'strftime';
use File::Basename;
if ($#ARGV < 1) {
printf STDOUT ("Usage: %s [genFontTable] [Target font files...]\n", $0);
if ($#ARGV < 2) {
printf STDOUT ("Usage: %s [genFontTable] timestamp [Target font files...]\n", $0);
exit(-1);
}
@ -51,10 +51,13 @@ sub deleteTemp {
my $signSize = 0x80;
my $headerSize = 0x20;
my @files;
# 要素数算出
my $num = 0;
foreach ( @ARGV ) {
next if( $_ eq $ARGV[0] );
$files[ $num ] = $_;
$num++;
}
@ -74,7 +77,13 @@ foreach ( @ARGV ) {
my $offset = $signSize + $headerSize + $num * $elementSize;
if( ( $offset % 32 ) > 0 ) { $offset += 32 - ( $offset % 32 ); }
foreach ( @ARGV ) {
foreach ( @files ) {
# NULL指定時は、NULL出力
if( "NULL" eq basename( $_ ) ) {
syswrite( INFO, pack( "x$elementSize") );
next;
}
# ファイルネームの出力
if( !( -e $_ ) ) {
close( INFO );
@ -132,8 +141,10 @@ foreach ( @ARGV ) {
binmode HEADER;
# タイムスタンプの出力
my $date = strftime "%y%m%d%H", localtime;
syswrite( HEADER, pack( "H8", $date ) );
# my $timestamp = strftime "%y%m%d%H", localtime;
my $timestamp = $ARGV[ 0 ];
printf "timestamp = %s\n", $timestamp;
syswrite( HEADER, pack( "N", unpack( "L", pack( "H8", $timestamp ) ) ) );
# 要素数の出力
syswrite( HEADER, pack( "S", $num ) );
@ -187,8 +198,13 @@ if (!$KEYROOT) {
my $padding = pack( "x$padNum" );
syswrite( FONTTABLE, $padding, $padNum );
}
foreach ( @ARGV ) {
foreach ( @files ) {
# NULL指定時はスキップ
if( "NULL" eq basename( $_ ) ) {
next;
}
# フォント出力
my $fileLen = -s $_;
open TEST, $_ or die;