我用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。 正确的字符是打印出来的,但我的浏览器默认的格鲁吉亚字体是丑陋的,当并排在电脑摩登。
我应该如何添加对格鲁吉亚字母和其他晦涩的脚本的支持,以便字符打印在一个与我的网站其余部分的美学相吻合的字体? 我可以想到四个潜在的解决方案,其中两个我知道如何实现,但并不令人满意,另外两个我不知道如何实现。
span
类的新HTML标记,在这样的标记中包装该字母的任何文本。 不满意,因为这个网站有上千个页面,新的页面一直在添加,而且我不相信自己,更不用说其他人,记得使用适当的标签。font-family
中,并使用相同的font-style
,font-weight
等。
为什么不以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;
}
问候