- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
长话短说,我在不使用 FreeType 或 HarfBuzz(出于各种原因)的情况下渲染字体,通过手动解析 TrueType 和衍生格式来提取元数据和字形信息,以便稍后从其轮廓构建位图和距离场运行。我担心的是必要时可靠的字形替换,即某些序列必须根据语言规则被另一个序列替换。
我不清楚的是 GSUB 表通常可以被假设为有多可靠。换句话说,例如,期望阿拉伯字体应该提供包含阿拉伯文字所需的替换的填充 GSUB 表是否合理?或者,考虑到这是按脚本进行的,通常是否假设字体仅提供特殊的按字体替换,而整形引擎则假定将任何按脚本替换作为全局规则处理?我不担心替换的字形可能不可用,因为系统会在这种情况下搜索后备,否则将恢复到原始序列。
显然,为每个脚本设置一个全局规则集作为后备是完全可靠的,但我希望尽可能减少它。抱歉,这不完全是一个经验问题,但我很难找到这方面的大量信息,除非需要实际检查各种字体的大量样本。 This overview似乎表明将定义每个脚本的替换,但鉴于表是模块化的,当然不能保证甚至会有一个表,更不用说所需的定义了。如果做不到这一点,是否有任何已知的各种脚本的替代数据库?
最佳答案
说 OpenType 字体是一个完全独立的排版程序,并且“文本整形器只能‘按照字体的指示进行操作’”是不准确的。特别是对于像阿拉伯语或梵文这样的脚本,在文本整形器中实现的字体之间存在非常重要的共同逻辑。
这意味着支持阿拉伯语之类的东西根本不像实现解析“GSUB”和“GPOS”表并在其中应用查找(操作)的逻辑那么简单。这绝对不是一项小任务,我当然会寻找现有的实现来重用。
您提到您已选择不使用 Harfbuzz。我建议您重新考虑这一点。
What I'm unclear about is how reliable the GSUB table can generally be assumed to be. In other words, is it reasonable to expect that an Arabic font, for example, should provide a populated GSUB table containing the substitutions required for an Arabic script?
绝对是!阿拉伯字体必须具有“GSUB”、“GPOS”和“GDEF”表才能正确显示阿拉伯文本。原则上不可能按脚本/跨字体替换,更不用说在实践中了。
您可能会发现一些有用的资源 - 有些资源已经过时(MS Typography 网站已重新发布,因此页面上的日期并不总是反射(reflect)原始发布日期),但内容仍然相关。虽然可能引用了 Windows,但它适用于任何 OpenType 布局引擎。
关于fonts - GSUB 表是否广泛填充 TrueType 字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60822708/
将以下内容添加到我的键绑定(bind)中可以让我将 Sublime Text 3 中的字体大小重置为默认大小: { "keys": ["ctrl+0"], "command": "reset_font
我有一个如下所示的 css 字体系列(由于显示限制,我已经缩短了它,否则它比我在这里展示的要大得多)现在你能告诉我是否有办法将 url()content 转换为 .ttf 字体格式或其他标准字体格式吗
具体来说... and ...显示为双倍或四倍。 最佳答案 Customize Twitter Bootstrap here. Make sure to uncheck the default "
当包含 @font-face 和 src 以导入网络字体时,我注意到您可以传入 2 个可选值。我目前不这样做。 我有 2 种网络字体,Lato Regular 和 Lato Bold。 我应该在 @f
我正在本地主机上测试一个字体很棒的网站,它工作正常;但是当我将它上传到我的远程站点时,它不再显示字体了。我该如何解决?尝试了所有调试但没有成功。 网站在那里 www.sevotec.it/ordine
我开始使用 font-squirrel (http://www.fontsquirrel.com/tools/webfont-generator) 来快速使我的字体跨浏览器兼容,我只是想知道字体质量是
以前我复制了一个ttf文件到C:\Windows\Fonts,点击文件显示字体,然后点击[安装],一切正常。 当我现在执行此过程时,字体未安装在 C:\Windows\Fonts 中,而是安装在 C:
我注意到,在工作中,Google Web字体未出现在IE9和Firefox 6(Windows和Mac OS)上。所有文件都已加载,但字体从未渲染。在那些相同的浏览器上,它可以在家正常工作。 Chro
我正在学习 Swift UI 教程,我遇到了这个错误,而讲师没有。 .font 错误在第一个 Vstack 中仅出现一次,而第二次则没有问题。 import SwiftUI struct Conten
我知道使用@font-face 允许浏览器下载自定义字体并在网页中使用它,就像使用任何系统字体一样。 我想知道的是浏览器是对字体进行编码还是在不公开的情况下使用它? 谢谢 最佳答案 浏览器无法保护字体
使用基于@font-face 标记的标准fontsquirrel .. 字体呈现在较粗的一面。下面是一个屏幕截图,以几种不同的方式展示了字体。顶部是 photoshop 的渲染图,第二个是相同字体的
我必须在元素中使用花哨的字体,但我真的很想避免使用 sifr 和其他丑陋的替代品,所以我正在寻找@font-face。 但是,我真的很困惑几个博客/网站提供了关于它的可用性的不同观点。准备好了吗?目前
我几乎在我工作的所有项目中都使用 fontawesome。但这次我得到的图标显示为正方形。我还尝试了 stackoverflow 上列出的几乎所有解决方案,但似乎对我的情况没有任何效果。我猜是什么东西
好的,所以我正在尝试让 IE9 显示字体 Agenda。我像往常一样去了 fontsquirrel,它说 font bureau 不允许他们创建字体套件。然后我去了 codeandmore 并在那里制
Font Awesome 4.0是对 Font Awesome 从头开始的完全重写。主要的新功能之一是图标现在具有命名空间。除了命名空间之外,图标还使用基于一致性和可预测性的新命名约定。不幸的是,
我使用版本 3.2.9 (Media Mark) 的 SASS 并且我想使用我的自定义 font-family 的 3 个变体Source Sans Pro 字体(Light、Regular、Bold
在一些 css 文件中嵌入一些 base64 字体,但 CSP 阻止了这些:类似于 url("data:font/woff;base64,d09GRk9UVE...); 当前 CSP =“base-u
我怎样才能使 Font Awesome 图标像本页中那样大: http://fontawesome.io/icon/bath/ 我使用了 fa-5x 类,但它与页面示例中最大的图标不同。 下面是我使用
我有一个带有Bootsrap 4(SASS)和Font Awesome 5的MVC项目。我正在尝试使旋转的图标可以与Ajax加载面板一起使用,但是它不起作用。 Test Spin
似乎 font-awesome 支持自定义图标,并附有详细说明如何创建和提交您自己的图标,但该信息在他们的网站上不再可用。这是否意味着不再支持此功能并且您只能请求由 font-awesome 团队完成
我是一名优秀的程序员,十分优秀!