Files
ws2/utils/convert_assets.sh
2026-01-31 17:34:38 +08:00

61 lines
2.2 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# -*- coding: utf-8 -*-
# switch to local path
cd "$(dirname "$0")" || exit 1
TIME_TEXT='0123456789: .-'
CN_TEXT='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~'
CN_TEXT="${CN_TEXT} '℃,。()"
CN_TEXT="${CN_TEXT}0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
SRC_DIR=./assets
DST_DIR=../src/rom/fonts
README="$DST_DIR/README.md"
# 中文黑体源字体
CN_OTF_FONT="$SRC_DIR/fonts/STHeiti.ttc"
# 英文时间源字体
TIME_OTF_FONT="$SRC_DIR/fonts/BloodWaxItalic.otf"
# 追加中文常用汉字列表
CN_TEXT="${CN_TEXT}$(< $SRC_DIR/cn-words.txt)"
echo "# 字体文件说明" > "$README"
echo "" >>"$README"
echo "1. en0.rfont/en1.rfont 英文字体" >> "$README"
echo "> 顺序排列,相等大小、可快速定位" >> "$README"
echo "" >>"$README"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/vga1_8x16.py" "$DST_DIR/en0.rfont"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/vga1_16x32.py" "$DST_DIR/en1.rfont"
echo "2. en.hfont 矢量英文字体" >> "$README"
echo "> 顺序排列,带索引表,只画线无背景色,可自由缩放,显示速度快" >> "$README"
echo "" >>"$README"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/romand.py" "$DST_DIR/en.hfont"
echo "3. cn.bfont 中文字体" >> "$README"
echo "> 有字符MAP表二叉树查找" >> "$README"
echo "" >>"$README"
SORTED_TEXT=$(python3 -c "text = '''$CN_TEXT''';sorted_unique = ''.join(sorted(set(text), key=lambda c: ord(c)));print(sorted_unique, end='')")
python3 font2bitmap.py -s "$SORTED_TEXT" "$CN_OTF_FONT" 20 > "$SRC_DIR/pyfont/cn.py"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/cn.py" "$DST_DIR/cn.bfont"
echo "4. time.bfont 时间字体" >> "$README"
echo "> 有字符MAP表二叉树查找" >> "$README"
echo "" >>"$README"
SORTED_TEXT=$(python3 -c "text = '''$TIME_TEXT''';sorted_unique = ''.join(sorted(set(text), key=lambda c: ord(c)));print(sorted_unique, end='')")
python3 font2bitmap.py -s "$SORTED_TEXT" "$TIME_OTF_FONT" 48 > "$SRC_DIR/pyfont/time.py"
python3 pyfont_to_bin.py "$SRC_DIR/pyfont/time.py" "$DST_DIR/time.bfont"
# 开始转换图片文件
SRC_DIR=./assets/images
DST_DIR=../src/rom/images
# 透明色转换成黑色背景质量95%
python3 png_to_jpg.py -d "$SRC_DIR/" --color black --quality 100
mv -v "$SRC_DIR"/*.jpg "$DST_DIR/"