- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为图标字体编写器实现对 SBIX 表的支持,但我不清楚 TrueType/OpenType 规范。
可以在此处找到 SBIX 表的规范:
https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6sbix.html
https://docs.microsoft.com/en-us/typography/opentype/spec/sbix
它说:“不是每个字形都需要在 'sbix' 表的每个罢工中都有一个条目。如果一个字形在 'sbix' 表的任何罢工中都没有条目,那么它的轮廓就会被绘制出来。”
所以不是每个字形都必须提供位图,这很公平。
但是我如何表明没有位图可用于字形?我没有看到从字形索引到罢工条目的任何映射。
这是否意味着简单的data
对于没有位图的字形,字形数据记录中的字段为空(长度 0)?或者整个字形数据记录的长度为零?似乎规范对此不是很清楚。还是我完全错过了什么?
最佳答案
某种程度上,SBIX 是一个完全独立的表,没有像 glyf/loca 或 cmap 子表那样的二级索引表。检查是否有数据的方式不需要实际读取字形的数据块,您只需要检查与正在成形的文本使用的点大小相关的罢工的偏移数组。
引用规范:
the length of data for glyph N is glyphDataOffset[N+1] – glyphDataOffset[N]. If this is zero, there is no bitmap data for that glyph in this strike. There is one extra offset in the array in order to provide the length of data for the last glyph.
Offset32[maxp.numGlyphs + 1]
.那就是:你没有选择,每个字形都有一个偏移量,但如果一个字形不需要位图来敲击,你就不会向字形数据块写入任何字形数据,而你只留下偏移量直到某些具有关联位图数据的后续字形。
offset32
长度数组 maxp.numGlyphs + 1
, strike.startOffset + 4 + offsets.length * 4
, null
或 false
或 0
或任何在您选择的语言中最有效的东西),bytelength(glyphDataRecord)
到偏移跟踪器。 offsets[id] = trackervalue
, 将字形 ID 增加 1,并重复循环 offsets[maxp.numGlyphs] = trackvalue
,存储此罢工结束的偏移量。 stroke.startOffset + 4 + offsets.length * 4
在您的偏移数组中到每个值。
关于fonts - 如何指示 SBIX TrueType/OpenType 字体表中缺少的字形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680926/
最近我问了两个关于在 python 和 .net 语言编写的程序中使用 OpenType 功能的问题( 1 和 2 ),但没有得到答案。我意识到无法更改操作系统的文本渲染引擎,或强制它们使用 Open
我正在尝试利用 myfonts 中“Plantin MT Pro”的开放式功能。更具体地说,我希望使用“真正的”小型大写字母和旧式编号。所谓“真正的”小型大写字母,我的意思是如果可能,我不希望通过字体
我关注了 instructions on the google/roboto repository , 但没有 OTF 文件可以用作 webfont。 我能得到的唯一反馈是 Chrome 说无法解码下
我们正在开发一个使用 HarfBuzz 处理 OpenType 的文本编辑程序。当用户输入时,我们正在使用 HarfBuzz 对输入后的文本进行重新分析,因此我们将获得正确的 GSUB 等等。 我们希
我在 OpenType 的规范中找不到任何信息/TrueType glyf 表,阐明复合字形的组件是否总是简单的字形,或者它们是否可以是复合字形本身(即递归复合字形)。 由于规范没有明确禁止复合字形作
使用 HitTestTextPosition样式 API 来自 IDWriteTextLayout我没有设法正确处理“ti”、“ffi”或其他带有 Calibri 等字体的连字中的文本位置。它总是在连
我想使用的特定字体种类(带连字)只能作为 OpenType 使用。 我正在尝试确定哪些浏览器能够正确显示它,以及我应该如何将它添加到 CSS。 我从 2012 年 7 月找到这篇文章,其中有 Paul
下面是我的代码: @font-face { font-family: Gotham; src: url("Gotham-Book.otf") format("opentype"); } 我
如何使用 OpenType 表编写一个简单的程序来动态呈现文本? 请回答: 汇编、C、C++、C#、java 或 Python(和一点 WPF:-) 或介绍它们的库。 欢迎对常见操作系统的文本渲染系统
我正在尝试使用 Neo Tech Black 字体在我的网页中使用单词重音符号,但它在这里不起作用。我打开 .otf 文件,我真的只找到大小写字母字符。我可以做些什么而不必更改我的字体选择? 简化我的
在 C# 中是否有任何方法可以确定给定字体是否为 opentype 字体。就像我们在 Winform 中打开一个 FontDialog 并从列表中选择一个 openType 字体,然后按下 Ok 按钮
我在一个小型大写字母很重要的网站上工作:设置圣经的文本。在旧约中,上帝的名字被音译为Lord但在小盘股中——不是 LORD .但是,目前 OpenType 小型大写字母支持的状态……不是最佳状态。 S
我无法弄清楚如何确定如何在 WPF(.NET 4.5/VS2012/Windows 8)中正确呈现特定的 OpenType 字体。我的电脑上安装了一种字体,名为“DINPro-BlackItalic”
我有一堆具有不同权重和样式的 OpenType 字体文件(例如,ComicSans100.otf、ComicSans200.otf、ComicSans300.otf 和 TimeNewRoman.ot
我正在加载 OpenType 网络字体 Open Sans通过 Google Fonts API/CSS。 在 Chrome 43 (Linux+Windows) 和 Internet Explore
我只是使用 opentype.js 随意地编译了一个字体文件。这是我的最终文件的样子: hexdump -C font.ttf 00000000 4f 54 54 4f 00 07 00 40 0
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
如何阅读字体细节?例如,字体在其元数据中包含版权、姓氏、设计师、版本等信息。我还希望脚本能够计算文件中字形的数量,并返回字体支持的语言。例如,一种典型的字体可能包含西方、瑞典和罗马语言支持,并且有数百
我正在尝试按照在 Raspberry Pi 2 B+ 上运行的 py 代码中使用 Firebase 的说明进行操作。在 python 3 上运行时,会发生不好的事情。 我已经在我的脚本中包含了 pyr
OpenType 文件中的 cmap 表将字符代码转换为字形 ID。 任何人都可以帮助我理解C表达式: *(idRangeOffset[i]/2 + (c - startCount[i]) + &id
我是一名优秀的程序员,十分优秀!