有效的字体系列名称

时间:2014-09-09 20:09:26

标签: html css fonts less standards

我做了一些研究,我发现了article,但它并没有完全帮助我。我对可用于命名字体系列的有效字符感兴趣。从理论上讲,我可以使用每个字符进行命名,只需将所有字符放在引号中即可吗?如何在实践中命名?

示例:

@font-face {
        font-family: '&This is my font 1234#!&&&';
        src: url('font.eot');
        src: url('font.eot?#iefix') format('embedded-opentype'),
             url('font.woff') format('woff'),
             url('font.ttf') format('truetype');
        font-weight: normal;
        font-style: normal;
}

我还想知道是否有一些标准,用于命名字体系列的约定?

1 个答案:

答案 0 :(得分:0)

Mozilla page引用W3C page中的示例。

唯一可以不加引号的字体系列名称以Alpha [a-zA-Z]开头,之后仅包含字母数字[A-Za-z0-9]。也可能还有下划线(_)。

至于引用,未指明。人们可以假设一切顺利,但谁知道哪些浏览器实际上会接受?最好在支持的浏览器上包含测试,以确保在新的或较少使用的浏览器中开发或用户错误报告中的持续支持和快速破坏。

但绝对不应该绝对有必要使用这样的角色,这可能会增加现在或将来某个地方破坏的可能性。这样的命名约定绝对是代码气味,需要重新考虑。

双引号的唯一限制是它必须引用整个字体系列名称,即不是"One Two" Three。如果引用只有Alpha或正则表达式/[a-zA-Z][a-zA-Z0-9_]+/的名称,我也注意到零星的破损。 "One","Two","Three",可能会或可能不会起作用,或部分按预期工作,或者可能没问题。

虽然只是切向相关,但在许多浏览器中仍然存在一些愚蠢的错误:monospace字体。根据{{​​3}} - 以及我在Mozilla Firefox最近每晚v58的观察 - 这仍然是这种情况。 monospace字体缩小了太多。 “修复”似乎是一个黑客,你指定monospace, monospace作为单个字体系列,NO QUOTES。引用会破坏行为并默认为继承或类似继承或等宽的东西。引用monospace打破它。引用两个都打破了它。