Chrome变量中的垂直字符间距
Posted
技术标签:
【中文标题】Chrome变量中的垂直字符间距【英文标题】:Vertical character spacing in Chrome variable 【发布时间】:2022-01-14 19:33:23 【问题描述】:我使用 FontForge 将 SVG 字体转换为 OTF。我知道原始字体有一些错误,但真的不认为这些错误会导致以下问题:
使用 CSS 时
writing-mode:vertical-lr; text-orientation:upright
,我得到以下结果。 Firefox 渲染是完美的,但由于某种原因,结果似乎在 Chrome(版本 96)中对某些字母组合进行了紧缩处理。我已经尝试在 FontForge 中做所有我能想到的事情,比如清除字距调整表、切换“旧字距调整”和“微软字距调整”的选项等。似乎对结果没有任何影响。
我知道一般浏览器不能很好地支持垂直方向,但是很明显 Arial 字体在 Chrome 下可以完美呈现,所以我认为我必须采取一些措施来解决这个问题。
字体是在 FontForge 中从使用 vert-adv-y 的 SVG 字体生成的。该参数的值在 SVG 中是正确的(SVG 有其他错误,但我认为它们在这里没有任何影响)。我正在链接导出的 OTF 文件的副本。也许有人可能会在那里发现某种字距调整或字母提前问题。
或者 Chrome 正在执行某种自动字距调整,在这种情况下,为什么 Arial 字体不会发生这种情况?也许 Arial 字体有 GPOS 设置,而我的字体有旧式字距调整?我真的不知道。
LINK TO DOWNLOAD OTF FILE。 虽然图像左侧的字母是小写的,但它们是使用大写键 A、B、C 等生成的。
【问题讨论】:
【参考方案1】:好的,所以这似乎是问题似乎可以自行解决的那些奇迹般的实例之一。我重新保存了该文件,然后将其踢到运行 FontForge 的微服务中,该微服务将 SVG 转换为 OTF,当它重新加载时,一切看起来都很好。 我仍然不知道为什么,因为我没有更新微服务,也没有更改 SVG 生成代码 AFAIK。我所做的只是升级 Chrome(新版本一直显示旧文件存在问题),但它仍然应该发送相同的数据。不过,我没有抱怨!
【讨论】:
以上是关于Chrome变量中的垂直字符间距的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 上具有垂直间距的动态 UIButton