Skip to content

方舟像素字体 - 开源的泛中日韩像素字体 / Ark pixel font - Open source Pan-CJK pixel font

License

Notifications You must be signed in to change notification settings

yanboishere/ark-pixel-font

 
 

Repository files navigation

banner

方舟像素字体 / Ark Pixel Font

SIL Open Font License 1.1 MIT License Releases Discord QQ Group

开源的泛中日韩像素字体。支持 10、12 和 16 像素。目标是为游戏开发提供一套可用于正文的开箱即用的像素字体解决方案。

这个项目不仅提供了全部的字形源文件,也提供了构建字体所需要的完整程序。

🚧 开发状态 🚧

本字体目前还处于早期开发阶段,所有尺寸仍然缺少大量汉字。目前进度:

尺寸 西文字母 汉字 日语假名 谚文音节 各种符号
10px 覆盖基础拉丁、西里尔、希腊与科普特 偶尔施工,目前极少 完成 未开始 覆盖常用
12px 覆盖基础拉丁、西里尔、希腊与科普特 施工中,目前整体 9000 字左右 完成 未开始 覆盖常用
16px 覆盖基础拉丁、西里尔、希腊与科普特 未开始,目前极少 完成 未开始 覆盖常用

其中 12 像素为主要开发目标。10、16 像素为实验性质。

目前正在努力实现 12 像素在 GB2312 字符集下的可用性。

在整个字体可用前,我们有一个临时性的过渡方案可用于生产环境,请查看 缝合怪像素字体 项目。

预览

可以通过 Playground 实时预览字体效果。

10 像素

preview-10px.png

示例文本

等宽模式-字母表

比例模式-字母表

12 像素

preview-12px.png

示例文本

等宽模式-字母表

比例模式-字母表

16 像素

preview-16px.png

示例文本

等宽模式-字母表

比例模式-字母表

字符统计

可以通过下面的链接来查看字体各尺寸目前支持的字符情况。

尺寸 等宽模式 比例模式
10px font-info-10px-monospaced font-info-10px-proportional
12px font-info-12px-monospaced font-info-12px-proportional
16px font-info-16px-monospaced font-info-16px-proportional

尺寸

目前支持 10、12 和 16 三个像素尺寸。

字体的 UPMUnits Per Em,每个字面框包含的单位数)按照像素尺寸的 100 倍来转化,即:1 px = 100 units

字体各尺寸的 UPM 值如下:

尺寸 UPM
10px 1000
12px 1200
16px 1600

在渲染时,请将文本尺寸设置为对应字体的像素尺寸或其整数倍,以保证栅格化时能够精确地进行像素转化。

宽度模式

目前支持「等宽」和「比例」两种模式。

「等宽」模式

字符为全宽或半宽,排版时可严格对其。字形完全处于字面框内部,默认行高等于字体的像素尺寸。

但基线位置略微偏高,中西文混排时西文在视觉上重心偏高,美观性略差。

「比例」模式

字符宽度根据字形实际情况变化,基线处于合适的位置。纵向上字形可能会超出字面框,默认行高大于字体的像素尺寸。

该模式排版观感自然,如无特殊需求,你应该优先选择这个模式。

字体各尺寸的默认行高如下:

尺寸 行高
10px 16px
12px 18px
16px 24px

语言特定字形

不同国家或地区,由于规范或书写习惯不同,同一个字符,字形可能存在差别。这种情况大部分为汉字,少量为标点符号。

目前支持以下语言特定字形版本:

版本 含义 说明
latin 拉丁语 在非中日韩环境下使用,标点符号采用西文习惯写法。
zh_cn 中文-中国大陆 字形采用中国大陆地区标准规范 《通用规范汉字表》 中的写法。
zh_hk 中文-香港特别行政区 字形采用香港地区教育规范 《常用字字形表》 中的写法。
zh_tw 中文-台湾地区 字形采用台湾地区教育规范 《国字标准字体》 中的写法。
zh_tr 中文-传统印刷 字形采用 传统印刷体 写法,符合香港和台湾地区传统使用习惯。
ja 日语 字形采用日本参考规范 《常用汉字表》 中的写法。
ko 朝鲜语

由于字符数量巨大,绘制过程中难免出现错误。如果发现任何有关字形的问题,请在 Issues 中报告。

下载和使用

可在 Releases 下载最新的版本。

目前提供三种字体格式:

格式 使用场景
.otf 新一代主流字体格式,可以直接用于操作系统、设计软件或游戏引擎。推荐优先使用这个格式。
.ttf .otf 出现之前的主流字体格式,一定程度上可以被 .otf 取代。如果你的软件不支持 .otf 格式,请使用这个格式。
.woff2 压缩后的 .otf 格式,体积更小,适用于网络传输,但并非所有软件都支持。如果你需要通过网页在线引用字体,请优先使用这个格式。

macOS - Homebrew

如果您使用 macOS 系统,也可以通过 Homebrew 来安装本字体。

通过下面的命令来添加下载源:

brew tap homebrew/cask-fonts

然后根据需要安装对应的字体:

  • 等宽模式
brew install font-ark-pixel-10px-monospaced
brew install font-ark-pixel-12px-monospaced
brew install font-ark-pixel-16px-monospaced
  • 比例模式
brew install font-ark-pixel-10px-proportional
brew install font-ark-pixel-12px-proportional
brew install font-ark-pixel-16px-proportional

详细信息请查看 homebrew-cask-fonts 的主页。

开发流程

本字体使用程序进行构建。

字形源文件是 PNG 格式的图片,它们位于 assets/glyphs 目录下,按照 16 进制 Unicode 编号来命名。

程序读取这些图片,根据透明度值进行二值化,转化为二维点阵数据。然后生成轮廓数据,绘制字形并生成字体文件。

本地构建

计算机中需要安装 Python3virtualenv 环境。

打开终端,通过 git 命令克隆项目:

git clone https://github.com/TakWolf/ark-pixel-font.git

进入项目文件夹,并创建虚拟环境:

cd ark-pixel-font
virtualenv venv
source ./venv/bin/activate

安装所需依赖:

python -m pip install -r requirements.txt

执行构建脚本:

python ./build.py

等待执行完毕后,可在 build/outputs 目录下找到生成的字体文件。

参与改进

任何有关字体和程序上的建议,都欢迎创建 Issues 来反馈,也可以通过 Discussions 来讨论。

此外,我们有一个 Discord 频道 和一个 QQ 群

授权信息

本项目包含「字体」和「构建程序」两个部分。

字体

使用 SIL 开放字体许可证 第1.1版(SIL Open Font License 1.1) 授权,保留字体名称「方舟像素 / Ark Pixel」。

构建程序

使用 MIT 许可证 授权。

程序依赖

外部工具

参考资料

赞助

如果「方舟像素字体」对您有帮助,请考虑赞助来支持开发工作。

赞助时请留下您的称呼,该信息将会被添加到赞助商列表中。

可以通过下面的链接来查看收到的赞助的具体情况:

赞助详情

About

方舟像素字体 - 开源的泛中日韩像素字体 / Ark pixel font - Open source Pan-CJK pixel font

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 65.4%
  • HTML 34.6%