大多数浏览器会根据设置的语言自动替换某些字符?
Most browsers automatically replace some characters based on set language?
在大多数浏览器中(我检查了 Chrome、Firefox 和 Opera),设置 lang="ro" 会自动将一些 cedille 字符替换为其他字符。
在这里查看:https://jsfiddle.net/dhtfb190/13
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="utf-8">
</head>
<body>
<div style="font: 500% georgia;">şșşșŞȘŞŞȘ</div>
</body>
</html>
这不会发生在 Edge 或 IE 中,或者如果语言设置为“en”或未设置。此外,并非所有字体都会发生这种情况。例如,如果发生在格鲁吉亚,但不会发生在 Arial。但是格鲁吉亚拥有所有这些字符,因为它们显示为 lang="en"。
即使使用转义实例化,它也是如此。
这是在哪里记录的?我在互联网上搜索了很多,只找到了一些中文替换一些符号的例子。我怎样才能看到哪些字符被替换了?为什么它只对某些字体执行此操作?
我猜它会检测语言并显示一组与字体不同的字符。
有些字体不支持äÄüÜöÖ,会显示□□□□□□。
格鲁吉亚(以及其他字体)支持俄语,并会自动切换字符。
您可以深入研究并在文本编辑器(如 MS Word 或 InDesign)中进行检查,然后查看单个字符的外观是否不同,也称为 Glyphs。
https://helpx.adobe.com/incopy/using/glyphs-special-characters.html 您可以在此处查看,当您向下滚动一点时,当它们位于 Glyph window 内并打开下拉菜单时,会出现一个屏幕截图。您可以看到有一个西里尔字母选项。所以 RO 使用与 EN 不同的一组字形。
您可以在格鲁吉亚查看此页面,并看到他们有一个西里尔文的语言脚本标签。 https://docs.microsoft.com/en-us/typography/font-list/georgia
字形(“印刷字符”)取决于语言。这是一个很好的排版规则,好的字体支持这样的特性。
所以你得到了特定字符的“ro”变体。
它是“有记录的”。它在字体定义的一部分中(只有较新的字体格式支持它们),但很难提取此类数据。 Python 个库很少。 [顺便说一句:在我的 TODO 列表中还有一个显示字符变体的项目]。
也许如果您查看字体的设计页面,您可能会找到一些关于哪些语言有变体的信息。
这在印度语中更为明显,其中连字取决于确切的语言和文本的大纪元。在拉丁字符上,它主要是一个琐事问题。 Unicode 标准在同一字体中引用了法语和波兰语之间不同的重音倾向。
附录:
我能找到的最好的信息,它在 https://docs.microsoft.com/en-us/typography/opentype/spec/gsub,例如在下面的引用中,还在正文中重复:
The ScriptList identifies all the scripts and language systems in the font that use glyph substitutes.
在大多数浏览器中(我检查了 Chrome、Firefox 和 Opera),设置 lang="ro" 会自动将一些 cedille 字符替换为其他字符。
在这里查看:https://jsfiddle.net/dhtfb190/13
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="utf-8">
</head>
<body>
<div style="font: 500% georgia;">şșşșŞȘŞŞȘ</div>
</body>
</html>
这不会发生在 Edge 或 IE 中,或者如果语言设置为“en”或未设置。此外,并非所有字体都会发生这种情况。例如,如果发生在格鲁吉亚,但不会发生在 Arial。但是格鲁吉亚拥有所有这些字符,因为它们显示为 lang="en"。
即使使用转义实例化,它也是如此。
这是在哪里记录的?我在互联网上搜索了很多,只找到了一些中文替换一些符号的例子。我怎样才能看到哪些字符被替换了?为什么它只对某些字体执行此操作?
我猜它会检测语言并显示一组与字体不同的字符。
有些字体不支持äÄüÜöÖ,会显示□□□□□□。 格鲁吉亚(以及其他字体)支持俄语,并会自动切换字符。
您可以深入研究并在文本编辑器(如 MS Word 或 InDesign)中进行检查,然后查看单个字符的外观是否不同,也称为 Glyphs。
https://helpx.adobe.com/incopy/using/glyphs-special-characters.html 您可以在此处查看,当您向下滚动一点时,当它们位于 Glyph window 内并打开下拉菜单时,会出现一个屏幕截图。您可以看到有一个西里尔字母选项。所以 RO 使用与 EN 不同的一组字形。
您可以在格鲁吉亚查看此页面,并看到他们有一个西里尔文的语言脚本标签。 https://docs.microsoft.com/en-us/typography/font-list/georgia
字形(“印刷字符”)取决于语言。这是一个很好的排版规则,好的字体支持这样的特性。
所以你得到了特定字符的“ro”变体。
它是“有记录的”。它在字体定义的一部分中(只有较新的字体格式支持它们),但很难提取此类数据。 Python 个库很少。 [顺便说一句:在我的 TODO 列表中还有一个显示字符变体的项目]。
也许如果您查看字体的设计页面,您可能会找到一些关于哪些语言有变体的信息。
这在印度语中更为明显,其中连字取决于确切的语言和文本的大纪元。在拉丁字符上,它主要是一个琐事问题。 Unicode 标准在同一字体中引用了法语和波兰语之间不同的重音倾向。
附录:
我能找到的最好的信息,它在 https://docs.microsoft.com/en-us/typography/opentype/spec/gsub,例如在下面的引用中,还在正文中重复:
The ScriptList identifies all the scripts and language systems in the font that use glyph substitutes.