适用于中东和东方语言的HTML小字体

问题描述 投票:2回答:3

我有一篇关于这篇文章的帖子只与中东语言相关(我没有得到一个可用的解决方案),但事实证明,当切换到任何非西方语言时会出现同样的问题。

我的Web应用程序应该支持所有字符集的所有语言。从各个方面(数据库,方向等),它工作正常,除了选择例如阿拉伯语,日语,希伯来语等字符的大小明显小于英语。

我知道有一种方法可以全局扩展字体,但不知道如何做到这一点。

我的应用程序是用HTML,JavaScript和AngularJS开发的。

html css
3个回答
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元素,因为您可以为不同的元素使用不同的字体大小。但您可以根据需要调整此解决方案。

我在使用这种技术的一个应用程序中解决了这个问题。但是使用SASSLESS,它更容易处理所有这些。由于您使用的是AngularJS,因此您还可以定义基于语言的类,然后使用指令分配给特定的DOM元素。


0
投票

您可以指定外来字体。您可能必须下载该语言的字体,但您只需要用英文字体“堆叠”它。让我用这个CSS示例澄清一下:

p {
    font-family: 'AsciiSans'
               , '游ゴシック体'
               , 'Yu Gothic'
               , YuGothic
               , Meiryo
               , 'Hiragino Kaku Gothic Pro'
               , sans-serif
}

所以你可以看到他们在这里使用这种方法。 AsciiSans没有日文字符,因此浏览器将使用下一个字体。

编辑

这很重要的原因;找到与英语字体大小相同的每种语言的字体。或者找一个较小的英文字体。有很多免费字体。希望你可以使用一个国际的(也许是“OpenSans”)

e.x:

http://www.fontspace.com/category/arabic

https://fonts.google.com/specimen/Open+Sans

编辑2

要包含Open Sans,请添加以下内容:

<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">

并做<font face="Open Sans">my text</font>

或者<span style="font-family: 'Open Sans', sans-serif;">my text</span>


0
投票

我们有一些开发每种语言CSS样式的经验。这是我们用于正确字体大小的表格。这些字体大小的主要用途是桌面(Web)应用程序。对于移动应用程序,可能需要进行一些调整,但可能会根据这些尺寸进行调整。

  • 阿拉伯语:11 - 14px
  • 孟加拉语:13 - 16px
  • 西里尔文(俄文,保加利亚文,乌克兰文等):9 - 12px
  • 希腊语:9 - 12px
  • 希伯来语:9 - 12px
  • No:11 - 14px
  • 拉丁语(英语,法语,德语,意大利语,西班牙语等):9 - 12px
  • 马拉雅拉姆语:11-14px
  • 日语:11 - 14px
  • 韩语:9 - 12px
  • 简体中文:11 - 14px
  • 繁体中文:11 - 14px
  • 泰卢固语:11 - 14px
  • 泰语:11 - 14px
© www.soinside.com 2019 - 2024. All rights reserved.