提问者:小点点

我应该如何在我的网站上添加对晦涩字母的支持?


我用Express framework for NodeJS为自己做了一个网站,它的工作和我希望的差不多。

剩下的一个恼人之处是,如何最好地为世界必须提供的更晦涩的脚本和字母表提供支持。

目前,我使用的是计算机现代字体的一个版本,具体使用这些文件,我通过CSS在下面的代码中导入这些文件:

@font-face {
  font-family: computerModern;
  src: url("fonts/cmunrm.ttf");
}
@font-face {
  font-family: computerModern;
  src: url("fonts/cmunti.ttf");
  font-style: italic;
}
@font-face {
  font-family: computerModern;
  src: url("fonts/cmunbx.ttf");
  font-weight: bold;
}
@font-face {
  font-family: computerModern;
  src: url("fonts/cmunbi.ttf");
  font-weight: bold;
  font-style: italic;
}

...

body {
  font-family: computerModern, serif;
  padding-left: 20px;
  padding-right: 20px;
}

到目前为止,这一方法在某种程度上是行之有效的。 拉丁字母印刷精美,希腊字母和西里尔字母也是如此。 阿拉伯文字看起来也很漂亮,不过,在查看。ttf文件的字符列表时,我的浏览器肯定只是取出了默认的阿拉伯字体; 幸运的是,默认的阿拉伯文字体很好地补充了计算机现代。 但是,当我想用格鲁吉亚人的本族文字打印姓名时,我开始遇到更严重的困难,例如:=Salome Zourabichvili。 正确的字符是打印出来的,但我的浏览器默认的格鲁吉亚字体是丑陋的,当并排在电脑摩登。

我应该如何添加对格鲁吉亚字母和其他晦涩的脚本的支持,以便字符打印在一个与我的网站其余部分的美学相吻合的字体? 我可以想到四个潜在的解决方案,其中两个我知道如何实现,但并不令人满意,另外两个我不知道如何实现。

  1. 用包含所有所需字符的文件替换当前的。ttf文件。 不满意,因为我找不到这样的文件。
  2. 为每个模糊字母创建span类的新HTML标记,在这样的标记中包装该字母的任何文本。 不满意,因为这个网站有上千个页面,新的页面一直在添加,而且我不相信自己,更不用说其他人,记得使用适当的标签。
  1. 拼接。tff文件,即将字符从a.ttf复制到b.ttf.
  2. 将多个。ttf文件中的字符添加到一个CSSfont-family中,并使用相同的font-stylefont-weight等。

共1个答案

匿名用户

为什么不以html语言为目标,并在需要时加载每种语言的不同字体呢?

示例:

html[lang=ja]>body {
    font-family: 'Yu Gothic', Arial, Helvetica, sans-serif;
}

html[lang=ko]>body {
    font-family: 'Noto Sans KR', Arial, Helvetica, sans-serif;
}

html[lang=zh]>body {
    font-family: 'Noto Serif SC', Courier, Georgia, serif;
}

问候