improve build scripts

This commit is contained in:
lixianjing 2024-02-21 17:46:12 +08:00
parent ae59dbbff2
commit cc59835037
4 changed files with 24 additions and 8 deletions

View File

@ -1,5 +1,8 @@
# 最新动态
2024/02/21
* 资源配置新增STORAGE_DIR属性用于生成位图字体资源时可通过在该属性指定的目录下获取原始字体和保留字符等文件(感谢培煌提供补丁)
2024/02/20
* 修复拼写错误(感谢兆坤提供补丁)
* 修复android编译警告。

View File

@ -78,6 +78,7 @@ class res_config:
inc_res = True
inc_bitmap = True
inc_bitmap_font = True
storage_dir = None
def __init__(self) :
self.assets = res_multidict();
@ -167,13 +168,13 @@ class res_config:
def get_res_fonts_key(self, theme_name) :
if self.has_themes() :
return self.assets[theme_name]['fonts'].keys()
return self.assets['themes'][theme_name]['fonts'].keys()
return list()
def get_res_font_size_key(self, theme_name, font_name) :
key = []
if self.has_themes() :
for name in self.assets[theme_name]['fonts'][font_name].keys() :
for name in self.assets['themes'][theme_name]['fonts'][font_name].keys() :
if name != 'text' or name != 'bpp' :
key.append(name)
return key
@ -328,3 +329,7 @@ class res_config:
def get_inc_bitmap_font(self) :
return self.inc_bitmap_font
def get_storage_dir(self):
return self.storage_dir

View File

@ -77,9 +77,9 @@ def use_theme_config_from_res_config(res_config_path, config = None):
font_name = common.to_file_system_coding(font_name)
font_size = common.to_file_system_coding(font_size)
filename = common.join_path(config_dir, font_name+'_'+font_size+'.txt')
common.write_file(filename, content.get_res_font_value(theme_name, font_name, font_size))
common.write_file(filename, content.get_res_font_value(theme_name, font_name, font_size, ''))
theme = {'name': theme_name, 'imagegen_options': imagegen_options, 'packaged': content.get_res_packaged(theme_name)}
theme = {'name': theme_name, 'imagegen_options': imagegen_options, 'packaged': content.get_res_packaged(theme_name), 'storage_dir': content.get_storage_dir()}
if theme_name == 'default':
THEMES.insert(0, theme)
else:

View File

@ -34,6 +34,7 @@ IS_GENERATE_RAW = True
IS_GENERATE_INC_RES = True
IS_GENERATE_INC_BITMAP = True
ASSETS_SUBNAME = '__assets_'
STORAGE_DIR = None
###########################
@ -158,6 +159,7 @@ def set_current_theme(index):
global IMAGEGEN_OPTIONS
global INPUT_DIR
global OUTPUT_DIR
global STORAGE_DIR
if index >= len(THEMES):
return
@ -174,6 +176,8 @@ def set_current_theme(index):
IMAGEGEN_OPTIONS = theme['imagegen_options']
if 'packaged' in theme:
THEME_PACKAGED = theme['packaged']
if 'storage_dir' in theme:
STORAGE_DIR = theme['storage_dir']
INPUT_DIR = join_path(ASSETS_ROOT, THEME+'/raw')
if not os.path.exists(INPUT_DIR):
@ -613,6 +617,9 @@ def gen_res_all_xml():
def gen_res_bitmap_font(input_dir, font_options, theme):
if STORAGE_DIR:
input_dir = join_path(STORAGE_DIR, theme)
if not os.path.exists(join_path(input_dir, 'fonts/config')):
return
@ -621,12 +628,13 @@ def gen_res_bitmap_font(input_dir, font_options, theme):
fontname = os.path.basename(filename)
index = fontname.rfind('_')
if index > 0:
raw = os.path.dirname(os.path.dirname(filename)) + '/origin/' + fontname[0 : index] + '.ttf'
raw = join_path(input_dir, 'fonts') + '/origin/' + fontname[0: index] + '.ttf'
if not os.path.exists(raw):
raw = os.path.dirname(os.path.dirname(filename)) + '/' + fontname[0 : index] + '.ttf'
raw = os.path.dirname(os.path.dirname(filename)) + '/' + fontname[0: index] + '.ttf'
if os.path.exists(raw):
size = fontname[index + 1 : len(fontname)]
inc = join_path(OUTPUT_DIR, 'inc/fonts/' + fontname[0 : index] + '_' + str(size) + '.data')
if size.isdigit():
inc = join_path(OUTPUT_DIR, 'inc/fonts/' + fontname[0: index] + '_' + str(size) + '.data')
fontgen(raw, f, inc, size, font_options, theme)