diff --git a/build/systemMenu_RED/sharedFont/Makefile b/build/systemMenu_RED/sharedFont/Makefile index fbfeb8a9..aa12d9b2 100644 --- a/build/systemMenu_RED/sharedFont/Makefile +++ b/build/systemMenu_RED/sharedFont/Makefile @@ -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 ===== diff --git a/tools/bin/genFontTable.plx b/tools/bin/genFontTable.plx index 268dc874..7db4a83c 100644 --- a/tools/bin/genFontTable.plx +++ b/tools/bin/genFontTable.plx @@ -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;