・SHAREDフォントの中韓対応。(SDK UIG_branch_plus rev.10283以降が必要, )

・genFontTable.plxにフォントリージョンコードを埋め込めるよう変更。
・仮のSHAREDフォント中韓を追加。
・CheckSharedFontの中韓対応。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2774 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2009-03-30 08:16:29 +00:00
parent 98942da9b9
commit 26b75eb3f8
12 changed files with 78 additions and 21 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -22,19 +22,54 @@ SUBDIRS =
include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs
# WW,CN,KR©çIð
FONT_REGION = WW
FONT_DIR = $(FONT_REGION)
ifeq ($(FONT_REGION),WW)
FONT_TIMESTAMP = 08073100 FONT_TIMESTAMP = 08073100
FONT_DIR = WW FONT_REGION_CODE = 0
FONTS = TBF1_l.NFTR \ FONTS = $(FONT_DIR)/TBF1_l.NFTR \
TBF1_m.NFTR \ $(FONT_DIR)/TBF1_m.NFTR \
TBF1_s.NFTR $(FONT_DIR)/TBF1_s.NFTR
FONT_RSC = $(addprefix $(FONT_DIR)/, $(FONTS)) endif # REGION=WW
ifeq ($(FONT_REGION),CN)
FONT_TIMESTAMP = 09033000
FONT_REGION_CODE = 4
FONTS = NULL \
NULL \
NULL \
$(FONT_DIR)/TBF1_cn_l.NFTR \
$(FONT_DIR)/TBF1_cn_m.NFTR \
$(FONT_DIR)/TBF1_cn_s.NFTR \
NULL \
NULL \
NULL
endif # REGION=CN
ifeq ($(FONT_REGION),KR)
FONT_TIMESTAMP = 09033000
FONT_REGION_CODE = 5
FONTS = NULL \
NULL \
NULL \
NULL \
NULL \
NULL \
$(FONT_DIR)/TBF1_kr_l.NFTR \
$(FONT_DIR)/TBF1_kr_m.NFTR \
$(FONT_DIR)/TBF1_kr_s.NFTR
endif # REGION=KR
FONT_RSC = $(FONTS)
FONT_ORG_DIR = $(TWL_IPL_RED_ROOT)/build/systemMenu_RED/sharedFont/WW FONT_ORG_DIR = $(TWL_IPL_RED_ROOT)/build/systemMenu_RED/sharedFont/WW
FONT_ORG_RSC = $(addprefix $(FONT_ORG_DIR)/, $(FONTS)) FONT_ORG_RSC = $(addprefix $(FONT_ORG_DIR)/, $(FONTS))
ifneq ($(TWL_IPL_RED_PRIVATE_ROOT),) ifneq ($(TWL_IPL_RED_PRIVATE_ROOT),)
FONT_TABLE = TWLFontTable.dat FONT_TABLE = TWLFontTable.dat
FONT_TABLE_WITH_TIMESTAMP = TWLFontTable_$(FONT_TIMESTAMP).dat FONT_TABLE_WITH_TIMESTAMP = TWLFontTable_$(FONT_REGION)_$(FONT_TIMESTAMP).dat
endif endif
GEN_FONT_TABLE = $(SYSMENU_TOOLSDIR)/bin/genFontTable.plx GEN_FONT_TABLE = $(SYSMENU_TOOLSDIR)/bin/genFontTable.plx
@ -50,9 +85,12 @@ include $(TWL_IPL_RED_ROOT)/build/buildtools/modulerules
do-build : $(FONT_TABLE) $(FONT_TABLE_WITH_TIMESTAMP) do-build : $(FONT_TABLE) $(FONT_TABLE_WITH_TIMESTAMP)
# compress sharedFonts and them in local directory # compress sharedFonts and them in local directory
$(FONT_TABLE): $(FONT_RSC) $(GEN_FONT_TABLE) $(FONT_TABLE): $(FONT_RSC) $(GEN_FONT_TABLE) ./Makefile
$(GEN_FONT_TABLE) $(FONT_TIMESTAMP) $(FONT_RSC) $(GEN_FONT_TABLE) $(FONT_TIMESTAMP) $(FONT_REGION_CODE) $(FONT_RSC)
$(FONT_TABLE_WITH_TIMESTAMP): $(FONT_TABLE) $(FONT_TABLE_WITH_TIMESTAMP): $(FONT_TABLE)
cp $< $@ cp $< $@
NULL:
#===== End of Makefile ===== #===== End of Makefile =====

