跳转至

命令行工具

本项目提供了名为unipie的命令行工具,用于在终端中处理Unifont相关任务。

安装unifont_utils后,unipie会自动加入系统路径以供调用。

帮助

  • 全局帮助:unipie --help
  • 查看子命令帮助(示例):unipie edit file --help

交互式编辑

edit file

在现有.hex文件中编辑指定码位。

  • 主要参数:
  • -p, --font_path/--path:输入的.hex文件路径,必填。
  • -c, --code_point/--cp:目标码位(如4E00),必填。
  • -o, --output:输出文件路径,若提供则忽略--overwrite。默认为<原文件名>_edited.hex
  • --overwrite/--no-overwrite:未指定--output时是否覆盖原文件,默认为--no-overwrite

示例:

unipie edit file -p unifont.hex -c 4E00 --overwrite

edit str

编辑单个.hex字形字符串。

  • 主要参数:
  • -c, --code_point/--cp:目标码位,必填。
  • -s, --str/--hex_str/--hex:待编辑的.hex字符串,必填。

示例:

unipie edit str -c 4E01 -s 00007FFC01000100010001000100010001000100010001000100010005000200

edit empty

为指定码位创建空白字形并进入编辑,默认宽度16。

  • 主要参数:
  • -c, --code_point/--cp:目标码位,必填。
  • -w, --width:字形宽度,默认为16。

示例:

unipie edit empty -c 4E02

操作.hex文件

hex add

.hex文件新增码位。

  • 主要参数:
  • -p, --font_path/--path:输入的.hex文件路径,必填。
  • -c, --code_point/--cp:目标码位,必填。
  • -s, --hex_str/--hex:要写入的.hex字符串,必填。
  • -o, --output:输出文件路径,若提供则忽略--overwrite。默认为<原文件名>_edited.hex
  • --overwrite/--no-overwrite:未指定--output时是否覆盖原文件,默认为--no-overwrite

示例:

unipie hex add -p unifont.hex -c 4E01 -s 00007FFC01000100010001000100010001000100010001000100010005000200

hex replace

替换已有码位的字形数据。

  • 主要参数:
  • -p, --font_path/--path:输入的.hex文件路径,必填。
  • -c, --code_point/--cp:目标码位,必填。
  • -s, --hex_str/--hex:新的.hex字符串,必填。
  • -o, --output:输出文件路径,若提供则忽略--overwrite。默认为<原文件名>_edited.hex
  • --overwrite/--no-overwrite:未指定--output时是否覆盖原文件,默认为--no-overwrite

示例:

unipie hex replace -p unifont.hex -c 4E01 -s 00007FFC01000100010001000100010001000100010001000100010005000200

hex delete

删除指定码位。

  • 主要参数:
  • -p, --font_path/--path:输入的.hex文件路径,必填。
  • -c, --code_point/--cp:目标码位,必填。
  • -o, --output:输出文件路径,若提供则忽略--overwrite。默认为<原文件名>_edited.hex
  • --overwrite/--no-overwrite:未指定--output时是否覆盖原文件,默认为--no-overwrite

示例:

unipie hex delete -p unifont.hex -c 4E01 --overwrite

hex view

在终端渲染指定码位字形。

  • 主要参数:
  • -p, --font_path/--path:输入.hex文件路径,必填。
  • -c, --code_point/--cp:目标码位,必填。

示例:

unipie hex view -p unifont.hex -c 4E01

hex query

仅输出指定码位的.hex字符串,可静默模式。

  • 主要参数:
  • -p, --font_path/--path:输入.hex文件路径,必填。
  • -c, --code_point/--cp:目标码位,必填。
  • --pure/--verbose:是否静默输出(仅打印结果字符串),默认为--verbose(即输出加载信息)。

示例:

unipie hex query -p unifont.hex -c 4E01 --pure

转换

convert single hex2img

将单个.hex字符串导出为图片。

  • 主要参数:
  • -s, --str/--hex_str/--hex:源.hex字符串,必填。
  • -o, --output:输出图片路径,必填。
  • -f, --img_format/--format:输出图片格式,默认PNG
  • -c, --color_scheme:配色方案,默认为black_and_white

示例:

unipie convert single hex2img -s 00007FFC01000100010001000100010001000100010001000100010005000200 -o glyph.png -f PNG -c black_and_white

convert single img2hex

从包含单个字形的图片生成.hex字符串,支持自动检测或手动指定配色方案。

  • 主要参数:
  • -p, --img_path/--path:输入图片路径,必填。
  • -a, --auto_detect/--auto:是否自动检测配色方案,默认不启用。
  • -c, --color_scheme:手动指定配色方案,为空则自动检测配色方案。

示例:

unipie convert single img2hex -p glyph.png -a

convert page hex2img

将整页(256个码位)的.hex数据导出为图片,适用于批量编辑。支持PNG、BMP、JPEG等格式。

  • 主要参数:
  • -p, --font_path/--path:输入.hex文件路径,必填。
  • -g, --page:要导出的页号(十六进制,如0083),必填。
  • -o, --output:输出图片路径,必填。
  • -f, --img_format/--format:输出图片格式,默认根据文件后缀推断。
  • -c, --color_scheme:配色方案,默认为black_and_white

示例:

unipie convert page hex2img -p unifont.hex -g 83 -o u83.png

convert page img2hex

从整页图片生成.hex文件,可指定页号和配色方案,支持自动检测或手动指定配色方案。

  • 主要参数:
  • -p, --img_path/--path:输入页图片路径,必填。
  • -g, --page:图片对应的页号(十六进制,如0083),必填。
  • -o, --output:输出.hex路径,必填。
  • --auto_detect/--no-auto_detect:是否自动检测配色方案,默认启用。
  • -c, --color_scheme:关闭自动检测时需指定的配色方案。

示例:

unipie convert page img2hex -p u83.png -g 83 -o u83.hex

下载

download

下载并解压官方发行的GNU Unifont .hex文件。

  • 主要参数:
  • -v, --version:Unifont版本(>=7.x),为空则下载最新版本。
  • -t, --variant:发行变体,默认为unifont_all,可选项:
    • unifont
    • unifont_all
    • unifont_jp
    • unifont_jp_sample
    • unifont_sample
    • unifont_upper
    • unifont_upper_sample
  • -o, --output:输出.hex路径,未指定则使用<variant>-<version>.hex
  • -f, --force:输出时覆盖已存在的同名文件。
  • --timeout:下载超时时间(秒),默认为30。

示例:

unipie download -v 16.0.04 -t unifont_jp -f

其他

info

显示Unipie版本信息。