只需一步,快速开始
使用道具 举报
宋体和 Freetype2 有什么关系呀? (新)宋体、楷体_GB2312使用 bytecode 组字法,与一般的 TrueType 格式不一样,一般的 TrueType 是存放“笔划”,所以字型引擎只要依照笔划指引,就可以绘出字形,而 bytecode 则是一些虚拟指令(类似 java 的虚拟指令),这时候,字型引擎就必须化身为一个解译器,来解释并执行这些虚拟指令,就像 JVM 一样,bytecode 的好处是减少字型档案的大小。 bytecode 有三个部份为 Apple 专利,正是因为这个缘故,freetype2 预设并未打开这个 bytecode 解译功能,所以当遇到了 bytecode 组字的字型时,就会不正常(破碎),幸好此类字型不常见,有个好消息是:freetype unstable 版已经避开了 Apple 专利部份,而且预设也是开启 bytecode 解译功能,可见专利问题已解决了(猜测),所以才会预设开启。 Fontconfig 部份 1、除了中文字型名称(严格来说,应是非英文字型名称)的修改外,还有容许 CJK 漏字 1%,以及增加 CJK CharMaps,以支援较早期没有 Unicode 的字型。 2、对系统的 fonts.conf 做了少需修改。 如果您对中文字型名称没有需求,小弟还是建议还是更新了吧,避免一些麻烦。 Xft2 部份 1、增加控制内嵌 bitmap 选项。 2、模拟粗体。 3、等宽字英文变宽问题。 4、AA 与非 AA 混杂造成字形糊掉问题,就是您所谓的"沙沙文字"。 Freetype 部份 1、autohint 采用日本 Akito 的 Patch。 2、启用 gamma table,并修改了 gamma 值,让 AA 状态的字型更清楚,但 hinting 必须开启,若要让字型更细,则必须开启 autohint,这都在 fonts.conf 中加以描述,所以小弟才建议 Fontconfig 也要更新,不单只是字型名称需求而已。 3、启用 bytecode 解译功能。 Xf2 和 Freetype2 到底有什么关系呢? Freetype2 是字型引擎,被动地等待应用程式呼叫,而 Xft2 只是应用程式的一种,也就是说,只要您了解 Freetype2 提供的 API 函数、资料结构、模组,您事实上也可以得到 Freetype 回覆的字型资料,进而绘制在萤幕甚至是报表,Xft2 就是做类似的事情,只不过 Xft2 不是独立的应用程式,它是一种介于应用程式与 Freetype2 之间的桥梁,它提供更高阶 API 介面给应用程式开发者,让程式开发人员不必了解复杂的 Freetype2,Xft2 可以节省程式设计很多时间。
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
GMT+8, 2024-11-28 11:52 , Processed in 0.079615 second(s), 16 queries .
© 2021 Powered by Discuz! X3.5.