火花:一种用于在没有代码的文本中创建迷你图的字体

2020-05-07 01:56:13

要在您的网页中快速包含字体,您可能希望使用我们的样式表,该样式表定义了GitHub上托管的所有字体和相关文件的链接。

Spaks使用OpenType的上下文替代功能对数字执行简单的替换操作。它既可以在桌面上工作,也可以在没有Javascript的网络上工作,尽管它确实需要一个现代的网络浏览器,可以利用文本中的OpenType功能。目前,它与Microsoft Word(2010及更高版本)、Apple Pages、Adobe Creative Cloud Applications、Chrome 33+、Safari 6+、Firefox 4+和Internet Explorer 10+兼容。(有关浏览器兼容性的更完整列表,请参阅:http://stateofwebtype.com/。)。

目前有三种变体:条形、圆点和点线(线状图表,线段之间的连接处有小点),每种都有五种不同的粗细。

这三个变种都使用0-100的固定比例。如果您的数据仅为10,您需要首先将您的数字转换为满分为100,否则您最终将呈现一个特别小的图表。

上下文替代特性(CALT)被嵌入到OpenType中,而Spark只是以一种非传统的方式利用了这一特性。它接受123{30,60,90}456这样的字符串,并输出迷你图。示例123{30,60,90}456具有由123和456构成的三个数据点30、60和90。逗号后面的空格将防止数字被转换。括号外的数字永远不会转换。

将Spark用作Web字体时,您可能希望显式启用CALT功能。在大多数现代浏览器中,默认情况下会启用上下文连字,但为了支持较旧的浏览器,您可以使用以下CSS(示例摘自Adobe在CSS页面中针对OpenType功能的语法):

如果您使用的是MS Word,则需要启用“使用上下文替换”功能才能绘制迷你图。您只需转到";格式&>字体&>高级";并启用它,就可以做到这一点。

从OpenType面板菜单(Window>;Type>;OpenType)打开上下文替换项。这是一张截图。

有时默认情况下激活上下文替代,有时则不激活。我们不知道为什么。使用OpenType菜单确保它们已打开,该菜单位于字符调色板(Character>;Options>;OpenType&>Context Alternates)的选项菜单中。这是一张截图。

在字体文件中,支持条形和点变化替换操作的代码工作方式如下:

FEATURE CALT{忽略次零逗号空格;子手环,按图表000;子手环,按图表;}CALT,按图表,000;次零,逗号#39;按图表,000;},按图表000;}CALT;,由图表000;忽略次零逗号空间;子手环,按图表000;}CALT;,按图表000;子手镯,按图表000;}CALT;,按图表000;次零,逗号#39;按图表000;}CALT;,由图表000;}CALT;按图表000;忽略次零逗号空格;子手环,按图表000;子手环,按图表。

而点线变体的代码稍微复杂一些,看起来有点像这样:

@theDots[dot.000dot.001.。dot.100];@linesTo000[line.000.000 line.001.000.。linee.100.000];#100多个这些类,每个可能的位置一个。要素CALT{查找点忽略{忽略小于零的逗号;#.。对所有其他100个数字重复上述步骤。}dotsIgnore;Lookup DotsSolo{SUB BY DOTT100;#.(由点100;#查找DotsSolo{SUB BROWLEFT';ZERRIGHT';By dot.100;#.。对所有其他100个数字重复上述步骤。}dotsSolo;查找圆点首字母{SUB TRALELEFT;ZERO';COMMA&39;by dot.000;#.。对所有其他100个数字重复上述步骤。}dotsInitial;查找点中{零以下逗号;由点000;#.。对所有其他100个数字重复上述步骤。}dotsMedium;查找圆点最后{负零括号由圆点000;#.。对所有其他100个数字重复上述步骤。}dotsFinal;查找行所有{sub@theDots';dot.000 by@linesTo000;#.。对所有100个其他职位重复上述步骤。}linesAll;}CALT;

从理论上讲,点线变化可能就像条形和点变化一样,只有一轮字形替换,但是,因为点线字体绘制的是连接,而不是单个位置,所以您最终会得到多行代码(几乎11k)。抽象来说很好,但事实证明OpenType对单个查找表中可以包含的代码行有限制(大约3k-因为原因,查找表中的所有内容都必须适合16位),因此编译失败。当然,有很多方法可以绕过这一点,但这是一个令人头疼的问题。点线版本按以下顺序对问题进行排序。

然后用数字替换适当的点字形(就像在条形和点形变体中一样,但是这里的顺序要重要得多)。

这是可行的,因为OpenType替换是一个线性过程,其中每个规则都读取前一个规则的输出,因此您可以链接替换。(对这一说法有这么多警告,但那是改天再说了。有关OpenType字形替换是如何怪异的更多信息,请查看这个令人惊叹的博客帖子。)

洪水过后是一家总部设在伦敦的设计咨询公司。我们与谷歌(Google)、日经(Nikkei)和福特(Ford)等全球公司合作,解决业务问题,将我们对人工智能和数据的理解结合起来,作为一种具有独特用户洞察力的材料。我们的咨询模式意味着保证能够接触到我们的顶级团队。我们的方法是以用户为中心,精益求精,向客户展示进展,并与各种专业合作伙伴合作。