View File

@ -26,7 +26,7 @@ TARGET_BIN = main.srl
SRCS = main.c loadSharedFont.c SRCS = main.c loadSharedFont.c
LLIBRARIES += libsharedfont$(TWL_LIBSUFFIX).a LLIBRARIES += libsharedfont$(TWL_LIBSUFFIX).a libna$(TWL_LIBSUFFIX).a
ROM_SPEC = ROM-TS_nand.rsf ROM_SPEC = ROM-TS_nand.rsf

View File

@ -27,13 +27,25 @@
// function's prototype------------------------------------------------------- // function's prototype-------------------------------------------------------
// global variable------------------------------------------------------------- // global variable-------------------------------------------------------------
BOOL g_isSucceededLoad[ OS_SHARED_FONT_MAX ]; BOOL g_isSucceededLoad[ OS_SHARED_FONT_CN_KR_MAX ];
const char *str_fontname[ OS_SHARED_FONT_CN_KR_MAX ] = {
"SHARE_FONT_WW_L",
"SHARE_FONT_WW_M",
"SHARE_FONT_WW_S",
"SHARE_FONT_CN_L",
"SHARE_FONT_CN_M",
"SHARE_FONT_CN_S",
"SHARE_FONT_KR_L",
"SHARE_FONT_KR_M",
"SHARE_FONT_KR_S",
};
// static variable------------------------------------------------------------- // static variable-------------------------------------------------------------
static u64 s_fontLoadThreadStack[THREAD_STACK_SIZE / sizeof(u64)]; static u64 s_fontLoadThreadStack[THREAD_STACK_SIZE / sizeof(u64)];
static OSThread s_fontLoadThread; static OSThread s_fontLoadThread;
static OSTick s_fontLoadStartTick; static OSTick s_fontLoadStartTick;
static u8 *s_pFontBuffer[ OS_SHARED_FONT_MAX ]; // 読み込みはテストなのでロード先はstatic変数にしている。 static u8 *s_pFontBuffer[ OS_SHARED_FONT_CN_KR_MAX ]; // 読み込みはテストなのでロード先はstatic変数にしている。
static BOOL s_isStarted = FALSE; static BOOL s_isStarted = FALSE;
// const data------------------------------------------------------------------ // const data------------------------------------------------------------------
@ -90,10 +102,10 @@ void LoadSharedFontThread( void *arg )
BOOL retval = TRUE; BOOL retval = TRUE;
OSSharedFontIndex i; OSSharedFontIndex i;
for( i = OS_SHARED_FONT_WW_L; i < OS_SHARED_FONT_MAX; i++ ) { for( i = OS_SHARED_FONT_WW_L; i < OS_SHARED_FONT_CN_KR_MAX; i++ ) {
int size; int size;
OS_TPrintf( "%s read.\n", OS_GetSharedFontName( i ) ); OS_TPrintf( "%s read.\n", str_fontname[ i ] );
size = OS_GetSharedFontSize( i ); size = OS_GetSharedFontSize( i );
if( size < 0 ) { if( size < 0 ) {

View File

@ -27,7 +27,8 @@ extern "C" {
// define data------------------------------------------------------- // define data-------------------------------------------------------
// global variables-------------------------------------------------- // global variables--------------------------------------------------
extern BOOL g_isSucceededLoad[ OS_SHARED_FONT_MAX ]; extern BOOL g_isSucceededLoad[ OS_SHARED_FONT_CN_KR_MAX ];
extern const char *str_fontname[ OS_SHARED_FONT_CN_KR_MAX ];
// function---------------------------------------------------------- // function----------------------------------------------------------
BOOL LoadSharedFontInit( void ); BOOL LoadSharedFontInit( void );

View File

@ -81,11 +81,11 @@ void NitroMain(void)
DEMOFillRect(0, 0, GX_LCD_SIZE_X, GX_LCD_SIZE_Y, DEMO_RGB_CLEAR); DEMOFillRect(0, 0, GX_LCD_SIZE_X, GX_LCD_SIZE_Y, DEMO_RGB_CLEAR);
DEMOSetBitmapTextColor(GX_RGBA(0, 31, 0, 1)); DEMOSetBitmapTextColor(GX_RGBA(0, 31, 0, 1));
DEMOSetBitmapTextColor(GX_RGBA(31, 31, 31, 1)); DEMOSetBitmapTextColor(GX_RGBA(31, 31, 31, 1));
DEMODrawFrame(ox, oy, 240, 10 + OS_SHARED_FONT_MAX * 10, GX_RGBA( 0, 31, 0, 1)); DEMODrawFrame(ox, oy, 240, 10 + OS_SHARED_FONT_CN_KR_MAX * 10, GX_RGBA( 0, 31, 0, 1));
for (i = 0; i < OS_SHARED_FONT_MAX; ++i) for (i = 0; i < OS_SHARED_FONT_CN_KR_MAX; ++i)
{ {
DEMODrawText(ox + 10, oy + 5 + i * 10, "%s load %s", DEMODrawText(ox + 10, oy + 5 + i * 10, "%s load %s",
OS_GetSharedFontName( (OSSharedFontIndex)i ), g_isSucceededLoad[ i ] ? "suceeded" : "failed"); str_fontname[ i ], g_isSucceededLoad[ i ] ? "suceeded" : "failed");
} }
} }
DEMO_DrawFlip(); DEMO_DrawFlip();

View File

@ -11,6 +11,7 @@
# Header ( 32 bytes) # Header ( 32 bytes)
# TimeStamp ( 4 bytes) : date %y%m%d%H # TimeStamp ( 4 bytes) : date %y%m%d%H
# number ( 2 bytes) : number of font files # number ( 2 bytes) : number of font files
# region_code ( 1 bytes) : font region code
# padding ( 6 bytes) : # padding ( 6 bytes) :
# padding ( 20 bytes) : SHA1 digest of Font info table # padding ( 20 bytes) : SHA1 digest of Font info table
# #
@ -28,8 +29,8 @@
use POSIX 'strftime'; use POSIX 'strftime';
use File::Basename; use File::Basename;
if ($#ARGV < 2) { if ($#ARGV < 3) {
printf STDOUT ("Usage: %s [genFontTable] timestamp [Target font files...]\n", $0); printf STDOUT ("Usage: %s [genFontTable] timestamp region_code [Target font files...]\n", $0);
exit(-1); exit(-1);
} }
@ -70,6 +71,7 @@ my @files;
my $num = 0; my $num = 0;
foreach ( @ARGV ) { foreach ( @ARGV ) {
next if( $_ eq $ARGV[0] ); next if( $_ eq $ARGV[0] );
next if( $_ eq $ARGV[1] );
$files[ $num ] = $_; $files[ $num ] = $_;
$num++; $num++;
} }
@ -160,7 +162,7 @@ foreach ( @ARGV ) {
{ {
# timestampLen = 0x08; # timestampLen = 0x08;
# elementNumLen = 0x02; # elementNumLen = 0x02;
my $padLen = 0x06; my $padLen = 0x05;
my $sha1Len = 0x14; my $sha1Len = 0x14;
open HEADER, ">$headerFile" or die; open HEADER, ">$headerFile" or die;
@ -169,12 +171,16 @@ foreach ( @ARGV ) {
# タイムスタンプの出力 # タイムスタンプの出力
# my $timestamp = strftime "%y%m%d%H", localtime; # my $timestamp = strftime "%y%m%d%H", localtime;
my $timestamp = $ARGV[ 0 ]; my $timestamp = $ARGV[ 0 ];
my $region_code = $ARGV[ 1 ];
printf "timestamp = %s\n", $timestamp; printf "timestamp = %s\n", $timestamp;
syswrite( HEADER, pack( "N", unpack( "L", pack( "H8", $timestamp ) ) ) ); syswrite( HEADER, pack( "N", unpack( "L", pack( "H8", $timestamp ) ) ) );
# 要素数の出力 # 要素数の出力
syswrite( HEADER, pack( "S", $num ) ); syswrite( HEADER, pack( "S", $num ) );
# リージョンコードの出力
syswrite( HEADER, pack( "C", $region_code ) );
# パディングの出力 # パディングの出力
syswrite( HEADER, pack( "x$padLen") ); syswrite( HEADER, pack( "x$padLen") );