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
|
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 =====
|
||||||
|
|||||||
@ -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
|
||||||
|
|
||||||
|
|||||||
@ -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 ) {
|
||||||
|
|||||||
@ -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 );
|
||||||
|
|||||||
@ -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();
|
||||||
|
|||||||
@ -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") );
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user