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

推荐订阅源

G
Google Developers Blog
博客园 - 司徒正美
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
博客园 - 聂微东
M
MIT News - Artificial intelligence
博客园_首页
Jina AI
Jina AI
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
Vercel News
Vercel News
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
N
Netflix TechBlog - Medium
B
Blog
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

少数派

派早报: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 字体安装和使用 | Ma...
2016-12-08 · via 少数派

Matrix 是少数派的全新产品,一个纯净、小众的写作平台,我们主张分享真实的产品体验,有实用价值的互联网领域经验、思考。欢迎忠于写作,喜好分享的朋友 参与内测。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

本文内容仅代表作者本人观点,文章对标题和排版略作修改,原文链接

# 2017.04.07 更新(见文章末尾):重新设计了两个Workflow,引入了最新版本 Workflow 的一些特性,效率得到成倍提高。


前言

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 Name 和 Base64 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 与 配置描述文件 结合使用的一例,不足为道。

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

# 2017.04.07 更新:



继续阅读 中文互联网内最好的 Workflow 系列教程 >