# 5. 编程字体

内核恐慌 · 2014-11-30

<https://lib.pan.icu/e58ed528-a5e5-4ebe-9e8a-0bebdd1a5063>

本期《内核恐慌》中，主持人Rio与吴涛全面探讨了编程字体的选择标准与推荐列表，重点讨论了等宽字体在代码可读性中的核心作用。他们指出优秀的编程字体必须清晰区分易混淆字符（如数字0与大写O、小写l与大写I），并介绍了无衬线与衬线、斜体支持等审美维度。吴涛力荐PragmataPro，以极窄字宽和低廉行高实现单屏显示更多代码；Rio则偏爱Input Mono的可定制性，允许用户调整字形细节。此外还回顾了Monaco、Menlo、Consolas等经典字体的历史与特点，并强调了字体设计的版权价值。节目最后鼓励听众通过尝试不同字体来打造个性化的编程环境。

## Questions this episode answers

### 怎样在macOS上将系统字体换成Apple Watch的San Francisco？

在San Francisco字体随Watch SDK发布后几小时，有人修改了字体header表并在GitHub上提供下载。将字体文件复制到/Library/Fonts/目录后重启系统即可。吴涛表示他正在使用，除Chrome标签基线稍低导致部分下降字母被切掉外，整体感觉良好。

