加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

true-type-fonts – cmap的Microsoft OpenType规范

发布时间:2020-12-14 01:52:12 所属栏目:Windows 来源:网络整理
导读:OpenType文件中的cmap表将字符代码转换为字形ID. 任何人都可以帮助我理解C表达式: *(idRangeOffset[i]/2 + (c - startCount[i]) + idRangeOffset[i]) Here是Format 4 cmap子表. 解决方法 因此,在该表达式中,i =段索引和c =字符代码. idRangeOffset将段的偏
OpenType文件中的cmap表将字符代码转换为字形ID.

任何人都可以帮助我理解C表达式:

*(idRangeOffset[i]/2 + (c - startCount[i]) + &idRangeOffset[i])

Here是Format 4 cmap子表.

解决方法

因此,在该表达式中,i =段索引和c =字符代码.
idRangeOffset将段的偏移量转换为cmap内的glyphIdArray.在这种情况下,您实际寻找的值是glyphIdArray [something].由于glyphIdArray紧跟在字体文件中的idRangeOffset之后,因此使用idRangeOffset作为基指针.

要获得glyphIdArray的开头,您需要添加idRangeOffset,但由于该值以字节为单位且idRangeOffset表为16位,因此需要除以2以获取字数.然后,您将获得glyphIdArray中段i的偏移量.

但是你的角色在这个片段中的偏移是在c – startCount [i],所以你也需要添加它.

最后一个表达式是一个指针,因此您需要取消引用它以实际获取字形的索引.

然后将该索引用于LOCA表.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读