惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
B
Blog
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
量子位
博客园 - 叶小钗
T
Tailwind CSS Blog
小众软件
小众软件
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
雷峰网
雷峰网
博客园 - 三生石上(FineUI控件)
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Blog — PlanetScale
Blog — PlanetScale
V
V2EX
博客园_首页
I
InfoQ
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
Workflow:Google Fonts字体下载 & iOS字体安装和使用 - 少数派
2016-12-05 · via 少数派

前言

iOS系统自7.0版本起便支持了字体文件的安装,安装后的字体将以配置描述文件的形式存储在系统中,以便文档编辑软件如Pages、Microsoft Word等进行调用,制作精美的文档。

用户可以通过 设置 > 通用 > 描述文件 访问它们并查阅删除:

IMG_3740.png

对于字体的安装,App Store中有专门的应用可以安装字体,比如AnyFont,不过需要花费12元购买。

而对于Workflow用户来说,这12元无非只是两个workflow的事情,并且自由度更高。

在安装字体文件前,我们自然需要先获取字体文件,准确地说是获取可以合法使用的字体文件。那么像Google Fonts这样拥有800多种字体,且都是可以自由使用的开源字体的网站,自然是我首先考虑的对象。

Google很慷慨地提供了桌面版网站字体文件的下载途径。类似于在淘宝、Amazon购物一样,用户往底部的小抽屉中添加心仪的字体后即可单击右上角图标打包下载。

捕获.JPG

不过在手机版网页中,该下载按钮Google并未提供,仅提供了将Google字体嵌入网页的途径。

自然,在Workflow面前这不是什么大不了的问题。

Google Fonts Downloader

点击下载我制作的Google Fonts Downloader

517c7b7a9a154f3ba1063fe760f2c84e.png

Install Font

Google Fonts Downloader的使用

像在桌面端使用Google Fonts一样,移动端同样贴心地在底部提供了一个小抽屉供你挑选字体,点击页面上的“+”符号即可添加:

357561.jpg

小抽屉会在Google Fonts的底部出现,显示你选中的字体。

最贴心的是Google Fonts的后台脚本会自动把你选择的字体的名称添加到URL的尾部,通过正则表达式即可提取。这也方便了我制作Google Fonts Downloader

使用非常简单。在选完想下载的字体后,点击浏览器的分享按钮调用Workflow运行Google Fonts Downloader,待下载完后将压缩包文件保存至任意文件管理应用。

357570.jpg

使用Install Font安装字体

Install Font的原理

首先必须声明,这个workflow是我从某国外大神的成果修改而来的(大神的Twitter)。

不过这当然并不妨碍我去理解并修改这个workflow以适应我的需要,以及说明它的原理。

其实原理非常简单,在苹果的开发者文档中可以找到详尽的说明。配置描述文件(Configuration Profile)本质是一个XML文档,它可以在用户需要配置大量机器时派上用场,只要根据苹果的规定往里面填写相应的键值并导入机器即可。这些键值都可以在文档中找到说明。

从文档中可知,字体的描述文件主要有三个关键的键值需要生成:

  1. <Name>:字体的名称,仅为了便于用户识别,可以是任意值;
  2. <Font>:字体的数据。将.ttf或.otf字体文件进行Base64编码后填入即可;
  3. <PayloadUUID>:即通用唯一识别码,系统以此判断配置文件的唯一性。若出现两个拥有相同UUID的配置文件,先导入的会被覆盖掉。

其中前两者的生成非常简单,分别对字体文件使用Get NameBase64 Encode动作即可。第三者的生成稍微麻烦点,具体原理的可以参考UUID的相关文档,本workflow中使用的是UUID v5,基于字体文件的SHA1哈希值产生,这里不细说。

以上是生成配置描述文件的核心部分,将它们填入苹果提供的模板后,我们需要将其导入系统。本workflow应用的是生成配置文件的Data URI,并使用Open URLs动作打开。Data URI的相关信息可在我的首篇文章技巧:Workflow的备份、恢复、导出、导入中找到。

Install Font的使用

在使用Google Fonts Downloader下载完字体压缩包并保存后,解压并对字体文件调用Run Workflow > Install Font(这里我使用的文件管理器是Documents by Readdle):

357582.jpg

随后Workflow会迅速生成配置描述文件并打开,系统将跳转至安装描述文件的页面,一步步的点安装、输入机器的解锁密码即可,不用理会未签名的警告:

357587.jpg

如此,这个字体文件就成功地安装在了你的机器上。

功能强化

不过当你打开我的Install Font后,你会发现有许多看似多余的动作。

这是因为在实际使用过程中,我发现许多的字体是一整个字体家族(Font Family),也就是说含有一系列的字体。比如Android的系统字体Roboto

捕获.JPG该Font Family含有12种风格(Style),下载下来的压缩包里有12个字体文件!如果要依次点击全部安装的话,工作量显然是很繁重的。

因此,最终我对Install Font做了一个升级,可以同时处理单个字体文件或含多个字体文件的压缩包。

使用时,首先将Font Family中的所有字体文件打包成zip压缩包,并对压缩包调用Install Font

357592.jpg

这里请注意,由于Workflow目前不能解析压缩包中的文件夹,请如图所示直接对文件打包(可以连同其它文件如文本一起打包,本workflow内置了过滤动作过滤字体文件)。

升级后的Install Font利用了Wait to Return动作。在安装完一个字体文件后,请通过多任务界面返回调用Workflow的应用,Workflow将继续迅速生成下一个配置文件并再次跳转至下一个字体的安装界面:

357596.jpg

如此循环往复,即使是有12个Style的Roboto字体家族,也可以迅速装完:

357599.jpg

字体的使用

在安装完字体后,便可以重启Microsoft Word等文档应用,然后调用了:

IMG_3766.png

我的使用方式

然而我并不是一个移动端的Word用户。Word也许对iPad使用者来说足够好用,毕竟屏幕大,操作空间大。而在iPhone上使用Word、Pages等毕竟有点局促。

而我之所以有动力制作出这两个动作的原因是,我同样可以在Workflow中调用字体!

本人现实中的工作是工程狮,查阅材料的性能是家常便饭,所以我制作了一个较为复杂的Workflow用于快速从数据库获取材料信息并排版生成PDF报表,便于随时随地查看和归档,以及后续的模拟工作。

这个Worflow我上传到了官方的Workflow Gallery并通过审核上架了,可以搜索下载到(虽然不是我目前自用的完全体):

357605.jpg

由于我的PDF是通过先在Workflow中制作HTML文件从而生成的,我自然可以通过嵌入CSS样式来对HTML元素进行排版和应用样式。那么选择一种美观大气的字体是绝对能提高阅览体验的。

我最终选择了紧凑简洁美观的无衬线字体Roboto Condensed

捕获.JPG在描述文件页面查看到字体的名称后,我便可以将其填入CSS的font-family属性进行应用。在此,我在自己的Worflow开头插入了一个Dictionary用于快速更改配置,包括切换字体:

357609.jpg

由此生成的、应用了Roboto Condensed字体的报表阅读体验如下:

IMG_3771.png

如上所示,安装了字体后,Workflow就可以通过CSS调用本地字体了!然后对HTML文件使用Make Rich Text from HTML动作即可进一步生成美观的文档。如果使用系统自带的字体,文档的排版对我而言看起来会比较糟糕,即使使用Helvetica也不例外。

结语

当然,本文只是Workflow与配置描述文件结合使用的一例,不足为道。

相信不远的将来能有更有趣的用法。