html字体优先级 - 你能指定两个或更多字体吗?

时间:2014-05-07 08:02:31

标签: html unicode fonts tags

我直接使用html文件,并在我的文本中混合使用英语,希腊语,希伯来语和阿拉姆语。我也为一些古希伯来语创建了一种字体。我想要做的是设置样式,以指定几种字体;一个用于基本默认值,如Arial,但我自己的希伯来语字体,所以当我在html中写一个段落时,我不必在英语中的每个其他单词的字体或样式标签之间来回切换,然后是希伯来语英语。我的字体只定义了Unicode希伯来语。那么我可以同时指定Arial和我的字体,所以当我输入一个希伯来字母时,它会显示使用我的字体以及它显示在我指定的其他字体中的所有其他内容吗?

我在想如果存在这样的事情,那么以两种(或更多种)方式之一工作是有意义的:

  1. 如果我可以为一种字体指定Unicode范围,甚至可以为两种字体指定Unicode范围,另一种则为其他字体。 或
  2. 如果字体选择标签可以嵌套,那么内部字体将用于其中定义的所有字符,那么下一个字体将用于第一个未定义的字体。并且可能有第三种或默认字体可以捕获其余部分。 (我知道已经有一个默认的回退系统,但我不知道如何控制默认值,或者这是否会给我我想要的东西。)
  3. 是否有字体映射或字体替换机制可以解决我想要的问题?

    任何帮助将不胜感激。 谢谢, 哈维

2 个答案:

答案 0 :(得分:1)

如果您自己的字体仅包含希伯来字符,您只需使用首先列出该字体的font-family声明:

font-family: MyHebrew, Arial, sans-serif;

根据基本的CSS原则,您的希伯来语字体将用于其中包含的所有字符,与其他字体是否也包含它们无关。

如果您的字体包含拉丁字母,并且您不想使用它们,那将会更复杂。在这种情况下,unicode-range中的@font-face定义原则上会有所帮助,但由于对它的支持有限,使用span元素包装文本片段会更实际元素并在它们上设置不同的字体。

注意:(可能)没有名为“Ariel”的字体。常用的sans-serif字体是“Arial”。

答案 1 :(得分:0)

如果之前在用户浏览器中不可用,您可以指定替代字体:

font-family: MySuperCoolFont, "Times New Roman", Georgia, Serif;

或者您可以为不同的字体定义不同的类:

.normal{
    font-family: Arial;
}

.foo{
    font-family: MySuperCoolFont;
}

<div class='normal'>
    Some normal text <span class='foo'>Text in MySuperCoolFont</span>
    normal text continued.
</div>