FontForge 跨平台字体编辑器FontForge 是一款跨平台的开源字体编辑工具,支持在 Windows、Mac OS X和GNU+Linux系统上进行免费的字体编辑,支持创建、编辑和转换多种格式的字体,支持OpenType、TrueType、UFO、CID-keyed、Multiple Master等格式。
• FontForge 官网:fontforge.org
• FontForge 字体创建手册:designwithfontforge.com
若使用Ubuntu,执行以下命令即可下载所有依赖项:
sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev libfreetype-dev libgif-dev libgtk-3-dev libxml2-dev libpango1.0-dev libcairo2-dev libspiro-dev libwoff-dev python3-dev ninja-build cmake build-essential gettext;
依赖项安装完成后,运行构建和安装脚本:
cd fontforge
mkdir build
cd build
cmake -GNinja ..
ninja
sudo ninja install
macOS下缺失的包可通过Homebrew安装,示例命令如下:
brew install cmake glib pango gtk+3
若使用Homebrew时提示找不到msgfmt,执行以下命令:
brew install gettext
brew link gettext
如果需要对字符图像进行自动描边,还需下载以下任意一个工具:
• Peter Selinger开发的potrace
• Martin Weber开发的autotrace程序
若系统带有包管理器,建议使用包管理器安装库文件,这样操作更方便。大部分库文件并非FontForge编译或运行的必需项,缺少这些库文件时,FontForge不会调用它们。但如果编译FontForge可执行文件的机器原本就没有这些库文件,那么不仅要安装库文件,还需重新从源码构建FontForge。若你的机器没有这些库文件且需要使用,可通过以下途径获取:
1、图像库:用于支持FontForge导入各类图像格式(通常作为自动描边的背景图),包括libpng(及所需的辅助库zlib)、libtiff、libungif、libjpeg。
2、libxml2:用于解析SVG文件和字体。
3、libspiro:包含Raph Levien开发的从滑线到贝塞尔曲线的转换程序。安装该库后,FontForge支持使用滑线(spiro)进行编辑。
4、libiconv:仅对没有内置iconv()的系统重要。缺少该库时,FontForge会自带一个简化版库保证运行,但如果需要使用完整的libiconv,必须在配置时加上--enable-extra-encodings参数,因为FontForge需要Shift-JIS编码支持。
5、freetype:用于优化位图光栅化效果,并启用TrueType调试器。FontForge的部分命令需要编译freetype时启用字节码解释器。过去因苹果公司相关专利限制,该功能默认关闭,如今专利已过期,无需再担心此问题。但如果使用的是旧版本库,需在构建库之前,在*.../include/freetype/config/ftoption.h*中设置相应宏(可参考freetype发行版顶层目录下的README.UNX文件)。要启用TrueType调试器,构建FontForge时需确保能访问freetype源码目录(FontForge依赖该目录下的部分头文件)。
6、libintl:多数类Unix系统默认自带该库,macOS下可通过fink包安装,主要用于处理界面国际化。
7、libpython:编译FontForge时若存在该库,用户能在FontForge中执行Python脚本,也可配置FontForge使其一键导入Python(即FontForge既支持扩展Python,也支持嵌入Python)。
8、libX:通常FontForge依赖X11窗口系统,但如果仅需脚本引擎(无需图形界面),也可在无X11的系统上构建(配置脚本会自动检测并适配)。
9、libcairo:负责在轮廓字形视图中绘制抗锯齿曲线,依赖libfontconfig、libXft及其他可能的库。
10、libpango:用于绘制复杂脚本文本,依赖glib-2.0、libfontconfig、libfreetype、libXft及其他可能的库。
11、Unifont:包含所有Unicode码点的字形,安装后FontForge会自动调用。
AI学术写作助手:学术论文润色和语言优化工具
Gemini对话与提示管理扩展工具 Gemini Voyager
AI驱动的股票研究平台 Multi-Agent Investment Research Platform
AI驱动的加密货币自动化交易系统 open-nof1.ai
基于Next.js、AI SDK和Workflow DevKit构建的线索鉴定与人工审核代理工具 Lead Agent
XiaomiMiMo/MiMo-Audio-7B-Instruct模型微调工具MiMo-Audio-Training
基于DeepSeek-OCR模型的文档解析工具 DeepSeek-OCR Studio
AI-Trader:让多个AI模型在纳斯达克100股票市场中进行完全自主的零人工干预的竞争性交易
辅助软件开发任务和终端操作的命令行代理工具 Kimi CLI
AI 编码代理工具 deer-code,帮助开发者学习和构建智能的编码助手