88x31 像素的按钮是早期 Web 设计的经典遗迹,常用于小型广告或导航链接。虽然大多数现代版本的此类按钮使用简单的动画来吸引注意力,但一个新项目将这一概念推向了技术极限:它将赫尔曼·梅尔维尔的《白鲸记》全文编码进一个单一的滚动 GIF 中。该项目证明,虽然 88x31 的分辨率极其受限——将 Arial 等标准字体限制在每次显示约 11 个单词左右——但如果采用正确的工具和排版,渲染长篇文学作品是完全可行的。
为了实现这一目标,作者利用了一种名为 TomThumb 的专用字体,该字体专为极小尺寸(甚至可小至 3x3 像素)下的可读性而设计。由于作为图像生成主要工具的 ImageMagick 并非针对复杂的文本布局进行优化,因此该项目依赖于一系列 POSIX 工具来准备文本。处理流程包括使用 `cat` 将文本输入到 `tr` 中以将换行符标准化为空格,然后使用 `fold` 将文本折叠成恰好 22 个字符的行。这确保了文本能够适应 88x31 的尺寸,同时避免单词被截断。此外,还使用 `sed` 和 `grep` 进行额外的清理,以移除可能干扰格式的非 ASCII 字符。
最终的 GIF 转换由 ImageMagick 的 `convert` 命令处理,该命令接收格式化后的文本并生成逐帧动画。为了优化输出,作者应用了裁剪操作以去除不需要的边距,并设置了 600 毫秒的帧延迟以确保可读性。此外,还采用了一个 Python 脚本来计算并插入前导空格,使文本在按钮边界内居中。生成的最终文件是一个 4.2 MB 的 GIF,完整播放大约需要 19 小时,作为“小网页”(Small Web)美学极限的一个高投入概念验证。
在过程中注意到的一个重要技术限制是 `fold` 命令在处理多字节字符时的行为,如果未经过适当的清理,可能会导致文本乱码。此外,虽然 GIF 格式支持海量的帧数和高分辨率,但 88x31 的限制迫使人们为了功能性的可读性而牺牲视觉上的华丽感。该项目突显了简单的命令行工具与特定的排版选择如何结合,将一部宏大的文学巨著转化为一件功能完善但极其缓慢的网页艺术品。
