qpf字库制作
- 格式:doc
- 大小:119.50 KB
- 文档页数:5
自己制作字体字库
一直喜欢书法,经常会因为练习书法,要做些古代名家书法的集字字帖,但就是每次都要花费很多时间从名家书法帖中寻找有关的字,通过拍照、PHOTOSHOP编辑等才能做一张字帖,非常费时间与功夫,最近突发奇想,决心自己做一个Fonts字体字库,以便以后在WORD等文档中打字输入文字后,可以通过字体选择自动生成,这样制作集字字帖就会特别的轻松了。
于就是便开始工作,做了才知道工作量就是出乎想象的大,因为一个字体库至少要六、七千个常用字,每个字都需要从名家字帖上通过拍照,然后PHOTOSHOP处理成单字的图片。
另外因为很多字可能在一个字帖里会反复使用很多次,按照书法的规矩,每次都不能重复一样的写法,要有变化,于就是需要通过TRUE TYPE专用造字制作一些新造字(如图1),如下列表所示的新造字。
接下来在输入字体图片前,还要将每个待输入的字的UNICODE编码列出来,以便在使用FontCreator程序输入字体图片时,通过UNICODE编码搜索字的位置,以便输入字体图片(如图2、3)。
(图1:造新字程序)
(图2:做字体字库程序定位字体位置)
(图3:做字体字库程序插入字体图片,然后转换成矢量字体)
由于字体数量很大,只能每天晚上空闲时输入一部分,积少成多逐步完成这个大工程,下面就是已经完成的部分字体显现的书法集字帖。
这就是我最喜欢的明朝王铎的字集。
希望与喜欢书法的朋友一同分享。
白日依山尽
落花有情流水无情
苏东坡,水调歌头,明月几时有。
如何自制字库1、FCP(Font Creator Programme)最早接触到的工具。
直接编辑、保存.ttf格式。
优点:使用方便,最容易上手。
破解版本、汉化版本极多,推荐“汉化新世纪”汉化破解的4.0。
自动生成点阵字。
缺点:对内存的优化做得不够,且标尺过于简单。
无点阵字编辑能力。
2、FontLab其次接触到。
不直接保存为.ttf,先保存为.vfb,修改完毕后再生成.ttf。
优点:直观,内存优化完善。
破解版本无,但有正版注册机及注册码流传网上。
缺点:4.6版本只支持BMP内字符。
BMP外字符将被视作错误。
不自动生成点阵字、无点阵字编辑能力,有时修改带点阵的字体会引起混乱(点阵字和矢量字不一一对应)。
只能保存6400个字符(Demo只保存前20个字符)。
5.0版本支持Plane0-Plane16所有字符(当然包括ExtB,以及未来的ExtC)。
不自动生成点阵字、无点阵字编辑能力,有时修改带点阵的字体会引起混乱(点阵字和矢量字不一一对应)。
只能保存6401个字符。
3、AFS(Asiafont Studio)再次接触到。
和Fontlab同一公司。
不直接保存为.ttf,先保存为.vfb,修改完毕后再生成.ttf。
优点:正式版支援全部Unicode,并超出6400字的限制。
缺点:迄今为止打死也找不到正式版。
(Ici破解的ASF3.0根本是假的,表面上看破解了,其实还是只能保存20个字符。
4.0根本找不到破解。
)4、UW-FontMaker可以从DEMO Asiansuite 97中获得。
附赠工具,无使用限制。
优点:占用内存小,操作方便。
可以编辑点阵字。
缺点:对矢量部分根本没有“编辑”的概念,只不过是从别的字体里copy然后paste。
如果对字体进行编辑,矢量部分就会按点阵部分描边,效果惨不忍睹。
5、FontforgeWindows下需要运行在CYGWIN虚拟平台。
不直接保存为.ttf,先保存为.sfd,修改完毕后再生成.ttf。
字库制作方法和步骤嘿,朋友们!今天咱就来聊聊字库制作这档子事儿。
你可别小瞧这字库制作,就好像盖房子,一砖一瓦都得精心挑选和堆砌呢!首先,咱得有个明确的目标,就跟咱出门得知道往哪儿走一样。
是要做个超级酷炫的艺术字库呢,还是来个实用接地气的常规字库。
接下来,就得收集素材啦!这就好比厨师准备食材,得啥都来点。
把各种各样的字体样本都搜罗起来,一个都不能少。
然后仔细琢磨每个字的特点,它的形态啦,结构啦,就像观察一个人的性格一样。
然后呢,进入到设计阶段啦!这可是最有意思的部分。
你得发挥你的想象力和创造力,把那些普通的字变得与众不同。
给它们加点小装饰,变个小造型,让它们一下子就活起来了。
这就好像给一个人穿上漂亮的衣服,瞬间就不一样了呢!再之后,就是技术活啦!要把设计好的字一个一个地转化成数字格式,这可需要点耐心和技巧哦。
就像拼图一样,得把每一块都放对地方。
在制作过程中,可不能马马虎虎呀!每个字都得精雕细琢,不能有一点瑕疵。
这就跟打磨宝石似的,得把它磨得亮晶晶的。
而且还得注意字与字之间的协调性,不能有的好看得要命,有的却丑得不行,那可不行!字库制作可不是一天两天就能完成的事儿,这得花费好多时间和精力呢。
有时候可能会遇到难题,就像路上遇到了大石头挡道。
但咱可不能退缩呀,得想法子把它搬走或者绕过去。
等字库终于制作完成啦,那种成就感,哎呀,真的没法形容!就好像自己创造了一个小世界一样。
这时候你再回头看看自己走过的路,付出的那些努力,都值啦!所以啊,朋友们,字库制作虽然不简单,但只要咱有耐心,有创意,肯下功夫,就一定能做出让自己骄傲的字库来。
还等什么呢,赶紧行动起来吧!让我们一起在字库里创造属于我们自己的精彩!。
TTF文件的制作——打造属于自己的字体自从老徐的个人字库推出后,也有人开始在网上推出为所有人制作个人字库的服务,花费也相当不菲,要5000元。
当然你也挺累,需要将GB_2312所规定的6763个汉字全部写出来。
制作个人字库的基本流程是这样的:制作字库的过程有以下几步:A,作为字库的原型的位图创作。
您需要将GB_2312所规定的6763个汉字全部写出来,如果您用钢笔或者毛笔在纸张上完成的话,就需要一个从纸张上的墨线图转换为位图的过程。
B,这个过程现在可以比较方便地用扫描仪来完成。
C,将图稿扫进计算机之后,需要将每一个字都拆分开来(如果您不是一张纸一个字的话),为完成字库作好准备。
最后,D,用相应的软件,将每一个字的图像再一次地扫进字库并安装到相应的内码位置上。
当您将全部的汉字都扫进字库文件之后,如果不求更精的话,字库就算完成了,就可以使用了。
网站提供的有偿辅助字库制作要帮助客户完成最为麻烦的部分。
但哪一部分最麻烦呢?首先,字当然是全部都要由您自己完成的。
现在扫描仪的价钱已经很低了,花上几百元就可以买一个不错的。
如果图像扫描这部分的工作由自己来完成的话,工程设备成本是很低的,主要是人工费。
第三步,由图像转为TTF(即TrueType字库)文件。
一般来讲,这一步是最麻烦的,因为不仅是再次的扫描工作,还有全部扫描输入完毕之后的字体协调、相关的英文字母、数字、标点符号等等的配置。
等这些工作完成之后,字库就制作完成了。
这一部分的工作如果由您自己做的话,那您就真正会制作字库了。
以上文字是修改自提供字库制作服务的网站的,大家可以大概了解整个流程了。
平时我们常见的字体格式主要有以下几种:1.光栅字体(.FON):这种字体是针对特定的显示分辨率以不同大小存储的位图,用于Windows系统中屏幕上的菜单、按钮等处文字的显示。
它并不是以矢量描述的,放大以后会出现锯齿,只适合屏幕描述。
不过它的显示速度非常快,所以作为系统字体而在Windows中使用。
按键精灵 字库制作的原理
按键精灵的字库制作原理,是通过OCR(Optical Character Recognition,光学字符识别)技术实现的。
OCR技术可以将图片中的字符、数字等信息转换成计算机可以识别的文本格式,从而实现对图片中文字的自动识别和提取。
按键精灵的字库制作流程大致如下:
1. 收集训练样本:收集大量的训练样本,包括各种字体、字号、颜色、背景等不同情况下的字符图片。
2. 预处理:对训练样本进行预处理,包括图像二值化、去噪处理、字符分割等操作,提高识别准确率。
3. 特征提取:从预处理后的图片中提取特征,例如字符的边缘、角度、形状等信息,用于后续的字符识别。
4. 训练模型:使用机器学习算法,根据前面提取的特征和对应的标签,训练出一个OCR模型,用于识别新的字符图片。
5. 字库生成:使用训练好的OCR模型,对大量的字符图片进行识别和提取,生成对应的字符集和字库文件,供按键精灵使用。
按键精灵的字库制作是通过OCR技术实现的,需要大量的训练样本和机器学习算法的支持,才能达到较高的识别准确率和稳定性。
字库制作详细教程很多时候,我们会用到字库,平时用到字库一般是把用到的汉字用取模软件按照自己的取模方式得到汉字的编码数组,然后把这些编码放在单片机的Flash里,用时调用出来显示。
但是如果我们要用到很多的汉字时,这种方法就不可取了,占用太多的Flash空间,然后我们会想到把字库放在SD卡或者是U盘里,用到时再从存储介质里读出来,这样,我们就可以显示很多汉字。
下面是字库的制作方法,首先感谢一个人,就是本坛的章其波大虾,其实就是他的一个贴子里的方法,只是他那个太专业了,一般的人看得不是很懂,所以我把它整理成了这个图文并茂的,方便各大网友,也是方便自己查看。
1、首先,好比起房子,得有源材料,用到以下3个文件:(1 取点阵Mold.exe(2 ziku.txt(3 ziku.exe取点阵Mold.exe是“牧马字模0.84测试版”取模软件ziku.txt是按顺序写有8178个汉字和字符的txt文档ziku.exe是一个小程序,配合“牧马字模0.84测试版”生成bin文件2、打开“牧马字模0.84测试版”取模软件,其界面如下所示:3、在工具栏处点“打开”按钮,打开ziku.txt文件,然后根据自己的需要,设置想要的取模方式,然后点工具栏上的“输出”按钮并等待其完成,完成后会在取模软件所在路径生成了一个temp.txt文件,修改这个文件名,比如现在我是按照“宋体、点阵数为16、字重为4、取模为为16*16、对齐设置为左上、方向设置为横向取模,高位在左”的方式来取的字模,也就是我平时TFT常用的一种字模,改文件名为st16x16.txt 。
4、为了生成的方便,我们在D盘根目录下新建一个文件夹,名称就叫ziku吧,然后,把ziku.exe 和st16x16.txt复制一份到这个文件夹里。
5、打开命令窗口:“开始”->“运行”->“cmd”,如下图所示:然后用cd命令进入到我们刚刚建的ziku文件夹下,输入命令如下图所示:6、输入命令,生成字库文件,输入命令如下图所示:为什么输入这样的命令,如果大家对main函数参数argc和argv有所了解的话,即int main(int argc, char* argv[] 这一主函数,这是很容易理解的,第一个参数是命令行输入参数的个数,第二个参数则存储了所有的命令行参数,前面我们已经用cd命令进入到了ziku文件夹下,接着我们输入了两个参数:ziku.exe st16x16.txt则,argc的值是2,argv[0]是" ziku.exe ",argv[1]是" st16x16.txt "。
字库设计流程字库设计流程是指设计和制作字库的一系列工作步骤和流程。
字库是存储和管理字形信息的数据库,是文字显示和处理的基础,广泛应用于电子设备、印刷出版、广告设计等领域。
下面将详细介绍字库设计的流程和步骤。
一、需求分析阶段在字库设计的开始阶段,首先需要进行需求分析,明确设计字库的用途和目标用户群体。
根据不同的需求确定字库的字形数量、字体样式、字号大小等要素,以及是否需要支持特殊字符、多种文字编码等功能。
二、字形设计阶段字形设计是字库设计的核心环节,需要根据需求和设计要求,设计每个字的形状和结构。
字形设计师可以参考传统的书法字体或现代的设计风格,创作出符合美学和实用要求的字形。
在设计过程中,还需要注意字形的整体一致性和字形间的平衡性,以确保字库的整体美观和可读性。
三、字形扫描和数字化阶段在字形设计完成后,需要进行字形扫描和数字化处理。
字形扫描是将手绘的字形转换为数字图像的过程,可以使用专业的扫描设备和软件工具进行操作。
然后,通过字形数字化工具,将扫描得到的字形图像转换为矢量格式,并进行后期的编辑和调整,以保证字形的准确性和规范性。
四、字形编码和命名阶段在字形数字化完成后,需要为每个字形分配唯一的字形编码和命名。
字形编码是指将每个字形与对应的字符编码进行关联,以便于后续的文字处理和显示。
常用的字形编码方案包括Unicode编码和国标码等。
同时,还需要为每个字形命名,以便用户能够方便地查找和使用字形。
五、字库生成和测试阶段在字形编码和命名完成后,可以进行字库的生成和测试。
字库的生成是将所有字形和相关信息整合为一个统一的数据库文件的过程,可以使用专业的字库生成工具进行操作。
生成后的字库需要进行测试,包括字形的显示和排版效果、字形间的兼容性和衔接性等方面的测试。
通过测试,可以发现和修复字库中的错误和问题。
六、字库优化和完善阶段字库生成和测试完成后,可以对字库进行优化和完善。
优化主要包括字库文件的压缩和优化,以减小字库文件的大小和提高字库的加载速度。
字库设计过程介绍字库的制作是按一定规则进行,一套完整的字库在面市前也要经过多个流程才能完成。
特别是中文字库,更是复杂繁琐,每个笔划及细节都得仔细处理。
正因这些原因,目前中文字库只有少数几家有实力的公司才能推出,为了让大家了解字库设计,下面就我们一起来看看电脑字库的制作过程吧:1.字稿到目前为止,绝大部分的电脑字库都是源自于设计字稿。
所谓字稿,是指由专业字体设计师依自行创意的汉字风格、笔形特点和结构特点,在不小于1英寸的正方格子内(可使用浅蓝色坐标格),书写或描绘的清晰、光滑、视觉效果良好的汉字字形设计稿。
全部字稿必须采用统一的风格及笔形规范进行处理,达到制作电脑字库制作要求。
一般而言,字库厂商购买字稿的费用约占开发该字体总成本的1/4-1/3。
2.扫描字稿是写在纸上的,所以要进行扫描输入进电脑。
因为是黑白的,所以不需要太高级的设备,普通平板Scanner就可以了。
这是一项很细致的工作,要求套框取字一丝不差,而且要根据不同尺寸和清晰度的字稿灵活地调整扫描分辨率和其它相关参数,以达到不失真反映出原字稿的全貌。
经过计算后,把字稿通过扫描仪扫成高精度点阵字库,同时给出其字库编码,以便进行下一步工作。
3.数字化拟合这一步是利用专门的程序进行纯粹的数学计算,即根据字体的不同风格,按照一定的数学算法,自动地将扫描后的点阵图形抽成尽可能接近原稿的数字化信息(曲线轮廓)。
通过参数控制可以调整轮廓点、线、角度和位置,这在字形复杂、风格差异大的中文字体制作中显得非常重要,如果调整得很准确得话,可以大幅度提高修字工作的效率。
4.修字尽管采用计算机来拟合的效率很高,但就像电脑无法取代所有人脑的工作一样,它只能完成最初步的工作,而且无论是字的质量、还是结构,特别是原字稿中所内含的鲜明的、人格化的韵味都是无法表现出来的,只有靠人工修字才能做到。
修字首先是一项工作量十分浩大的系统工程,简体字库有六、七千多字,繁体字库一万四千字,GBK字库则两万余字。
字库生成程序使用方法MakeFontLibV34.exe可用来生成SCL2008/SuperComm播放文本文件或直接输出文字所需要的字库文件。
1. 运行该程序2. 生成英文字库2.1 在Width和Height中输入英文文字大小(一般英文字符占半个汉字位置)2.2 如果显示屏要旋转90度使用,则选中Rotate 90 d2.3 点ASCII按钮弹出字体对话框,选择所需的字体,注意字体大小应与2.1中输入的大小一致,否则程序会自动缩放到2.1中输入的大小2.4 点确定后显示你所选择的字体信息,若正确则点Accept按钮弹出另存为对话框,选择或输入文件名点保存生成英文字库文件2.5 程序在窗口的最下方编辑框里输出字库定义字符串,须添加到CONFIG.LY文件中3. 生成中文字库3.1 在Width和Height中输入中文文字大小3.2 在1st Byte和2nd Byte处选择文字编码的起始位置:GB2312简体字编码,在1st Byte处选A0H,在2nd Byte处选A0H;Big5繁体字编码,在1st Byte处选80H,在2nd Byte处选40H。
其它编码请查阅其编码表3.3 点Local Languange按钮弹出字体对话框,选择所需的字体,注意字体大小应与2.1中输入的大小一致,否则程序会自动缩放到2.1中输入的大小3.4 点确定后显示你所选择的字体信息,若正确则点Accept按钮弹出另存为对话框,选择或输入文件名点保存生成中文字库文件3.5 程序在窗口的最下方编辑框里输出字库定义字符串,须添加到CONFIG.LY文件中4. 加载字库到控制卡4.1 修改CONFIG.LY文件,将生成字库后最下方编辑框里输出的文字添加到CONFIG.LY文件中。
并根据实际字库数量修改FontCount 的值4.2 将CONFIG.LY文件和所生成的字库上传到控制卡上即可。
中英文字库制作流程
1. 收集文字素材,首先需要收集中英文的文字素材,包括汉字、英文字母、标点符号等。
这些素材可以来自已有的文字资料、网络
上的文本资源或者专门的语料库。
2. 文字预处理,对收集到的文字素材进行预处理,包括去除特
殊符号、转换大小写、统一格式等操作,以便后续的处理和分析。
3. 分词处理,针对中文文字,需要进行分词处理,将连续的汉
字序列切分成有意义的词语。
这通常需要借助中文分词工具或者自
然语言处理技术来实现。
4. 文字编码,将处理后的文字素材进行编码,以便计算机能够
识别和处理。
对于中文,常用的编码方式包括 Unicode、GBK、UTF-
8 等;对于英文,通常使用 ASCII 或者 Unicode 编码。
5. 构建字库,根据收集到的文字素材和编码规范,构建中英文
字库,包括建立字典、索引、词频统计等数据结构,以便后续的检
索和应用。
6. 质量检验,对构建好的字库进行质量检验,包括检查字符完
整性、编码准确性、词语覆盖范围等,确保字库的完整性和准确性。
7. 应用与更新,将构建好的中英文字库应用到实际的系统中,
比如搜索引擎、输入法、自然语言处理系统等,同时需要定期更新
字库,以适应新的语言变化和需求。
字体库制作的方法和流程利用现有程序进行字库制作如果你是专业字体设计师,那么你一定有过制作一套属于自己的全新的中文字库之梦。
但是,毕竟中文字库属大字符集(当然是或大于6763个字符的字库),个人想徒手直接设计一整套中文字体谈何容易!其繁复程度足以使任何人却步。
但是,当今世界上图形图像程序软件已经如此发达,难道没有什么办法利用现在已有的通用软件,将复杂的工作简化,使设计师自己可以独立完成这一艰巨的工作的吗?本文就时装字体的设计经验,介绍一种相对简单的方法,帮你完成的心愿。
这种方法的意义在于能够使得字体设计工作化繁为简。
大前提:如果你仅仅是为了设计新字样或仅只几个字,那么研读本文对你没多大帮助。
本文并不介绍新字样的设计。
本文是帮你在已产生了字体设计的设想之后,如何利用已有资源、不花费太大力气地将整个字库(6763汉字或更多,如欲英文、数字、标点一起处理的话,包括进来即可)制作出来。
因此,你必须会使用图形处理的通用软件,这包括:PhotoShop、Illustrator、CorelDRAW(考虑到字库制作的特殊性,应当以矢量软件为主)。
什么程度算是“会使用”?本文是在介绍字库设计方法,不是软件教学,所以,软件使用方法点到为止。
如果不能看明白,说明你还不会熟练使用,即请自行加强研究。
这样做的主要目的是为了在尽量短的文字里多介绍具体方法的关键之处。
关于硬件要求。
说起来似乎可笑:介绍软件应用的文章,说什么硬件要求?!尽管如此,还是想说说:CPU当然越快越好,硬盘也是越快越大越好。
硬盘设定提醒:最好把Windows 的临时文档和应用图形图像软件的临时文档不要放到同一分区上,找一个空(没有存放任何文件)的分区更好,另放一张空的物理硬盘最好。
如有条件,专门软件可做一个内存虚拟的硬盘,把那些需要倒来倒去的文件放在上面,速度会快不少。
关键是内存一定要大。
会使用PS的人都知道,如果图大,内存又不很充足的话,PS的某些特效是不能使用的。
字体库制作的方法和流程利用现有程序进行字库制作如果你是专业字体设计师,那么你一定有过制作一套属于自己的全新的中文字库之梦。
但是,毕竟中文字库属大字符集(当然是或大于6763个字符的字库),个人想徒手直接设计一整套中文字体谈何容易!其繁复程度足以使任何人却步。
但是,当今世界上图形图像程序软件已经如此发达,难道没有什么办法利用现在已有的通用软件,将复杂的工作简化,使设计师自己可以独立完成这一艰巨的工作的吗?本文就时装字体的设计经验,介绍一种相对简单的方法,帮你完成的心愿.这种方法的意义在于能够使得字体设计工作化繁为简。
大前提:如果你仅仅是为了设计新字样或仅只几个字,那么研读本文对你没多大帮助。
本文并不介绍新字样的设计。
本文是帮你在已产生了字体设计的设想之后,如何利用已有资源、不花费太大力气地将整个字库(6763汉字或更多,如欲英文、数字、标点一起处理的话,包括进来即可)制作出来。
因此,你必须会使用图形处理的通用软件,这包括:PhotoShop、Illustrator、CorelDRAW(考虑到字库制作的特殊性,应当以矢量软件为主)。
什么程度算是“会使用”?本文是在介绍字库设计方法,不是软件教学,所以,软件使用方法点到为止。
如果不能看明白,说明你还不会熟练使用,即请自行加强研究.这样做的主要目的是为了在尽量短的文字里多介绍具体方法的关键之处。
关于硬件要求.说起来似乎可笑:介绍软件应用的文章,说什么硬件要求?!尽管如此,还是想说说:CPU当然越快越好,硬盘也是越快越大越好。
硬盘设定提醒:最好把Windows 的临时文档和应用图形图像软件的临时文档不要放到同一分区上,找一个空(没有存放任何文件)的分区更好,另放一张空的物理硬盘最好。
如有条件,专门软件可做一个内存虚拟的硬盘,把那些需要倒来倒去的文件放在上面,速度会快不少。
关键是内存一定要大。
会使用PS的人都知道,如果图大,内存又不很充足的话,PS的某些特效是不能使用的。
QT中QPF字库的制作与旋转字体的实现一、前言Qt可以支持以下四种形态的字体格式:TrueType (TTF),PostscriptType(PFA/PFB),Bitmap Distribution Format fonts(BDF),Qt PrerenderedFont(QPF)。
如果直接使用TTF或PFA/PFB。
即让应用程序在显示的时候再计算点阵,最终的效果并不理想,会发现有些字大,有些字小,而且需要占用非常多的FLASH和内存,速度也有点慢,如果直接使用BDF,速度非常慢,而且需要占用比较多的FLASH和内存;使用QPF,速度和占用其它资源是最小的,因此我们的嵌入式产品中的QT软件都是采用QPF格式的。
另一方面,嵌入式应用中,QT界面在LCD中可能是采用旋转的形式显示,如7寸屏,而QT中旋转显示时,需要旋转字体库的支持,否则将无法正常显示文字。
所以针对旋转的应用需要利用makeqpf制作旋转的字体库。
二、字库制作1)环境准备需要安装好QT2及以上版本编译好两个工具:qvfb,makeqpf这两个工具都在$QTDIR/tools下,编译即可2)准备ttf字库文件可以在自己的windows系统下发现ttf后缀的文件此处作者采用网上下载的wqy-zenhei.ttf字库文件将所要的文件拷贝到你的linux系统的$(QTDIR)/lib/fonts目录下3)修改fontdir文件cd $(QTDIR)/lib/fonts打开fontdir,加入如下信息:wenquanyi wqy-zenhei.ttf FT n 75 160 uwenquanyi wqy-zenhei.ttf FT n 50 160 uwenquanyi wqy-zenhei.ttf FT n 50 180 uwenquanyi wqy-zenhei.ttf FT n 75 180 u这些信息的含义如下:name1:任意名wqy-zenhei.ttf文件名FT:表示是ttf文件n : y表示是斜体,n表示正常50:表示是正常,75表示是粗体160:表示是16点大小的字体,可根据需要修改u:表示是unicode的4)字库生成首先,执行qvfb,然后执行makeqpf.你会在qvfb的显示窗内看到fontdir中每一行的信息。
嵌入式Qt支持ttf字库,并显示中文引言最近在做QT项目发现中文没法显示,于是百度QT嵌入式显示中文,基本上提示的都是把ttf字库转换为QPF(QT专门支持二进制的),发现这个qpf本身制作就很麻烦,按照网上的做法实实在在来了一边,发现编译一个qvfb都好麻烦了,还有makeqpf程序。
qvfb 属于x86用于给QT提供程序提供fb环境的。
makeqpf不能直接在系统上面跑,必须依赖于系统fb才能运行。
发现编译qvfb有两个问题:一个libpng需要安装,一个是配置成X86的。
makeqpf和qvfb是两种不应的格式,及:makeqpf是带-embedded x86选项的配置qvfb是正常没有-embedded选项的配置编译好后发现使用makeqpf的file加载fft有问题,没法加载。
后面就不弄了。
而且弄个出来的qpf文件只是固定大小的,不能缩放。
不同字体大小还得定制多个qpf字库。
后面想着qt应该可以加载ttf,搜索网络发现没有相关的介绍,于是就自己摸索了。
于是有点心得,便记录一下过程。
freetype简介freetype是完全免费,不用担心版权的问题,freetype支持ttf字库的加载,以及文字的提取。
支持多种字体格式。
为什想到freetype 呢?原因是查看qt的配置选项里面有个-qt-freetype,加上之前自己利用freetype成功提取了中文字的点阵。
于是就想到qt应该也支持的。
于是就把该选项编译进去。
QT配置支持ttf字库选项:./configure -qt-freetype ...配置好后,make,make install 就可以生成QT库,事例代码:修改一个demo尝试使用的是macmainwindow,这个简单,makefile要去掉苹果库的链接。
代码如下:1.#include <QtGui>2.#include "macmainwindow.h"3.#include <QDebug>4.#include <QFontDatabase>5.#include <QT extCodec>6.#include <QPainter>7.#include <QWSServer>8.#if 09.10.11.int main(int argc, char **argv)12.{13.QApplication app(argc, argv);14.MacMainWindow mainWindow;15.mainWindow.show();16.return app.exec();17.}18.19.20.#else21.int main(int argc, char **argv)22.{23.QWSServer::setBackground(QColor(0,0,0,0));24.QWSServer::setCursorVisible(false);25.QFontDatabase database;26.foreach (const QString &family, database.families(QFontDatabase::SimplifiedChinese))27.{28.qDebug()<<family;29.}30.31.32.QTextCodec::setCodecForTr(QTextCodec::codecFor Name("GBK"));33.QTextCodec::setCodecForCStrings(QT extCodec::co decForName("GBK"));34.QTextCodec::setCodecForCStrings(QT extCodec::co decForName("GBK"));35.QPalette pa;36.pa.setColor(QPalette::WindowText,Qt::red);37.QApplication app(argc, argv);38.QString chinese;39.QLabel label ,label1;40.QFont font("Source Han Sans CN",20,QFont::Bold);bel.setGeometry(200,80,900,200);bel.setFont(font);43.chinese = QString::fromUtf8("思源字体\r\nQT中文字体显示不同大小任意设置:20号加粗字体");bel.setText(chinese);bel.setPalette(pa);bel.show();47.QFont font1("Source Han Sans CN",30,QFont::Normal);bel1.setGeometry(200,280,900,200);bel1.setFont(font1);50.chinese = QString::fromUtf8("思源字体\r\nQT中文字体显示不同大小任意设置:30号正常字体");bel1.setText(chinese);bel1.setPalette(pa);bel1.show();54.55.56.return app.exec();57.}58.59.60.#endif61.编译后,生成macmainwindow。
Qt 字体设置(QFont )详解简述QFont 字体设置⽆⾮就是设置下⾯⼀些参数:QFont 常⽤属性函数 描述setFamily设置字体setPixelSize设置字体像素⼤⼩setBold字体加粗setItalic斜体setPointSize设置字体⼤⼩setOverline上划线setUnderline下划线setStrikeOut 删除线设置字体⼤⼩和像素⼤⼩的区别setPixelSize()函数使⽤像素作为单位来设置字体⼤⼩setPointSize()函数规定了实际中我们⾁眼看到的字体的⼤⼩,与像素⽆关使⽤setPixelSize 函数设置⼤⼩,在像素⼤⼩不同的设备上显⽰的⼤⼩也不同使⽤setPointSize 函数设置⼤⼩,在不同设备上显⽰的⼤⼩是相同的QFont 衍⽣QFont 为绘画⽂本提供制定的字体QFontComboBox 提供了选择字体族的下拉列表框QFontDatabase 提供了可以在Window 操作系统下能够使⽤的字体QFontDialog ⽤来选择⼀个指定的字体QFontEngineInfo ⽤来描述⼀个指定的字体引擎插件QFontEnginePlugin 累提供了字体仓库插件的基础累, ⽤于嵌⼊式linuxQFontInfo 包含了⼀个字体的常规信息QFontDialog ⽤来弹出对话框来获得指定的字体常⽤的字体(不知道样式的可以在ui的字体设置⾥⾯查看对应字体的样式)宋体 SimSun⿊体 SimHei微软雅⿊ Microsoft YaHei微软正⿊体 Microsoft JhengHei新宋体 NSimSun新细明体 PMingLiU细明体 MingLiU标楷体 DFKai-SB仿宋 FangSong楷体 KaiTi仿宋_GB2312 FangSong_GB2312楷体_GB2312 KaiTi_GB2312宋体:SimSuncss中中⽂字体(font-family)的英⽂名称Mac OS的⼀些:华⽂细⿊:STHeiti Light [STXihei]华⽂⿊体:STHeiti华⽂楷体:STKaiti华⽂宋体:STSong华⽂仿宋:STFangsong儷⿊ Pro:LiHei Pro Medium儷宋 Pro:LiSong Pro Light標楷體:BiauKai蘋果儷中⿊:Apple LiGothic Medium蘋果儷細宋:Apple LiSung LightWindows的⼀些:新細明體:PMingLiU細明體:MingLiU標楷體:DFKai-SB⿊体:SimHei新宋体:NSimSun仿宋:FangSong楷体:KaiTi仿宋_GB2312:FangSong_GB2312楷体_GB2312:KaiTi_GB2312微軟正⿊體:Microsoft JhengHei微软雅⿊体:Microsoft YaHei装Office会⽣出来的⼀些:⾪书:LiSu幼圆:YouYuan华⽂细⿊:STXihei华⽂楷体:STKaiti华⽂宋体:STSong华⽂中宋:STZhongsong华⽂仿宋:STFangsong⽅正舒体:FZShuTi⽅正姚体:FZYaoti华⽂彩云:STCaiyun华⽂琥珀:STHupo华⽂⾪书:STLiti华⽂⾏楷:STXingkai华⽂新魏:STXinwei。
自己制作字体字库
一直喜欢书法,经常会因为练习书法,要做些古代名家书法的集字字帖,但是每次都要花费很多时间从名家书法帖中寻找有关的字,通过拍照、PHOTOSHOP编辑等才能做一张字帖,非常费时间和功夫,最近突发奇想,决心自己做一个Fonts字体字库,以便以后在WORD等文档中打字输入文字后,可以通过字体选择自动生成,这样制作集字字帖就会特别的轻松了。
于是便开始工作,做了才知道工作量是出乎想象的大,因为一个字体库至少要六、七千个常用字,每个字都需要从名家字帖上通过拍照,然后PHOTOSHOP处理成单字的图片。
另外因为很多字可能在一个字帖里会反复使用很多次,按照书法的规矩,每次都不能重复一样的写法,要有变化,于是需要通过TRUE TYPE专用造字制作一些新造字(如图1),如下列表所示的新造字。
接下来在输入字体图片前,还要将每个待输入的字的UNICODE编码列出来,以便在使用FontCreator程序输入字体图片时,通过UNICODE编码搜索字的位置,以便输入字体图片(如图2、3)。
(图1:造新字程序)
(图2:做字体字库程序定位字体位置)
(图3:做字体字库程序插入字体图片,然后转换成矢量字体)
由于字体数量很大,只能每天晚上空闲时输入一部分,积少成多逐步完成这个大工程,下面是已经完成的部分字体显现的书法集字帖。
这是我最喜欢的明朝王铎的字集。
希望与喜欢书法的朋友一同分享。
白日依山尽
落花有情流水无情
苏东坡,水调歌头,明月几时有。
Welcome !!! 欢迎您的下载,资料仅供参考!。
适用于minigui1.6版本的qpf字库制作简述(By:fjh)
一、需求
由于项目中选用的minigui 1.6版本仅支持qpf、rbf字库,现有的qpf和rbf 字库最大仅有16号字体,而cr202新界面中又要使用大号的中文简体和中文繁体字库,故需要产生可用的大号字体qpf字库。
二、方法
选择用ttf --> qpf的方法产生需要的qpf字库,这种方法可用qt平台下的makeqpf工具实现。
三、问题
在字体转化过程中发现以下问题:
较新的qt版本(qt4以上),编译运行makeqpf工具产生的是qpf2格式字库,cr的minigui平台不可用;较旧的qt版本(qt2左右),所带的tools里的字体转换工具不是makeqpf,转换产生的也是我们不需要的某种字体;只有能够成功安装的qt3系列版本才能产生对应字库。
四、过程详述
A、Qpf字库制作过程:
(平台Linux系统+ QT: qt-embedded-free-3.3.3.tar.bz2 )
平台准备:
在根目录下新建一个目录mkdir qte
2. 把qt-embedded-free-
3.3.3.tar.bz2移到qte目录
3. 解压qt-embedded-free-3.3.3.tar.bz2
4. 重命名qt-embedded-free-3.3.3.tar.bz2文件夹
mv qt-embedded-free-3.3.3 qte
5. 在根目录的qte目录下写如下shell脚本并保存成buildqte
#!/bin/sh
cd qte
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -qt-gfx-transformed -qvfb
make -C src #这样只是编译src目录下的源码如果没有moc uic 工具就全部编译可以直接make而不要后面的-C src
cd ..
make
6. 执行buildqte脚本编译x86版本的qte库.
7.修改buildqte shell脚本.
把buildqte脚本中的下面一行注释掉
# ./configure -qt-gfx-transformed -qvfb
./buildqte
重新编译qte库
Makeqpf的使用:
编译makeqpf工具(qte用这个工具来生成qpf字库).要编译成qte的版本,不能编译成x11版本
../../bin/qmake -project
../../bin/qmake
修改fontdir文件,一般默认在/usr/lib/qt-3.1/lib/fonts/目录下,修改格式如下:
newfont fsong.ttf FT n 50 140 u
运行makeqpf生成qpf字库
如果没有qvfb工具,就执行命令makeqpf -A
B、Ttf字库裁剪
完整的简体中文字库和繁体中文字库都很大,可以针对项目需要对完整的ttf字库做一个裁剪,去掉不用的字。
工具:fontcreator.exe
使用方法:
1、定位
这里选编辑->查找或者直接Ctrl+F,就会看到如下的界面
通过unicode编码查询,(查询可参考:/code/unicode/)查出所需汉字unicodes编码值,在上图的小框中的美元符号后输入,即可定位出所需汉字在字库的位置。
2、保存位图
新建ttf文件,将选中字符复制粘贴过去,但这时复制过去的只是字体的图片,并不带字体属性,这样在使用的时候仍无法调用。
3、编辑属性
在新存储的字符库中,要分别对每个字符进行属性标注,关键是标注出该字符对应的unicodes编码值,最终保存,这样裁剪后可以使用的字库即生成了。
参考文档:
/bbs/read.php?tid=7994
/leer/archive/2011/07/21/font-family-define.html。