Html UTF8编码的现场重音符号位置不正确(仅限西里尔文字)
我正在开发网页,其中包含一些带有重音符号的西里尔文字。要放置应力标记,我使用utf8字符U0301(结合锐重音)。在我已经使用过的每一个编辑器和我已经看到的每一个西里尔文相关网页中,这个重音符号都显示在文本中这个字符前面的字母上方。我的问题是,在我的页面上,这个字符显示在字母的上方,字母在文本中位于这个标记之后。更重要的是,这种不正确的行为只能在西里尔语中观察到。对于常用的拉丁语单词,它会正确显示 我设置了每个编码相关的头 [编辑]Html UTF8编码的现场重音符号位置不正确(仅限西里尔文字),html,encoding,utf-8,non-ascii-characters,Html,Encoding,Utf 8,Non Ascii Characters,我正在开发网页,其中包含一些带有重音符号的西里尔文字。要放置应力标记,我使用utf8字符U0301(结合锐重音)。在我已经使用过的每一个编辑器和我已经看到的每一个西里尔文相关网页中,这个重音符号都显示在文本中这个字符前面的字母上方。我的问题是,在我的页面上,这个字符显示在字母的上方,字母在文本中位于这个标记之后。更重要的是,这种不正确的行为只能在西里尔语中观察到。对于常用的拉丁语单词,它会正确显示 我设置了每个编码相关的头 [编辑] 这个问题似乎只出现在Firefox上(我使用的是13.0.1版
这个问题似乎只出现在Firefox上(我使用的是13.0.1版)。当我使用Chrome浏览器时,会正确显示重音符号。这可能与您在每个浏览器上设置的默认字体有关,和/或浏览器拥有默认样式?我已经尝试过这一点——在Firefox中,Times的口音是完全一致的,但在Arial中,它很不错,但有点偏右 另一方面,Chrome与Arial的搭配还可以,但时代已经向右移 您是否尝试过调整使用的字体系列、行高、字体大小等,以查看这是否会影响问题 编辑:此外,请阅读以下建议: 像Times New Roman和Georgia这样的字体中包含西里尔字母 Windows,但在Macintosh上,它们可能只包含在“CY”中 苹果的西里尔字体,如“Times CY”
根据对不同字体的试验,选择合适的字体列表,用于文本的
字体系列
规则,最好在不同的平台上,也可能在不同的浏览器上。您可以使用不同的字体设置在您喜爱的文字处理器(或编辑器)中测试字体;结果不一定与web浏览器中的结果相同,但通常相似。例如,Calibri和Arial看起来不错,衬线侧的Cambria也不错(Times New Roman对U+0301没有问题,但除非分辨率相当高,否则总体上效果不好)
也可以考虑使用适当的字体作为Web字体(通过<代码> @字体脸< /代码>)。p> 这听起来很混乱,但实际上是一种实用的方法。问题有三个方面:
ó
,其中o
是拉丁字母,它在内部将其映射到最常用字体中包含的单个字符“ó”U+00F3
作为一个排版细节,当目标是非常好的质量(我们通常负担不起…)时,像a、e、o、y这样的拉丁字母应该与同一文本中的西里尔字母(形状)完全相同。这些设计在任何像样的字体上都是相同的。但不幸的是,当添加口音时,这种情况可能会改变。例如,在Calibriö́中(西里尔字母o加锐音符)的口音与ó(拉丁字母o加锐音符)的口音不同。这是字体的设计缺陷。(但在典型的复制文本大小中,差异几乎不明显。)我使用过谷歌字体服务的字体Roboto,它也有同样的问题——重音位置错误 为了解决这个问题,我已经将这个字体(ttf版本)下载到我的电脑上,安装并打开photohosop,确保实际的口音是正确的!然后我将字体上传到fontsquirrel.com服务,并转换成我自己的网络字体,然后口音就被修复了!除上述西里尔字母外。。但是,这总比什么都没有好
提示-如果您有多个字体权重,那么在fontsquirrel.com上选择“专家…”并选中“样式链接”-它将组成css,这样您将有一个具有不同权重的字体名称。您使用的是从右到左的语言吗?@flem I使用从左到右的俄语书写。我试图将lang=“ru”和dir=“ltr”属性添加到包含西里尔语单词的元素中,但并没有帮助。
.serifcyr {
font-family: "Times CY", "Times New Roman", serif
}
.noserifcyr {
font-family: "Geneva CY", "Helvetica CY", "Arial", sans-serif
}