【问题标题】:html font priority - can you specify two or more fonts?html 字体优先级 - 您可以指定两种或多种字体吗?
【发布时间】:2014-05-07 08:02:30
【问题描述】:

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

我在想,如果存在这样的事情,我可以采用两种(或更多)方式中的一种:

  1. 如果我可以为一种字体或什至两种字体指定一个 Unicode 范围,而另一种得到其余的。 或
  2. 如果字体选择标签可以嵌套以便内部字体将用于其中定义的所有字符,则下一个字体用于第一个中未定义的字符。也许还有第三种或默认字体可以捕捉其余字体。 (我知道已经有一个默认的后备系统,但我不知道如何控制默认设置,或者这是否会给我我想要的东西。)

是否有字体映射或字体替换机制可以满足我的需求?

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

【问题讨论】:

    标签: html unicode fonts tags


    【解决方案1】:

    如果您自己的字体仅包含希伯来语字符,您可以简单地使用首先列出该字体的font-family 声明:

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

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

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

    注意:(可能)没有名为“Ariel”的字体。常用的无衬线字体是“Arial”。

    【讨论】:

      【解决方案2】:

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

      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>
      

      【讨论】:

      • 谢谢。第一种方法肯定有帮助。有没有办法指定一个Unicode范围来使用一种字体,否则使用下一个?
      • @Harvey 如果未找到自定义字体中的字母,则自动跳转到 font-family 中指定的下一个字体,最后跳转到默认浏览器字体
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      相关资源
      最近更新 更多