浏览器中字形连字(OpenType字形连字)的问题

3

我正在使用FontForge字体编辑器编辑字体,一切都很顺利,但在连字时,当我想要制作多个单词的连字(它们之间有空格),它无法在Firefox和Opera上工作,但可以在WordPad和记事本中工作。

这是一个bug还是限制?
我应该怎么解决这个问题?
备注:我正在使用@font-face CSS语法导入字体,字体为ttf格式。

3个回答

2

连字制作是OpenType字体中的一个可选功能。连字的例子包括像fi、ff、fl、ffi、ffl这样粘在一起的字母组合。一个常见的带有连字的字体是Calibri,它作为Microsoft Office 2007的默认字体。

该字体有一个查找表,如下所示:

f i -> fi
f l -> fl
f f -> ff
ff i -> ffi
ff l -> ffl

当您在等式左侧输入字母时,右侧显示的连字会替换当前显示的字符(无论是单个字母还是已形成的连字)。使用Calibri以较大的字体在记事本中键入“difficult”即可看到这种情况发生。请注意,一个连字内有多个光标位置。您可以通过在字母之间插入隐藏字符ZWNJ(零宽度不连结符号,u200C,HTML-&#x200c)来停止自动连接连字。
Firefox 4可以在没有CSS/SVG的帮助下形成连字。MS Word从2010版本开始支持连字,但需要在高级选项卡下启用,AbiWord(免费软件)也支持它。
查看此网站(使用Firefox或Safari),该网站使用连字功能在转写文本上方显示复杂的脚本。
这个智能字体有400多个连字,在下载字体后,Firefox和Safari可以轻松地显示它们。

0

提供一个具体的例子会更有帮助,因为这个问题非常不清楚。

我猜测问题在于您试图访问字体中不属于默认设置的连字特性(即必须将其作为opentype特性打开)。CSS没有提供指定要激活的opentype特性的方法。抱歉。

如果是标志或类似的东西,您可以将文本创建为图像,例如png格式或SVG格式。

对于短段落,再次使用SVG可能是合适的。

如果不行,那么也许有一种字体默认支持适当的连字。


0

在Firefox中无法实现“多字连字”,因为它不支持跨单词空格的连字(或其他类型的OpenType规则,如上下文替代)。

实际上,这是一个相当普遍的限制;例如,XeTeX也是如此。许多文本布局系统并不像普通可打印字符一样处理单词间的空格,因此OpenType查找不会按照您的期望方式匹配。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接