diff --git a/build/systemMenu_RED/sharedFont/CN/TBF1_cn_l.NFTR b/build/systemMenu_RED/sharedFont/CN/TBF1_cn_l.NFTR new file mode 100644 index 00000000..50d6ae70 Binary files /dev/null and b/build/systemMenu_RED/sharedFont/CN/TBF1_cn_l.NFTR differ diff --git a/build/systemMenu_RED/sharedFont/CN/TBF1_cn_m.NFTR b/build/systemMenu_RED/sharedFont/CN/TBF1_cn_m.NFTR new file mode 100644 index 00000000..7bb80135 Binary files /dev/null and b/build/systemMenu_RED/sharedFont/CN/TBF1_cn_m.NFTR differ diff --git a/build/systemMenu_RED/sharedFont/CN/TBF1_cn_s.NFTR b/build/systemMenu_RED/sharedFont/CN/TBF1_cn_s.NFTR new file mode 100644 index 00000000..da447959 Binary files /dev/null and b/build/systemMenu_RED/sharedFont/CN/TBF1_cn_s.NFTR differ diff --git a/build/systemMenu_RED/sharedFont/KR/TBF1_kr_l.NFTR b/build/systemMenu_RED/sharedFont/KR/TBF1_kr_l.NFTR new file mode 100644 index 00000000..b10d81ac Binary files /dev/null and b/build/systemMenu_RED/sharedFont/KR/TBF1_kr_l.NFTR differ diff --git a/build/systemMenu_RED/sharedFont/KR/TBF1_kr_m.NFTR b/build/systemMenu_RED/sharedFont/KR/TBF1_kr_m.NFTR new file mode 100644 index 00000000..43cc9fb0 Binary files /dev/null and b/build/systemMenu_RED/sharedFont/KR/TBF1_kr_m.NFTR differ diff --git a/build/systemMenu_RED/sharedFont/KR/TBF1_kr_s.NFTR b/build/systemMenu_RED/sharedFont/KR/TBF1_kr_s.NFTR new file mode 100644 index 00000000..6f78cd6d Binary files /dev/null and b/build/systemMenu_RED/sharedFont/KR/TBF1_kr_s.NFTR differ diff --git a/build/systemMenu_RED/sharedFont/Makefile b/build/systemMenu_RED/sharedFont/Makefile index edfe408a..be82cc2e 100644 --- a/build/systemMenu_RED/sharedFont/Makefile +++ b/build/systemMenu_RED/sharedFont/Makefile @@ -22,19 +22,54 @@ SUBDIRS = include $(TWL_IPL_RED_ROOT)/build/buildtools/commondefs +# WW,CN,KRから選択 +FONT_REGION = WW +FONT_DIR = $(FONT_REGION) + +ifeq ($(FONT_REGION),WW) FONT_TIMESTAMP = 08073100 -FONT_DIR = WW -FONTS = TBF1_l.NFTR \ - TBF1_m.NFTR \ - TBF1_s.NFTR -FONT_RSC = $(addprefix $(FONT_DIR)/, $(FONTS)) +FONT_REGION_CODE = 0 +FONTS = $(FONT_DIR)/TBF1_l.NFTR \ + $(FONT_DIR)/TBF1_m.NFTR \ + $(FONT_DIR)/TBF1_s.NFTR +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_RSC = $(addprefix $(FONT_ORG_DIR)/, $(FONTS)) ifneq ($(TWL_IPL_RED_PRIVATE_ROOT),) FONT_TABLE = TWLFontTable.dat -FONT_TABLE_WITH_TIMESTAMP = TWLFontTable_$(FONT_TIMESTAMP).dat +FONT_TABLE_WITH_TIMESTAMP = TWLFontTable_$(FONT_REGION)_$(FONT_TIMESTAMP).dat endif 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) # compress sharedFonts and them in local directory -$(FONT_TABLE): $(FONT_RSC) $(GEN_FONT_TABLE) - $(GEN_FONT_TABLE) $(FONT_TIMESTAMP) $(FONT_RSC) +$(FONT_TABLE): $(FONT_RSC) $(GEN_FONT_TABLE) ./Makefile + $(GEN_FONT_TABLE) $(FONT_TIMESTAMP) $(FONT_REGION_CODE) $(FONT_RSC) $(FONT_TABLE_WITH_TIMESTAMP): $(FONT_TABLE) cp $< $@ + +NULL: + #===== End of Makefile ===== diff --git a/build/tests/CheckSharedFont/Makefile b/build/tests/CheckSharedFont/Makefile index 1513319c..2087d1e2 100644 --- a/build/tests/CheckSharedFont/Makefile +++ b/build/tests/CheckSharedFont/Makefile @@ -26,7 +26,7 @@ TARGET_BIN = main.srl 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 diff --git a/build/tests/CheckSharedFont/src/loadSharedFont.c b/build/tests/CheckSharedFont/src/loadSharedFont.c index a7e145ed..04f9fe7e 100644 --- a/build/tests/CheckSharedFont/src/loadSharedFont.c +++ b/build/tests/CheckSharedFont/src/loadSharedFont.c @@ -27,13 +27,25 @@ // function's prototype------------------------------------------------------- // 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 u64 s_fontLoadThreadStack[THREAD_STACK_SIZE / sizeof(u64)]; static OSThread s_fontLoadThread; 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; // const data------------------------------------------------------------------ @@ -90,10 +102,10 @@ void LoadSharedFontThread( void *arg ) BOOL retval = TRUE; 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; - OS_TPrintf( "%s read.\n", OS_GetSharedFontName( i ) ); + OS_TPrintf( "%s read.\n", str_fontname[ i ] ); size = OS_GetSharedFontSize( i ); if( size < 0 ) { diff --git a/build/tests/CheckSharedFont/src/loadSharedFont.h b/build/tests/CheckSharedFont/src/loadSharedFont.h index 67c563ed..ffac83a1 100644 --- a/build/tests/CheckSharedFont/src/loadSharedFont.h +++ b/build/tests/CheckSharedFont/src/loadSharedFont.h @@ -27,7 +27,8 @@ extern "C" { // define data------------------------------------------------------- // 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---------------------------------------------------------- BOOL LoadSharedFontInit( void ); diff --git a/build/tests/CheckSharedFont/src/main.c b/build/tests/CheckSharedFont/src/main.c index 6258a752..4c76ad62 100644 --- a/build/tests/CheckSharedFont/src/main.c +++ b/build/tests/CheckSharedFont/src/main.c @@ -81,11 +81,11 @@ void NitroMain(void) DEMOFillRect(0, 0, GX_LCD_SIZE_X, GX_LCD_SIZE_Y, DEMO_RGB_CLEAR); DEMOSetBitmapTextColor(GX_RGBA(0, 31, 0, 1)); DEMOSetBitmapTextColor(GX_RGBA(31, 31, 31, 1)); - DEMODrawFrame(ox, oy, 240, 10 + OS_SHARED_FONT_MAX * 10, GX_RGBA( 0, 31, 0, 1)); - for (i = 0; i < OS_SHARED_FONT_MAX; ++i) + 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_CN_KR_MAX; ++i) { 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(); diff --git a/tools/bin/genFontTable.plx b/tools/bin/genFontTable.plx index 7a28fbe3..ff715208 100644 --- a/tools/bin/genFontTable.plx +++ b/tools/bin/genFontTable.plx @@ -11,6 +11,7 @@ # Header ( 32 bytes) # TimeStamp ( 4 bytes) : date %y%m%d%H # number ( 2 bytes) : number of font files +# region_code ( 1 bytes) : font region code # padding ( 6 bytes) : # padding ( 20 bytes) : SHA1 digest of Font info table # @@ -28,8 +29,8 @@ use POSIX 'strftime'; use File::Basename; -if ($#ARGV < 2) { - printf STDOUT ("Usage: %s [genFontTable] timestamp [Target font files...]\n", $0); +if ($#ARGV < 3) { + printf STDOUT ("Usage: %s [genFontTable] timestamp region_code [Target font files...]\n", $0); exit(-1); } @@ -70,6 +71,7 @@ my @files; my $num = 0; foreach ( @ARGV ) { next if( $_ eq $ARGV[0] ); + next if( $_ eq $ARGV[1] ); $files[ $num ] = $_; $num++; } @@ -160,7 +162,7 @@ foreach ( @ARGV ) { { # timestampLen = 0x08; # elementNumLen = 0x02; - my $padLen = 0x06; + my $padLen = 0x05; my $sha1Len = 0x14; open HEADER, ">$headerFile" or die; @@ -169,12 +171,16 @@ foreach ( @ARGV ) { # タイムスタンプの出力 # my $timestamp = strftime "%y%m%d%H", localtime; my $timestamp = $ARGV[ 0 ]; + my $region_code = $ARGV[ 1 ]; printf "timestamp = %s\n", $timestamp; syswrite( HEADER, pack( "N", unpack( "L", pack( "H8", $timestamp ) ) ) ); # 要素数の出力 syswrite( HEADER, pack( "S", $num ) ); - + + # リージョンコードの出力 + syswrite( HEADER, pack( "C", $region_code ) ); + # パディングの出力 syswrite( HEADER, pack( "x$padLen") );