【问题标题】:can fonts have a forced background color specified in the TTF?字体可以在 TTF 中指定强制背景颜色吗?
【发布时间】:2012-04-19 00:13:41
【问题描述】:

我正在尝试研究创建自己的自定义字体。我做了一些阅读,由于我对字体一无所知,所以我有一个问题我一直无法找到答案。

你能定义一个字体颜色是静态的字体吗?例如,我想创建一个字体,其中每个 A 都有蓝色背景,B 有黄色背景等。我所做的阅读似乎表明您需要将字体转换为黑色或白色。我的理解是否正确,并且不支持在字体中强制使用特定颜色,尤其是背景颜色?

【问题讨论】:

  • 我以前从未见过这样的远程;您是否正在尝试解决字符样式格式可以完成工作的简单问题?还是您尝试自己创建字体供他人使用?
  • 我正在尝试创建一个网页,其中输入框具有我描述的那些“花哨”字体,而不是常规字体。我正在考虑构建一个自定义 javascript 控件以在用户键入时放置角色的图像,以模拟输入框,但我不确定这是否适用于 iPhone 或 iPad,因为我不确定是否键盘会弹出(这是一个单独的问题,我会问)。我问了一个关于 SO 的单独问题,然后突然冒出一个想法,也许更好的方法是创建自定义字体,一切都会“正常工作”。

标签: fonts truetype


【解决方案1】:

支持取决于您的操作系统/浏览器版本,但 OpenType 1.7 支持多色字体,并且有多种选择。

前两个具有与设备无关的可扩展性优势,但它们缺乏精细的像素级细节。最后两个的优点是可以在图像中提供精细的细节,但在使用与预期尺寸不同的尺寸时,它们会显得像素化或模糊。

Roel Nieskens 在这里写了一篇不错的文章,包括一个测试页面,显示了您当前的浏览器对不同方法的支持:http://pixelambacht.nl/2014/multicolor-fonts/

OpenType 1.6 规范不直接支持多色字体,但您仍然可以选择...

  • 创建所有字形的图集纹理(基本上是与 CSS 精灵结合使用的大位图)。游戏使用这种方法,但需要注意的是它们不可扩展 - 无论如何都不是没有像素化。
  • 叠加多种 OpenType 字体的文本。多层 OpenType 是图形设计师使用的一种方法(例如在 In-Design 中)。创建多种字体,每种颜色一个字体有点奇怪,但它确实有效。您可以将浮动跨度半透明地叠加在一起。
  • 通过 InkScape 使用 SVG 字体(在支持它的浏览器子集中)。 SVG 字体可扩展并支持多种颜色(实际上几乎所有 SVG 都支持),但它们的支持有限:Opera 9+ 或 Chrome 4+,但不支持 IE10 或 FF。
  • 直接使用 SVG 组件。它不是真正的“SVG 字体”,但您仍然可以通过编程将每个字符与其对应的 SVG 部分相关联(假设我们在 ASCII 范围内,而不是整个 Unicode 中的任何字符)。当前所有浏览器都支持 SVG:Opera9、IE10、FF3、Chrome4、Safari3.2。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      字体没有颜色,所以您是对的,您不能在字体文件中强制使用特定颜色。但是,您可以在使用字体时应用您想要的任何颜色。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-25
        相关资源
        最近更新 更多