sue*_*nna 4 css fonts cjk cyrillic
我客户的网站上有一个错误或其他问题,如果您将语言切换到任何亚洲选项 (CJK),然后再次打开语言选择器,“俄语”(俄语)、“希腊语”(希腊语)和“塞尔维亚语”(塞尔维亚语)的字母之间有额外的空格。如果您选择任何其他语言,这些单词在语言选项列表中就可以了。以下样式位于 html 元素上 -
\n\nfont: 200 100%/1.5 sans-serif;\nRun Code Online (Sandbox Code Playgroud)\n\n我读到,在 Mac 上,无衬线字体将采用 Helvetica 作为其首选,而在 Windows 上,它将采用 Arial。在我的开发工具中,如果我将 sans-serif 更改为 Helvetica,它会更改字体并解决问题,而不是字体看起来完全相同,这正是我所期望的。(我的 Mac 上确实有 Helvetica。我还没有在 Windows 中检查过这一点。)下面是一个示例屏幕截图。
\n\n
\n实际上,现在我已经玩得更多了,我发现当我选择韩语时,非韩语单词会以 Apple Gothic 呈现,对于中文,非中文单词会以 Century Gothic 呈现,对于日语来说,非中文单词会呈现为 Century Gothic非日语单词属于前卫。有什么想法吗?我可以创建一个规则集,将 Helvetica、Arial、sans-serif 指定为这些语言的字体堆栈,但任何对将要发生的事情的解释都将是一次很棒的学习体验。
编辑:当我提到 Apple Gothic、Century Gothic 和 Avant Garde 时,我的意思是,对于每种亚洲语言,我在开发工具中将“sans-serif”更改为其他字体名称,看看是否可以确定页面上的非亚洲单词在 CJK 中默认使用的无衬线字体。我觉得很奇怪,中文、日文和韩文各自使用不同的无衬线字体。
\n\n语言选项列表的示例代码 -
\n\n<ul>\n/* other LIs here */\n<li>\xce\x95\xce\xbb\xce\xbb\xce\xb7\xce\xbd\xce\xb9\xce\xba\xce\xac</li>\n/* other LIs here */\n</ul>\n\n/* CSS for the LIs */\n\nli {\nfont-size: .857em; /* computes to 16px */\nlist-style: none;\npadding: .786em .714em .643em .714em;\ntransition: all 0.25s ease-in-out;\nbackground-color: #fafafa;\nborder-top: 1px solid #d0d0d0;\ncolor: #333;\nmargin: 0;\ntext-align: left;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是在 Mac (10.6.8) 上的 Chrome 37.0.2062.120 和 FF 32 中进行了测试。顺便说一句,同一台计算机上的 Safari 5.1.8 没有重现该问题。
\n根据https://hsivonen.fi/hiragino/(我的重点是添加的),“Mac OS X 附带了一系列新的高质量日语字体,称为 Hiragino。这些字体还包含西欧子集的高质量字形”拉丁文字。西里尔文字的基本希腊语和俄语子集的字形单独看起来很好,但字距调整以匹配汉字块的宽度。这使得这些字体不适合希腊语或俄语文本。”
此时我的选择是测试 Mac OS 附带的其他字体,看看它们是否不将宽度应用于希腊语和俄语字符。如果他们都这样做,我将诉诸使用我前面提到的字体堆栈。另外,当我在 Windows 中检查时,我没有看到这个问题。