FontForge:免费字库设计软件 附使用教程
引用:http://www.sucaijishi.com/2018/articles_0817/259.html
如何设计一套自己的字库?今天分享一个开源的字库设计软件FontForge,
官方下载:http://fontforge.github.io/en-US/

选择语言
此语言非软件操作界面的语言而单纯是安装界面的语言,软件本身不提供中文选项但是有日语,无所谓什么语言,跟着下面步骤点击"ok"按钮继续,如下图所示

安装过程
同意XXxxxxxxx之类的


选择安装位置


创建桌面快捷图标勾选上

点击安装


安装完成


英文界面修改成中文
FontForge 汉化教程:http://www.sucaijishi.com/2018/articles_0815/258.html

接下来打开软件,立马变亲切有木有
了解字体文件
不知道是什么原因,只能显示上图所示几个文件夹,不过没关系也可以用,只是把文件存桌面而已,我们打开一个我们熟悉的字体文件看看.(后经实践证明在下面输入框中直接输入盘符+冒号可直接访问该盘符,例如:(d:)试试吧)


确定(如果该字形有多种粗细)会弹窗让你选要打开哪种,可能会有警告窗口弹窗直接无视,打开后的中文界面

我们先看一下字体信息,菜单“基础”-“字体信息”
主要看两项信息,其余的大家自行摸索;
在“PS字体名称”一栏中,我们可以看到字体名称(我们自己设计的字体就是在这里命名的),
在“TTF名称”一栏中我们可以看到,字体版权信息(大方正很威武)在我们自己设计的字体文件中可自行填写;


回到主界面,双击界面中字符,弹出的窗口是单个字符的编辑窗口,是不是很熟悉的路径,我们其实在这个软件里面就可以创建,挪动,调整,删除节点等操作,设计字符需要在这个窗口中保存退出,其他功能有兴趣的同学可自行摸索,


关于编码
设计字体文件涉及到使用哪种字符编码来做,为什么有ANSI编码,扩展ANSI编码,GB2312编码,GBK和GB18030编码这么多各种各样的形式呢,因为每个对应的编码方式对应的对象不同,我大天朝常用字就分好多个不同的大陆:常用字2,500字;台湾:常用字4,808字;香港:常用字4,759字;加上什么繁体字,蒙文,其他国家的文字这些种种,总之是因为字符数量不同造成不同的编码方式;一个叫 ISO (国际标谁化组织)的国际组织解决了这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和符号的编码!他们打算叫它 UCS, 俗称 UNICODE 。( Universal Multiple-Octet Coded Character Set )什么意思呢,就是说不用纠结于用什么编码了,
直接用ISO-10646-1(统一码,基础页)

关于字体文件制作
据了解,1994年出版的《中华字海》收入了87019个汉字,其中2500个常用字、1000个次常用字,总共只有3500字是我们的常用字,微软雅黑这种字体属于正文字体共收录了20902个字符,如果你想做一套正文字体,那可能需要做到这个数,如果是做一套常用汉字字库,那最起码要做到3500个常用字,类似这种字库有造字工房,门主的庞门正道标题体等等。那哪些字符是要设计的呢,其实我们常用到的都是要设计的,中文英文26个大小写字母、数字和各种常用符号。
对于矢量软件熟悉的同学可以直接用AI等软件将制作好的对应的单个字符存成SVG格式后导入到字符编辑窗口中(建议以字符编辑窗口中的尺寸为基础在AI软件中设计,这样的话就只需要摆放好位置就行了,不用在调整大小之类的操作了,因为FontForge里面的这些调节操作很繁琐不方便)需要注意的是软件默认单个字符宽度高度是800x1000,这个比例就是你要最终字体的比例,如果你想设计一个矮粗的,或者瘦长的字形,需要所有字符都统一修改宽度,将界面中字符都选中(可选中一个后Ctrl+A)可以使用“尺寸”菜单下的“设置宽度”命令修改,在弹出后的对话框中输入数字即可。

生成方法(1)
通过新建文件
可以看到界面中有各种各样对应的字符,打开是空白的,我们设计一套中文字体也应该包括英文字符和对应的标点符号等,数字从“0”开始,英文字符从“A”开始,中文字符从“一”开始,我们在软件“查看”菜单中使用“转到”命令,定位到相关字符处,总之你认识的都要设计一遍。

生成方法(2)
上面方法说到,每个我们认识的都要设计,我们常用字就3500个,我怎么去分辨具体哪些要做呢?
第二种方法就是通过修改已有字体文件,上面说到了,已有的字库并非全部都是正文字库成千万上个字符,很多个人或者小公司做的字库都是常用字库三五千,五六千字,前辈们已经帮我们筛选了哪些字符要做。我们跟着把字符替换就可以了,此处要注意的是,切勿将所有字符修改完全,要不然你做的字体中某些字你没修改还是沿用了原来的样子,会出现你的字体出现了其他字体的字符样式,之所以我们有时候用了某种字体但是有些字符字体是宋体或者是一个空白框就是因为这些字符没有重新设计而使用了宋体字来代替或者代替字也没有。按照方法1当中的字符定位按部就班一个一个替换就行了。
导出字体文件
字体设计完成保存后需要执行“文件”-“生成字体”命令讲字体导出成TrueType(.ttf) 或 OpenType (.otf)格式的字体,点击“Generate”生成字体文件,有弹窗选是,也可根据自身需要选择生成其他格式。需要注意的是,如果使用第二种方法修改已有字库的方式来设计的话记得在字体信息中修改字体名称和版权信息。

