mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
・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:
parent
98942da9b9
commit
26b75eb3f8
BIN
build/systemMenu_RED/sharedFont/CN/TBF1_cn_l.NFTR
Normal file
BIN
build/systemMenu_RED/sharedFont/CN/TBF1_cn_l.NFTR
Normal file
Binary file not shown.
BIN
build/systemMenu_RED/sharedFont/CN/TBF1_cn_m.NFTR
Normal file
BIN
build/systemMenu_RED/sharedFont/CN/TBF1_cn_m.NFTR
Normal file
Binary file not shown.
BIN
build/systemMenu_RED/sharedFont/CN/TBF1_cn_s.NFTR
Normal file
BIN
build/systemMenu_RED/sharedFont/CN/TBF1_cn_s.NFTR
Normal file
Binary file not shown.
BIN
build/systemMenu_RED/sharedFont/KR/TBF1_kr_l.NFTR
Normal file
BIN
build/systemMenu_RED/sharedFont/KR/TBF1_kr_l.NFTR
Normal file
Binary file not shown.
BIN
build/systemMenu_RED/sharedFont/KR/TBF1_kr_m.NFTR
Normal file
BIN
build/systemMenu_RED/sharedFont/KR/TBF1_kr_m.NFTR
Normal file
Binary file not shown.
BIN
build/systemMenu_RED/sharedFont/KR/TBF1_kr_s.NFTR
Normal file
BIN
build/systemMenu_RED/sharedFont/KR/TBF1_kr_s.NFTR
Normal file
Binary file not shown.
@ -22,19 +22,54 @@ SUBDIRS =
|
||||
|
||||
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_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 =====
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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 ) {
|
||||
|
||||
@ -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 );
|
||||
|
||||
@ -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();
|
||||
|
||||
@ -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") );
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user