我有一篇关于此事的帖子仅与中东语言相关(我没有为我提供可用的解决方案),但事实证明,当切换到任何非西方语言时会出现同样的问题。 / p>
我的Web应用程序应支持所有字符集的所有语言。从各个方面(数据库,方向等),它工作正常,但选择的字符大小,例如阿拉伯语,日语,希伯来语等,远远小于英语。
我知道有一种方法可以全局扩展字体,但不知道如何做到这一点。
我的应用程序是用HTML,JavaScript和AngularJS开发的。
答案 0 :(得分:0)
您可以指定外国字体。您可能必须下载该语言的字体,但您只需要用英文字体“堆叠”它。让我用这个CSS示例澄清一下:
AsciiSans
所以你可以看到他们在这里使用这种方法。 <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
没有日文字符,因此浏览器将使用下一个字体。
修改
这个重要的原因;找到与英语字体大小相同的每种语言的字体。或者找一个较小的英文字体。有很多免费字体。希望你可以使用国际版(也许是“OpenSans”)
e.x:
http://www.fontspace.com/category/arabic
https://fonts.google.com/specimen/Open+Sans
编辑2
要包含Open Sans,请添加以下内容:
<font face="Open Sans">my text</font>
并执行<span style="font-family: 'Open Sans', sans-serif;">my text</span>
或UIActivityIndicatorView
答案 1 :(得分:0)
我认为您必须在lang
标记后附加html
属性。您可以像这样在该属性的基础上设置样式。
body { font-family: "Verdana"; font-size: 12px;} /** global **/
*[lang="ar"] {font-family: "Scheherazade",serif; font-size: 16px !important;} /** for arabic **/
这可能不是一个完美的解决方案,因为您可以将lang属性附加到每个DOM元素,因为您可以为不同的元素使用不同的字体大小。但您可以根据需要调整此解决方案。
我在使用这种技术的一个应用程序中解决了这个问题。但是使用SASS
或LESS
,更容易处理所有这些。由于您使用的是AngularJS,因此您还可以定义基于语言的类,然后使用指令分配给特定的DOM元素。
答案 2 :(得分:0)
我们有一些开发每种语言CSS样式的经验。这是我们用于正确字体大小的表格。 这些字体大小的主要用途是桌面(Web)应用程序。对于移动应用程序,可能需要进行一些调整,但可能会根据这些尺寸进行调整。