好了,以上是FontForge的一些简单操作和用法,如果觉得文章不错可以分享给身边的朋友。在使用过程中发现其他方法,欢迎分享。
FontForge:免费字库设计软件 附使用教程的更多相关文章
- CODESOFT条码设计软件如何隐藏数据源方法
作为强大的条码标签设计软件,用户在用CODESOFT设计条码标签时,有时需要根据实际情况,将条码数据源隐藏,也就是使设计与打印出来的条形码下不带有数据.那么这要怎么在CODESOFT中实现呢?下面,小 ...
- 20款精致的长阴影 LOGO 设计【附免费生成工具】
长阴影(Long Shadow)概念来自于最新非常流行的扁平化设计(Flat Design).扁平化设计趋势影响最大的是用户界面元素和图标,但它也开始蔓延到其他网页设计的其他部分. 长阴影其实就是扩展 ...
- 免费的ER 设计软件调研
目标: 找到一个免费的ER 设计软件, 适合数据仓库项目开发. 结果: 经初步调研, Oracle的 SQL Developer Data Modeler基本满足需求. 但在功能和操作性等方面, 较P ...
- 收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材等。
AndroidDevTools Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.An ...
- 分享20个最新的免费 UI 设计素材给设计师
用户界面设计涉及到很多的创意,灵感以及需要与客户进行有效沟通的技能.良好的用户界面是一致的,可以使网站更容易理解和使用.UI设计的重点在于用户体验和互动,同时易于使用对于一个成功的移动应用程序来说非常 ...
- 20个免费的 AngularJS 资源和开发教程
曾经,jQuery 无疑是最受欢迎的开源的 JavaScript 库,如今它有了很多的竞争对手,像 AngularJS.React.KnockoutJS 等等.在这里,我想重点关注一下 Angular ...
- 创想三维:5款最好用的免费3D建模软件【转】
虽然网上有需要现成的免费三维模型,但对于许多人而言,3D打印机最吸引他们之处是可以设计创造完全属于自己的模型.问题是,现代专业级CAD软件大多价格高昂,例如Solidworks或Zbrush这样的程序 ...
- MyHome3D在线装修设计软件测评
人人都是设计师 ——MyHome3D在线装修设计软件 关键词:云技术,3D呈现效果,自主设计,简单易用,家具装修设计 上海爱福窝云技术有限公司借助于前沿的3D渲染技术,降低了装修设计的门槛,真正实现了 ...
- 【Navicat】Navicat for MongoDBv15.0.6破解版(附破解教程)
安装包下载链接:https://download.csdn.net/download/l1028386804/12519681 Navicat for MongoDB 15是一款功能十分强大的数据库管 ...
随机推荐
- Window权限维持(十):Netsh Helper DLL
Netsh是Windows实用程序,管理员可以使用它来执行与系统的网络配置有关的任务,并在基于主机的Windows防火墙上进行修改.可以通过使用DLL文件来扩展Netsh功能.此功能使红队可以使用此工 ...
- c# 如何获取当前方法的调用堆栈
c# 调试程序时常常需要借助 call stack 查看调用堆栈,实际上通过code也可以获取: class Program { static void Main(string[] args) { T ...
- python爬取豆瓣视频信息代码
目录 一:代码 二:结果如下(部分例子) 这里是爬取豆瓣视频信息,用pyquery库(jquery的python库). 一:代码 from urllib.request import quote ...
- 高精度gcd
#include<iostream> #include<cstdio> #include<cstring> #define inf 1000000000 using ...
- 小鸟初学Shell编程(五)输入输出重定向
重定向作用 一个进程默认会打开标准输入.标准输出.错误输出三个文件描述符. 重定向可以让我们的程序的标准输出.错误输出的信息重定向文件里,那么这里还可以将文件的内容代替键盘作为一种标准输入的方式. 重 ...
- 2.原生js实现图片懒加载
网上查了很多图片懒加载的内容, 但基本上都是jQuery实现的, 没有说清楚其原理, 所以研究了一下 多的不说, 上代码, 看不明白的建议看下我的上一篇文章<1. 图解浏览器和用户设备的宽高等属 ...
- ubuntu下编译android jni到so库的mk文件配置
项目根目录下的Android.mk文件 LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional L ...
- 【AI测试】也许这有你想知道的人工智能 (AI) 测试--开篇
人工智能测试 什么是人工智能,人工智能是怎么测试的.可能是大家一开始最想了解的. 大家看图中关于人工智能的定义.通俗点来说呢,就是 让机器实现原来只有人类才能完成的任务:比如看懂照片,听懂说话,思考等 ...
- 020.Dockerfile
docker-cli读取Dockerfile,根据指令生成定制的docker镜像. Dockerfile的指令根据作用可以分为两种,构建指令和设置指令. 构建指令:用于构建image,其指定的操作不会 ...
- [20190507]sga_target=0注意修改_kghdsidx_count设置.txt
[20190507]sga_target=0注意修改_kghdsidx_count设置.txt --//昨天遇到一例视图定义太复杂导致长时间分析sql语句出现library cache lock等待事 ...