在不同语言(如英语-法语)之间切换时使用的字体系列



我在一个网站上实现了一个语言插件,你知道排序点击,它会将所有内容更改为阿拉伯语、俄语。。ect(我知道现代浏览器已经为此内置了功能,但我们选择了这样做。)

我一直在想,如果我们的正常网站使用运行,我们如何处理字体

font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;

如果它不能以上述字体呈现新文本,它会回到浏览器默认值吗?

或者有没有一种方法可以在翻译完成后指定字体?

当在适用的font-family列表中第一个列出的字体中找不到页面上的字符时,浏览器应进一步扫描该列表,并最终在需要时以浏览器相关的方式重新扫描系统中的其他字体。然而,众所周知,浏览器(尤其是IE)在这里会失败,而且,这个过程可能会导致字体混合,甚至在一个单词中使用不同字体的字符。

因此,您应该做出合理的努力,确保font-family列表中列出的任何字体都足以容纳页面的文本,至少对于字母(特殊符号通常可以从不同的字体中提取,而不会造成风格混乱)。对于一个翻译成"任何"语言的小部件来说,这几乎是不可能的。

我想你指的是像谷歌网站翻译这样的服务。除了出于商业目的产生通常不好的翻译外,它还可能扰乱页面的标记,可能还会影响字体问题。例如,它似乎插入了毫无意义的font标记,这可能会阻止字体设置工作。此外,它没有在翻译结果中正确设置lang属性(但保留了原始的lang属性!),因此您甚至不能期望浏览器使用其特定语言的默认字体权限。

当你说"我知道现代浏览器已经为此内置了功能,但我们选择了这样做"时,我不确定你指的是什么——浏览器并没有真正提供语言选择。

然而,我的团队开发了一个可重复使用的JavaScript库,它可以做到这一点,而且还可以处理字体:

  • https://github.com/wikimedia/jquery.uls
  • https://github.com/wikimedia/jquery.webfonts

您可以使用它,也可以将它的想法应用到您的实现中。

最新更新