字体仍然是个 Helvetica 式的问题
在这里,字体既被视为一个重大的安全攻击面,又是一个出人意料复杂的基础设施;TrueType、FreeType 和 FontForge 等字体渲染器与工具中的过往漏洞表明,畸形字体文件可能导致远程代码执行。评论者权衡可下载自定义字体与系统字体之间的取舍,在设计控制、品牌与排版质量、用户跟踪、无障碍,以及浏览器和操作系统中可能存在缺陷或易受攻击的渲染管线风险之间寻找平衡。讨论还涉及了用于文字密集型图形的矢量与栅格格式(SVG vs PNG),并指出了数字排版流行史中的不准确之处和空白。
字体安全与攻击面
- 多条评论强调,字体解析器是一个严重的攻击面,TrueType、FreeType 和操作系统字体栈都曾有历史性漏洞利用。
- 浏览器常常把下载的字体交给并非为恶意输入设计的操作系统渲染器处理,从而增加风险。
- 建议的缓解措施:对任何处理字体的组件进行沙箱隔离,避免在字体工具周围使用
system()风格的调用,并优先使用可信/本地字体。 - 一些用户因安全和跟踪方面的担忧,完全禁用可下载的网页字体。
系统字体 vs 自定义字体
- 一派更偏好系统字体,认为它们更安全、更保护隐私、更一致,并且更尊重用户偏好(大小、字重、无障碍)。
- 另一派认为设计师需要严格的排版控制;系统字体在不同平台上会有差异,可能破坏版式,尤其是在商业工作中。
- 有人呼吁建立一小套跨平台、开放的“通用”系统字体,但也有人怀疑设计师或公司会真正坚持使用它。
设计 vs “美化”
- 有人强烈区分功能性设计与纯粹风格化的“dribbble 风格”美学。
- 有人认为,在不了解用户设备和使用情境的情况下进行设计,即使视觉上很精致,也算不上好设计。
- 也有人指出,可变的屏幕尺寸和字体本来就让数字设计很难;减少字体控制只会增加复杂性。
SVG vs PNG,以及矢量 vs 栅格
- 讨论了为什么以文本为主的图表常常以 PNG 形式交付,尽管 SVG 支持得很好。
- SVG 的优点:在任何 DPI 下都清晰、对许多图表而言更小、更具未来适应性;缺点:工具链更难、不同查看器之间的 SVG 渲染和文字排版不同、许多 bug 和不一致。
- 常见折中方案:在 SVG 中将文字转换为路径,以换取视觉一致性,但代价是文件大小和可访问性。
- 栅格图像更简单、更可预测,历史上也更高性能,但在高 DPI 显示器上缩放效果较差。
历史与技术纠正
- 若干评论纠正了文章中的字体历史,提到更早的轮廓字体系统,并反驳了 Adobe“引入”轮廓字体的说法。
- 也有澄清指出,TrueType 本身是可以免费授权的,而某些高级的 Apple 排版技术则不是。
其他
- 关于位图与矢量终端字体、可读性和 DPI 偏好的讨论。
- 对字体名称和文章标题的轻松双关玩笑。