我在“版式”网站的建议中看到了这个问题,这使我感到困惑,因为我不知道答案。我一直认为“字形”和“字符”是可互换的。
阅读Unicode字符编码模型页面上的说明后,我的理解大致是这样的:
- 字符是根据其在语言,字形,其外观中的含义来定义的。因此,用于美学组合的连字
是一个字形,但是是两个字符。
fi
因此,我的信念是(如果我错了,请纠正我)实际的区别是:
- 对文本的美学不感兴趣的文本解析器将读取字形作为其各自的字符。所以:
- 如果要将包含字形的文本复制并粘贴到纯文本编辑器中,则该字形将转换为它们各自的字符(
fi
连字字形将变为f
和i
) - 任何基于文本解析的精良自动化系统(例如搜索引擎搜寻器,屏幕阅读器,拼写检查器)都可以将字形解释为它们各自的字符。
- 一个字符可以具有许多字形或字形集。我想说一个字形只能有一个字符,但这显然是不对的,因为在链接的文章中有一个示例,其中包含3个字形和字形集,每个字形集似乎都对应一个字符和一组字符。我不太清楚这是如何工作的:肯定的是,这意味着这些字形在解释方式上会不一致或含糊,因翻译而异?(或者它是否因语言或字体而有所不同?)
- 尽管字形浏览器(例如Illustrator中的字形浏览器)包含字体的完整字形集,但是字符图(例如Windows字符图)仅包含字符,而不包含像连字一样由多个字符组成的字形(我以前从未注意到过)
- 如果要将包含字形的文本复制并粘贴到纯文本编辑器中,则该字形将转换为它们各自的字符(
我觉得我几乎有,但我已经沿线显然误解了一些地方:不只是“一字形多个字符”的事情,而且还复制与粘贴绷带行为不是很我所期待的:
- 将连字
fi
从Illustrator 复制到此输入框:fi
按预期粘贴为(两个字符)。 - 为其粘贴HTML代码(
fi
)-不在代码块中时显示为连字(图-该字体看起来不太像连字,但是如果您尝试只选择一半,则会看到一个连字。 ),以及位于代码块(fi
)中的代码(按预期)。 - 将渲染的非代码块连字复制并粘贴回输入框中:粘贴为连字字符,然后渲染为连字,而不管它是否在代码块中(?和
fi
)。同样,包含它的单词:匹配错误(fit misfits
)粘贴为匹配错误(fit misfits
)。也许取决于粘贴的位置是否理解所使用的编码?
我对此的理解有多错误?有人可以对我说对吗:对字形和字符之间的区别进行清晰的定义(如果我的错误或可以改进),并给出比我更清楚/更准确的示例,说明实际含义是什么?