[54:34](https://lib.pan.icu/e58ed528-a5e5-4ebe-9e8a-0bebdd1a5063?t=3274000)

### PragmataPro编程字体有什么独特之处？值得购买吗？

PragmataPro由意大利设计师Fabrizio Schiavi专为程序员设计，最大特点是极窄，1440x900屏幕的终端中可并排显示两个80行宽面板。提供四个字重，有点阵优化版，包含Haskell等语言的专用连字。Essential版每个字重19欧元，吴涛认为物有所值，能减少滚动。

[1:56:43](https://lib.pan.icu/e58ed528-a5e5-4ebe-9e8a-0bebdd1a5063?t=7003000)

### Input Mono字体有哪些可定制的选项？

Input Mono由Font Bureau推出，用户可在其网站定制字符形状，如小写a的单层/双层、g的开口/封口、i和l的底部有无横线、数字0的样式（点或斜线）、星号的上下位置等。定制后生成专属字体文件。Rio推荐其等宽版为主编程字体，并赞赏其允许在不同语法元素使用不同字体的灵活性。

[1:27:29](https://lib.pan.icu/e58ed528-a5e5-4ebe-9e8a-0bebdd1a5063?t=5249000)

### 德国车牌上用的FE-Schrift字体是如何防止号码被篡改的？

FE-Schrift（防篡改字体）设计确保每个字母不能通过添加或删除笔画变成另一个字母。例如O设计成鸡蛋形（上半尖下半宽），无法加一撇变Q；Q的右下角是三角形，无法盖住变O；数字0的右上角被切断，与O区分明显。吴涛解释这一设计使篡改车牌极难。

[1:01:51](https://lib.pan.icu/e58ed528-a5e5-4ebe-9e8a-0bebdd1a5063?t=3711000)

## Key moments

- **[0:00] 编辑补遗**
  - [0:51] Vi的官方读音是V-i，Vim则念成一个音节
  - [1:05] 吴涛因喜欢Vi编辑器而偏爱《英雄联盟》中同名角色Vi
  - [1:30] Vi是唯一被POSIX官方祝福的编辑器，而Pro不是
  - [2:09] Eclipse自带Emacs键绑定，Vi键绑定需装插件
  - [3:26] Rio自我纠正：Android Studio基于IntelliJ而非Eclipse
  - [4:05] Google因Eclipse太烂而基于IntelliJ开发了Android Studio
- **[29:52] .NET 跨平台**
  - [29:52] 微软发布Visual Studio Community 2013，免费且支持插件
  - [30:28] 微软宣布.NET平台将跨平台开源，但仅限于服务器端
  - [31:44] 吴涛是C#和.NET的忠实粉丝，心中一直为它保留柔软角落
  - [34:00] Unity引擎基于Mono实现，Mono是.NET的开源实现，但兼容性有问题
  - [34:25] 吴涛预测.NET跨平台要5到10年才能见到成效
  - [34:55] ASP.NET在GitHub上开源，Mac用户可通过Homebrew安装
- **[39:53] Handmade Hero**
  - [39:53] 38岁资深游戏开发者直播《Handmade Hero》系列，从零开始写游戏
  - [41:35] 《Handmade Hero》从11月19日起每天直播一小时编程，已持续六天
  - [45:12] 作者在Windows下用Emacs写代码，使用Visual Studio仅做调试
  - [46:21] Eclim项目允许在Vim中调用后台Eclipse进程，获取IDE功能
  - [49:31] 德国学徒制通过观察老师傅工作来学习无法书面传授的技巧
  - [53:47] 赞助《Handmade Hero》15美元可获取代码及最终游戏拷贝
- **[54:20] San Francisco**
  - [54:34] Apple Watch SDK包含新San Francisco字体，被好端者修改为系统字体
  - [55:12] 吴涛认为San Francisco非常像德国工业标准字体DIN 1451
  - [56:00] DIN 1451是德国国标字体，常见于高速公路路牌
  - [57:05] San Francisco改进了DIN 1451的小写r和l等不让人喜欢的细节
  - [1:00:09] 编程字体必须清晰区分容易混淆的字符，如I/l/1、o/O/0等
  - [1:01:16] 德国车牌使用FE-Schrift防篡改字体，字母无法通过添加笔画变为其他字母
- **[1:07:49] 字体要素**
  - [1:08:57] 吴涛 vs Rio: 选择等宽还是非等宽字体编程？两人各执一词
  - [1:11:33] 吴涛：“我一生中见到非等宽字体编程的人可能只有两个，一个是我自己”
  - [1:13:36] Rio推荐Input字体，提供等宽和非等宽版，可自定义字形细节
  - [1:16:21] 吴涛认为Input字体的方括号与花括号视觉高度相近，容易混淆
  - [1:18:48] 编程字体的数字1通常带有头或尾，小写l有尾巴，大写I上下出头
  - [1:24:55] 吴涛 vs Rio: 小写i上的点应是圆点还是方点？个人偏好不同
- **[1:27:04] 字体推荐**
  - [1:27:04] Input字体允许定制小写a、g、i、l、数字0等多种字形样式
  - [1:34:21] Input字体由The Font Bureau推出，因其可定制性引发热议
  - [1:35:14] 字体需要购买授权，微软曾因Helvetica昂贵而选择廉价的Arial
  - [1:38:10] Source Code Pro字宽扁平，且缺少斜体，因此被Rio弃用
  - [1:40:06] 吴涛 vs Rio: 代码注释该不该用斜体？两人看法相反
  - [1:44:46] Monaco由Susan Kare设计，曾是Mac上经典的等宽字体

## Speakers

- **Rio** (host)
- **吴涛** (host)

## Topics

字体

## Mentioned

Anonymous Pro (product), Consolas (product), DIN (product), DejaVu Sans Mono (product), Emacs (product), FE-Schrift (product), Input (product), Linux Libertine Mono (product), Menlo (product), Monaco (product), OCR A (product), OCR B (product), PT Mono (product), PragmataPro (product), San Francisco (product), Source Code Pro (product), Terminus (product), VGA Font (product), Vim (product), Visual Studio (product)

## Transcript

### 编辑补遗

**Rio** [0:01]
呃 ， 大家好 ， 欢迎收听第 5 期的 《 内核 —— 内核恐慌 》。

**吴涛** [0:06]
就是刚才差点说成 "IT 公论 " 是吧 ？

**Rio** [0:08]
对 ， 我当时在想到底是什么节目 。 呃 ， 然后这一期还是由我 ， 呃 ，Rio 和吴涛为你们主持 。

**吴涛** [0:15]
嗯 ， 大家好 。

**Rio** [0:16]
在今天节目开始之前呢 ， 我们做一个简单的 follow up 吧 。 然后上一期节目里面我们提了很多编辑器 ， 哈 ， 当然也 —— 我们也漏了很多马脚 。

啊 ，有有有 。

**吴涛** [0:27]
没错 。

**Rio** [0:27]
然后有很多朋友给我们反馈 ， 比如说那个 ， 呃 ，Vim 的祖先那个编辑器叫做 Vi 的读音 ， 当时我忘了是你还是我念成了是 V 了 ， 对吧 ？

**吴涛** [0:38]
对 ，其实我有好几次是 Vi 和 V 混着念的 。 因为有时候我会说到一半想说 ： 我这个具体指的到底是 Vim 还是 Vi 呢 ？

但如果是指 Vi 的话 ， 念出 "V——" 然后就说 ， 哦 ，Vim 就是 V 好了 。

**Rio** [0:51]
哈哈哈 ， 对 ， 就其实 Vi 那款编辑器的官方读音就是念那两个字母而已 ， 就 V-i。

**吴涛** [0:59]
对 。

**Rio** [0:59]
啊 ， 然后 Vim 是另外一个念法了 ， 就是念成一个单 —— 一个音节的这样 。

**吴涛** [1:05]
对 。 如果念成 V 的话 ， 那么 ， 呃 ， 群众们喜闻乐见的这个 ， 呃 ，online game， 呃 ，Lo-Lo-Legend of Heroes？

**Rio** [1:15]
嗯哼 。

**吴涛** [1:16]
No, uh, League of Legends, sorry。 呃 ，LoL， 撸啊撸里面那个一个一个 ， 呃 ， 女警官的名字叫做 V，而且就是拼 —— 拼写成 V。 我很喜欢她 ，因为我很喜欢 V。

**Rio** [1:28]
OK， 找到原因了 。

**吴涛** [1:30]
挺二的 。 然后还有一个披露是 ， 我说 Pro 是 Posix——Posix 的一部分 ，Vi 的确是 Posix 的一部分 ，但是 Pro 不是 。

**Rio** [1:40]
Emacs 是吗 ？

**吴涛** [1:41]
Emacs 不是 。

**Rio** [1:42]
OK， 所以 Pro 不是 。

**吴涛** [1:43]
对 ，Posix 唯一官方祝福过的编辑器就是 Vi。

**Rio** [1:49]
我们还是跟对了组织 。

**吴涛** [1:50]
没错 。 然后， 呃 ， 我当时应该是把它想成 Awk 或者是 Sad 了 。 就是 Pro 经常拿来 —— 因为有很多 ， 呃 ， 文件 ， 呃 ， 就是文本替代的功能 ， 用 Pro 会比 Awk 或者 Sad 快很多 。

**Rio** [2:04]
嗯哼 ， 对 。

**吴涛** [2:05]
方便很多 ， 我的意思是 。 但但 Pro 不是 Posix 的一部分 。

**Rio** [2:09]
OK。 呃 ， 还有一个是提到是说 Eclipse 是自带 Emacs binding 的 ， 然后 Vim 反而是要装插件 。 这个是讲什么 ？

**吴涛** [2:20]
对 ， 这个就是我 —— 我们两个说起来 ， 说 Vim 的 ， 呃 ， 快捷键很容易记 ， 很容易找到 。

**Rio** [2:26]
嗯哼 。

**吴涛** [2:27]
呃 ， 比如说在很多知名的编辑 —— 编辑 IDE 里面都有 Vi 的 key binding，但实际上， 呃 ，以 Eclipse 而言 ， 它自带 Emacs 的 key binding， 反而是 Vi 的 key binding 需要装插件 。

**Rio** [2:42]
OK。

**吴涛** [2:42]
所以 ， 对 。

**Rio** [2:44]
就起码在 ， 像香姐提到过了 ， 就在 OSTen 里面 ， 它有很多最基本的 Emacs keybinding。 然后， 呃 ， 我那天不是还发了一个我自 —— 自了一个桌面 ， 让提醒自己怎么去记那些快捷键吗 ？

**吴涛** [2:57]
哦 ， 那个桌面是你自己做的 ？

**Rio** [2:59]
啊 ， 对啊 ， 对 。 因为因为有时候我就会忘掉那几个嘛 。 因为这个不像 —— 因为用的毕竟不像 Vim 那么熟悉 ， 哈 ， 然后有些比较常见的操作有可能会忘掉 。

所以提醒一下自己吧 ， 可以有一个这种 ， 呃 ， 叫什么 ，cheat sheet？ 这中文叫什么 ？

**吴涛** [3:15]
手册 ？ 就是 ——

**Rio** [3:17]
速查手册 。

**吴涛** [3:18]
笔条 ， 应该叫笔条 ， 作弊的笔条 。

**Rio** [3:20]
OK。

**吴涛** [3:22]
Cheat sheet。 呃 ， 对 ， 你可以放出来以示 —— 以示听众 。

**Rio** [3:26]
好 。 呃 ， 还有一个事情是 ， 我犯了一个很严重的错误 ，但是我不知道 ，3 号我一直认为这件事情就是这么子的 ， 就这么样的 ，但是这是错的 。

就是 Android Studio 那个 IDE， 它不是基于 Eclipse， 它是基于 IntelliJ 的 。

**吴涛** [3:44]
嗯哼 。

**Rio** [3:44]
然后但是我一直想 ， 我有很强烈的这个印象说 ， 哇 ， 这个这么糟糕 。Anyway， 那这是我记错了 。

**吴涛** [3:51]
你你可能是你你当初尝试 Android 开发的时候 ， 已经是太早的时光 。 那个时候 Android 的开发是要靠 Eclipse 加一个插件来做的 。

**Rio** [4:03]
所以这个是后来才出现的是吧 ？

**吴涛** [4:05]
对 ，Google 实在是看不下去了 。Google 说 Eclipse 这么烂 ， 我怎么能让我的开发者们遭受这种苦 ， 我要搞一个好一点的 。

然后就用 ， 呃 ，IntelliJ 改了一个 。

**Rio** [4:15]
OK。 呃 ，anyway， 这里不好意思黑了一下 Android Studio， 然后非常抱歉 ， 纠正一下 。

**吴涛** [4:22]
呃 ， 对 。 然后作为一个果粉 ， 你的行为是可以被理解的 。

**Rio** [4:27]
哈哈哈 ， 免死金牌 。

**吴涛** [4:29]
Yeah。

**Rio** [4:30]
OK。 呃 ， 还有一次是我们有提 —— 我们有漏提到很多编辑器 ， 哈 ， 这里其实我大部分也没用过 ， 要不你给大家提一下吧 。

**吴涛** [4:40]
对 ， 可能做前端的朋友们会比较熟悉 ， 若干比较 ， 呃 ， 花哨加引号的花哨的编辑器 。 比如说 Espresso 这个 ，是由 MacRabbit 出的一个非常漂亮的编辑器 。

**Rio** [4:55]
嗯哼 。

**吴涛** [4:56]
它有很多专为前端所准备的功能 ， 比如说锁键机所得的色彩提取器呀 ， 呃 ， 非常完美的 SCSS 和 SASS 的语法高亮支持啊 ， 至少在当时这是很少见的 。

**Rio** [5:11]
这个我还有印象 ， 我记得它有自带一款叫做同名的字体 ， 对不对 ？

**吴涛** [5:16]
Espresso 字体吗 ？

**Rio** [5:17]
对对 ， 好像就是这个编辑器自带的 。

**吴涛** [5:19]
对 ，是它 。 因为对 ，因为它当 —— 而且它当时对 CoffeeScript 也支持 ， 就是锁键机所 ， 呃 ， 就是即时 —— 即时编译啊之类功能 ， 它都集成在那个编辑器里面了 。

**Rio** [5:32]
啊 ， 就是前端最爱的吧 。

**吴涛** [5:34]
对 ，因为它它叫 Espresso 嘛 ， 就是用来写 CoffeeScript。

**Rio** [5:38]
哈哈哈 。

**吴涛** [5:39]
对 。 然后这个东 —— 这个玩意的售价是 75 美刀 ， 我试了大概不到一个礼拜就没有再用了 。

**Rio** [5:46]
OK。

**吴涛** [5:47]
对 。 然后另外一个比较也是前端比较 ， 呃 ， 常用的编辑器叫 Coda。

**Rio** [5:53]
OK。Coda 是哪 —— 哪间公司做的 ？ 名字好熟啊 。

**吴涛** [5:57]
呃 ，Coda 是 ——

**Rio** [5:59]
做那个 。

**吴涛** [6:00]
做那个做 Transmit， 就 Panic 吧 。

**Rio** [6:03]
Panic， 对对对 ，Panic。

**吴涛** [6:04]
对 。

**Rio** [6:05]
这个也是一个不错的编辑器 ， 它有 iPad 版 ， 哈 。

**吴涛** [6:09]
没错 ， 它有一个 iPad 版 ， 叫做 " 健怡可乐 "，Diet Coda。

**Rio** [6:13]
Diet Coda。OK。

**吴涛** [6:16]
对 ， 它最大的特点大概是它把那个发布系统集成在了编辑器里面 。 就是你可以点一个建立一个网站的工程 ， 然后这个工程里面包含 FTP 或者是 SSH over FTP， 那种 FTP over SSH 之类的这么一个发布工 —— 发布工具 。

你设定好之后， 然后你在里面编辑 ， 编辑好之后按一下键 ， 呃 ， 按一个按钮 ， 然后整个网站就会自动被更新到那个原端网站上 。

**Rio** [6:45]
所以那个什么 Panic 还是挺鸡贼的 ， 哈 。他说反正那个 Transmit 都做了 ， 就把那一部分代码拿过来集成到编辑器里面就好了 。

**吴涛** [6:54]
没错 。

**Rio** [6:55]
Good。

**吴涛** [6:55]
没错 。 我觉得它可能面向的主要的受众也是 ， 就希望有一个一站式解决方案的新前端工程师吧 。

**Rio** [7:03]
对对对 。

**吴涛** [7:04]
然后对 ， 它也挺贵的 ，99，99 美元 。 然后我大概 。

**Rio** [7:08]
Mac 用户人傻钱多 。

**吴涛** [7:11]
对 ， 人傻钱多 ， 速来 。 然后， 呃 ， 我倒是买了那个 Diet Coda 在 iPad 上 。 因为当时我傻不拉几的觉得在 iPad 上写程序也许是将来的风潮 ， 然后就买了一个 ，但是觉得在 iPad 上写 —— 写程序实在是太酷逼了 。

**Rio** [7:27]
所以所以当时你是怎么想的 ？ 你是要尝试一下这种新的工作模式吗 ？

**吴涛** [7:32]
对啊 ， 我觉得因为那个时候觉得好像 ， 呃 ， 随时随地可以拿出一个 Pad 来在一个 Tablet 上面改程序 ， 好像还挺 —— 挺 fashion 的 。

那时候那时候我还用的就是第一代 iPad。

**Rio** [7:47]
嗯哼 。

**吴涛** [7:48]
现在 ， 嗯 。

**Rio** [7:50]
所所以其实我当时也是做过这种事情 ，但是我是买了那个 ， 那个叫什么 ，Prompt， 就是它那个 iPad 上面用的 ， 就 iOS 上也可以用 ， 哈 ， 就 iPhone 也可以用的 SSH 的工具嘛 ， 然后到服务器上再用 Vim 写的 。

但是 ， 嗯 ，for some reason 就是体验还不是特别好吧 ， 我觉得 。

**吴涛** [8:10]
对 ， 我们中文还是老一代人， 可能还是不习惯 。

**Rio** [8:13]
对 ， 我们还是就那个什么 ， 呃 ，不是说经常有个比喻吗 ， 说后 PC 时代用 PC 就像开卡车一样 。 我们就说那个 truck driver。

**吴涛** [8:23]
嗯 ， 长 —— 就我小时候经常在文学作品里面看到一个比喻 ， 说长得一张卡车司机的脸 。 然后我想 ， 卡车司机长什么脸 ， 长卡车司机的脸有什么特别之处 ？

**Rio** [8:32]
我我想起那个广告 ， 你看过那个 ， 我不知道你还看过没 ， 那个 Volvo 的那个卡车的那个广告 ，是找那个 。

**吴涛** [8:39]
啊 ， 尚格云顿 。 呃 。

**Rio** [8:40]
对对对 。

**吴涛** [8:41]
Vancloud。

**Rio** [8:42]
那就是卡车司机的脸在我印象中 。

**吴涛** [8:44]
对 ， 一个硬汉 。 如果大家没看过的话 ， 我大概形容一下， 就是沃尔沃为了强调自己的倒车系统有多么的 ——

**Rio** [8:52]
平稳吧 。

**吴涛** [8:53]
好像是 。 对 ， 非常平稳 。 因为它的倒车系统是 ， 呃

， 电 —— 反正是大概就是电子帮助你去选择一个最合适的方向 。 然后然后尚格云顿 ， 呃 ， 拍了这样一个广告 ， 就是你一开始看见尚格云顿的脸 ， 呃 ， 然后慢慢镜头慢慢拉远 ， 你会看到他抱在胸 —— 双手抱在胸前 ， 然后背后是一片夕阳 ， 非常漂亮 。

然后， 呃 ， 镜头继续拉远 ， 你会发现他正劈着叉 ， 可是你也会注意到他正在移动 。 然后再拉一点 ， 再拉远一点 ， 你会发现尚格云顿的两只脚分别站在两辆沃尔沃重型拖车的后视镜上， 应该是 。

**Rio** [9:33]
对对 。

**吴涛** [9:33]
然后这两辆沃尔沃拖车 ， 当镜头继续拉远的时候 ， 你会发现它们两 —— 这两辆拖车竟然是在一起倒车 。

**Rio** [9:42]
对 。

**吴涛** [9:43]
就是两辆拖车在倒车的同时， 可以保证其间隙的变化可能不超过几公分 。 因为如果否则的话 ， 尚格云顿就会在劈叉的状态下掉下去 。

**Rio** [9:55]
哈哈哈 。 对 ， 当时当时我看那个视频的时候觉得蛮挺震惊的 ， 我说 ， 哇 ， 这个太屌了 。

**吴涛** [10:02]
对 ， 你知道吗 ， 这个这个广告还有很多 parody，在网上有很多很多的 parody。

**Rio** [10:07]
对对对 ， 我看很多模仿它的嘛 。

**吴涛** [10:10]
呃 ，有什么一个小伙子踩在那个两辆 scooter 上， 然后然后 。

**Rio** [10:16]
有一个小 —— 还有一个小女孩踩在两辆那个什么婴儿车上 。

**吴涛** [10:20]
对 ， 最重要的是 ， 就是这个广告的最最有意思的一点就是 ， 呃 ， 它是有画外音的 。 画外音说的大意是说 ， 你们现在看到的是一具经过高度训练的肉体 ， 呃 ， 踩在两个精确移动的货车之类的什么机械上面 。

然后这段 parody， 这段话也被那个 parody 们拿来改 ， 比如说那个踩在两辆 scooter 上的人说 ：" 现在你们看到这具这具身体 ， 明天一定会恨我 ，因为我现在做这么蠢的事情 ， 踩在两辆 scooter 上 。"

**Rio** [10:55]
对啊 。OK，OK， 扯远了 ， 哈 。 呃 ， 再说回来 ， 还有几个编辑器你也给大家过一下 。

**吴涛** [11:01]
呃 ， 对 。 然后 Coda 一个编辑器的当时的一个卖点是 ， 它把那个 ， 呃 ，live preview， 呃 ， 集成在编辑器里面 。 就是你你在整个编辑器的上半部分写代码 ， 下半部分就可以看到你写的这个页面的效果 。

就是你一存盘 ， 下面的页面就改了 。

**Rio** [11:19]
HTML 吗 ？

**吴涛** [11:20]
对 ， 呃 ，HTML 或者是 PHP 或者是它反正它支持那种语言应该都可以 。

**Rio** [11:25]
啊 ，OK， 这还挺黑科技的 。

**吴涛** [11:27]
嗯 ， 对 ，但是对 ， 如果你习惯去自己折腾的话 ， 那这种功能早就可以通过什么什么 ， 呃 ， 啊 ， 那个东西叫 auto-reload 呀 ， 或者是 。

**Rio** [11:40]
对对 ，live reload 之类的 。

**吴涛** [11:42]
是 ， 对 ， 或者是可以 ， 呃 ， 直接通过 OSTen 的那个一个一个一个一个 service 来实现 。 就是你写一段脚本 ， 先是一个目录 ， 然后接上这个 ， 当这个目录里面有文件改动的时候 ， 你就用 AppleScript 去告诉 Chrome 刷新某一个带某一个特定关键字的 ， 呃 ，tab。

对 ， 诸如此类的功能其实也可以 。

**Rio** [12:07]
这是什么 ？ 这是那个 ， 呃 ， 前端开发件的 repo？

**吴涛** [12:12]
嗯 ， 对 ， 没错 。其实就是这样 ， 就是你要是愿意花钱的话 ， 你可以买到这种也许你需要自己折腾才可以实现的功能 。

然后你自己不用去操心升级啊之类的 ，但是你也就由此受制于人， 你不能说你随心所欲的想要做点什么 。

就就比如说上次我提到那个 ， 呃 ，Watchdog， 那个自动删除 Xcode 临时文件的工具 。 如果你愿意的话 ， 你可以自己去写一个脚本 ， 就监视某一个 ，因为你知道 Xcode 的那个临时文件在哪 ， 你监视那个文件夹 ， 然后一旦 ， 呃 ，X， 呃 ，Xcode 进程退出 ， 你自动把那个文件删掉就好了 。

但是 。

**Rio** [12:50]
就做一个 shell 脚本就可以了嘛 。

**吴涛** [12:52]
对啊 ，但是 somehow 我就土偷懒买了一个 app。

**Rio** [12:57]
这个什么 ， 能用钱解决的事情是最便宜的嘛 。

**吴涛** [13:01]
哈哈哈 。 对 ，也许也许自己写一个脚本解决它的成 —— 实际时间成本是要高过这个 ， 呃 ，app 的售价 。

**Rio** [13:11]
这不用也许了 ， 这几乎是一定的 ， 好吧 。

**吴涛** [13:13]
OK， 对 。Anyway， 呃 ， 下一个我们忘记提到的 ， 或者说 ， 呃 ， 值得提到的一个编辑器叫做 Bracket。

**Rio** [13:22]
嗯哼 。

**吴涛** [13:23]
呃 ，Bracket 有点像 Atom，但是要比 Atom 早一点点 。 它也是基于 Vacant 做的一个编辑器 ，而且它的 ， 嗯 ， 功能还是很丰富的 ， 呃 ，但主要也是做前端用 。

**Rio** [13:38]
嗯哼 。

**吴涛** [13:38]
嗯 ， 没有什么可圈可点之处 ， 要我说的话 ，但但还是值得试一下 。

**Rio** [13:44]
对 ，WebKit 无碍 ， 对吧 ？

**吴涛** [13:46]
对 ， 就是它越跑一阵变卡 ， 跑一阵变卡 。

**Rio** [13:49]
啊 ， 那必须 。 那你就什么内存那个什么 ，有泄露吗 ？ 垃圾回收没错 。

**吴涛** [13:54]
我不知道 ，但但它的迭代非常快 。 就是它的 ， 你可以在 Trello 上面看到整个项目的迭代过程 。 就基本上是几周就会 release 一个新版本 ， 甚至几天就会 release 一个新版本 。

**Rio** [14:06]
就什么 ，以 JavaScript 开的发布方式做编辑器 。

**吴涛** [14:10]
没错 。

**Rio** [14:10]
这真的好吗 ？ 但是我不太清楚 ， 哈哈哈 。

**吴涛** [14:14]
对 。 然后， 呃 ， 还有一个我上一次其实是非常想要提到 ，但是忘记的编辑器叫做 Vico，V-I-C-O。

**Rio** [14:23]
嗯哼 。

**吴涛** [14:24]
呃 ， 我曾经觉得这个编辑器如果可以做完美的话 ， 那我完全可以不用 Vim 了 。 因为它的目标就是做一个 ， 呃 ，from scratch 做一个 OSTen 下面基于 Coco 的 ， 呃 ，Vim。

你可以你可以这么理解 ， 就是它所有的 key binding， 就是它也是一上来就是模态 。 它它和其他的编辑器最大的差别在于 ， 它是一上来就原生支持模 ， 呃 ， 模态 。

**Rio** [14:51]
嗯哼 。

**吴涛** [14:52]
并且默认也是你会以使用 Vim 的方式使用它 。 它和 Vim 的唯一差别就大概在于它是一个纯图形界面的 。

**Rio** [15:01]
OK。

**吴涛** [15:02]
纯 ， 对 ， 只有 ， 呃 ， 应该是只有 ， 应该是用的时候是只有图形界面的编辑器 。 而且它的 ， 它支持用当时一种用一种叫做 NuScript 的方式可以直接和 OSTen 的内部沟通 。

就是它应该是实现了一个 NuScript 到 ， 呃 ，objective C runtime 的 。

**Rio** [15:23]
一个桥是吧 ？Bridge 吧 ， 应该是 。

**吴涛** [15:26]
有可能 。

**Rio** [15:26]
嗯哼 。

**吴涛** [15:27]
对 ，但是这个项目后来夭折了 。 就是我我花了钱买的 ， 大概 20 是 29 欧还是多少欧的这么一个工具 。

当时是 0.7 版还是哪个版本 。 然后作者 ， 呃 ， 大概 6 个月没有更新 ， 最后写了一篇 blog 说 ， 啊 ， 我觉得 Sublime Editor 才是将来的发展方向 ， 我这个项目不做了 。

**Rio** [15:49]
哈哈哈 。 哎 ， 它它为什么挂掉了 ？

**吴涛** [15:53]
就是我觉得就是 ， 呃 ， 开发者觉得太小众了 。 因为 Sublime Text 其实是比较方向是比较对的 。 就是它做了一个编辑器 ， 然后这个编辑器支持 ， 呃 ，vintage mode。

但是 Vico 这样一上来就是说我要做一个图形化的 Vim 的 。

**Rio** [16:11]
就是用户 。

**吴涛** [16:11]
大概是这样一种思路 。

**Rio** [16:12]
基数太小了是吧 ？

**吴涛** [16:13]
基数还是太小了 。 对 。

**Rio** [16:14]
还有那个 Sublime 它是跨平台的嘛 。

**吴涛** [16:18]
没错 。Vico 是 OSTen only。

**Rio** [16:20]
对 ， 所以时机不对 。

**吴涛** [16:23]
没错 。 但这个项目其实还是它后来开源了 ， 开源之后应该现在还在维护 ，但我想它可能不会在 ， 呃 ，有我的有事之年达成 1.0 版 ， 或者是不会再有我希望它那么强大 。

**Rio** [16:40]
嗯哼 。

**吴涛** [16:41]
对 。

**Rio** [16:42]
好吧 。 哎 ，Tim 你也挺惨的 。

**吴涛** [16:45]
对 。

**Rio** [16:46]
Sam。

**吴涛** [16:46]
然后，yeah， 然后前两天 ， 呃 ， 看到了一个叫做 CotEditor 的 ， 呃 ，CotEditor 的编辑器 ， 日本人做的 。

**Rio** [16:56]
嗯哼 。

**吴涛** [16:56]
然后它支持竖排模式 ， 这个我还挺印象深刻的 。

**Rio** [17:02]
竖排模式干嘛 ？ 写日文吗 ？

**吴涛** [17:05]
就是你知道 Mo 这个 Sublime Text 的 editor 是支持竖排模式的吧 ？

**Rio** [17:11]
呃 ， 我没从来没有试过 。

**吴涛** [17:14]
你没有 Mo？ 你没有你用过 Mo？

**Rio** [17:17]
嗯 ，Mo 我听说过 ，但是我从来没有 。 就是我就我我有那个 Mo， 我还我还捐了钱 ， 我记得 。 但是我从来我从来没有用过它的竖排模式 。

**吴涛** [17:26]
OK。Anyway， 就是 ， 呃 ，Mo 是有竖排模式 ，但是 Mo 的最大缺点就是只能写 ， 呃 ，markdown。 然后这个 CotEditor 是可能是我见到的第一个用来写代码编辑器里面支持竖排的 。

**Rio** [17:41]
我想说写代码你怎么竖排 ？ 你怎么你扭着脖子看 ？

**吴涛** [17:45]
Anyway， 它的目的其实是成为一个最好用的原生 OSTen 编辑器 。 为什么这句话听起来非常耳熟 ？ 我上次好像说 Shocola 的时候也 ，Shocola 的时候也是说这个 ， 它有这个目标 。

**Rio** [17:58]
有好多人都打着这个 ， 都奔着这个目标去的 ， 好吧 。

**吴涛** [18:02]
对 。 然后但我觉得我用两天这个 CotEditor， 它最大的优点是启动快 ， 然后非常简单 ， 呃 ， 支持竖排 ，而且因为是日本人开发的 ， 所以对 CJK 的支持非常的细致 。

**Rio** [18:16]
OK。 就中文也不错 ， 对吧 ？ 哦 ， 对啊 ， 说到这个 ， 上次没吐槽 ， 哈 ， 就是那个 TextMate 其实是不支持非拉丁文本的 ， 对吧 ？

**吴涛** [18:27]
没错 ， 没错 。 当时好像有一个 workaround， 我忘了是什么了 ，是用 。

**Rio** [18:32]
还可以 workaround。

**吴涛** [18:34]
对 ， 当时我记得我在用 TextMate 是有一个 workaround， 就是 somehow someway 可以让汉字在里面显示 ，但是非常非常丑的那种 。

**Rio** [18:42]
啊 ， 反正我记得印象就起码 2 的时候好像还好 ，1 就是 TextMate 1 的时候我觉得是有很严重的问题 。

**吴涛** [18:49]
嗯 。

**Rio** [18:50]
对 ，anyway。

**吴涛** [18:51]
对 ， 对 ，CotEditor 推荐大家用一下 。

**Rio** [18:53]
嗯 。

**吴涛** [18:55]
嗯 ， 然后就是一个朋友提到了 Kate，KDE 下面的那个默认 ， 就是 KATE， 呃 ，KDE 下面默认的文本编辑器 。

**Rio** [19:07]
哇 。

**吴涛** [19:08]
呃 ， 我记得我用过它 ，但是应该是在于就是我在上大学的时候在研究生院做 ， 嗯 ， 反正是做一个教职工作的时候用过的 。

**Rio** [19:20]
嗯哼 。

**吴涛** [19:20]
印象里没有什么特别之处 。

**Rio** [19:23]
对 ，其实你有坚持用过很长一段时间的 KDE 的桌面吗 ？

**吴涛** [19:27]
嗯 ，也算不上坚持吧 。 就是因为在德国 ，因为 Susa 这个东西是德国的 。

**Rio** [19:34]
OK。

**吴涛** [19:35]
对 ，Susa 是一个德国的软件商 ， 或者是 Linux 发行版 。

**Rio** [19:39]
嗯哼 。

**吴涛** [19:39]
然后， 呃 ，Susa 兼程 KDE。 然后如果你如果你装 Susa 的话 ，KDE 的兼 ， 呃 ，KDE 的环境大概也是最好的 。 然后在 KDE 下面你可能就会默认用到 Kate。

**Rio** [19:51]
OK。 因为我印象中我用 KDE 是好多好多好多年以前的 ， 然后当时候那个时候有两个选择嘛 ， 一个是叫叫什么 ，GNOME。

**吴涛** [20:01]
GNOME。

**Rio** [20:01]
GNOME， 然后和这个 KDE 当时是 Ubuntu 吧 ， 好像是 。 我也忘了是 8 点几还是 9 点几的时候 。

**吴涛** [20:08]
OK， 用 KDE 的 Ubuntu。

**Rio** [20:10]
对对对 。 然后我就觉得哇 ， 这个 KDE 的这种各种图标花花绿绿的 ， 实在是受不了 。

**吴涛** [20:16]
对 ，KDE 最大的问题就是 cheap， 看起来非常 cheap。

**Rio** [20:18]
对对 ， 很 cheesy 的那种感觉 。

**吴涛** [20:20]
对 。

**Rio** [20:21]
然后 。

**吴涛** [20:22]
到处高光 ， 到处 ， 呃 ， 气泡 。 我不是 what the hell。

**Rio** [20:26]
就我我不知道它是不是 ， 它就是因为当就是那个时候还是什么 ， 哎 ，有已经有 MacOS 10 了吧 ？

**吴涛** [20:34]
对 ， 它是它肯定是受那个 Aqua 的影响太深了 ， 我觉得 。

**Rio** [20:38]
对对对 ，但是就觉得过了 。 就 Aqua 现在你回过头看觉得也不好看 ， 哈 。 但是就当时它是就 Aqua 好歹还是只是一个色系嘛 ， 就是蓝色系吧 ， 对吧 ？

**吴涛** [20:47]
对 。

**Rio** [20:47]
然后 KDE 的话各种花花绿绿 ， 全是高光 ， 觉得哇 ， 亮瞎我的狗眼 。 所以就没有坚持下去 。

**吴涛** [20:53]
那个时候的审美风潮好像就是这样 ， 就是任何人就那个时候我记得网上铺天盖地的教你怎么在 Photoshop 里面做一个水晶球出来 。

就是一个圆拉渐变 ， 然后再拉一层 。

**Rio** [21:04]
哎呀 ， 做阴影 ， 高光 。

**吴涛** [21:06]
透明 ， 拉完透明 ， 然后那个那一步高光 ， 然后仔细去分析一个看真实的水晶球在灯光下面应该是看起来什么样的 。

**Rio** [21:14]
对对对 。

**吴涛** [21:15]
就那个时代就是 ， 对 ，KDE 就是那个时代一直延续到 ，因为那个时代风格一直延续到今天 。

**Rio** [21:20]
对 ，但其实我一直都不喜欢那种视觉风格 。 我觉得就作为一个怎么讲 ， 工具吧 ， 你这样就太太 。

**吴涛** [21:28]
太招摇 。

**Rio** [21:29]
对 ， 太太抢眼了 。 你应该变成一个就很现在我们都在做的一个事情 ， 就叫变得很 subdune 嘛 ， 就是很就是 ， 呃 ， 首先是单 ，不是叫 monochrome， 就是不是就是灰色的 ， 就不是彩色的 ， 然后是一个比较暗沉的 ， 就不要抢 ， 就不要用那那些都是框嘛 ， 或者工具条也好 ， 还是这个图标也好 ， 它都是并不是你要关注的内容 。

所以我们现在都在关注说把内容强调出来 ， 然后其他的所谓 chrome 那一部分都变成单色的这种来来 ， 免得喧宾夺主 。

我当时我用那 K 的感觉哇 ， 全是兵没有主 。

**吴涛** [22:03]
哈哈哈 。KDE 的时代有一点像那个

微软的 Luna 风在 Linux 世界的延伸 。

**Rio** [22:14]
我觉得增强版吧 。

**吴涛** [22:16]
没错 。 就是你现在回头去看 Windows XP 的那个宽大的标题栏和非常亮色的按钮 ，其实是非常非常非常 cheesy 的 。

但但那个时候可能和相对 Windows 95 时代的暗淡又是一个改进 。

**Rio** [22:36]
就是什么流行的风潮一阵一阵的 ， 就是沉寂太久 ， 觉得哎 ， 好无聊 ， 搞点亮色的 ， 对吧 ？

**吴涛** [22:43]
对 ，其实这个东西就是的确是这样 ， 就是潮流总是来来往往 ，有来了又走 ，但是总有一种风格会沉淀下来的 。

那可能我们在我们过上五六十年又会五六十年太久了 ， 五六年又 。

**Rio** [22:58]
我觉得五六年就好了 。

**吴涛** [23:00]
又会回到这种炫酷的这样一种这样一种审美风潮里面来 。 呃 ， 接下来是 Jedit。

**Rio** [23:08]
嗯哼 。

**吴涛** [23:08]
呃 ，Jedit 是一个用 Java 写的跨平台的编辑器 。

**Rio** [23:12]
Oh no。

**吴涛** [23:14]
呃 。

**Rio** [23:14]
Oh no。

**吴涛** [23:15]
我觉得其实也没什么好说的 ，但是很它其实也是一个用户基数相当大的 ， 至少在早期在 ， 呃 ，J2E 的早期 ， 呃 ， 就是在 Eclipse 还没有那么强大的时候 ，有很多人是在用 Jedit。

**Rio** [23:31]
嗯哼 。

**吴涛** [23:32]
对 ，但是后来基本上就销声匿迹了 ， 可以说 。

**Rio** [23:35]
你觉不觉得所有用 Java 写的跨平台的 ， 呃 ， 带 GUI 的软件都非常死 ？

**吴涛** [23:43]
这个跟 Java 自己的特性是分不开的呀 。 就是 J 你现今去考量所有跨平台的 GUI 库 。

**Rio** [23:53]
嗯哼 。

**吴涛** [23:53]
那基本上 Java 是唯一一个还算能用并且并且比较稳定的 ， 呃 ， 工具 。

**Rio** [24:04]
也不算吧 ，QT 不也做得挺好吗 ？

**吴涛** [24:07]
QT 的问题啊 ， 我觉得 QT 的问题最大问题是发布比较比较比较复杂 。

**Rio** [24:12]
但是不是起码好歹它的那个就看起来没有 Java 的那么那么怪 ， 那么丑吧 ， 我觉得好歹 。

**吴涛** [24:22]
而且 QT 另外一个原因是 QT 你要用什么开发嘛 ， 你用 CSS 开发嘛 ， 还是你用什么 PyQT 之类的 binding 来开发 。

**Rio** [24:31]
基本上你要做的原生的体验好的行情就基本上都是 C 或者 C++ 做的吧 。

**吴涛** [24:37]
对啊 ， 我觉得 ， 呃 ，QT 其实最大的问题就是一 ， 发布比较困难 ； 二 ， 门槛门槛还是要比 Java， 呃 ，Java swing 要高很多 。

**Rio** [24:47]
嗯 ， 对 ， 就难度系数在那里了 。

**吴涛** [24:50]
对 ， 所以 Java 开发出来的跨平台 GUI 其实是非常

。

**Rio** [24:56]
有些 。

**吴涛** [24:56]
大的软件机构 。

**Rio** [24:58]
Enterprise。

**吴涛** [24:59]
对 ，enterprise， 呃 ， 做一个只要平庸 ， 只要能用就可以的工具 ，并且可以以足够低的人力成本来做 。

**Rio** [25:09]
嗯哼 。

**吴涛** [25:09]
因为我觉得 QT 一个 QT 程序你想要写好 ， 你首先得是一个合格的 C++ 程序员 。 但是一个合格的 C++ 程序员要远比一个合格的 Java 程序员难找得多 。

**Rio** [25:20]
嗯 ， 这样这样黑人家真的好吗 ？

**吴涛** [25:25]
我我没有黑人家 ， 我是 Java 程序员 ， 我在黑自己 。

**Rio** [25:28]
好吧 。

**吴涛** [25:29]
对 。

**Rio** [25:30]
对 ， 这是一个问题 ， 哈 。

**吴涛** [25:32]
就很我觉得其实是这样的 ， 就是比如说我写一个 Java swing 程序 ， 反正折腾一两天也就差不多出来了 。

可是你要我写一个 QT 程序 ， 我可能得瞪着眼睛先去读 Menlo 读上一个礼拜 。

**Rio** [25:44]
嗯哼 。 哎 ，不过最近 QT 搞了一个 ， 我忘了搞了一个叫什么 QML， 你看了没 ？

**吴涛** [25:49]
没有 。

**Rio** [25:50]
就是等于我也没 。

**吴涛** [25:52]
描述性的吗 ？

**Rio** [25:53]
对对 ， 它就是用类似于你知道 Firefox 那个界面那种感觉吗 ？ 就是用描述性的语言去描述界面元素嘛 ，而不是说用这个过程性的语言去绘制它 。

然后， 呃 ， 就我觉得它做得不错吧 ， 它有好多 binding， 然后好像有 Go 的 binding， 然后我准备试一次 ， 玩准备找个时间试一下 。

然后昨天我看到有一个非常暗黑 ， 呃 ， 叫什么 ， 一个大胆的尝试吧 ， 它就用这个 QML 加 QT 这一个组件去写一个基于 Google Material Design 的 Linux 发行版 。

**吴涛** [26:27]
What？

**Rio** [26:28]
Say what？ 还还不错 ， 就是你起码看他们做的那个效果图来讲 ， 哈 。 待会我会把那个那个叫什么 ， 那个链接贴到 notes 里面去 。

但是你可以看一下那个那个效果 。 我等下我找一下那个链接 ， 我看找不找得到给你 。 但我觉得整个效果还是不错的 ， 叫 Quantum OS。

**吴涛** [26:49]
Quantum OS。

**Rio** [26:50]
量子 。

**吴涛** [26:51]
对对对 ， 量子 OS。

**Rio** [26:53]
量子超秀 。

**吴涛** [26:54]
对 ， 我把这个链接发给你 。 它就是一个博客 ， 然后， 哎 ，是在 GitHub 上面的 。

**Rio** [27:00]
我收到了它的链接 。

**吴涛** [27:01]
它有两张截图 ， 你可以看一下 。 我觉得效果就整个视觉风格来讲还是不错 ，有点小清新的感觉 ， 哈 。

对 ， 就 QT 最近又有什么发扬光大的趋势 ， 哈哈 。

**Rio** [27:12]
哎 ， 这个是利好消息啊 。

**吴涛** [27:14]
为什么 ？

**Rio** [27:15]
也许对啊 ，因为我可能下一份工作会用到这些东西 ， 所以 。

**吴涛** [27:20]
哈哈哈 。

**Rio** [27:20]
如果能想办法让我摆脱 Java 的话 ， 我一定会 。

**吴涛** [27:24]
OK， 那那你可以关注一下 QML 这个东西 ， 还挺挺不错的 。

**Rio** [27:28]
OK。

**吴涛** [27:28]
哦 ， 它叫做 QT meta language， 还不是 markup language。

**Rio** [27:33]
啊 ，OK。

**吴涛** [27:34]
有意思 。 好吧 ， 嗯 ， 继续我们的话题 ， 就是说完了 Jedit， 接下来是一个叫 Crimson Editor。

**Rio** [27:45]
呃 ， 这什么玩意儿 ？

**吴涛** [27:46]
是 Windows 下的 ， 呃 ，logo 应该是一个一条狗之类的 ， 一个狗头 。 嗯 ， 我也是用过它 ， 用过一段时间 ， 呃 ，也不能说很推荐 ，但也算是一个有曾经有过不少人在用的一个东西 。

我记得当时最大的卖点好像是它是 ， 呃 ， 仅有的几款一上来就可以支持让你把外部编译工具集成到一个菜单栏里面 ， 然后按一个快捷键自动编自动编译的编辑器 。

**Rio** [28:21]
哈 ？Wim 不是就 Make 吗 ？

**吴涛** [28:24]
呃 ，在 Windows 下面 。

**Rio** [28:25]
啊 ，OK。

**吴涛** [28:26]
或者是比较比较熟民 friendly 的编辑器里面 。

**Rio** [28:29]
哈哈哈 。

**吴涛** [28:30]
对 ， 对 ， 就是比较轻量级的 ， 作为那个 Notepad 的替代品的编辑器里面 ， 它是为首的几个能够这样做的编辑器之一 。

就是它你可以当理解为当时就只有什么

， 呃 ，Visual C++ 这样的重型 C++ 编辑器 ， 或者你就用记事本写 ， 或者是我那会更弱的编辑器写 ， 然后用外部工具编译 。

**Rio** [28:54]
嗯哼 。

**吴涛** [28:55]
然后它当时出来的就等于提供了一个折中方案 ， 你可以在一个很轻量级的编辑器里面写程序 。

**Rio** [29:02]
嗯哼 。

**吴涛** [29:02]
然后把外部的编译器 ， 呃 ， 和 Linker 之类的放到 ， 呃 ， 那个 ， 或者做成一个 Macro， 然后自带一个 output 窗口 。

**Rio** [29:13]
嗯哼 。

**吴涛** [29:13]
对 ， 这是它当时也是吸引了一大批原因的用户的原因之一 。

**Rio** [29:18]
OK， 这个还不错 ， 就是 。

**吴涛** [29:20]
我不知道它现在还有没有在更新了 ，但它曾经一度是比较有名的 。

**Rio** [29:25]
OK。

**吴涛** [29:25]
哈哈哈 。 啊 ，OK， 我现在看它的主页 ， 上面写着最近的一个 release 是 3.72， 呃 ， 更新版 ， 呃 ， 实时更新时间是 2008 年 3 月 14 日 。

**Rio** [29:38]
所以 。

**吴涛** [29:40]
对对 ， 就等于是我们考了一次古 。

**Rio** [29:43]
嗯 ， 编辑器考古 。

**吴涛** [29:45]
哈哈哈 。

**Rio** [29:46]
好 ， 所以编辑器的这个什么提名补遗 ， 到这里就告一段落了 。

**吴涛** [29:52]
对 ， 呃 ， 然后接下来一个最大的大大大新闻就是 ， 呃 ，Visual， 呃 ，Visual Studio 出了免 ， 呃 ， 出了 Community Edition。 就在我们上次 ， 呃 ， 我抱怨说为什么我要用 Visual Studio 给微软看程序 ， 微软还要向我收钱呢之后， 微软就出了一个比 Express 版本更慷慨 ， 支持插件的 ， 呃 ，Visual Studio 版本叫做 Community Edition 2013。

### .NET 跨平台

**Rio** [30:21]
嗯哼 。

**吴涛** [30:22]
很了不起 。

**Rio** [30:23]
所以就是就你是发动了现实扭曲场把它给扭过来了是吧 ？

**吴涛** [30:28]
呃 ， 对 ，但其实更大的大新闻就是它背后的大新闻还是 DotNet 终于要跨平台了这个 。

**Rio** [30:38]
开源了吧 ， 好像是 。 哎 ， 它是开源了 。

**吴涛** [30:40]
开源其实早就有了 ， 开源大概是 。

**Rio** [30:42]
Mono 吗 ？

**吴涛** [30:43]
今年不不不 ，Mono 是一个开源的实现 。

**Rio** [30:46]
OK。

**吴涛** [30:47]
但是 DotNet 的核心部分开源其实已经是 4 月份就开始了申请了 ， 我想 。 对 ， 那个时候没有人什么注意 ，因为开源开源 ， 你 Windows 下面开源 。

**Rio** [30:56]
随我而去的 ， 哈哈哈 。

**吴涛** [30:57]
对啊 ，Codeplex 上面那么多开源项目 ， 谁谁鸟它 。

**Rio** [31:01]
对 。

**吴涛** [31:02]
对啊 ，但是一下子 11 月是 12 日吧 ， 呃 ， 说要还是 22 日，22 日， 啊 ，sorry，22 日是昨天 ， 哎呀 ， 暴露了我们录音的时间 。

**Rio** [31:14]
哈哈哈 。

**吴涛** [31:14]
呃 ，anyway， 就是 ， 呃 ，12 号的时候微软宣布说 DotNet 平台要跨 ， 呃 ，DotNet 平台要跨平台 ， 没错 ，platform gonna cross platform。

**Rio** [31:26]
嗯哼 。

**吴涛** [31:27]
成为一个服务端 ， 对 ， 只有服务端要跨平台 。 对于我们来说这是一个相当大的新闻吧 。

**Rio** [31:35]
所以所以它这个宣布 ， 就它要做这个跨平台之后， 呃 ， 就对开发者来说有什么样的好好处 ？

**吴涛** [31:44]
呃 ， 立竿见影的效果其实是看不到的 ，因为如果你除非你是一个死忠的 DotNet 拥趸 ， 同时又 somehow 非常喜欢 Linux。

**Rio** [31:56]
会有这种人吗 ？

**吴涛** [31:57]
有有有 ， 比如我 。

**Rio** [31:59]
OK。

**吴涛** [32:00]
对 ，其实我是在 ， 呃 ，DotNet 上面写 C# 是我第一个写觉得 ， 呃 ，object orientation 非常有趣的组合 ， 就是第一个让我觉得 object orientation 非常有意思的组合是 C# 加 DotNet。

**Rio** [32:16]
嗯哼 。

**吴涛** [32:16]
所以 DotNet 在我心中永远有一个 soft spot，是给它 ， 哈哈哈 ，是给它保留着的 。 呃 ， 然后但是在我就是远离微软产品的这么这么十年之间 ，其实还是有好几次去 ， 呃 ， 看一看 C# 现在发展怎么样了 。

**Rio** [32:38]
OK。

**吴涛** [32:38]
呃 ， 我觉得像我这样的人应该也还是存在的吧 。

**Rio** [32:43]
就起码 C# 作为一个语言 ， 就是一个什么 system language， 哈 ， 它现在还是一个比较不错的一个状态 ， 我觉得 。

**吴涛** [32:51]
对啊 ， 就它的很多语言特性是要比 Java 作为一本语言要好很多的 ， 比如说 ， 对啊 ， 此处省去容易招来 flame war 的评论若干 ，但但基本上就是这样 。

**Rio** [33:05]
所以它阻碍这个语言普及的一个最主要原因就是它的实现没有跨平台 ， 对吧 ？

**吴涛** [33:12]
呃 ，因为对 ，其实成也微软 ， 败也微软嘛 ，因为微软请到了那个 object passcode，也就是 Delphi 语言的那个设计师叫做 Heisenberg。

**Rio** [33:24]
嗯哼 。

**吴涛** [33:26]
Andrei Andrei Andrei Heisenberg， 反正 AH 吧 ， 这个人。

**Rio** [33:33]
嗯哼 。

**吴涛** [33:33]
设计了 C#， 然后 C# 是一个非常 ， 呃 ， 设计得很好的语言 ， 对 ，有很多非常实用的语言特性 ， 然后， 嗯 ， 可以说是微软整个 DotNet 战略里面最成功的一环 。

**Rio** [33:47]
嗯哼 。

**吴涛** [33:48]
但是最大的问题也就在于它只能跑在微软的服务器上 。

**Rio** [33:52]
就 Mono 那个比较问题比较多 。

**吴涛** [33:55]
Mono 是非常 creepy 的一种 ，creepal 的一种一个实现吧 。

**Rio** [33:59]
对对 。

**吴涛** [34:00]
效率不高 ， 然后兼容性有问题 ， 然后也没有什么官方的支持 ， 然后但 ， 呃 ， 我没记错的话 ，Unity 这个平台还是基于 Mono 的 。

对 ， 还是有些还是有些建树的 。

**Rio** [34:13]
嗯 ， 所以它这次微软官方宣布这个开源并且跨平台之后， 哈 ， 那是不是可以想见如果做得好的话 ， 可以用你心爱的 C# 写 Linux 服务端 ？

**吴涛** [34:28]
也许吧 ，但是我觉得 5 到 10 年之内这件事情才会有渐渐的一个一个一个端倪出来 。 就我们现在说还太早 ，因为 。

**Rio** [34:37]
嗯哼 。

**吴涛** [34:38]
因为你其实你可以去试一试 ， 就是在 GitHub 上面 ， 对 ，ASP.NET， 呃 ， 作为 DotNet 的开源的先锋 ， 呃 ， 跨平台的先锋 ， 呃 ， 微软没有选择自家的那个 Codeplex 平台 ，而是选择把它公布在 GitHub 上面 。

**Rio** [34:54]
还是有一定诚意的 。

**吴涛** [34:55]
对 ， 然后在 GitHub 上面你们可以找到 ， 呃 ，ASP.NET， 就是 github.com/aspnet/home， 可以找到一个 ， 呃 ， 如何在 OS 10 上， 呃 ， 或者是 Linux 上面安装 ， 呃 ， 整个系统的方法 。

然后对 ，在 OS 10 上居然是用 HomeBrew 来安装的 ， 我觉得挺神奇的 。

**Rio** [35:17]
对 ， 原生化就叫什么 ， 对开发者还是蛮友好的 ， 就尽量贴近你原生的系统平台去做嘛 。

**吴涛** [35:25]
不 ， 很不微软 ， 应该说非常不像微软 。

**Rio** [35:28]
对 ， 这件事情我们在另外前之前某一几期的 IT 公论里面也有谈到这个问题啊 ， 就自从这个 Santia 是吧 ，Santia， 三哥 。

**吴涛** [35:37]
嗯 ， 新的 CEO， 对 。

**Rio** [35:39]
对 ， 三哥主政这个微软之后， 有很微软起了最最近这么一两年的时间内起了比较大的变化吧 ， 比如说它不再像过去那么一个那么传统的一个形象 ，而且是逐渐去做一些非常开放的事情 ， 特别是在像它的 Azure 那一套东西 ，因为三哥是从那个 Azure 那边出来的 ， 哈 ， 然后不过它像包括 Azure 支持 ， 呃 ，Linux 啊 ， 包括像最近比较火的像 Docker 那些东西 。

**吴涛** [36:05]
对 。

**Rio** [36:06]
都都做得还不错 ， 然后这个 ， 然后这也是另一个手笔吧 ， 能会被被人记下来的 。 不过你回过头来想 ， 哈 ， 你觉得微软它为什么在选择在现在这个时间点做这个事情 ？

它为什么要选择在现在开放这个这个跨平台这个 DotNet 这个这个工具工具链吧 ？

**吴涛** [36:25]
从悲观的角度讲 ， 我觉得它再不开放就死了 。

**Rio** [36:28]
对 ， 我也是这么我也是这么觉得 ， 就是有一点什么 ， 呃 ， 诛心的地方 ， 就是之前我们讨论过 ， 就是你这个 mind share 的问题 ， 就微软是应该是有持续的叫做 exodus。

**吴涛** [36:42]
对 ， 就是在过去十年里面 ， 我们可以看到大批的有一个就是在软件开发界有这么一个有一个这么一个 ， 呃 ，shift， 就是大批的软件从业者走向了开源社区 ， 然后大批优秀的开源社区的软 ， 呃 ， 工具涌现了出来 。

**Rio** [37:02]
嗯哼 。

**吴涛** [37:03]
然后整个生态圈里面 ， 呃 ， 固然背后还是有巨大的财团推动 ， 比如说 Java 的背后其实是 ， 呃 ，Oracle 和 Sun。

**Rio** [37:12]
嗯哼 。

**吴涛** [37:12]
嗯 ， 然后 Linux 后背后其实是什么 Nova 啊 ， 什么什么 Red Hat 啊之类之类 ， 非常巨大的企业在推动着 ，但是整个开源社区的生态 。

**Rio** [37:22]
嗯哼 。

**吴涛** [37:23]
呃 ， 基本上是正在把微软边缘化的这么一个趋向 。

**Rio** [37:28]
对 。

**吴涛** [37:29]
所以微软如果还是要摆出一个 ， 呃 ， 老大哥的样子拒绝加入游戏 ， 或者是什么事情都希望能够另起炉灶啊 ， 或者是亦步亦趋啊 ， 或者非常非常非常怎么说呢 ，defensive 的 ， 呃 ， 策略的话 ， 那基本上可以看到的是将来微软肯定会 ， 呃 ，也许就会退化成一个操作系统公司而已 。

**Rio** [37:54]
对 。

**吴涛** [37:55]
就是桌面 ，而且是桌面操作系统公司 。

**Rio** [37:57]
对对 ， 就特别是就包括从消费者那边可能也能感知得到很多东西 ， 就是比如我们经常会接触到的那些比较帅的一些应用也好 ， 比较漂亮的那种网页 ， 那个什么网页也好 ， 你看到它都会开发 ， 就它的开发者都在用什么像 Mac 啊 ， 或者是 Linux 啊在做一些开发 ，但都很少人会选择继续待在 Windows 的平台上面去做这些东西 。

**吴涛** [38:21]
没错 ， 就是基本上现在任何一个稍微有点规模的软件 conference。

**Rio** [38:27]
嗯哼 。

**吴涛** [38:27]
呃 ，不管是 mobile 方面 ，mobile 就不用说了 ，在非 mobile 的 ， 呃 ， 层面 ， 比如说什么 ， 呃 ， 通讯者开 ， 就是 ， 呃 ，Google I/O 之类的 ， 或者是像 ， 呃 ， 叫什么 ， 呃 ， 通讯行业的会议 。

**Rio** [38:48]
网络方面的吗 ？

**吴涛** [38:50]
对 ， 网络啊 ， 通讯啊 。

**Rio** [38:51]
OK。

**吴涛** [38:52]
呃 ， 之类的 conference 里面 ， 所有开发者就是超过 80% 的开发者都在用一台 Mac。

**Rio** [38:58]
哈哈哈 ， 对 ，mind share 就在这个地方体现出来 。

**吴涛** [39:02]
对 ， 就是非常非常非常可怕的一件事情 ，其实你想一想 ， 对于微软来说 。

**Rio** [39:06]
对 。

**吴涛** [39:08]
嗯 。

**Rio** [39:09]
剩下的都是什么 ？ 一些开发企业软件 ， 就是你之前回答那篇文章嘛 ， 就是不爱这个东西 ，但是为了工作没办法再做了的人才 ， 对不对 ？

什么这个长远来看对他来说肯定是要死 ， 要死翘翘的 。

**吴涛** [39:24]
对 ， 然后然后对 ， 剩下的 20% 的用 PC 的人里面 ， 十个有九个 ， 你扒过头去一看 ，他在上面跑的是 Linux。

**Rio** [39:33]
哈哈哈 ，Ubuntu 之类的 ， 对吧 ？

**吴涛** [39:36]
对 ， 今天几乎只有真正 hardcore 铁杆用户 ， 铁杆 hacker 才会用 Windows。

**Rio** [39:42]
哈哈哈 。 哎 ，不过说到这个 Windows 啊 ， 我们之前发现一个很有意思的一段视频啊 ， 叫做一个系列吧 ， 应该叫做 Handmade Hero。

### Handmade Hero

**吴涛** [39:53]
Yeah。

**Rio** [39:53]
它是干嘛的 ？ 就是它是一个它是一个资深的游戏开发者 ， 对吧 ？

**吴涛** [39:57]
对 ， 这个人他在 Video， 我没有去挖他的背背景是什么 ，但这个人在 Video 里面说他已经 38 岁了 ， 然后他有 30 年的游戏开发经验 ， 所以他从 8 岁开始就写游戏了 。

**Rio** [40:07]
哈哈哈 ， 对 ， 然后他他做了一段一系列的视频 ， 好像还在持续更新中， 哈 。

**吴涛** [40:14]
对 ， 这是一件其实是一个 ongoing 的新闻 ， 如果各位有 ， 呃 ， 对这个 Twitch 感兴趣的话 ，Twitch 是一个 ， 如果你不知道 Twitch 是什么东西就不用听 。

**Rio** [40:24]
哈哈哈 。

**吴涛** [40:25]
对 ，anyway，Twitch 是一个 ， 呃 ，在线的有点像 YouTube 的网站 ，但是它的那个 Video 的播放方式是由一个人玩一个游戏 ， 然后你同时可以看到以画中画的方式 ， 呃 ，在大屏幕上看到他在玩的游戏的内容 ，在小屏幕上看到他这个人的反应 ，以及他说的话 ， 就等于有点像一个在线的直播 。

**Rio** [40:52]
对 。

**吴涛** [40:53]
呃 ， 只不过直播是打游戏 ，而不是某些成人内容 。

**Rio** [40:56]
对 。

**吴涛** [40:56]
呃 ， 然后在这个 Twitch 平台上面有有这样一个人， 呃 ， 做了这样一个计划 ， 就是它大概是从 ， 呃 ， 呃 ， 我应该说绝对是的吧 ， 应该是 11 月 19 号左右 。

**Rio** [41:12]
嗯哼 。

**吴涛** [41:12]
开始了一连串的每天一个小时的编程活动 ， 就是别人在那直播自己怎么打游戏 ，他在那边直播自己怎么做游戏 。他每天花大概一个小时， 呃 ， 给所有的观众们展示怎样从无到有写一个 Windows 32 下面的 ， 呃 ，Windows 下面的游戏出来 。

然后今天我们录制的这一录制节目的这一天应该是第六天 ， 然后等各位听到的时候大概已经有十几天了吧 。

然后， 呃 ， 感兴趣的话可以去看一下 ，因为它的它的解释是非事无巨细的详尽 ， 呃 ， 当然它不会去解释什么是 pointer 或者是什么是什么是 Windows 的剧饼 ，但是基本上它能它能在有限的时间里面给你解释清楚的技术细节 ， 它都解释清楚了 。

**Rio** [42:04]
对 ， 就比如说我我看了它的那个第一第一集 ， 哈 ， 就它花了大概一个多小时的时间告诉告诉你怎么从无到有去设置一个在 Windows 上面用 ， 好像是 Visual Studio 吧 ， 对 。

**吴涛** [42:18]
对 。

**Rio** [42:19]
编译游戏的这么一个过程 ，但它那个它的那个 setup 还是比较怪的 ， 待会我们可以聊一下 。 但是就是说 ， 呃 ， 如果你是一个对开发游戏有兴趣的开发者 ，但是你完全不知道怎么入门 ， 你可以从这个视频一步一步 ， 它能告诉你最基本最浅显的一些东西 ， 然后让你有一个很好的 ， 呃 ， 入门入门的东西吧 。

就好像就其实我看很多 Windows 的教程 ， 开发教程也好 ， 还有很多这种 ， 呃 ， 什么入门指南也好 ， 都有一个问题 ， 就是它会它会写得比较浅 ， 跳过很多东西 ，但是如果你作为一个不是很 expert 的人， 你完全不知道有些基本的东西该怎么设置 ， 然后它的那个系列教教那个视频里面就把这个问题解决得很好 ， 我觉得 。

**吴涛** [43:01]
没错 ， 就是很多教学的书籍最大的问题是它可能会花一个章节来告诉你点什么按钮 ， 打开什么工具 。

**Rio** [43:10]
嗯哼 。

**吴涛** [43:10]
在里面输入什么 ， 然后做了这个点那个 ， 点了那个干这个 。

**Rio** [43:14]
嗯 。

**吴涛** [43:14]
但是它们的最大问题就是它不告诉你为什么要这样做 。

**Rio** [43:17]
对对 。

**吴涛** [43:18]
但是这个这个哥们儿他最了不起的一点就是他会详尽地解释他为什么要这样做 ，他 ， 呃 ，他这样做是为了达到什么目的 ， 或者说 ， 呃 ， 比如说他会告诉你说 ， 呃 ，他会先给你解释一遍大概的编译是编译是一个什么样的过程 。

**Rio** [43:38]
嗯哼 。

**吴涛** [43:38]
然后告诉你说编译它要编译的话 ， 它希望我编译自动化 ， 那编译自动化的话它要写一个脚本 ， 然后它会展示你说这个脚本最简单的形式是可以怎么样 ， 然后， 呃 ， 可是这个最简单的形式呢 ， 又有点太简单了 ，因为它会在编译的过程中生成一大堆垃圾 。

**Rio** [43:55]
嗯哼 。

**吴涛** [43:55]
然后所有的垃圾文垃圾也不是垃圾 ， 就是这些中间过程文件和你的最开始的原文件堆在一起 ， 使得 。

**Rio** [44:03]
嗯哼 。

**吴涛** [44:04]
呃 ， 清理起来很麻烦 ， 管理起来很麻烦 。

**Rio** [44:07]
对对 。

**吴涛** [44:07]
所以它就一步一步去改进这个脚本 ， 呃 ， 说你可以在这个脚本里面 C 到一个临时文件夹 ， 然后在那个临时文件夹里面 ， 呃 ， 编译你的代码 ， 然后这样中间的过程文件就会存在这个临时文件夹里 ， 诸如此类的 。

**Rio** [44:21]
嗯哼 。

**吴涛** [44:22]
它解释得非常详尽 。

**Rio** [44:23]
对对对 ， 所以 ， 呃 ， 这个就我们就先不剧透了 ， 大家有兴趣可以自己去看 。 然后它就是刚才讲的吧 ， 现场它会在 Twitch 上面直播 ， 然后如果你错过了现场 ， 你可以回头看 YouTube 上面有它的那个历史的记录 ， 就从第一集最开始到现在 。

当然怎么去看 YouTube， 那么你懂的 。 哈哈哈 。

**吴涛** [44:41]
对 ， 然后它在正式的 project 开始之前还花了大概五六天的时间解释在 Windows 上面怎样做 CC++ 编程 。

**Rio** [44:52]
对对 ， 它的那个方式好奇怪 ， 我觉得就是比如说你你之前我们都讲嘛 ， 你说在 Windows 上面写程序 ， 你用 IDE 用那个 Visual Studio 写 ， 然后它是用 Emac 来写程序 ， 然后自己用一个 ， 呃 ， 就是批处理文件自己写的去做编译这个过程 ， 然后只是在 Visual Studio 里面做 debug。

**吴涛** [45:12]
对 ， 这个是非常 hardcore 的一种一种一种形式 。

**Rio** [45:15]
对 ， 这个我还是真的是蛮少见这种组合的 ， 哈 。

**吴涛** [45:18]
嗯 。

**Rio** [45:19]
就感觉好像 ， 哎 ，是不是你之前说过你在 Xcode 里面也是在 V 里面写 ， 跑去 X 里面 Xcode 里面编译和调试而已 。

**吴涛** [45:27]
呃 ，在有有时候我写那个 enterprise edition 的东西都是这样 。

**Rio** [45:32]
哈哈哈 。

**吴涛** [45:33]
对 ，有对 ， 呃 ，其实有一个东西叫 Eclip， 就是 ， 呃 ， 运行一个跑一个 headless 的 Eclipse， 就是这个 Eclipse 没有就有点像那个 ， 呃 ， 呃 ，Phantom JS 一样 ， 它只是跑到一个后台的一个进程 。

**Rio** [45:48]
OK。

**吴涛** [45:48]
然后它没有一个 ， 呃 ， 它没有一个 GUI， 然后你这个时候在你在运行 Vim， 然后用 Vim 的一个插件去调用这个进程 ， 这样你可以得到 Eclipse 里面的很多 ， 比如说自动补全啊 ， 编译啊 ，debug 啊功能 ，但是一切都跑在一个 Vim 的窗口里面 。

**Rio** [46:05]
啊 ， 这个好不错啊 。

**吴涛** [46:06]
叫做 Eclip， 对 。

**Rio** [46:08]
这样可以避免那个 Java 跨平台的那个丑陋的 GUI 的问题了 ， 对吧 ？

**吴涛** [46:13]
是啊 ，但 ， 呃 ， 它并不是非常好用 。

**Rio** [46:17]
对 ， 必须的 ， 你看你看这种组合就知道会有很多地方会有问题 。

**吴涛** [46:21]
对 ，有点像弗兰肯斯坦 ， 就是有点像有点像那个前苏联在在冷战期间搞的那个狗头机器人， 就他们把一个他们把一只狗以下内容可能有点血腥 ， 就是他们把一条狗的头切下来 ， 然后装在一个 ， 呃 ， 机器人上面 。

**Rio** [46:39]
What？

**吴涛** [46:39]
这个机器人的风格非常的蒸汽朋克 ，是那种像一个像一个科幻小说里面才会出现的外星机器人那样一种状况 ， 就是圆圆的圆滚滚的手臂 ， 然后五个金属指头 ， 然后非常细的像蜜蜂一样的腰 ， 然后上面有个巨大的氧气罩罩住狗头 。

**Rio** [46:59]
我的 。

**吴涛** [47:00]
很恐怖 。

**Rio** [47:03]
好吧 ， 哎 ，不过他说到就是那个 Handmade Hero 这个 Video 系列啊 ， 当时在想这么一件事情 ， 就是我们这个也是因为 IT 公论之前有谈到过 ， 当时 Lawrence 还没想清楚为什么当时是谁 ，Amazon 还是说 Google 要买 Twitch 的时候吗 ？

他说这个为什么会有人在看别人打游戏 ， 当时我们就有一次在那讨论这个问题嘛 ， 后来这个结论也很简单 ， 就好像有很多人会看球一样 ， 对吧 ？

比如你你看球类比赛吗 ？

**吴涛** [47:33]
呃 ， 基本不看 ， 我对对抗类的体育运动几乎都不感兴趣 ， 就喜欢什么滑雪啊 ， 溜冰啊之类的 。

**Rio** [47:41]
OK， 就是就是很多人都是只看球 ，但是并不踢球嘛 ， 那同样的很多人可以看别人打游戏 ， 自己也并不打 。

啊 。

**吴涛** [47:51]
台球 ， 对 ， 我喜欢看台球 ，但是我几乎不打台球 ， 没错 。

**Rio** [47:56]
OK， 那这也算是一个 。

**吴涛** [47:58]
就反正就反正我觉得就是只要是那种需要一种非常很 skill 的技能 ，不管是踢足球也好 ， 打篮球也好 ， 还是玩游戏 ， 就是对战类的游戏也好 ， 就只要你的这个技能达到了一定层级 ， 那你总是会别人会看起来会很有意思 。

**Rio** [48:17]
嗯 。

**吴涛** [48:18]
啊 ， 那其实就好像小时候你会蹲在路边 ， 我不知道你会不会 ，但我会蹲在路边看别人修自行车 ， 或者是 。

**Rio** [48:26]
这个 hardcore。

**吴涛** [48:27]
对 ， 就我会觉得他为什么可以把那个东西拆开 ， 就我会看他修 ， 然后去想说他是怎样解决 ， 比如说 ， 呃 ， 辐条歪了或者是轮子瘪了这样的故障 ， 怎样才能把它修好 ，他会他是怎样去检查问题的 ， 然后是利用什么工具来判断问题的 ， 就比如说 ， 呃 ， 漏那个你的内胎漏气儿 。

**Rio** [48:50]
嗯哼 。

**吴涛** [48:50]
你怎样才能找到漏气儿那个点呢 ？ 哎 ， 我发现他把那个他找一个盒子 ， 然后里面装满肥皂水 ， 然后把轮胎一点点浸在盒子里面 ， 然后挤那个轮胎 ， 如果什么地方有泡沫冒出来 ， 那说明那个地方有眼 。

**Rio** [49:03]
对对对 。

**吴涛** [49:04]
我觉得非常非常 amazing， 那种感觉 ， 可惜我小时候没有人修摩托车的那个 。

**Rio** [49:10]
没学到是吧 ？

**吴涛** [49:11]
没有学到 。

**Rio** [49:12]
你现在可以去德国找一家摩托车厂蹲在旁边看嘛 。

**吴涛** [49:16]
啊 ， 现在就是 。

**Rio** [49:17]
没空了 。

**吴涛** [49:18]
去修车厂旁观这个其实有点太偷师了 ， 就其实不是每一个人， 就你因为其实德国的很多职务是有职职业是有学徒制的 。

**Rio** [49:30]
嗯哼 。

**吴涛** [49:31]
那么学徒制就是一个人， 比如说他技校毕业或者是高中毕业 。

**Rio** [49:36]
嗯哼 。

**吴涛** [49:36]
呃 ， 已经认为自己考不上大学或者根本不喜欢大学 ， 就想赶紧学一门手艺 ， 然后， 呃 ， 找婚找个好找个好职业 ， 然后安居乐业 ， 就基本上德国人很多很多都会选择去做学徒工 。

**Rio** [49:51]
对对 。

**吴涛** [49:52]
那么做学徒工一方面收入的确也不低 ， 另一方面也就是没有没有那么多从学校里面得到的压力 。

**Rio** [50:00]
对 ， 相对简单一点 ， 就是简单是指这个心理负担上面 ， 哈 。

**吴涛** [50:04]
对 ， 如果你是个喜欢动手的人， 那其实做学徒工是非常爽的一种 。

**Rio** [50:09]
对对对 。

**吴涛** [50:10]
而而学徒工的每天的很大一部分就是在看老师傅 ， 观察老师傅们怎么样 。

**Rio** [50:17]
做的 。

**吴涛** [50:18]
去去玩去解决一个具体的问题 ， 去学一些没有办法落实到纸上或者是写到纸上会让人觉得非常空洞的技巧和实践经验 。

**Rio** [50:26]
对对 ， 所以其实从这个角度来讲 ， 我觉得 ， 呃 ，有这么一个机会能够看到前辈大牛程序员在实际工作中是怎么一点一点把程序拼凑起来 ，而且他特别像这个这个 Handmade Hero 这个系列 ，他还在一步一步给你解释他为什么要那么做 。

我觉得这个是非常非常难得 。

**吴涛** [50:45]
难能可贵的机会 ， 没错 。

**Rio** [50:46]
所以刚才也是就是讲到就是说 ， 啊 ， 那比如说你看你什么 ， 如果你喜欢运动你会看球 ， 然后如果你喜欢游戏你看 Twitch， 那如果你喜欢编程 ，其实也可以看看别人怎么写代码 ，也是蛮享受的一件事情 ， 我觉得 。

**吴涛** [51:01]
对 ， 就是好像 ， 呃 ，有一个网站叫做 PeepCode。

**Rio** [51:07]
嗯 。

**吴涛** [51:07]
但是这个网站现在应该已经不在了 ，但是 PeepCode 曾经一度是一个类似这样的网站 。

**Rio** [51:12]
嗯哼 。

**吴涛** [51:13]
嗯 ， 就是它采用它会请一些专家来 ， 然后给它一个具体的问题 ， 然后问你你怎么解决这个问题 。

**Rio** [51:20]
对 。

**吴涛** [51:21]
然后， 呃 ， 把整个过程拍下来 ， 然后卖钱 ， 每一集大概是十几美元 ， 就是很很廉价的一个价格 ， 然后你买还经常什么你付两集的钱可以免费再给你看第三集 。

**Rio** [51:32]
对 。

**吴涛** [51:32]
然后后来 ， 呃 ， 这个创始人应该是转去做了另外一个类似的项目 ，但是还是有很多视频遗留下来 ， 我相信在 ByTorrent 上面搜一下这个 PeepCode 还是可以搜到的 ，但当然最好的方法是也许去也许是去找这个 PeepCode 的后继网站 ， 呃 ， 付钱去看这些视频 ，其中比如说有 ， 呃 ， 我在那个内核恐慌的推特账号上也 Twitter 了 ， 比如他曾经写过说 ， 呃 ，Emac 和 Vim 怎样入门 。

**Rio** [52:07]
嗯哼 。

**吴涛** [52:07]
然后还有一些 Vim 和 Emac 的 ， 呃 ， 和和 Git 的 ProTip。

**Rio** [52:12]
嗯哼 。

**吴涛** [52:12]
都录成了视频 ， 非常实非常有用 。

**Rio** [52:14]
对对对 ， 所以我觉得这个这个是就好像你喜欢蹲在路边看人修自行车 ， 对吧 ？ 这个我觉得没事儿 ， 你你累了的时候拿个屏幕或者躺躺到沙发上看着电视上别人怎么写代码 ，也是可能会是一件蛮享受的事情 ， 如果你是像我们这样奇怪的人。

**吴涛** [52:32]
对 ，而且对 ， 我有点我觉得我觉得有点像就好像 GitHub 是一个 ， 如果可以类比的话 ，GitHub 就有点像一个星际争霸或者是 Warcraft 的 ， 呃 ， 录像网站 。

**Rio** [52:44]
嗯哼 。

**吴涛** [52:45]
就是你可以在上面下到一些高手对战的视频 。

**Rio** [52:48]
哈哈哈 。

**吴涛** [52:48]
呃 ， 或者是 Replay，但是 Twitch 上面的这个项目则有点就像是比如说 YouTube 上面很有名的那个 ， 呃 ，HD Starcraft 或者是 Husky Starcraft。

**Rio** [52:58]
对 。

**吴涛** [52:58]
他们是这样一种解说者 ，他会 ， 呃 ， 解说说这这局 ， 呃 ， 比赛的精彩之处在哪儿 ，以及 ， 呃 ， 比如说有时候你会觉得 ， 呃 ， 虫族明明还占优啊 ， 为什么过一会儿输了呢 ？

但是如果你去看那个解说的话 ， 解说的人会说 ， 啊 ， 这个地方他丢失了这支支援点 ， 虽然他有这么那一大坨兵 ，但是人族马上就可以凭借源源不断的金钱来再组建出一支军队打败他 。

**Rio** [53:27]
对 。

**吴涛** [53:27]
然后过一会儿人族果然把虫族打败了 。

**Rio** [53:29]
哼哼 。

**吴涛** [53:29]
诸如此类 ， 你会发现你会你会去 ， 呃 ， 领略到高手的动静 ， 这个是还是还是相当有用 。

**Rio** [53:36]
对对 ， 所以机会难得 ， 大家抓紧时间看 ， 哈 ， 能多翻一下 。

**吴涛** [53:41]
而且如果你愿意的话 ， 可以给作者 15 欧元 ， 呃 ，15 美元 。

**Rio** [53:45]
啊 ，15 美元可以让你 。

**吴涛** [53:47]
呃 ， 对 ， 可以让你拿到他每天写完的最新的代码 ，并且在因为他最终的那个目的是写一个游戏出来嘛 。

**Rio** [53:57]
嗯哼 。

**吴涛** [53:58]
然后你 ， 呃 ， 如果给的是 15 美元的话 ，不仅能拿到代码 ， 最终这个游戏做出来你还可以拿到一份拷贝 。

**Rio** [54:06]
啊 ， 这还不错 。

**吴涛** [54:07]
对 ， 哈哈哈 ，有点像卖期房的 ， 你看还兼让你围围观建筑工人是怎么工作的 。

**Rio** [54:16]
哈哈哈 ， 这个比喻 ， 哈哈 。

**吴涛** [54:19]
呵 。

**Rio** [54:20]
OK， 啊 ， 下面进入今天的正题 ， 哈 ， 今天我们是要讲一个字体 ，但在讲那个字体之前 ， 我们先插一个另外那个字体 ， 就是苹果前几天不是放出了它的那个 Apple Watch 的开发版那个 SDK 吗 ？

### San Francisco

**吴涛** [54:34]
嗯 。

**Rio** [54:34]
里面自包含一个叫做 San Francisco 的字体 ， 你看了吗 ？

**吴涛** [54:37]
我看了 ， 我对 ，而且我现在正在用这个字体 ， 就是这个字体释出来大概几个小时之后就有好事者 。

**Rio** [54:45]
嗯哼 。

**吴涛** [54:45]
改了这个字体的 header table， 然后在 GitHub 上面建了一个 repository， 如果你去下载这个 repository， 然后把字体拷到你的 ， 呃 ，slash library slash， 呃 ，font 字 ， 呃 ， 那个路径下面 。

**Rio** [55:00]
嗯哼 。

**吴涛** [55:01]
然后重启就会让这个 OSTEN， 呃 ， 的系统字体变成 San Francisco。

**Rio** [55:06]
嗯哼 。

**吴涛** [55:07]
我现在就在用这个修改版 。

**Rio** [55:09]
所以感觉如何 ？

**吴涛** [55:10]
感觉非常好 。

**Rio** [55:11]
很好的 ， 哈哈哈 。

**吴涛** [55:12]
但但其实我对它有一种 ， 呃 ，mixed feeling，因为 San Francisco 这个字体是实在是看起来太像就是 ， 呃 ， 德那个叫做什么 Deutsche Institute für Normen， 就是德意志标准局的这么一个字体叫做 DIN 1451 字体 。

**Rio** [55:30]
嗯哼 。

**吴涛** [55:31]
就是 DIN 有点像国标或者是 。

**Rio** [55:34]
德标吗 ？

**吴涛** [55:35]
就是德国的德国的国标标准嘛 。

**Rio** [55:36]
对 。

**吴涛** [55:37]
就是中国的国标标准不都是什么 GBE 之类的 ， 然后德国的国标标准就叫 DIN， 然后后面跟一个数字 ， 然后德国国标里面规定的一种标准字体叫做 DIN 1451 号标准 。

**Rio** [55:51]
这就是在那个路牌用的那个字体吗 ？

**吴涛** [55:54]
对 ， 这是在德国非常常见的一种字体 ， 就是 ， 呃 ， 高速公路路牌上会用这个字体 。

**Rio** [55:59]
嗯哼 。

**吴涛** [56:00]
然后如果你是 ， 呃 ， 一个比较有名的城市 ， 比如说海拉堡或者是苏加特或者是慕尼黑这样的城市 。

**Rio** [56:08]
嗯哼 。

**吴涛** [56:08]
那可能大部分的街道路牌会有一个统一的风格 ， 比如说有有时候有可能是 old style， 或者是比如柏林会采用一种非常奇怪的 ， 呃 ， 非常无尘线的字体 ， 然后有很很很强烈的当地的风格 。

**Rio** [56:22]
对 。

**吴涛** [56:22]
但如果你只是一个普通的小村子或者是 。

**Rio** [56:25]
DIN 1451。

**吴涛** [56:26]
一个一个一个一个新的街区 ， 那么几乎所有的字体 ， 呃 ， 所有的这个路牌上的字体都都会是这一张这样一种 DIN 1451 字体 。

然后这个字体在设计出来的时候 ，他考虑到就是说要让这个绘制的人可以在一个很简单的网格上面 ， 呃 ， 通过一些辅助线绘制出每一个字母来 。

**Rio** [56:47]
就他的那个笔画是相对简单的 ，是吧 ？

**吴涛** [56:50]
对 。

**Rio** [56:50]
有很多这种 。

**吴涛** [56:51]
这个字体其实是从从纳粹时代就开始 ， 哎 ，不对 ， 搞不好是从魏玛共和国时代 ， 就是 191 几年的时候就已经存在的这样一种标准 ，因为那个时候的字体字体还是要画上画出来的嘛 。

**Rio** [57:03]
对对 ， 还没法打印 ， 哈哈 。

**吴涛** [57:05]
没错 ， 然后这种字体是非常接近 ， 或者说反过来说 ，San Francisco 字体是非常接近这种字体 。

**Rio** [57:11]
嗯哼 。

**吴涛** [57:12]
然后我就有一种非常奇怪的 mixed feeling， 就是好像我每天都在盯着这种字体看 ， 结果回到家里面 ， 呃 ， 打开电脑还还继续看这种字体 。

**Rio** [57:22]
有一种熟悉又陌生的感觉 ，是不是 ？

**吴涛** [57:25]
对 ，其实就像 ， 呃 ，Heretica 一样 ，DIN 1451 这个字体 somehow someway 现在是非常非常流行 ， 无处不在的一种感觉 。

**Rio** [57:34]
嗯 ， 那个 Google 那个 Roboto 是不是 ？

**吴涛** [57:38]
Roboto 对 ，也比较像 ，Roboto 有点像那个 Heretica 和 DIN 1451 的杂糅字体 。

**Rio** [57:45]
嗯哼 。

**吴涛** [57:45]
啊 ， 然后 DIN 这个字体真是比如说 ， 呃 ， 美国的那个 Maker Movement 的的主力军主领军杂志叫做 Makezine。

**Rio** [57:57]
嗯哼 。

**吴涛** [57:58]
对 ， 就是它的标题是 Make， 然后一个 。

**Rio** [58:00]
Makezine 的后面那一句 。

**吴涛** [58:02]
冒号 ，有冒号 ，Make 一个冒号 ， 然后这个然后然后它一般叫 Makezine。

**Rio** [58:07]
嗯哼 。

**吴涛** [58:08]
这个杂志的主力字体就是 DIN。

**Rio** [58:11]
哈哈哈 。

**吴涛** [58:12]
因为它非常良好地传达出了这样一种工业的 。

**Rio** [58:16]
福利性 。

**吴涛** [58:17]
严谨的德式的风格 。

**Rio** [58:19]
嘿嘿嘿 。

**吴涛** [58:20]
然后我昨天晚上去看电影 ， 呃 ， 电影院里面所有的静态广告 。

**Rio** [58:23]
嗯哼 。

**吴涛** [58:24]
比如说有什么下周 ， 呃 ， 什么伦敦芭蕾舞剧团来演出什么什么 。

**Rio** [58:29]
嗯哼 。

**吴涛** [58:29]
所有这些字静态广告也都是用 DIN 写的 。 然后看电影之前去吃一家叫 Vapiano 的餐馆 ， 餐馆上的字体也是 DIN。

**Rio** [58:38]
嗯哼 。

**吴涛** [58:38]
然后今天收到两封电子邮件 ， 呃 ，是应该是 Harley Hansen 的 ，其中一封是 Harley Hansen 的 ，Harley Hansen 是北欧的一个户外的服饰的 。

**Rio** [58:49]
HH 两个标志 。

**吴涛** [58:50]
长章 ， 对 ，HH， 对 ， 然后这个广告邮件里面的字体也是 DIN。 对 ， 就无处不在的感觉 。 然后 San Francisco， 呃 ， 看起来非常像 DIN， 比 Roboto 更像 DIN。

**Rio** [59:02]
嗯哼 。

**吴涛** [59:03]
然后但是它改动了很多 ， 就是或者说它改善了很多我觉得 DIN 不是那么让人喜欢的地方 ， 比如说 ， 呃 ，DIN 那个那个小写的 R。

**Rio** [59:19]
OK。

**吴涛** [59:19]
我不是很喜欢 。

**Rio** [59:20]
OK， 为什么 ？ 就哪个地方不对 ？

**吴涛** [59:22]
就它它右上角那个凸出来的竖着叫做 Terminal 的部分有点有点奇怪 ， 说实话 ， 就是你会情不自禁地注意到 DIN 的一些细节 ，因为 DIN 的右上角这个 R， 它在画的时候是必须画在一个网格里面 ， 然后最终结束的部分应该是一个网格的对角线 。

**Rio** [59:40]
嗯 。

**吴涛** [59:40]
然后这个这个地方总让我觉得很突兀 。

**Rio** [59:44]
哼 。

**吴涛** [59:44]
然后或者是比如说那个小写的 l， 就如果你能 ，也许你在听这些节目的时候 ， 呃 ， 能腾得出眼睛来可以去看一下我们在 ， 呃 ， 节目里面附附送的这个 DIN 1451 字体的一些样本 。

**Rio** [59:59]
嗯哼 。

**吴涛** [59:59]
呃 ，DIN 1451 字体的小写的 l 右下角是有一个很很几何的弯曲 ， 让人觉得比较别扭 。

**Rio** [1:00:09]
OK。

**吴涛** [1:00:09]
然后 San Francisco 里面也没有 ， 就是一个很直的 l， 很漂亮 。

**Rio** [1:00:13]
就是跟那个 Heretica 的 l 是差不多的 。

**吴涛** [1:00:15]
对 。

**Rio** [1:00:16]
就是一根竖线而已 。 但其实这里就会涉及到一个所谓的可辨识性的问题 ， 哈 ， 比如说我一直有个疑问 ，其实很多人都会遇到这个问题 ， 比如说你要写 ， 呃 ，Il 吧 ， 就是病了或者 illegal 这个词 ， 然后刚好在句首的时候你怎么办 ？

是 ， 呃 ， 大写的 I， 然后小写的 l， 对吧 ？ 两个 。

**吴涛** [1:00:37]
对 ，其实这个问题 。

**Rio** [1:00:38]
看起来是三个三条竖线 。

**吴涛** [1:00:41]
我在小时候学 Illustrator 的时候就非常奇怪这个问题 ， 我当时看着三个竖的 l， 我想 ， 哇 ， 这个这个软件是怎么个念法啊 ？

为什么是 lllillustrator 吗 ？ 还是后来才意识到哦 ， 第一个字母是 i。

**Rio** [1:00:58]
嗯 ， 对 ， 这这有那个问题 ， 如果它那个 l 没有那个转角的话 ， 就会这样不好 ， 或者是它的那个大写的 I 没有那个上下两条两条出头的线 ， 对吧 ？

**吴涛** [1:01:10]
对 。

**Rio** [1:01:10]
然后还有像 DIN 也有这个问题 ， 就是 ， 哎 ， 我记得德国车牌号的那个号牌 ， 那个也是 DIN 吧 ？

**吴涛** [1:01:16]
不是 ， 德国车牌号的号牌是专门设计的 。

**Rio** [1:01:18]
哦 ， 专门设计 ， 哦 ， 那个不是 。

**吴涛** [1:01:20]
呃 ， 应该也 ， 当然你可以说它也是 DIN，但它不是 DIN 1451。

**Rio** [1:01:24]
OK， 所以另外一个 ， 然后就是中国车牌也有这个问题 ， 就是之前中国车牌是只有数字的嘛 ， 就还好 ，1234567890， 对吧 ？

就十个字符搞定 。 然后后来又出现那个车牌 ，有些地方车牌不够用 ， 它会加入那个字母嘛 ， 然后你看 ABCD， 然后你会想 ， 哎 ， 那 O 怎么办 ？

因为那个 O 和那个 0 是长得一模一样的 。

**吴涛** [1:01:44]
对 ，其实这就是为什么德国的车牌不要用 DIN 1451。

**Rio** [1:01:50]
嗯哼 。

**吴涛** [1:01:51]
呃 ， 德国的车牌的字体叫做 FE-Schrift， 就是 ， 呃 ，Fahrschulenerschwingende Schrift， 就是防篡改字体 。

**Rio** [1:02:05]
OK。

**吴涛** [1:02:06]
因为在德国的这种车牌字体上面 ， 呃 ， 每一个字母都确保了它不能通过加一笔或者减一笔来变成另外一个字母 。

**Rio** [1:02:18]
啊 。

**吴涛** [1:02:19]
比如说 O， 它是故意画成一个鸡蛋的形状 ， 上半部比较尖 ， 下半部比较宽 ， 你不能在上你不能在它上面加一撇变成 Q。

**Rio** [1:02:30]
哈哈哈 。

**吴涛** [1:02:31]
对 ， 然后 Q 呢 ， 它的右下角是一个三角形 ， 呃 ， 故意把那个撇出来的一撇和整个字体最下方结合在一起 。

**Rio** [1:02:40]
嗯哼 。

**吴涛** [1:02:41]
然后你也不可能把那一撇盖住让它变成 O， 然后 0 这个字母或者说这个数字的右上角被切断了一块 ， 这样 ， 呃 ， 你也不可能说这是一个 O，因为非常容易辨认 ， 就只有 0 才会是这样的 。

**Rio** [1:02:57]
所以是吗 ？ 德国人把这个 ， 呃 ， 各种可能性都已经穷尽了 ， 你就是不可能篡改了 。

**吴涛** [1:03:06]
对 ， 至少是非常难以篡改的 ， 应该说 。

**Rio** [1:03:08]
这个跟中国的车牌就还不太一样 ， 刚刚中国车牌那个那个字母和数字的字体我不知道是什么 ，但是就会有很严重的这个问题 。

所以你你后来查了那个叫什么中华人民共和国机动车号牌标准 GB36-2007 里面规定是说不可以有 O 和 I， 对吧 ？ 因为 I 和 E 也是长得一模一样 。

**吴涛** [1:03:28]
对 ， 曾经有一度 ， 呃 ， 中国的军警车好像是用 O 的 ， 比如什么京 O 是特别牌照 ， 然后什么 。

**Rio** [1:03:37]
那不是政府车牌吗 ？

**吴涛** [1:03:39]
我不知道 ，但已经停用了 。

**Rio** [1:03:41]
O。

**吴涛** [1:03:41]
可能就是因为 。

**Rio** [1:03:42]
Official？Maybe？Who knows？

**吴涛** [1:03:45]
No idea， 对 。

**Rio** [1:03:46]
对 ，但反正现在就说应该是不可能出现 O 和 I 的 ， 就是不会把 0 和 O 搞混 ， 然后 1 和 I 搞混 。 然后 l 因为大写的话 ， 它是一个一个折线嘛 ， 所以没有这个问题 ，因为它没有这个车牌没有小写 。

**吴涛** [1:04:02]
对 。

**Rio** [1:04:02]
对 ， 呃 ， 所以德国的车牌就本来就没有这个问题 ， 那肯定那还还不错 ， 哈哈哈

。

**吴涛** [1:04:10]
呃 ， 对 ， 然后用 San Francisco 到目前为止最大的一个问题大概是它在 Chrome 的 Tab 上面基线特别低 ， 就是可能要比图标的基线还要图标最下缘 。

**Rio** [1:04:24]
嗯哼 。

**吴涛** [1:04:25]
呃 ，不对 ， 它应该是正好和那个 Favicon 的正最下缘平齐 ， 导致有那些下降步的字母都看不到下降步 。

**Rio** [1:04:34]
就切掉了 ，是吧 ？

**吴涛** [1:04:35]
对 。

**Rio** [1:04:36]
对 ，但除此之外没有什么问题 。 反正我就是不想去修改系统的一个重要的原因就是懒得麻烦 ， 各种各样的小 bug 会让你很不爽 。

**吴涛** [1:04:45]
对 ，但对 ， 作为一个不完美主义者 ， 我觉得我是可以 。

**Rio** [1:04:50]
可以接受的 。

**吴涛** [1:04:51]
Live visit， 对 。

**Rio** [1:04:52]
好 ， 我看你是看多久会累 ， 哈 。 不过说到这个 San Francisco， 它其实苹果在 MacOS 10 之前嘛 ， 应该是 7 还是几年前 ，有有有有一款自带的字体也叫 San Francisco， 然后那个字体是 。

**吴涛** [1:05:07]
对 ， 这个字体其实还是从点阵时代 ， 应该是从 ， 呃 ， 单色时代就存在了 。

**Rio** [1:05:12]
啊哈 。

**吴涛** [1:05:13]
就是因为苹果有一大批字体都是以地点命名的嘛 ， 比如说最知名的是 Chicago， 呃 ， 就我的第一台 iPod 上面 ， 呃 ， 那个单色显示器的字体还是 Chicago。

**Rio** [1:05:26]
啊 ， 还有像我们之前用的 ， 就我比较喜欢的那个那个就是等宽字体 ， 啊 ， 叫什么 Monaco。

**吴涛** [1:05:33]
Monaco， 对 ， 摩纳哥 。

**Rio** [1:05:35]
对 ， 然后有现在自带的那个 Menlo。

**吴涛** [1:05:38]
对 。

**Rio** [1:05:38]
就是 Menlo 来自于那个 Menlo Park， 哈哈 。

**吴涛** [1:05:41]
对 。

**Rio** [1:05:41]
然后现在是这个 San Francisco 也是一个地名 ，而且怎么都 ， 呃 ，不是 ，有两个加州了已经 。

**吴涛** [1:05:49]
对 ， 然后还有什么 Geneva。

**Rio** [1:05:52]
啊 ， 对对对 。

**吴涛** [1:05:53]
呃 ，也是它 ，也是那个时代的 。 然后还有一种一个一个一个有点类似于 Windows 下面的那个 ， 呃 ， 嗯 ，Windings， 就是一大批图标的那个字体 。

**Rio** [1:06:03]
这个是直接拿过来的吧 ？

**吴涛** [1:06:06]
不 ，其实苹果有过一个自己的图标字体叫做 Cairo， 开罗 。

**Rio** [1:06:11]
OK。

**吴涛** [1:06:11]
因为因为古埃及的文字不都是象形文字嘛 ， 然后它画了一大堆图标 ， 然后叫 Cairo。

**Rio** [1:06:17]
好吧 。

**吴涛** [1:06:18]
对 ， 然后还有比如说什么 ， 呃 ， 一款有点像手写体的叫做 Venice。

**Rio** [1:06:24]
嗯哼 。

**吴涛** [1:06:25]
或者对 ，San Francisco 也是当时的一个一个字体 。

**Rio** [1:06:30]
对 ，但是现在的 San Francisco 和当时的 San Francisco 是完全两种东西了 。

**吴涛** [1:06:35]
对 ， 当时的 San Francisco 是模拟叫做 ， 呃 ， 应该叫 Ransom Note 的一个字体 ，因为就是一等于是 Ransom Note 就是 ， 呃 ， 勒索信 ， 就是从你如果你活得足够久 ， 曾经看到过 90 年代的警匪片的时候 ， 警匪片的话 ， 那个时代 ， 呃 ， 给你给你勒索要押要赎金都是写信 ，old fashioned， 然后这个信里面为了避免字迹被人追踪 ， 都是要从杂志上面裁字母 ， 然后拼拼成一封信 ， 然后

这种裁剪了不同风格的字母拼成一封信的方式被这种字体实现了 ， 这种字体叫做 Ransom Note。 然后 。

**Rio** [1:07:20]
勒索信字体 。

**吴涛** [1:07:21]
对 ， 勒索信字体 。 然后， 呃 ，San Francisco 就是模拟或者说仿制的这样一款勒索信字体 ， 只不过是被 ， 呃 ， 当时的 MacOS， 呃 ，MacOS 所准备的 。

**Rio** [1:07:33]
对对 ， 不过这个 San Francisco 是讲的是 MacOS 7 里面的那个 San Francisco， 然后现在我们讲的 San Francisco 是 Apple Watch 里面搭载的 ， 很像那个 DIN 1451 的这款字体 ， 就是两个不同东西 ， 虽然都叫一个名字 。

**吴涛** [1:07:46]
没错 。

**Rio** [1:07:47]
对 ， 呃 ， 对 。

### 字体要素

**吴涛** [1:07:49]
对 ， 所以在今天的节目过去一个小时以后， 我们终于进入今天的主题了 ， 刚才我们讲字体 ， 哈 。

**Rio** [1:07:57]
没错 。

**吴涛** [1:07:57]
跑火车跑得还是蛮远的 ， 哈哈哈 。 但可能也是 ， 呃 ， 我们这一期忘记了邀请梁海的原因 ， 我们两个都觉得对此可能没有太多可以说的 。

**Rio** [1:08:10]
嗯哼 。

**吴涛** [1:08:11]
嗯 ， 我们只能从就是延续前两期的话题 ， 就是编先是键盘 ， 然后是编辑器 。

**Rio** [1:08:19]
嗯哼 。

**吴涛** [1:08:20]
然后是说到了这样一种字体 ， 或者说 ， 呃 ，也是编程工具的这样一个延伸的 ， 呃 ， 一个一个一个话题吧 ， 就是当你按下键盘 ，在你的喜欢的编辑器里面 ， 呃 ， 会跳出一些字符来 ， 那么这些字符是怎样呈现的呢 ？

啊 ， 如果你是一个足够讲究的程序员的话 ， 应该也会对此有所在意的 。

**Rio** [1:08:47]
对 ， 然后这个其中一个最重要的选择就是你选择哪款字体作为你的什么 ， 呃 ，coding font 或者是 programming font。

**吴涛** [1:08:56]
对 ， 没错 。

**Rio** [1:08:57]
对 。

**吴涛** [1:08:57]
而这一点则是相对来说没有那么多圣战在里面的 。

**Rio** [1:09:03]
啊 ，是吗 ？ 我觉得还蛮还是蛮严重的哦 。

**吴涛** [1:09:06]
What？ 真的吗 ？

**Rio** [1:09:07]
真的 ， 真的 。

**吴涛** [1:09:08]
谁会谁会因为别人用一款比较奇怪的字体而称对方为异端吗 ？ 好像也没有吧 。

**Rio** [1:09:14]
嗯 。

**吴涛** [1:09:15]
只会说 ， 啊 ， 你你这人太没品味了 。

**Rio** [1:09:19]
好吧 ， 对 ， 就这没有没有那么严重 ， 就是因为个人偏好的情况呢比较比较多 ， 就多样化一点这里 。

**吴涛** [1:09:27]
对 ， 我觉得比如说我觉得说起语言来 ， 可能有些人会比较情绪化 。

**Rio** [1:09:33]
嗯哼 。

**吴涛** [1:09:33]
呃 ， 你黑 Java 你就是跟我不共戴天的仇人。

**Rio** [1:09:36]
哈哈哈 。

**吴涛** [1:09:37]
呃 ， 对 ， 我可能现在已经是很多人不共戴天的仇人了 ， 我觉得 。 然后， 呃 ， 你用 Vim， 呃 ，而我作为一个 ， 呃 ，EMAX 用户 ， 对你就有优越感 ，但是在字体这方面好像还是比较少出现这种这种状况的吧 。

**Rio** [1:09:55]
对 。

**吴涛** [1:09:55]
你很难说一个人在用 Menlo， 然后会觉得另外一个用这个什么 whatever VeraSense 的人非常非常没有品味 ， 好像也不会吧 。

**Rio** [1:10:05]
对 ，因为这个是纯粹 ，因为功能性上是没有没有基本上没有区别的嘛 ， 就纯粹只是在个人审美的地方有一个区别 ， 就甚至它都不牵涉到任何哲学的东西在里面 ， 对吧 ？

**吴涛** [1:10:17]
对 。

**Rio** [1:10:17]
纯粹是一个这个 ， 呃 ， 就是审美偏好的问题 ， 所以这方面的情况要相对好一些吧 。

**吴涛** [1:10:23]
对 。

**Rio** [1:10:24]
啊 ，不过这个 。

**吴涛** [1:10:24]
很难试图在上面强加一个标准来说我的就是比你好 。

**Rio** [1:10:29]
对对 ， 这个就很难有个客观或者是你自己认为客观 ，其实主观的标准 。

**吴涛** [1:10:34]
没错 。

**Rio** [1:10:34]
对 ， 啊 ，但是从最开始吧 ， 我还是分两类吧 ， 就是之前我们有一之前也提到过一次 ， 啊 ， 就是有两大类的字体用于编程 ， 一个是最常见 ，但是就会等宽字体嘛 ， 每一个字符都是一样的宽度 ， 然后因为很多编辑器也是有这个要求的 ， 比如说 Vim 就是需要每个字符是等宽的 ， 然后有这个所谓 proportional， 就是非等宽的字体 ， 就是包括我们像 Helvetica 日常这种普

通的字体 ， 啊 ， 这种的话需要编辑器提供比较良好的支持才可以 。 所以一般来说我们看目前看到的编程字体都基本上还是以等宽为主 ， 绝大部分都是的都是等宽的字体 。

**吴涛** [1:11:14]
或者你说或者这么说吧 ， 你看到一个程序员 ， 你可以有 99.999% 的 ， 呃 ， 信心去说它写程序是用等宽字体 。

**Rio** [1:11:27]
对 。

**吴涛** [1:11:27]
哈哈哈 。 我一生中见到非等宽字体编程的人可能只有两个 ， 一个是我自己 。

**Rio** [1:11:32]
哈哈哈 。

**吴涛** [1:11:33]
而且我也只是过去时而已 ， 我只是年年少轻狂无知的时候用过一段 。

**Rio** [1:11:38]
哈哈 。

**吴涛** [1:11:38]
另外一个人是一个我们我前公司的一个实习生 。

**Rio** [1:11:42]
嗯哼 。

**吴涛** [1:11:42]
呃 ，他写 ， 嗯 ，SQL 在 Word 里面写 。

**Rio** [1:11:49]
What？

**吴涛** [1:11:49]
Yeah， 我没说错 ，他每天 。

**Rio** [1:11:52]
啊 ，不过 SQL 对齐要求没那么没那么严嘛 ， 所以也无所谓 。

**吴涛** [1:11:57]
我觉得这不它它其实很简单的 ， 对于编辑器和自助自处理软件之间的区别没有没有概念 。

**Rio** [1:12:06]
呃

， 哼 ， 对 ， 对 ，不是 ， 首先这个语言本来也是相对比较自由嘛 ， 它是一个 descriptive language。

**吴涛** [1:12:16]
但不限 ， 我觉得不管是什么语言 ， 你都不能在一个非纯文本的条件之下来编辑一种其实跟格式完全没有任何关联的的的的的字符串吧 ， 这个这个太奇怪了 ， 真的 。

**Rio** [1:12:32]
哈哈哈 ， 对吧 ，也是 ，但我觉得可能还是最主要原因就是一个 ， 就是你写 SQL 不需要 IDE 嘛 ，不需要一个很复杂的编辑器嘛 ， 就 SQL 语句相对比较简单啊 。

**吴涛** [1:12:46]
呃 ， 好吧 ， 对 。

**Rio** [1:12:48]
当然也有很写出那种几长达几页的一个 SQL 的语句 ，但是如果 。

**吴涛** [1:12:53]
我曾经写过一个 1,400 多行的 SQL。

**Rio** [1:12:56]
我 DBA 想杀杀死你 ， 你信不信 ？

**吴涛** [1:13:00]
不 ， 我问题是 DBA 坐在我旁边 ， 就是我是在他的授权之下写 ， 我是在他的引导之下写的甚至 。

**Rio** [1:13:07]
OK， 所以这个是 business logic 的一部分 ， 哈 。

**吴涛** [1:13:10]
对对 ， 这是我前一个公司的黑历史的一部分 ，但在这里就娱乐为了娱乐大众说出来 ， 说出来大家乐意的就好 。

**Rio** [1:13:20]
对 。

**吴涛** [1:13:21]
对 ， 任何一个需要你手写 1,400 行 SQL 代码的工作都不会是什么好工作 。

**Rio** [1:13:27]
哈哈哈 ，但一定那个什么薪水不错 ， 这个可以肯定 。

**吴涛** [1:13:33]
哎 ， 就不提了 。

**Rio** [1:13:35]
哈哈哈 。

**吴涛** [1:13:35]
Anyway。

**Rio** [1:13:36]
所以我们今天的讨论还是就着重于讲这个就等宽字体为主 ， 然后非等宽的话相对比较少 ， 这里肯定就唯一唯一一个例子比较好玩的 ，但是也是现在我我在用的一个主力字体叫做 Input for Code， 这个名字叫 。

**吴涛** [1:13:53]
对 。

**Rio** [1:13:53]
对 ， 然后它这个比较有意思 ， 它是一个很大的字体家族 ， 然后它有等宽非等宽的 ， 它就说如果你编辑器支持非等宽的话 ， 那我们建议使用非等宽 ， 比如有些符号啊 ， 还有一些字母它会比较窄一些 ， 比如说像那个 I 对吧 ， 它会窄一些 ， 然后像这个什么括号啊引号它也会窄一些 ，但是如果像普通的字母 ， 比如说大写的 M 之类 ， 它就会变得宽一

点 。 不过它这个做的比较比较好的就是它在非等宽的同时保持了等宽的那种感觉 ， 就让你可能晃眼一看 ， 可能看还一下看不出来它是非等宽的 。

**吴涛** [1:14:28]
说的非常精确 ， 就是我当初在这款字体推出的第一天立刻把它换上， 然后再打开 Eclipse， 呃 ， 乍眼看了一下说 ， 嗯 ， 这个字体真的是非等宽的吗 ？

**Rio** [1:14:39]
哈哈哈 ， 那你怀疑自己的眼睛 。

**吴涛** [1:14:42]
对 ， 然后打了 5 个 I 回车按那个打了打了 5 个 W， 哦 ， 果然果然是非等宽 。

**Rio** [1:14:47]
啊 ， 对对 ， 所以这个就是我觉得这还做得不错 ， 就是保留了那个等宽字体那种视觉风格 ，但这个是可能是不一定是好事 ，但我觉得有点意思吧 。

**吴涛** [1:14:58]
从审美上来看 ， 我觉得还不如我当时用那个 Georgea 来来来 ， 呃 ， 做编程字体 ，因为反正都非等宽 ， 你干嘛不选个漂亮的 ？

**Rio** [1:15:07]
但它这样可能会比较一致嘛 ， 就是你可能切换的时候不会觉得很突兀的那种感觉 。

**吴涛** [1:15:12]
对 ， 它最大的优点就是如果你是一个程序员 ， 然后你要给自己的 awesome 的项目建一个 awesome 的网站 ， 你可以全占用 Input 系列家族 。

**Rio** [1:15:22]
对 ， 就看起来都是一样的 。

**吴涛** [1:15:24]
对 ， 源代码用 Input Mono， 然后是等宽字体 ， 然后介绍文字部分用 Input 的非等宽部分 。

**Rio** [1:15:30]
对对 。

**吴涛** [1:15:31]
看起来既和谐又专业 。

**Rio** [1:15:33]
就是有点丑 。

**吴涛** [1:15:35]
对 ， 就是有点丑 。

**Rio** [1:15:37]
哈哈哈 。

**吴涛** [1:15:38]
刚才我在准备稿子的时候 ， 嗯 ， 屏幕上显示着 Input 的那个网站的那一页 。

**Rio** [1:15:44]
嗯哼 。

**吴涛** [1:15:44]
然后我女朋友看了一眼说 ， 好丑的字体啊 。

**Rio** [1:15:47]
哈哈哈 。 好吧 ， 我背黑啊 ， 这其实我我现在 Input 的就是等宽那一块 ， 我是用于作为我的主力字体 ， 就编程字体在用 ， 已经用了 ， 就它出来我发现之后我已经换上到现在都没变过 。

**吴涛** [1:16:00]
真的吗 ？

**Rio** [1:16:01]
嗯 。

**吴涛** [1:16:01]
我记怎么记得你之前是在用那个 Adobe 的那个 Source Code Pro。

**Rio** [1:16:05]
对对 ， 就在在 Input 发现 Input 之前我都是用那个 Adobe 那个叫做 Source Code Pro 嘛 。

**吴涛** [1:16:10]
嗯哼 。

**Rio** [1:16:11]
啊 ， 对 ， 好吧 ， 这个 。

**吴涛** [1:16:12]
所以换过来之后你居然忍到今天 。 我有一个问题 ， 就是你是怎么忍受它的那个花括号和方括号 ？

**Rio** [1:16:19]
我觉得还可以接受啊 ， 我不觉得很 。

**吴涛** [1:16:21]
你不觉得它就是你比如说你打一个方括号 ， 再打一个花括号 ， 然后把眼睛放在大概离它们 5 公分的地方 。

**Rio** [1:16:30]
嗯哼 。

**吴涛** [1:16:31]
就是注视着离方括号花括号 5 公 5 公分的地方 ， 你会发现 ， 呃 ，Input 这种字体的方括号和花括号看起来几乎一模一样 ，但你没有在注视着它 ， 盯着它去试图分辨它的时候 。

**Rio** [1:16:47]
嗯 ， 还好 ， 我这里看起来不会啊 ， 一个是直线 ， 一个是曲线嘛 。

**吴涛** [1:16:52]
好吧 ，但是当时这对于我来说是非常大的一个一个问题 ， 就是因为我可能是看方括号和花括号 。

**Rio** [1:17:00]
嗯哼 。

**吴涛** [1:17:01]
会去会去看它们的高度 ，因为花括号比方括号方括号要高一点点 ，在大部分字体里面 。

**Rio** [1:17:07]
啊 。

**吴涛** [1:17:08]
然后我会会会下意识哦 ， 那个长的就是花括号 ， 然后方括号就是就是小短一点的那个 。

**Rio** [1:17:15]
好吧 ， 所以你 。

**吴涛** [1:17:16]
但是现在我必须去看它的细节了 ， 所以感觉不是很爽 。

**Rio** [1:17:19]
OK，不过它这个 Input 这个字体它还有一个好处 ， 就是它可以定制很多东西啊 ， 比如说刚才我们讲有些啊细节字体它是可以选的 ，不过这个要先在扯那个之前 ， 我们要先讲一下， 就是对于一个 ， 呃 ， 就是 coding font， 我们会有一些基本的诉求吧 ，有些要求 。

**吴涛** [1:17:39]
对 。

**Rio** [1:17:40]
它要是首先它的这可辨识性是很高的 ，但这个原因也很简单 ，因为很多程序语言 ， 就不是很多程序语言 ， 绝大部分程序语言 ， 对吧 ， 所有程序语言都对这个精确度要求比较高嘛 ，因为你毕竟是在给计算机下一个指令 ， 所以如果你把这个指令下错了 ， 那肯定就是要么就编译不过 ， 要么就运行时出错 ， 对吧 ？

所以在辨识度上这个跟就跟我们之前出现那种情况就不能出现 ， 比如说你不能这个大写的 I 和小写的 l， 还有数字 1， 你分不清楚 ， 这可这还得了是吧 ？

这就不行的 。 然后同样的道理 ， 呃 ，有这几个像长得像圈的东西也必须得分得清楚 ， 小写的 o， 大写的 O 和这个数字 0。

那再进一步有那个什么字 ， 大写的字母 B 和这个数字 8， 这些你得分得清楚嘛 。

**吴涛** [1:18:25]
对 ， 还有 5 和 S 也要分清楚 。

**Rio** [1:18:27]
对对对 ， 然后剩下就是还有一些细节的就是审美的考量嘛 ，但是就在可识别性上这一点是必须要求的 。

啊 ，但是解决这些方式呢 ， 就一般有这么几种了 ， 比如说现在来看那几个那几个竖线哈 ， 就数字 1 啊 ， 这个小写字母的 l 和大写字母 I， 这三个怎么区别呢 ？

一般就是在一个 coding font 里面 ， 数字它会有一个 1 的话 ， 它会有一个头或者是一个尾 ， 对吧 ？

**吴涛** [1:18:54]
嗯 ， 这其实源自于 ， 呃 ， 手写体 ， 就是欧洲的大部分国家在写数字 1 的时候 。

**Rio** [1:19:01]
不是写一竖 。

**吴涛** [1:19:02]
呃 ，不是写一竖 ，而是写会写一个会写个钩在上面 ，而且这个钩对于有些人来说甚至要比那个 1 的那一竖的本身还要长 。

**Rio** [1:19:12]
对 。

**吴涛** [1:19:12]
就是它会有一个非常长非常夸张的斜从左下向右上的提 ， 然后到右上的时候再往很短的往下拉一下， 然后写了个 1 出来 。

**Rio** [1:19:24]
对 。

**吴涛** [1:19:25]
很像 7， 对 ， 然后此时 7 就必须写一个非常平的横杠 ， 然后向左下角撇出来 ， 然后再在上面打一打一横 ， 打一短横来代表这是个 7 不是个 1。

**Rio** [1:19:38]
哈哈哈 ， 还是蛮坑爹的 ，但是就编程字体的话 ， 这个 1 就是一般是这种有一个基线 ， 出了冲出点头 ， 这个专业名词叫什么我也不太清楚啊 。

**吴涛** [1:19:48]
应该是叫 Terminal， 我要是没有记错 。 对 ， 非常惭愧 ， 我作为一个 Type is Beautiful 的网站的程序员 ， 对于很多基本的 typography 的术语都不清楚 。

**Rio** [1:19:59]
情何以堪呀 。

**吴涛** [1:20:01]
没错 。

**Rio** [1:20:02]
啊 ， 然后这个字母 l 就小写字母 l 的话 ， 它一般会有就两种做法吧 ， 一般就是它的头就是顶上会有一一一一横往左 ， 然后下面会有一个呃 ， 尾巴那里会有一撇往右这样 ， 或者是就只有一个尾巴那里往右 ，但是一般好像是这样都都有的吧 。

然后还有这个字母的 I 的话 ， 就一般都是两上下就是一个弓字嘛 ， 看起来上下都有出头的 。

**吴涛** [1:20:30]
嗯哼 。

**Rio** [1:20:31]
对 ， 然后在怎么解决这个字母 0， 呃 ，不 ， 这个数字 0 和大写的 O 的区别 ， 就是 0 可能中间会有一个点或者是一个斜线把它区分开来 。

**吴涛** [1:20:43]
对 ， 这一点是我觉得非常有意思的一点 ， 就是你在现实生活中好像是看不到人们需要做这样区别的 ， 然后如果一定要区别的话 ， 可能是做打斜线的那一种会比较容易出现 ， 就是我的确看到有些人写一个 0 为了证明那是个 0。

**Rio** [1:21:01]
嗯哼 。

**吴涛** [1:21:02]
打了一个就是从右上到左下的那个斜杠在里面 。

**Rio** [1:21:07]
对 ， 这可能跟那个所谓的语境有关系嘛 ， 就在现实生活中书写的场合很少遇到说你会不能通过上下文分辨出那里应该是一个数字还是一个字母的时候 ， 对吧 ？

**吴涛** [1:21:19]
对 。

**Rio** [1:21:19]
对 ， 所以一般就在日常生活中不会出现 ，但是在编程这种给计算机沟通的时候 ， 这种有时候就避就免不了了 ， 比如说你要做一个啊最简单的事情 ， 就什么你要给编译器给一个优化的参数 ， 一般是 O 多少 O 数字几嘛 ， 如果你要 O0 的话 ， 这个就要把这两个挨在一起用了 ， 你要分你要分得清楚是怎么一个情况 。

**吴涛** [1:21:43]
对 。

**Rio** [1:21:44]
对啊 ， 所以就一般的做法就是这样子 ，但还有很多这种比较小众的一些变种啊 ， 等我们会有有可能你可能会看到 ，但是主流的就这种两种方式 。

**吴涛** [1:21:54]
对 ， 当然这期节目可能谈论这个话题还是不可避免的非常不够直观 ，但 。

**Rio** [1:22:02]
你又看不到嘛 。

**吴涛** [1:22:03]
对 ，但如果你有空的话 ， 最好能够嗯点开我本期节目的说明文档 ， 然后把里面的呃几个我们给的范例看一下， 就会很直观明白我们在说什么 。

**Rio** [1:22:18]
对啊 ， 然后就除了这个可辨识性上面 ， 就是还有一些风格 ， 像刚才讲的一些风格上面的考虑嘛 ， 比如说刚才你会觉得那个花括号要大 ， 感觉应该要高一些才对是吧 ？

这也是一个讲究 。 但是还有一个风格就是就是哪怕是等宽字体 ， 它也是分所谓的有衬线和无衬线的嘛 。

**吴涛** [1:22:37]
对 。

**Rio** [1:22:38]
啊 ，但是这个 。

**吴涛** [1:22:39]
而且目前看来无衬线字体还是占了嗯编程字体里面的绝大多数吧 。

**Rio** [1:22:46]
嗯 ， 可能是 37K， 我个人感觉是这样子的 。

**吴涛** [1:22:50]
对 。

**Rio** [1:22:50]
对 ， 然后还有像比如包括一些这种就某一个具体的某个字符的风格有些讲究了 ， 比如说这个 A 就是小写的字母 A， 就在正的情况下有有两种写法 ， 一种是所谓的两层嘛 ，two floor， 就是 。

**吴涛** [1:23:04]
对 ，two story。

**Rio** [1:23:05]
A 转一下， 然后有一个开口 ， 然后像是 A， 然后就是像我们手写的情况下就直接写一个 R 那种 ， 就是一个圈 ， 然后一个尾巴 。

**吴涛** [1:23:13]
对 。

**Rio** [1:23:13]
这是一种风格 ，但是这里就会有一个讲究 ， 就是如果你变成斜体了 ， 基本上都是只是一个一个口的 。

**吴涛** [1:23:20]
对 ， 斜体的两层 A 是非常少见的一个一个风格 。

**Rio** [1:23:25]
对对 ， 那就可能就是没没没有做太好的斜体才会变成这种状况 。 好 ， 包括像 。

**吴涛** [1:23:31]
被斜体 ， 比如说 。

**Rio** [1:23:32]
啊 ， 还有那个小写的字母 G， 就是有些是那个 G 就是写一个钩子 ， 就是下面是一个钩钩的 ， 然后也有这种是两个圈 ，其实你看起来像像那个 Georgea 那个 G 的话 ， 就会有这种情况 。

这在编程用的等宽字里面也有这种区别 ，但是哎 ， 我不知道你喜欢哪一种啊 。

**吴涛** [1:23:49]
呃 ， 我没有什么具体的偏好 ，但呃 ， 可能还是倾向于使用两层的 ， 就是带两个字晚的 G。

**Rio** [1:23:59]
OK。

**吴涛** [1:24:00]
因为就是这种字这种风格来自于嗯印刷或者说来最早是源于雕刻体 ， 就是在雕刻体里面 G 才会被雕成这种两个两个两层的形状 。

**Rio** [1:24:15]
嗯哼 。

**吴涛** [1:24:16]
呃 ， 然后它本身应该也是来自于希腊字母的一个一个一个一个某一个字母的变种 。

**Rio** [1:24:21]
OK。

**吴涛** [1:24:22]
对 ， 所以它代表了一种比较嗯机械化的风格 ，因为手写的 G 才是那种带钩的 。

**Rio** [1:24:30]
嗯 。

**吴涛** [1:24:30]
然后呃 ， 我可能会偏向于用类似于印刷体的一个一个一个一个变种 。

**Rio** [1:24:36]
对 ， 我觉得最主要就是一个如果是一个圈一个钩的这个 G 的话 ， 就看起来有点丑 ，不知道为什么 。

**吴涛** [1:24:43]
看起来有点随意 。

**Rio** [1:24:44]
可能觉得因为不不平衡不稳吧 ， 对我来讲 ， 就可能会有这种问题啊 ， 这也是一个风格是个人风格上的选择 。

呃 ， 还有一个就是这个我觉得蛮还蛮重要的 ， 就是所谓的那个点 ， 比如说 I 就是小写字母 I 上面那个点 ， 那个点如果你把它放大的话 ， 你会感它感觉是方的还是一个圆的 。

**吴涛** [1:25:08]
对 ， 或者是菱形的 ， 就是这方形旋转 90 度 。

**Rio** [1:25:11]
啊 ， 这这种还比较少见啊 。

**吴涛** [1:25:13]
嗯 。

**Rio** [1:25:14]
但就是圆的和方的比较比较 。

**吴涛** [1:25:16]
GeoSense 里面比较比较应该 GeoSense 应该是我不记得了 ， 或要么就是伦敦的地铁字体应该是用 。

**Rio** [1:25:23]
OK， 那蛮蛮特别的 。

**吴涛** [1:25:25]
对 。

**Rio** [1:25:25]
对 ， 这也是一个一个个人选 ， 我我个人是比较喜欢那种圆点的感觉 ， 特别是在这个 Retina 的屏幕上面 ， 它真的能显示出它是一个圆嘛 ， 然后感觉还有点呃小比较比较看起来比较舒服一点 ， 方的有点刺 。

**吴涛** [1:25:41]
圆点让人觉得很 smart。

**Rio** [1:25:43]
哈哈哈 ， 可能是吧 ， 哈哈 。 然后另外一个比较对编程来说相对比较重要的字符 ， 就是这个叫这个井号那个字符 ，不知道这个英文学名叫什么 hash。

**吴涛** [1:25:55]
对 ， 我我有时候念 hash，有时候念 pound，有时候念念 sharp。

**Rio** [1:26:00]
就在电话号盘上它是念 pound 的嘛 。

**吴涛** [1:26:02]
Pound， 对 。

**Rio** [1:26:03]
然后但是在键盘上好像念 hash 吧 。Anyway， 就是我们中文就是一个井号 ， 就是呃数字 3 上面那个那个符号哈 ， 然后这个符号的话就一般有这一个区别 ， 就是它那个两竖有可能是直上直下垂直的 ，也可能是有一点点那个就是小斜着的这种方式来做的 。

**吴涛** [1:26:24]
对 。

**Rio** [1:26:25]
啊 ， 包括还有一些比较重要的方向 ， 那个所谓 &， 就是数字 7 上面那个字符 。

**吴涛** [1:26:31]
对 。

**Rio** [1:26:32]
那个那个符号的长相也比较呃好玩 ， 然后还有像如果写 PHP 的话肯定逃不了的那个 dollar sign， 就是美元那个符号的长相 ， 比如那一竖是拉贯通呢 ，是一竖还是两竖呢 ， 对吧 ？

**吴涛** [1:26:45]
对 。

**Rio** [1:26:45]
就还是有很多的讲究的 。 呃 ， 所以就是就刚才讲了 ， 除了在辨识性上有这么一个讲究之外， 然后就是剩下个人风格的一些选择 ， 然后我们可以现在来看一下呃我们常见的一些 ， 或者说我们自两个人觉得哪些比较漂亮的好用的字体会有一些什么东西哈 。

### 字体推荐

**Rio** [1:27:04]
刚才讲的那个 Input Mono， 这个就我觉得要单独拿出来讲 ，是因为它确实比较特别 ，因为它并不是一款字体 ， 它是一个家族 ， 我们刚才也提到了 ， 然后就是它还就在这个家族的同时， 它允许你定制刚才我们讲的很多字符 ， 比如说你不喜欢那个什么双层的 A 单层的 A， 它还可以有这种工具让你去定制它 ， 让你选择 ， 比如说现在看看一下它有哪些是可以选

择的地方 。

**吴涛** [1:27:31]
对 ，其他的字体是一般是告诉你说点这里下载 。

**Rio** [1:27:34]
对 。

**吴涛** [1:27:35]
然后 Input 网站上面有一个巨大的表格 ， 你可以选说啊 ， 我需要配置出一个呃符合自己 taste 的编程字体 ， 然后你再点一下下载 ， 它会把它会及时生成一个呃你挑好的样式来让你下载 。

所以每个人你可以说每个人的 Input 的字体都是不一样的 。

**Rio** [1:27:55]
对 ， 比如说这里它就它有选择 ， 刚才讲的啊 ，有可以选择 A 那个小写的字母 A， 它可以选择是一层的还是两层的 ， 然后那个 G 它可以选择是封 ， 就下面那个圈是封口的还是开口的 ， 然后这个 I 就是小写字母 I， 它有好几种变种 ， 就我这里有 1234， 哎 ，不知道 1234 四种变种 ， 就下面那一条竖线可能是没有那下面那个横 ， 底下那条竖那条横线哈 ， 或者

是有一半往右边横出来 ， 或者是全部横出来 ， 或者是它甚至是一个弯弯的一个钩子 ，L 也有这个选择 ， 还有包括 0 哈 ， 刚才我们讲的很重要的这个数字 0， 它可以写中间是一点 ， 可以选是一个斜线画过去的 ， 还可以选你刚才你说的那种德国车牌字体那种变种 ， 是一个呃六边形的 。

**吴涛** [1:28:42]
对 ， 这种这种情况 ， 还包括像这个就是星号 ， 星号这个字符它可以选择是居中的还是就是 。

**Rio** [1:28:50]
靠上 。

**吴涛** [1:28:50]
对 ， 靠上的 。

**Rio** [1:28:52]
我觉得靠上的星号也让我觉得不太舒服 。

**吴涛** [1:28:55]
对对 ， 就不对称的那感觉 。

**Rio** [1:28:57]
嗯 。

**吴涛** [1:28:58]
就很奇怪 。

**Rio** [1:28:58]
对 ，但是啊 ，有时候也有这种有人喜欢那种场合嘛 ，也也说不清楚 。 还有包括这个大括就是花括号 ， 它有两种那种 style 可以供你选 ， 所以你就是可以配置出多少 2*2*4*4*3*2*2 这么多种各种不同的这种 Input 呃家族可以供你选择 ， 所以这个是我目前见过最自由灵活的等宽字体了吧 。

**吴涛** [1:29:23]
哎 ， 它好像还能选择行高是吗 ？

**Rio** [1:29:26]
哦 ， 就有些就呃这可能要解释一下哈 ， 就在我起码在 Windows 上面 ， 你选择一款字体之后 ，在一般的编辑器里面你是没有办法选择行高的 。

**吴涛** [1:29:37]
对 。

**Rio** [1:29:38]
但 Mac 上面不需要这个 ，因为 Mac 的所有的那个文字框都自带一个就系统级别的这个字体的呃呃就在定制的窗口 ， 你可以选择行高和那个字符间距 。

**吴涛** [1:29:50]
对 。

**Rio** [1:29:51]
所以在 Mac 上这个其实不需要的 ， 然后它但是它这个在配置这个 Input 字体的时候 ， 它允许你选择 ， 就是为了像有一些比如你在 Windows 上面或者是其他一些环境里面不支持定制字体的时候 ， 你可以在字体本身做一些手脚 。

**吴涛** [1:30:07]
对 ， 这也是呃另外一个非常有用的一个功能吧 。

**Rio** [1:30:12]
对 。

**吴涛** [1:30:12]
就是我是倾向于能够在呃一屏里面挤下去很多的代码 ，但是如果挤的太多的话 ， 这种字体如果不好看 ， 或者是它没有考虑到在行高非常窄的情况之下， 应该怎样让每一个字符都尽量啊容易辨识呢 ？

其实看起来也是挺费的 。

**Rio** [1:30:31]
对对 ， 就会有点很压迫感嘛 ， 太紧了 。 我我我我也喜欢 ， 就你知道我们大部分的屏幕都是一个呃宽比高要大的这么一个情况 。

**吴涛** [1:30:44]
对 。

**Rio** [1:30:44]
但是你编程的时候 ， 你又是尽量希望竖着的这个高度能够多一些嘛 ， 这个时候你就可能只能采取挤压行高的方式来 ， 或者是缩小这个字体 ，但是太小你又看得累嘛 ， 所以基本上就是挤压行高的方式来实现 。

那么在 Mac 上面你就可以选择一款字体之后， 你再做一些微调来达到你所需要的行高嘛 。

**吴涛** [1:31:03]
没错 。

**Rio** [1:31:04]
对啊 ， 所以这个就是 Input 这款是非常特别的这么一个字体哈 。 当然 Input 还有一个很特别的地方 ， 就是它刚讲它是一个家族 ， 它除了这个等宽和非等宽之外， 它还可以选择是衬线和无衬线的 ， 然后就会它会就它的作者是提倡你这么一种用法 ， 就是说你可以在如果你的编辑是支持哈 ， 你可以对不同的语法的部分 ， 比如说关键字啊 ， 或者是字符串啊 ， 或者

是函数名啊 ， 这些采用不同风格的字 ， 这个这个字形 ， 比如说举个简简单的例子 ， 你可以说关键词用那种呃无衬线的啊等等宽字体 ， 然后你可以这个字符串的内容可以用啊有衬线的非等宽字体这么去组合 。

**吴涛** [1:31:48]
标识符其实标识符用非衬线的 ， 然后关键字用衬线的还是挺有用的 。

**Rio** [1:31:55]
所以但是这种对于我们这种 Vim 用户好像就已经无望了 。

**吴涛** [1:31:59]
对 ， 无力回天 。

**Rio** [1:32:01]
因为 Vim 只支持呃就使用一种字形 ， 一种字形 ， 那一种也不叫一种 ，其实它也支持这个加粗和写这个斜体 ，但是这个你不能换成衬线和无衬线这种之间切换是还比较惨的 。

但如果你是像用那个 Emax 或者是其他的一些比较牛逼闪闪的编辑器哈 ， 你可以做一些这种定制 ，因为感觉还是蛮蛮好的 。

它在这个官方页面上有这么一个介绍 ，有这么一个截图哈 ， 我觉得还做的还不错 ， 就是它是显示了一段啊 HTML 的文本 ， 然后就把那个标签啊 ， 还有正文啊 ， 采用不同风格的字形来展示 ， 我觉得整个整个效果还是非常不错的 ，而且有因为它毕竟还是一个家族的字体嘛 ， 然后它的这个风格还是比较一致 ，但是你如果你细看呢 ， 它还是有比较显著

的区别的 。

**吴涛** [1:32:47]
对 。

**Rio** [1:32:48]
嗯 。

**吴涛** [1:32:49]
所以如果你是一个初学 ， 为什么我每次都要谈到初学者 ， 呃初学软件开发 ， 然后想要在自己的 IDE 里面试试其他字体的话 ， 那么 Rio 会向各位推荐这个 Input Mono。

**Rio** [1:33:04]
对 ，因为我现在用的一个主力字体就是这个 Input Mono，但是因为是就我只能用一种型号哈 ， 我选的是它的 Nero 的那个版本的 light 这个字重的 。

**吴涛** [1:33:16]
你眼睛真好啊 。

**Rio** [1:33:18]
对 。

**吴涛** [1:33:18]
Nero light。

**Rio** [1:33:19]
对 ， 这个在这跟我这个屏幕有点 ，其实你也你也可以试啊 ， 你在你的屏你也是那个 Retina 屏幕吗 ？ 现在 。

**吴涛** [1:33:26]
我在公司用的不是 Retina。

**Rio** [1:33:28]
OK， 那可能不行 ， 就是如果你用 light 的话 ， 这得必须要在 Retina 屏幕才看得清楚 ，不然就会会太笔画太细 ， 然后因为我用它的 regular 的话 ， 会觉得那个笔画太粗 ， 就黑度有点过了 ， 然后我用 light 的话就还还刚好 ， 就粗细程度对我来说合适 ，但这个当然就有很多这种细致的调整 ， 你可以去调 ，但 Nero 也是一个一个讲究 ， 就是如果比如我是希望把一屏窗口

切成左右两边来用的话 ， 我想它不要那个字符太宽 ， 这样我就可能会要折行嘛 。

**吴涛** [1:34:01]
没错 。

**Rio** [1:34:01]
所以如果我用 Nero， 我哈哈还可以就把它变得稍微窄一点 ，但是还有它有三四种那种宽度吧 ， 还有什么 condensed， 还有还有一个什么我忘了 ， 你可以去自己去调 ， 你觉得哪种比较适合你自己 。

**吴涛** [1:34:14]
嗯 ， 对 ， 总之 Input Mono 其实在这个制度上叫什么啊 ，The Font Bureau。

**Rio** [1:34:21]
嗯哼 。

**吴涛** [1:34:22]
刚把它推出来的时候也是引发了一阵热议啊 ， 包括啊这个非等宽字体做编程字体 ，以及啊提供这么多种字重到底有没有意义啊之类的 ，也是有很多人议论 。

**Rio** [1:34:36]
嗯哼 。

**吴涛** [1:34:37]
那其实还是可以尝试一下 ，也许你真的会喜欢 。

**Rio** [1:34:40]
对啊 ， 然后它这个字体是就是如果你是私人使用 ， 你不是拿在我展示或者是印刷啊 ， 或者是发布啊 ， 它是免费的 ，但是如果你要用于比如说你要用它做一个 web font， 或者是你要作为你的这个什么啊桌面啊 ， 或者是其他的一些什么电子书里面绑定的字体的话 ， 它是有一个授权协议的啊 ， 大概是 5 块 5 美元或者是 10 美元一个 style 啊 ， 具体你可以在它

网站上找到这个购买方式 ，但你作为一个编程使用的话是完全自由和就是你可以它就就是免费的一个字体嘛 。

**吴涛** [1:35:14]
对 ， 这里也要插一句 ， 就是呃字体这个东西也许你没有意识到 ，但字体不管你看到的字体有多普通 。

**Rio** [1:35:24]
嗯哼 。

**吴涛** [1:35:24]
它其实都是由设计师所画出来的 ， 甚至说你觉得越普通的文字 ， 就越是由设计师设计出来的 ， 刻意让你觉得它普通 ， 你才会有这样的印象 。

那我记得之前在呃 Type is Beautiful 上面也翻译过一系列的文章 ， 就是讲说字体作为一种创造物 ， 它有没有版权呢 ？

那其实字体在美国是版权保护下面的弱者 ，因为呃法官会觉得你为什么既然一个 A 从几千年以来看起来就是 A， 那为什么你画出来一个非常像 A 的 A 要为此得到版权保护呢 ？

比如这其实是一个常人可能会有一点难以理解的地方 。

**Rio** [1:36:16]
对 。

**吴涛** [1:36:17]
对 ， 字体其实字体界 ， 当然字体界最近可能过去五六年间逐渐被大众所注意到 ，但是在这之前有很多很多人是完全没有意识到字体其实是由人设计出来的这一点的 ， 就字体就好像天经地义在那 ， 然后你打开一个编辑器 ， 呃打开字体下字体下拉单 ， 然后就与生俱来 ， 从宇宙洪荒开始就是有这么多字体可以给你选 ，但其实不是这样的 。

**Rio** [1:36:48]
对 ， 所以如果你采用你喜欢一款这个所谓是商业字体的话 ， 请记得为此付费 。

**吴涛** [1:36:55]
对 ， 然后你之所以能够在操作系统里面看到那么多五菱琳琅满目的字体 ，其实也只不过是你的操作系统提供商雇要么是雇佣了一批呃字体设计师 ， 要么是从字体设计师那边买到了一批字体来提供给你使用的 ， 它并不是免费的馅饼 。

**Rio** [1:37:13]
对 ， 就好像这也是为什么 Windows 里面它自带那个 Arial，但是没有带 Helvetica 的一个原因嘛 。

**吴涛** [1:37:19]
当初的原因之一就是 Helvetica 实在是太贵 。

**Rio** [1:37:22]
就是 。

**吴涛** [1:37:23]
而且而而当时的微软是一个非常非常穷的公司 ， 对 ， 会觉得我干嘛要掏那么多钱 ， 我可以买一个另外一个公司的仿制产品 ， 那要价只需要很低 。

**Rio** [1:37:33]
而且长得差不多是吧 。

**吴涛** [1:37:35]
对 ，而而 Jobs 就乔布斯就决定说一定要这个尊重传统的这个排字工艺或者字体设计工艺方面的优良传统 ， 一定要买一个好的 ， 所以他买了 Helvetica。

**Rio** [1:37:50]
嗯 。

**吴涛** [1:37:52]
这都是后话了 ， 对 ， 这其实这是一个比较容易掀起撕裂我耳朵的风 ，但我们还是回避它好了 。

**Rio** [1:37:58]
Arial 就是丑 ， 没办法 。

**吴涛** [1:38:00]
嗯 ， 接下来说你的另外呃先说说 Source Code Pro 吧 ， 你为什么觉得 Input Mono 要比 Source Code Pro 好呢 ？

**Rio** [1:38:10]
Source Code Pro 有一个最我想想它的一个什么问题啊 ，也是默认行高的问题 ， 好像有点太高了 ， 我记得 。

**吴涛** [1:38:18]
OK， 我觉得 Source Code Pro 呃因为你像曾经向我推荐过 ， 然后我试用过一段时间 ，但我觉得它最大问题对于我来说是它也太宽了 。

**Rio** [1:38:29]
啊 ，但没有 ， 对 ， 它只有一个宽度没得选的 。

**吴涛** [1:38:33]
对 ，Source Code Pro 是一个非常扁平的字体 ， 它的它的设计审美取向就是呃每个字符要尽可能的饱满 ，但这一点非常让我不舒服 。

**Rio** [1:38:43]
不爽是吧 。

**吴涛** [1:38:44]
因为因为各位虽然都是在用一个宽度要大于高度的屏幕 ，但字体太宽的时候仍旧是非常占用横向空间的 。

**Rio** [1:38:53]
嗯 ，Source Code Pro 是一个开源的字体啊 ， 就它的整个字体的源代码是放在 GitHub 上面 ，而且它的协议是一个比较什么 SIL Open Font License， 就整个还是比较开放的 ， 所以你觉得有些有哪里需要改进的地方 ， 你就可以去提交那个 Pull Request 去可以改啊 ， 这这当然它也不需要付费使用嘛 ， 就整它整体来说还是一个非相当自由的一个字体 ， 大家可能这个很符合如果你是也是开发自那个什么

自由软件或者开源软件的话 ， 你可能会喜欢这个 。 那对我来说就在 Input 出来之前 ， 我也一直在用这个 Source Code Pro，而且它和那个呃它是同是那个 Adobe， 它还有一个叫做 Source Code Source Sans Pro， 就是一个无衬线的非等宽字体 ， 那个搭配的话其实还蛮蛮好用的 ， 比如说你要再做一个这个这个展展示文档 ， 然后你要有一个描述 ， 你肯定是用这个等非等宽字体来写嘛 ，

然后那个代码是用这个等宽字体来排 ， 像这两这两个搭配它风格比较一致 ， 看起来很漂亮 。

**吴涛** [1:39:54]
没错 。

**Rio** [1:39:54]
就就我之前做的 slide 都是用这种方式来搭载的 ，但是后来一个最主要的问题就是为什么我后来就是弃用了这个 Source Code Pro 作为的这个编程字体 ，是因为它没有斜体 。

**吴涛** [1:40:06]
哼 。

**Rio** [1:40:08]
啊 ， 那为什么需要斜体呢 ？ 我有一个啊做法就是在 Vim 里面把那个注释 ， 就是那个代代码注释是用斜体字母来表示的 ，以示区分嘛 ， 所以斜体对我来说还蛮重要的 ， 然后它没有斜体 ， 就后来就换成那个 Input Mono 了 。

**吴涛** [1:40:28]
注释用斜体 。

**Rio** [1:40:29]
嗯哼 。

**吴涛** [1:40:31]
我不确定这是不是一个好主意 ，因为呃 IntelliJ 这个编辑器 。

**Rio** [1:40:35]
嗯哼 。

**吴涛** [1:40:35]
呃它的默认风格里面有很多是斜体的 ， 比如说呃 Global Variable 应该是 Global 的嗯

Const， 就是全局可见的常量 。

**Rio** [1:40:53]
嗯哼 。

**吴涛** [1:40:54]
它会标记为斜体 ， 如果我没记错的话 ， 然后呃那个在注释好像默认不是斜体 ，但是注释里面如果有 ToDo 的话 。

**Rio** [1:41:04]
嗯哼 。

**吴涛** [1:41:05]
ToDo 会被标为蓝色并且是斜体 。

**Rio** [1:41:07]
啊 。

**吴涛** [1:41:08]
但是我每每次安装 IntelliJ 的第一件事情就是把所有用了斜体的地方勾勾勾选掉 ，因为我不是很喜欢在代码之中出现斜体 。

**Rio** [1:41:17]
呃为什么 ？

**吴涛** [1:41:18]
包括注释本身 。

**Rio** [1:41:19]
OK， 你不喜欢斜体是吧 ？

**吴涛** [1:41:22]
因为斜体在我看来是一种比较

比较嗯怎么说呢 ， 呃在英文里面斜体一般有两种用法 ， 一种是用来强调 。

**Rio** [1:41:32]
嗯哼 。

**吴涛** [1:41:33]
另一种是拿来做比如说书名号 ， 就是英语里面没有书名号 ， 如果它要提到一部作品的话 ， 一般上一般就是把这个作品的名字写成斜体 。

**Rio** [1:41:40]
就所谓 Emphasize 嘛 。

**吴涛** [1:41:42]
对 ，而我觉得这两种呃用法在代码里面其实都不是很常见 ，因为在代码里面我想 Emphasize 的话一般都是会用会用加粗 ， 就是这个部分我觉得比较重要 ， 或者说这个语法元素我希望它比较重要的话 ， 那我会会要么用一个比较鲜艳的颜色 ， 要么就是会用粗体 ，但是用斜体会让我觉得好像降低了可读性 ， 同时又使得整体的风格变得不一致了 。

**Rio** [1:42:09]
哦 ，OK， 就所以我不我我就不喜欢把斜体混在比如关键词里面去做这种事情 ，但是如果你只写注释的话 ， 我是希望 。

**吴涛** [1:42:17]
就一整行是斜体 ， 对吧 ？

**Rio** [1:42:19]
对对 ， 就那一整行是斜体 。 我就是希望能够把注释和这个这个 ，因为注释是不影响程序运行的嘛 ， 就是我想把注释和这个这个程序本身是有显著的区别分开出来 ， 然后刚好斜体啊能够完成这么一件事情 ，因为我的所有的包括其他的关键词啊 ， 语法高亮都不会有这个这个斜体的出现嘛 ， 只有注释是用斜体的 ， 所以我就把这个 reserve 给注释

用哈 。

**吴涛** [1:42:43]
OK， 可以理解 。

**Rio** [1:42:45]
嗯 。

**吴涛** [1:42:45]
然后 Source Code Pro 让我另外一个让我觉得比较别扭的地方就是它的数字的高度和大写字母的高度是不一样的 。

**Rio** [1:42:54]
呃这有什么问题吗 ？

**吴涛** [1:42:56]
就比如说你打一个 16 进制的颜色代码 0x 呃或者是 zero hash， 为什么是 zero hash， 就是 hash 呃 ff123b， 你会发现 123 比其他的呃大写字母要矮一点 。

**Rio** [1:43:16]
应该是哦 ， 可能是要少那么一点点 ， 对 。

**吴涛** [1:43:19]
对 ，而这一点在视觉上会让我觉得这个地方是大小写混杂 ，但它其实不是 。

**Rio** [1:43:27]
但不是很明显吧 ，但是我觉得 。

**吴涛** [1:43:30]
我觉得还是挺明显的 ， 这是完全是 。 这就好像有一个术语叫什么 ， 当你看到了它 ，when you see it, you can no longer unsee it。

对 ， 就好像早期的网上的很多那个呃转动的 loading， 就是那个菊花转动的菊花标志 ， 如果你仔细看的话 ， 当它每次周而复始的时候 ， 会有一个地方的明暗不一致 ， 然后然后这个明暗不一致的转动的 rotation， 当别人告诉你之后， 你每次都能能都能看到它 。

**Rio** [1:44:04]
啊 。

**吴涛** [1:44:04]
这是这这就是所谓的当你看到的时候 ， 你就再也没有办法不看到它 。 对 ，anyway，但 Source Code Pro 其实除了这一点之外， 我觉得其他地方还是比较 ， 就是我不会说这件事情不完美 ，但是它是不完美到不能忍的 。

**Rio** [1:44:18]
对 ，但起码我觉得就是它的字体这个协议是开放 ，而且源码是开放的 ， 这点上我觉得就可以在什么在政治正确上这一条路上就已经可以赢过很多人的心了吧 ， 我觉得 。

**吴涛** [1:44:30]
没错 ， 就是很多人会觉得为什么那么好的字体呃就一定要钱 ， 或者是为什么那个字体就要钱 ， 就是因为不要钱的字体实在是太多了 。

**Rio** [1:44:40]
对对 。 啊 ， 还有一个字体 ， 这个是一个很老牌的字体 ， 叫做刚才提到了叫做 Monaco。

**吴涛** [1:44:46]
对 。

**Rio** [1:44:46]
这个是在 MacOS 应该是 8 还是 9 的时候就开始出现了吧 ， 还是 7 的时候就已经 。

**吴涛** [1:44:52]
可能更早就已经出现了 。 对 ， 它也是那个设计 ， 它的设计者也是那个微软 ，不是微软 ， 苹果非常从 Next 时代 ， 从前苹果时代到 Next 时代到后苹果时代都一直在的那个女性叫做 。

**Rio** [1:45:08]
Susan Kare。

**吴涛** [1:45:09]
我对 ，Susan Kare。

**Rio** [1:45:11]
Susan Kare， 对 。

**吴涛** [1:45:12]
对 ，也是她设计的 ，Monaco 也是她设计的 。

**Rio** [1:45:14]
对 ， 然后 Monaco 在可能大部分人就应该在相当长一段时间里 ， 它都是一个以一个点阵字体的方式存在的 ， 就是大概是在 9 磅重 ， 就是 10，9 磅是多少 ，12 pixel 的样子吧 。

**吴涛** [1:45:27]
对 ， 出现在 OSTandard， 比如说呃 。

**Rio** [1:45:31]
Terminal 里面 。

**吴涛** [1:45:31]
Utility 的 Console 啊 ， 或者 Terminal 里面 。

**Rio** [1:45:34]
对对 ， 然后后来就是它也在那个 OSTandard 里面也保留了 ， 然后呃我记得在相当长一段时间 ， 那个 Xcode 的默认字体也是它吧 。

**吴涛** [1:45:44]
没错 。

**Rio** [1:45:45]
在 Menlo 出现之前 。

**吴涛** [1:45:46]
在 Menlo 出现之前也是它 。

**Rio** [1:45:47]
然后但是就是它在就是在 OSTandard 里面 ， 它也有那个叫什么啊 ， 就是非点 ， 就是像叫非点阵叫什么 ， 向量向量化了 ， 对 。

**吴涛** [1:45:58]
哦 ， 就 TDF 字体嘛 ，TDF 版本 。

**Rio** [1:46:00]
对 ， 就是特别 。

**吴涛** [1:46:01]
矢量化字体 ， 对 。

**Rio** [1:46:02]
对 ， 呃矢量化 ， 如果你在这个呃这个就 Retina 屏幕上面的话 ， 你可以开成这个 Retina， 就是开成呃呃 NTA Alias 过后的效果可能会比这个点阵的稍微好一点 ，但是如果你是小字号 ， 比如说你就 9 磅左右 ， 它点阵还是还是非常不错的哈 ， 特别是你在一个传统的就是非 Retina 显示器上看 。

那我知道这个我有很长一段时间是挺非常爱这个字体的 ， 就在可能就刚接触 Mac 大概就头几年吧 ， 第一次都是用这个字体作为主力字体的 ，而且我知道那个就是有个铁杆的 Mac 粉 ， 就是那个 John Gruber 嘛 ，他他一直都是用那个 9 磅重的呃呃 Monaco， 然后是非就是用点阵状态的字体做他的编程 ， 就是他的那个写作字体的 。

**吴涛** [1:46:50]
我刚刚切换到 Mac 下面来也会觉得说呃 ，也甚至不是在我切换过来之后 ，是在我接触刚刚接触到 Mac 的时候 ， 我会觉得同样是 Terminal， 同样是命令行 ，Windows 那个命令行真是丑丑到一个境界啊 ， 可是你看人家 Mac 的这个命令行就呃小巧可爱 ，而且我这么这么看起来清新逼人的一款一款字体 。

**Rio** [1:47:13]
对 ， 所以什么乔布斯当年选择那个是正确的 ， 就是 。

**吴涛** [1:47:17]
没错 。 当然现在公平的说 ， 你在 Windows 下面打开不管是 PowerShell 还是 Command， 你都可以把字体设成那个 Consolas 吧 ， 应该是 Consolas。

**Rio** [1:47:27]
Consolas， 对 。

**吴涛** [1:47:28]
对 ，但呃它默认不是这样的 。

**Rio** [1:47:32]
嗯 ， 啊 ， 好 ， 接着讲 Monaco，Consolas 待会讲哈 ， 会提到 。 然后这里 Monaco，Monaco 最主要的问题它就只有一个型号 ， 一个字重 ， 没有粗体 ， 没有也没有斜体什么的没有 ， 就一个一个 style。

**吴涛** [1:47:43]
嗯 。

**Rio** [1:47:43]
啊 ， 就会就其实蛮大 ， 就如果你是在 Terminal 里面用可能还好 ，但是如果你要用来做语法高亮的话 ， 就可能会有点捉襟见肘 ，因为你只能用颜色来区分了嘛 。

**吴涛** [1:47:53]
对 。

**Rio** [1:47:54]
对 ， 然后比如说你不能用那个什么呃就是加粗啊 ， 斜体啊这种方式来做 ， 所以限制还是蛮多的 ，但是如果你无所你本来也不追求这些 ，但其实也是非常好的一款字体 。

啊 ， 当然接着是后来哈 ， 后来这个 OS 是 10.6 还是 7 的时候开始搭载了一个叫做 Menlo 的这么一个一个等宽字体 ， 它是包含我看看 ， 包含粗体 、 斜体和粗斜体这么一共四个 style 嘛 ， 然后这个是就取代了 Monaco 作为这个 OSTandard 的主力的就默认的等宽字体 ， 起码像在 Xcode 里面它是默认是用那个 Menlo， 对吧 ？

**吴涛** [1:48:33]
对 。

**Rio** [1:48:34]
然后像在 Terminal 那个应用里面好像默认也是 Menlo 了 ， 我记得 。

**吴涛** [1:48:37]
对 ， 现在已经基本上 Monaco 的经典 DIY 已经被取代了 。

**Rio** [1:48:41]
对对 ，但是 Menlo 其实是改是从那个 Bitstream Mono 改过来的 ， 我记得 。

**吴涛** [1:48:47]
对 ， 应该是用 Bitstream Mono 改过来的 。

**Rio** [1:48:49]
对 。

**吴涛** [1:48:49]
就是它跟 Monaco 的区别 ， 如果你不仔细看的话 ，其实不是特别的大 。

**Rio** [1:48:55]
我觉得还是蛮大区别 ，Monaco 给我感觉是比较是比较窄比较高的 ， 然后它 Menlo 是比较矮 ， 就是矮胖矮胖的那种感觉 。

**吴涛** [1:49:04]
好吧 。

**Rio** [1:49:05]
啊 ，但是它跟那个 Bitstream Mono 真的是就是细出同源嘛 ， 就只是有有几个字形有一些小幅的调整 ， 整体风格来说是比较像的啊 ， 然后那个 Bitstream Mono 好像还有一个名字叫什么 DejaVu Mono 吧 ，他们后来做了一个扩展版 。

**吴涛** [1:49:20]
哦 ，DejaVu Sans Mono 其实是 Bitstream Vera 的一个一个一个改良版本 。

**Rio** [1:49:26]
对 ， 就是 。

**吴涛** [1:49:27]
其实还是有细微的差别 。

**Rio** [1:49:28]
对 。

**吴涛** [1:49:28]
但是差别就是可能是那种你必须放大到几百一百磅 ， 然后把两个字体叠在一起 ， 然后用不同颜色显示 。

**Rio** [1:49:36]
对 。

**吴涛** [1:49:36]
你才可以看出来的差别 。

**Rio** [1:49:38]
对 ，但反正就说这这三个都是其实是同一个 ， 基基本上你可以认为它是一个字体吧 ， 就是同一个系列的 ， 然后这样的话就可以在 Linux 上面和 Mac 上面都是用一个风格比较一致的一个等宽字体来写 ， 就特别是如果你要经常切换的话哈 。

啊 ，但是我个人是不太喜欢 Mono 的 ，Menlo 的那种那种视觉风格的 ， 我觉得不够漂亮吧哈 。

**吴涛** [1:50:03]
嗯 ， 没有那种 Monaco 非常讨巧的感觉 。

**Rio** [1:50:07]
对 ， 没有那种很就是长得不够美 ， 我觉得 。

**吴涛** [1:50:11]
嗯 。

**Rio** [1:50:11]
对 ，也是为什么我自从它换了那个 Menlo 之后， 我就一直在寻找有没有什么替代产品啊 。

**吴涛** [1:50:17]
OK。

**Rio** [1:50:17]
对 。

**吴涛** [1:50:17]
反正 Menlo 出现之后， 我基本上只要我能看到的地方还是换回 Monaco 就 。

**Rio** [1:50:22]
啊 ，但是就是 Monaco 它那个只有一个 style， 局限还是比较多嘛 ， 所以我觉得不太好 。

**吴涛** [1:50:28]
嗯 ，是 。

**Rio** [1:50:29]
嗯 ， 还有一个比较好 ， 就是我觉得挺好看的字体 ， 就是等宽字体在 MacOS 里面自带的叫做 PT Mono。

**吴涛** [1:50:39]
PT Mono。

**Rio** [1:50:40]
嗯 ， 这个应该是从 10 也是很多 ， 已经搭载过好多好多年了 ， 应该是它跟那个 PT Sans 啊那些 PT Serif 它是一个家族的 。

**吴涛** [1:50:49]
OK， 我还真的从来没有注意过这个字体 。

**Rio** [1:50:52]
就我第一次注意到这个 PT Mono 那个字体 ， 就是它在一些网页的表单上面会出现 ， 然后当然我后来就查了一下哈 ， 这个 PT Mono 它确实也是专为表单这种用途设计的 ，因为表单的话你需要填的 ， 就填表的时候你需要看清楚你填的内容嘛 ， 所以比如你是用 。

**吴涛** [1:51:11]
所以其实我们可以说填表的字体和编程字体有一很大一部分上很大一部分通用的呃决定标准 。

**Rio** [1:51:23]
它对这个可辨识度的要求都是比较高的一个场合啊 。

**吴涛** [1:51:26]
嗯 。

**Rio** [1:51:27]
所以这个时候用一个等宽的 ， 然后有这种比较清晰的分辨 ， 刚才那几个比较容易出现混淆的字母的话还是比较有用的 。

当然 PT Mono 一个最对我来讲哈 ， 最主要的问题还是它没有这个斜体啊 ， 所以但你可能就如果你不需要斜体 ， 刚才像吴涛这样的话就无所谓 ，但是你需要斜体的话这个蛮折磨人的 。

**吴涛** [1:51:49]
PT Mono 也是看起来比较有个性的一款字体 。

**Rio** [1:51:52]
嗯 。

**吴涛** [1:51:52]
和其他的几个看起来相比的话 。

**Rio** [1:51:55]
然后今天我还要介绍的一个最后的一个 ，其实大家 Windows 上面应该程序员都已经对这款字体已经烂熟了哈 ， 就是 Consolas。

因为之前上一期你也吐槽过 ，在很长一段时间内这个 Windows 上是没有一个比较好的这个就是第一方的等宽字体嘛 ， 什么 Cora 那些都还蛮丑的哈 。

**吴涛** [1:52:16]
啊 ， 这一款字体搞不好是和 Office 一起发布的 ，因为它的作者对 ， 它的作者应该是就是 Lucas de Groot， 就是那个 I am Groot 的 Groot，他的名字叫做 Lucas de Groot，是个荷兰人。

然后嗯 ， 我在翻译那本呃字体故事的时候 ， 里面的最后一章就谈到了这个人 ，他作者去访谈他 ， 然后他说呃曾经有一个大客户来委托我做一个 ， 曾经有个中介中介公司告诉我说一个大客户委托我做一款字体 ， 然后他当时不知道是为什么 ，他说如果那个时候我知道这个大客户是谁 ， 一定会开开一个天价的 。

对 ， 然后他所为这个大客户开发的两个字体也一款就是 Calibre， 就是那个你打开 Office 呃现在的默认字体 Calibre， 另外一款就是 Consolas。

**Rio** [1:53:18]
Calibre 就挺丑的 。

**吴涛** [1:53:19]
我也觉得挺丑的 。

**Rio** [1:53:21]
对 ，Consolas 还能看 ，但是 。

**吴涛** [1:53:23]
对 ，Calibre 远不如 Type is New York， 呃 Type is New Roman，sorry，但 somehow 它更代表我们现在的这个叫什么 Zeitgeist 时代精神 。

**Rio** [1:53:36]
No, no, no, 微软的 Zeitgeist 丑 。

**吴涛** [1:53:38]
对 ， 微软的时代 。OK，不要再继续树敌了 。

**Rio** [1:53:43]
对 ，但 Consolas 确实是一款一款不错的字体啊 ，但是首先一个它是为这个就微软它有一个字体渲染引擎叫做 ClearType 嘛 。

**吴涛** [1:53:51]
对 。

**Rio** [1:53:51]
它是为这个 ClearType 呃优化定制的 ， 就它的如果你不开 ClearType， 那这个 Consolas 简直惨不忍睹 。

**吴涛** [1:53:59]
对 ， 嗯 ， 我还是比较确信呃这个 Lucas de Groot 是在一块是在一台 Mac 上设计出来的 Consolas。

**Rio** [1:54:08]
哈哈哈 ，OK。 啊 ， 然后如果你就开了这个 ClearType 之后 Consolas 就整体来说还是挺漂亮的一款字体哈 。

**吴涛** [1:54:16]
嗯 。

**Rio** [1:54:17]
啊 ， 它整个风格就它是一个给我的感觉 ， 它是一个比较方正的 ， 就是每一个字符它的这个高度和宽度是比较接近的一个一个感觉 。

**吴涛** [1:54:26]
比较工业风 。

**Rio** [1:54:28]
对对 ，而且它的那些就细节做得不错 ， 包括那但是四个字形都有 ， 就是什么粗体 、 斜体 ， 然后标准 ， 然后粗斜体 ， 这些都是有的 ， 就还不错 。

我也用过相当长一段时间 ，不过在 Mac 上面用它还是有点折腾 ， 就是你还得想办法去找一个那个 Office for Mac 来安装之后才有 ， 这个好像不能单独下载吧 ， 我记得 。

**吴涛** [1:54:49]
不能 ， 应该是不能的 。

**Rio** [1:54:50]
呃 ， 安全问题 。

**吴涛** [1:54:52]
Consolas 会不会是 Mac 呃微软所谓那个什么 Core Web Font 的一部分 ？

**Rio** [1:54:58]
啊 ， 好问题 。

**吴涛** [1:54:59]
有没有可能 ？ 如果有 ， 如果是的话 ，也许是可以免费下达 。

**Rio** [1:55:04]
但是 Core Web Font 应该是出现在 C 系字体出现之前 ， 所以也可能不包括在里面 。

**吴涛** [1:55:09]
OK。

**Rio** [1:55:10]
啊 ，anyway， 这个不不重要了 ， 就是如果你是要用的话 ， 你自己想办法去去找买一个这个 Office for Mac 的版本 ， 然后装上之后它就会自带了 。

**吴涛** [1:55:20]
对 。

**Rio** [1:55:20]
嗯 ， 我其实也用过一段时间的 Consolas 作为这个主力字体 ， 就特别是在就是呃 Monaco 被 Menlo 换掉之后 ，但是当时还没有出现像 Source Code Pro 啊 ， 还有 Input Mono 这种字体之后， 我还用了相当长一段时间这个 Consolas。

**吴涛** [1:55:37]
嗯哼 ， 感受如何 ？

**Rio** [1:55:39]
呃 ， 就在其实在 Mac 上面它的渲染出来效果还是不错的 ， 就我觉得还是蛮中规中矩的 ， 比较讨巧的一个一个字体吧 。

但是因为它的这个授权确实比较坑爹 ，因为我是我有它的原因是因为就是学校有一个这个账号可以下载这个呃 Office for Mac， 就就每个学生都可以有一个正式正版的授权 ， 然后我就装过之后发现哎 ， 还有这款字体可以用 ， 我就用了 。

后来重装系统之后也没有装 Office，也不需要用 Office 嘛 ， 然后也没有装那个 Office for Mac， 就就这款字体也就没有了 ， 那没有就没有呗 ， 无所谓哈 。

**吴涛** [1:56:15]
轮到我了 。 呃 ， 我其实呃真正要说推荐的话 ， 只有一款字体 ， 这款字体的名字叫做 PragmataPro。 对 ， 那这款字体的特别之处在于它特别的窄 ， 就是就是在所有你嗯刚才听到我们提及的这些字体里面 ， 每一款都要比它宽 。

然后在我的比如说我现在用的这台嗯 1440×900 的呃显示器上面 ， 呃它可以在终端里面用 14 号字显示两个

80 行宽的 panel，而且还有很宽的剩余之处可以显示行号啊之类的 。 就是说我可以同时在 VIM 里面开两个 panel， 然后两个 panel 都显示 80 行以上的字符 。

**Rio** [1:57:16]
OK。

**吴涛** [1:57:17]
就是它窄到这种程度 。

**Rio** [1:57:19]
但是这样不会看起来很挤吗 ？

**吴涛** [1:57:21]
不会 ， 这就是它的高明之处 ， 就是这款字体在设计的时候就考虑到了要尽可能的在纵向横向都显示尽量多的字符 ， 同时不会看起来很挤 。

呃 ，而且这个字体默认的行高是 1， 就是它可以在两行紧紧贴着的情况下显示的很好 。

**Rio** [1:57:44]
啊 ，OK， 所以是一个非常什么战地经济的字体 。

**吴涛** [1:57:48]
对 ，而且这款字体就是它最开始不是作为等宽字体出现的 ， 它最开始就是作为程序员字体而出现的 ， 就是这个这个 PragmataPro 的作者是一个在意大利的设计师 ， 名字叫做嗯 Fabrizio Schiavi， 对 ，Schiavi 可能是个德国后裔 。Anyway，他在他这款字体的网站上面特别呃写明了这款字体的一个卖点 ， 就是 less scrolling， 就是因为行都挤在一起 ， 所以你不需要卷动很多就可以看到每一款字 。

然后这款字体呢还有很多专门为编程而考虑到的地方 ， 比如说它有四个字种 ， 全都是你编程可能会遇到的 ， 嗯 ， 普通体 、 粗体 ， 然后斜体和斜粗体 ， 对 ， 四个字种 。

嗯 ， 然后它包含嗯应该是包含英语 ， 然后那些常见的 ， 比如说带什么德语的 umlaut 带点的带点的字符呀 ， 什么法语那些呃 s 下面带一撇啊 ，c 下面带一个 c 撇啊 ， 然后还包含基利尔字母 、 希腊字母 、 希伯来字母 ， 呃 ， 甚至还包括就是德语的那个 factor 字体 ， 就是如果你写字数学公式的话 ，有可能会用到呃德语的黑体字母 。

**Rio** [1:59:15]
对 ， 黑体字母 。

**吴涛** [1:59:16]
然后它也包含 。 嗯 ， 还有一个卖点就是它会给一些比较奇异的编程语言也给一些奇异的功能 ， 奇异的符号 ， 比如说 Haskell 里面有很多程序员一眼看过去都不知道是干什么的符号 ， 那个嗯两个有小于号带两个等号或者是诸如此类的 。

那么它把这些符号专门做了 ligature， 就是如果它检测到你打了一个大号 ， 打了一个等号 ， 然后打了一个打了一个向右的箭头 ， 它会把这在视觉上把这两个符号显示成一个符号 。

**Rio** [1:59:53]
哇 ， 这个好暗黑 。 这个需要编辑器支持吗 ？

**吴涛** [1:59:56]
呃 ， 好像是不需要的 。 然后它还有专门的 subscript 字体 ， 呃 subscript 字号 ， 然后还有呃呃诸如此类的 ， 比如说什么啊 ， 一时也想不到 。

对 ， 它还包含 IPA， 就是它还包含音标那些符号 。

**Rio** [2:00:13]
啊 ，OK。

**吴涛** [2:00:14]
很了不起 。

**Rio** [2:00:15]
我这个真是短小精悍哈 。

**吴涛** [2:00:17]
对 ， 这个字体非常非常了不起 ，而且它最开始的时候是作为一个众筹项目在那个 Kickstarter 上出现的吧 ， 好像 。

而且它最后应该是没有筹集到足够的钱 ，因为它开了 somehow 开了一个天价 ，10 万美元还是多少美元 。

**Rio** [2:00:32]
也不算贵啊 ， 对一款字体来讲 。

**吴涛** [2:00:35]
就是说呃对 ， 它也解释了 ， 就是说开发这样一款字体所投入的精力和时间 ， 呃就是这么多钱 。

但是对啊 ， 可能是大家都习惯了拿用免费的字体 ， 那不会愿意会去说支持这样一款项目 ，但其实我觉得它是值这么多钱的 。

然后它现在的版本是 0.819 版本 ， 如果你要去当的话 ， 它有两个版本 ， 一个叫 Essential Version， 就是不包含我刚才说的那些额外的部分 ，但是包含绝大部分 。

如果你只是一个普通程序员的话 ， 那你可能 99% 成情况你需要的字符都可以在 Essential Version 里面呃用到了 。 然后这个 Essential Version 里面有两个字种 ， 一个是普通 ， 一个是斜呃应该是粗体 ， 呃各卖 19 欧 。

**Rio** [2:01:21]
对 ， 它是一个字种一个字种的卖是吧 ？

**吴涛** [2:01:23]
一个字种一个字种的卖 ， 对 。 然后那个 Complete Version 呢 ， 每一个字种要 59 欧 ， 所以如果你要把整个字体收下来的话 ， 要 200 多欧 。

**Rio** [2:01:33]
就是就是就是 59 乘以 4 嘛 。

**吴涛** [2:01:36]
对 。

**Rio** [2:01:37]
啊 。

**吴涛** [2:01:38]
OK。

**Rio** [2:01:38]
好像好像那样的话是有打折的 。Anyway， 我只买了那个 Essential Version， 所以 。

**吴涛** [2:01:43]
OK， 反正你也不会用到那些奇奇怪怪的字符嘛 。

**Rio** [2:01:46]
对 ，但如果你对 Haskell 感兴趣的话 ，也许会想要用用这款高大上的字体 。 这款字体真的是对 ， 非常的了不起 ，而且它在就是关掉这个抗锯齿的时候 ， 表现仍旧是很很优秀的 。

**吴涛** [2:02:01]
它有做那个点阵版本 。

**Rio** [2:02:03]
对 ， 它有做点阵版本 ，而且是呃超过 3,000 个字符 ， 每一个都是手工在点阵状态下优化过的 。 这就是为什么它要卖这么贵 。

**吴涛** [2:02:12]
它一个人做的吗 ？

**Rio** [2:02:13]
是一个人做的 ， 对 。 而且这不是它唯一的作品 ， 它还有其他几个作品 ， 它还有其他几个字体 。

**吴涛** [2:02:19]
哦 。

**Rio** [2:02:20]
但其他几个对 ， 它一共用 8 个字体在自己的网站上列出来 ，其他的 7 个都是比较呃 display 向的 ， 就是做商标啊或者是做 logo 用的 。

**吴涛** [2:02:31]
啊哈 。

**Rio** [2:02:32]
只有这款字体是专门为了程序员设计的 ， 非常有爱这款字体 。

**吴涛** [2:02:37]
这个确实也是惊为 。

**Rio** [2:02:39]
对 。

**吴涛** [2:02:39]
太太令人震惊了 。

**Rio** [2:02:41]
没错 。 然后在用呃在切换到 PragmataPro 之前 ， 我也用过什么呃 Source Code Pro 啊 ， 或者是也很在很长一段时间里面就用 Monaco 用过一阵子 。

但是在嗯大概 3 年前 ， 嗯我在 Windows 和因为当时我工作牵扯到在 Windows 上面长期的用嗯 PuTI 去连接到服务器上面 ， 然后我当时挑的一款字体叫做 Anonymous Pro。

**吴涛** [2:03:13]
啊 ，OK。 这款有什么特别的地方 ？

**Rio** [2:03:17]
可能大家很多会有很多人也听过这款字体 ， 就是它的最大的特点是在呃 Windows 关掉 ClearType 的时候看起来很舒服 ， 然后打开的时候也不会特别奇怪 。

**吴涛** [2:03:30]
所以它也是做了那个点阵版本的 。

**Rio** [2:03:33]
对 ， 它也是有点阵版本的 。 因为 Windows 上面有一个问题 ， 就是如果你把 ClearType 关掉的话 ， 嗯呃就像我 ， 我是一个在 Windows 7 之前一直都是把 ClearType 关掉的人。

嗯哈哈哈 ， 对 ， 我我觉得与其忍受那种就是屎一样的 subpixel rendering 算法 ， 还不如就直接用那个点阵版本 。

因为比如说 Georgia 这款字体在点阵下面看起来要明晰可人 ，而且非常有个性 。 可是如果你打开 ClearType 的话 ，Georgia 生就 。

**吴涛** [2:04:07]
就糊成一坨了 。

**Rio** [2:04:08]
一下子就一下子就失去了魅力了 。 对 。

**吴涛** [2:04:10]
嗯哼 。

**Rio** [2:04:10]
而 Anonymous Pro 就是一款在点阵状态下也可以看起来非常舒服的字体 ，而且你打开呃 Antialiasing 它看起来也不错 。

**吴涛** [2:04:20]
啊 。

**Rio** [2:04:20]
然后另外这款字体也是相对来说比较瘦的一款 。

**吴涛** [2:04:25]
哈 。

**Rio** [2:04:25]
Yeah。

**吴涛** [2:04:26]
但我觉得它啊 ， 可能它这个展示页面比较给我感觉还蛮粗胖的 。

**Rio** [2:04:32]
呃要看和谁比了吧 ， 就是当你在比较小的呃窗口上面打开它的非呃抗锯齿版本的时候 ， 它还是挺瘦的 。

**吴涛** [2:04:46]
OK。 好 ， 我刚刚我看到你给我看的这个是 Pragmata， 然后再对比下来就觉得它好胖 。

**Rio** [2:04:51]
对 ，Pragmata 看习惯了之后， 你切换到其他任何一款字体我就觉得胖 。

**吴涛** [2:04:56]
哈哈哈 ，不错不错 。

**Rio** [2:04:59]
对 ，而且 Pragmata Pro 最大的一个亮点就是对 VIM 用户来说 ， 呃如果你用 VIM， 然后你总有一天会撞到一个插件叫做 Powerline 或者叫做或者 Powerline 有一个有一个替代用品叫做 Airline， 就是它会在整个屏幕的最下方显示一个目前的状态条 。

如果你是在呃普通模式之下的话 ， 普通模式之下的话 ， 它会显示一个蓝色的 Normal， 然后如果你进入插入模式的话 ， 它会显把整个行变成绿色 ， 这样你判断自己在什么模式下后就会变得非常方便 。

而且它会显示你当前编辑的文件的编码呀 、 路径啊之类的 。 然后这个东西当它和 Pragmata Pro 一起用的时候 ， 效果非常惊艳 。

嗯 ， 这个甚至在 Powerline 的官方的 repository 上面展示的那一款字体 ， 呃也就是 Pragmata Pro。 它为了展示这个 Powerline 看起来有多爽 ， 它就用了 Pragmata Pro 这款字体 。

**吴涛** [2:06:01]
对 ， 所以确实 。

**Rio** [2:06:03]
对 ， 所以如果从我的角度推广的话 ， 我会建议大家用一用呃 Pragmata Pro。

**吴涛** [2:06:09]
嗯 ， 就唯一问题就是大家要花这个 19 欧去买这个 Essential 或者是买哎你买了几个自动自动 ？

**Rio** [2:06:17]
我买了两个自动 。

**吴涛** [2:06:18]
就是粗体和普通的 。

**Rio** [2:06:20]
但如果你只是想试一试的话 ，其实如果你搜这个名字也是可以搜到嗯被甚至是被人堂而皇之的传上了 GitHub 的版本 。

对 ， 所以 yes。 如果你不想花钱的话也是可以不花的 ，但最少还是至少还是最好还是能支持一下作者 。

因为我觉得当初它在 Kickstarter 上面失败还是让我觉得挺挺难过的 。

**吴涛** [2:06:43]
这个很不容易嘛 ， 做这个 。

**Rio** [2:06:46]
对 ，其实字体界就是这样 。 就我们今天讨论的这么多字体 ，其实都只有拉丁字符的份 。 我们别说中文了 ， 就一些比较甚至在在用西里尔语的那个呃程序员们都不能对于他们的母语有更多的字体选择 。

**吴涛** [2:07:05]
嗯哼 。

**Rio** [2:07:05]
但当然中文是最惨的 ，因为中文要你要设计款中文字体的话 ， 要考虑到的字符实在是太多太多了 。

但 。

**吴涛** [2:07:12]
对啊 ， 那个画不完 。

**Rio** [2:07:14]
对啊 。

**吴涛** [2:07:15]
哈哈哈 ，也没办法 。

**Rio** [2:07:17]
嗯 ， 好好在或者说呃也难怪我们没有办法用中文变成 。

**吴涛** [2:07:24]
哈哈哈 ， 变成什么异语言 。

**Rio** [2:07:27]
对 ， 对 ， 作者也叫吴涛 。

**吴涛** [2:07:31]
真的吗 ？

**Rio** [2:07:32]
对啊 ， 预言作者叫吴涛 。

**吴涛** [2:07:34]
不是此吴涛非彼吴涛啊 。

**Rio** [2:07:37]
对 ， 呃对 ， 我记得我小时候在搜索引擎上搜吴涛 ， 搜出来都是什么预言创始人啊 ， 什么嗯打打乐乐的鼓手啊 ， 或者是什么举重冠军啊 ， 嗯甚至还有什么强奸犯之类的 。

**吴涛** [2:07:55]
哈哈哈 。

**Rio** [2:07:57]
对 。 对 ， 我我刚才看了一下， 就是为什么我会说 Menlo 看起来像 ， 就是 Menlo 为什么会我为什么会说它看起来像 Monaco，其实因为我把它我把 Menlo 跟那个 DejaVu Sans 给搞混了 。

因为 Menlo 作者其实和那个 Beatstream Vera Mono 的作者是同一个人， 就是叫做 Jim Lyles。

**吴涛** [2:08:23]
OK。

**Rio** [2:08:23]
对 ， 这就是为什么这两款字体看起来很像 ， 然后我呃印象里面会觉得 Menlo 和另外一种字体看起来很像 。

对 ，其实是和 Beatstream 的 Vera 字体很像 。

**吴涛** [2:08:36]
OK，I see。 呃还有几个比较怪异的字体要不要介绍一下 ？

**Rio** [2:08:43]
啊 ， 对啊 ， 比如说就是如果你希望你的编程环境看起来像科幻片 ， 或者是像一个完全外行的人只是想要希望自己的环境看起来比较酷的话 ， 可以尝试的几款字体 。

**吴涛** [2:08:59]
嗯哼 。

**Rio** [2:08:59]
啊 ， 比如说比如说 OCR A， 就是大家如果看一些比较呃奇怪的科幻片 ， 甚至都不一定是科幻片 ， 比如说有一部片子叫做伪装者 Pretend， 我不知道你有没有印象 。

呃这款这款片子里面每一个片头 ， 比如说说显示这里是什么地方哪一年的时候 ， 就会用 OCR A 的字体来显示出呃一些信息 。

然后 OCR A 的字体也是一款等宽的字体 ，但是呃我们的建议是千万不要拿它来当做编程字体使用 ，因为它真的看起来非常怪异 。

**吴涛** [2:09:36]
OCR A 这个字体本来是设计给那种什么光学扫描用的嘛 。

**Rio** [2:09:42]
对 ， 它的名字叫做 OCR A， 就是因为它所设计的初衷是希望这款字体能够被呃印出来了之后， 然后它在纸质的档案上印出来 ， 然后如果有人要扫描这个纸质档案 ， 然后拿呃光学文字识别软件去识别的时候 ， 可以让这种字体被识别出来的几率提高 。

所以它叫做 OCR A。

**吴涛** [2:10:06]
对 ， 然后这个如果大家不知道这个长什么样 ，其实也很简单 ， 就大部分的这个就我们现在用那个银行卡啊 ， 那个银行卡上面的那个名字 ， 那个字体那个好像就是用的 OCR A 我记得 。

**Rio** [2:10:17]
哎 ， 银行卡上字体搞不好是 OCR B，因为嗯 OCR A 的风格要更或者说 OCR A 为了区别每一个字母所做出的差异化要更重一点 。

因为我的印象里面银行卡上的数字好像还是圆的吧 。

**吴涛** [2:10:36]
啊 ， 这个要验证一下啊 ， 就是要不是 A 就是 B， 反正这两肯定是两个之一 ， 我记得我记得 。

**Rio** [2:10:42]
对 ，OCR B 看起来就已经非常顺眼了 ，但 OCR A 看起来真的非常 A0。

**吴涛** [2:10:48]
对对对 。 啊 ， 这说到这里还有一个很怪异的字体 ，但是这个我估计肯定是不会有人用的 ， 就是那个是给磁哎 ，是 OCR A 吗 ？

我是 OCR A 应该不是长这样 ，有一种是给磁性扫描的那种用的字体 ， 你知道吗 ？

**Rio** [2:11:03]
啊哈 ， 就是在呃护照上面 。

**吴涛** [2:11:06]
支票上面那个 。

**Rio** [2:11:07]
嗯 ， 支票上那种字体 。

**吴涛** [2:11:09]
OK， 那个好 。

**Rio** [2:11:13]
对啊 ， 那个就比较更长得更奇怪 ，因为它是通过那个 ，因为支票上有那种数字 ，是通过这种磁性介质印上去 ， 然后就可以用一个那个机器可以直接阅读出来 。

它甚至都不是光学识别的 ， 就直接磁性识别了 ， 所以它对这个形状的变化的要求更大了 。

**吴涛** [2:11:29]
嗯哼 。

**Rio** [2:11:30]
啊 ， 我估计正常人正常人不会去看它的 。

**吴涛** [2:11:34]
对 ， 那款字体经常被拿来用作一些比较奇怪的场合 ， 比如说什么游戏的标题啊 。

**Rio** [2:11:41]
嗯哼 。

**吴涛** [2:11:41]
那它的印会会有一种非常有趣的效果 。

**Rio** [2:11:45]
对对对 。 不过其实 OCR B 其实还蛮好看的 。

**吴涛** [2:11:49]
嗯 ，OCR B 已经相当顺眼了 。

**Rio** [2:11:51]
啊 ， 就除了那个 0 和 O 不是很好分清楚之外哈 。

**吴涛** [2:11:55]
嗯 。

**Rio** [2:11:57]
对 ， 整个来说还是不错的 。

**吴涛** [2:11:59]
对 。

**Rio** [2:11:59]
嗯 ， 还有一个是我看你写了哈 ， 你也写了这个是 Terminus， 刚好我也有这一款 。

**吴涛** [2:12:05]
哈哈哈 。

**Rio** [2:12:05]
要不要介绍一下 ？

**吴涛** [2:12:07]
对 ，Terminus 也是一款看起来比较怪异的字体 ，但是我也不知道 ，也许会有人喜欢它 。

**Rio** [2:12:15]
嗯 ， 就是它的那种感觉就有点像 ， 就我我用它的场合其实很简单 ， 就是在一种非 Retina 屏幕的这个这个窗口里面开的小 ， 然后把开用它的点阵版嘛 。

**吴涛** [2:12:28]
嗯 。

**Rio** [2:12:29]
啊 ， 就它的点阵版就感觉是就比较方正 ， 然后可以印很多 ， 就可以开的很小 。 我记得好像 8 个 pixel 就可以了吧 ， 还是 9 个 pixel。

**吴涛** [2:12:38]
哦 ， 这么小 。

**Rio** [2:12:39]
显示的 ， 嗯 ， 就可以可以开的很小的这一款我记得 。

**吴涛** [2:12:42]
OK，在呃很久以前曾经流行过点阵效果的字体 ， 啊 ， 我记得那个时候是应该是 08 还是有一款有一款点阵字体叫做 080B 之类的 ，但它的卖点也就是用 6 呃 8 个字符就可以 8 个 pixel 就可以显示出呃所有的拉丁字符 。

**Rio** [2:13:06]
哈哈哈 。

**吴涛** [2:13:07]
这个异曲同工之妙啊 。

**Rio** [2:13:09]
对对对 ， 这个反正 。

**吴涛** [2:13:10]
不过用那个来写程序可能会更 hardcore 一点 ，因为就基本上完全看不清楚 。 对 ， 你必须仔细去辨认 ， 才可以辨认出一些一些一些非常基本的字符 。

**Rio** [2:13:22]
对 ， 就是考眼力的一个字体 。

**吴涛** [2:13:25]
对 。

**Rio** [2:13:26]
啊 ， 还有这个 Libertine Mono 这个你要讲一下 。

**吴涛** [2:13:29]
啊 ，Linux Libertine 是我不知道我念的对不对 ，但 Linux Libertine。

**Rio** [2:13:34]
对 ， 这怎么念 ？

**吴涛** [2:13:35]
就它是它其实是呃 Wikipedia 所用的一套字体里面的一种 。 我在嗯以前写的一个简历的版本就是用这个字体 ， 我觉得它跟呃就是你的简历乍一眼看上去像一个呃 Linux 的那个 sorry Wikipedia 上面的词条 ， 感觉还挺有意思的 。

**Rio** [2:13:59]
哈哈哈 。

**吴涛** [2:14:00]
对 ，但是这款字体拿来编程就有点稍微有点 hardcore 了 ，因为它首先它的衬线非常明显 。

**Rio** [2:14:06]
嗯哼 。

**吴涛** [2:14:06]
嗯 ， 然后呢 ， 看起来会让你觉得自己是在写代码还是在写书呢 ，有点有点分不清楚 。

**Rio** [2:14:14]
哈哈哈 。

**吴涛** [2:14:15]
哎 ，不过说到这个 ， 就是什么诡异的字体啊 ， 我一直有件事情不太明白 ， 就是我不知道你知不知道 ， 顺便问一下， 就你知道在呃别人装了一个 Linux 的发行版 ，但是没有装图形界面的时候 ， 你启动进去嘛 ， 它会有就在这个电脑 boot 的过程中会有两个状态 ， 首先是在那个进入系统之前 ，在 BIOS 里面它会有一个字体 ， 对吧 ？

**Rio** [2:14:36]
对 。

**吴涛** [2:14:36]
然后那个字体是也是一个等宽的那种字体 ， 然后我不知道就但是这个可能每个每个厂商也不一样 ，但是大部分厂商我觉得好像长得差差不多 。

我不知道那款字体叫什么名字 ，其实很 。

**Rio** [2:14:47]
那款字体好像就叫 VGA Font 吧 。

**吴涛** [2:14:49]
就叫 VGA Font。

**Rio** [2:14:50]
就是如果你要搜 ， 对 ， 我曾经试图找过这款字体 ， 然后我搜了半天 ， 最后我搜 VGA Font 就搜出来了 。

它有 OK， 就是它一般是在 Room 里面就是一个点阵字体嘛 ， 然后也没有什么名字 ， 然后如果你要找到一个 TTF 或者 OTF 版本的话 ， 那基本上就只有 VGA Font， 然后就可以找到呃类似的 ， 就是你不可能说这个字体和那个 boot 过程中看出来看到的那个完全一致 ，因为在这种状况下我们是没有办法保证两个字体完全一致的 ，但基本上差不多是那个意思吧 。

**吴涛** [2:15:26]
就我我 3 号还觉得那个字体挺好看 ，是太奇怪了 。

**Rio** [2:15:31]
哈哈哈 。

**吴涛** [2:15:31]
OK， 可能被什么之前就是你会勾起你小时候折腾那个 PC 组那个组装机的时候的那种感觉出来哈 。

**Rio** [2:15:41]
可是如果真的要怀旧的话 ， 那我觉得还是可以推荐一款字体叫做呃嗯叫什么来着 ， 嗯就是 Apple II 主机上面嗯 Apple Apple II 主机上面有两个字体 ， 一个是呃就是呃 80 个字符宽的 ， 就是如果你按住一个键不放 ， 这个字这个字体可以在屏幕上显示 80 个 ， 然后另外一个字体是呃只能显示 40 个 。

**吴涛** [2:16:17]
OK。

**Rio** [2:16:18]
对 ，OK， 我找到了 ， 呃 80 个字符的那一款字体叫做 PR number three，PR 空格 number three， 然后 40 个字符的这款字体叫做 print char 21， 就 print 空格 char， 就是 char 字符 char 类型的那个 char 21， 这两个字体就是 Apple II 上面显示出来的字体 。

如果感兴趣的话可以去看一看 ， 就重温一下用中华学习机编程的感觉 。

**吴涛** [2:16:46]
哈哈哈 。 好啊 ， 这个不错 ， 可以到时候把链接放出来大家去观摩一下哈 。

**Rio** [2:16:53]
嗯哼 。

**吴涛** [2:16:53]
啊 ， 然后另外一个状况就是刚才讲的那个是在 BIOS 里面是有一个那个在那个板板上的一个点阵字体嘛 ， 还有一个就是在 boot 进某一个发行版之后， 它会在还没有进图形界面的时候 ， 它会换成另外一种这种 terminal 下面的字体 ，但是跟在图形界面下面展示的是完全不一样的 。

我不知道这种字体叫什么 。

**Rio** [2:17:13]
啊 ， 这是个好问题 ， 我觉得一种我一直觉得那个模式好像是把 VGA 模式改成 。

**吴涛** [2:17:20]
扩展一下是吧 ？

**Rio** [2:17:21]
对 ， 应该是某种扩展 VGA 模式 ， 然后现在是那种模式加的默认字体 。

**吴涛** [2:17:26]
对 ，因为那个模式它们的那个那个字就是那个呃一屏能显示多少个宽度好像是不变 ，也是 80 吧 ， 我记得 。

**Rio** [2:17:34]
比 80 多吧 ， 应该我觉得那个那个模式这样好像要宽很多 。

**吴涛** [2:17:38]
OK，但是就是它那个肯定是不是这个图形界面的模式 ，但我不知道那个是怎么实现的 。

**Rio** [2:17:43]
对 ， 那个时候还没进 X 呢 ， 然后 。

**吴涛** [2:17:45]
对对 ， 如果就是你听众朋友你们知道那个是怎么实现 ， 或者那那些字体是在能能哪里找到类似的版本 ， 可以给我们反馈一下 。

**Rio** [2:17:54]
欢迎告诉我们 。

**吴涛** [2:17:55]
对 ， 嗯 ， 那好吧 ， 今天的节目就到此结束 ， 然后我们拉拉杂杂讲了这么多字体 ， 然后你可以回去看一下我们这个呃这期节目的这个呃 notes 里面会有把这些相关的链接放出来 ， 大家可以看一下截图也好 ， 或者是去比如它是一个开源的话 ， 你可以直接下载到这个字体的啊文件 ， 然后放在电脑里面 ， 你可以把啊换来试试 ， 坚持个几天看一下

你会不会喜欢它 。

**Rio** [2:18:22]
对 ， 说不定你也会因此产生一些呃自己的编程风格吧 ， 就我一直觉得就是你能配置出一个呃自己的编程环境来 ，也会让你觉得啊 。

**吴涛** [2:18:35]
爽 。

**Rio** [2:18:36]
对 ， 就像我说我喜欢说写程序这件非常私密的事情 ， 那可能选择一款字体也是整个过程的一部分 。

**吴涛** [2:18:43]
OK， 那好吧 ， 那今天的节目就到此结束了啊 ， 谢谢大家 ， 我们下期再见 。

**Rio** [2:18:48]
谢谢大家收听 ， 拜拜 。

---

本节目库由 PodHood（https://podhood.com）提供支持——播客网站平台。
