Html 在保加利亚语中使用蒙特塞拉特时西里尔字符显示错误

Html 在保加利亚语中使用蒙特塞拉特时西里尔字符显示错误,html,localization,webfonts,Html,Localization,Webfonts,当使用谷歌字体中的字体并将HTML语言设置为保加利亚语时,某些浏览器会错误地显示某些字符 使用其他字体(例如)或保留浏览器的本机字体时,文本显示正确 设置其他西里尔语(如俄语)时,字符也会正确显示 蒙特塞拉特声称支持西里尔语和扩展西里尔语 我们没有在本地安装蒙特塞拉特的副本 使用扩展语法()包含字体不会产生任何差异 发生什么事了 由于客户和CMS的原因,我们无法轻松更改字体或语言 蒙特塞拉特使用保加利亚语时,字符显示不正确: 使用俄语,字符将正确显示在所有位置: 我们进行了以下测试: Wi

当使用谷歌字体中的字体并将HTML语言设置为保加利亚语时,某些浏览器会错误地显示某些字符

使用其他字体(例如)或保留浏览器的本机字体时,文本显示正确

设置其他西里尔语(如俄语)时,字符也会正确显示

蒙特塞拉特声称支持西里尔语和扩展西里尔语

我们没有在本地安装蒙特塞拉特的副本

使用扩展语法(
)包含字体不会产生任何差异

发生什么事了

由于客户和CMS的原因,我们无法轻松更改字体或语言

蒙特塞拉特使用保加利亚语时,字符显示不正确:

使用俄语,字符将正确显示在所有位置:

我们进行了以下测试:

  • Windows 10 Enterprise 17134.556上的Chrome 71.0.3578.98:存在问题
  • Windows 10 Pro 17134.523上的Firefox 64.0.2:有问题吗
  • Windows 10 Enterprise 17134.556上的Internet Explorer 11.523.17134.0:没有问题
  • Windows 10 Enterprise 17134.556上的Edge 42.17134.1.0:没有问题
  • MacOS 10.13.6上的Chrome 71.0.3578.98:没有问题
下面你可以找到一个快速的例子来重现这个问题


h1{字体大小:2em;}
p{font size:1.5em;}
.native{字体系列:无衬线;}
.montserrat{字体系列:蒙特塞拉特,无衬线;}
.roboto{字体系列:roboto,无衬线;}
沙箱

设置背景
设置RU

用户代理:

语言:

土生土长的

土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土长的土生土生土长的

аПааааааПааа

蒙特塞拉特 蒙特塞拉特

]

机器人

机器人

ъъаааааааааааа

(功能(){ "严格使用",; 函数refreshCurrentLang(){ document.getElementById('lang').innerText=document.getElementById('html').getAttribute('lang'); }; 函数setTogglerHandler(togglerSelector,langValue){ document.getElementById(togglerSelector.addEventListener('click',function(){ document.getElementById('html').setAttribute('lang',langValue); refreshCurrentLang(); }); }; document.getElementById('user-agent')。innerText=navigator.userAgent; setTogglerHandler('set-bg','bg'); setTogglerHandler('set-ru','ru'); refreshCurrentLang(); })();
这是正确的。保加利亚最近(20世纪末)开发了自己的西里尔文字版本,并开始慢慢成为标准,首先是谷歌字体,现在是苹果(保加利亚文字在iOS 13系统字体中看起来像这样)。这看起来很不寻常,对于西里尔文的其他用户来说也很有争议,但是保加利亚人已经对这些字母很熟悉了。

您可以使用以下命令强制浏览器使用标准西里尔字母字形:

*
{
-webkit字体功能设置:“locl”0;
-moz字体功能设置:“locl”0;
-ms字体功能设置:“locl”0;
字体功能设置:“locl”0;
}