当前位置: 首页 > article >正文

35 年后!1991 年 Adobe PostScript 解释器在浏览器运行,还打破多项限制

在浏览器中运行 Adobe 1991 年的 PostScript 解释器2026 年 5 月 1 日作者 [Michael Steil](https://www.pagetable.com/?author1 查看 Michael Steil 的所有文章)[HP C2089A “PostScript Cartridge Plus”](https://www.pagetable.com/?p1673) 是 1991 年为 LaserJet II/III 打印机推出的一款扩展组件它通过 Adobe 的参考解释器版本 2010.118在 2MB 的 ROM 上添加了 PostScript Level 2 支持。35 年过去了这个 ROM 仍然是一个可用的 PostScript 实现它能正确渲染该语言而且该语言本身也没有发生变化。如今我们有了 Ghostscript但这可是 Adobe 自己的参考实现旧代码并不一定就是复古代码为何不将其充分利用起来呢[retro-ps](https://github.com/mist64/retro-ps) 项目获取了这个 ROM模拟它所运行的 M68K 处理器模拟周边的 LaserJet 主板然后在命令行上运行也可以在 [pagetable.com/retro-ps](https://www.pagetable.com/retro-ps/) 网站的浏览器中运行。你只需将一个 .ps 文件拖到页面上该扩展卡自带的光栅化程序就会在客户端进行渲染整个过程无需服务器参与。硬件细节LaserJet III 是主机其格式化板配备了一个 8MHz 的 Motorola 68000 处理器、1MB 系统内存可扩展至 4MB、一个能将外部 ROM 映射到 CPU 地址空间的扩展卡槽以及用于与打印引擎通信的内存映射寄存器。C2089A “PostScript Cartridge Plus” 就插在这个扩展卡槽上。PostScript 解释器、字体、半色调和分带处理都在扩展卡的 ROM 上运行并使用格式化板的内存。模拟器内部原理该扩展卡原本是为驱动 LaserJet III 打印机设计的其打印分辨率为 300 DPI纸张尺寸固定硬件边距为 0.25 英寸。但扩展卡内的 PostScript 解释器是通用的这些限制实际上是打印机的限制而非语言本身的限制。retro-ps 打破了这些限制它支持高达扩展卡裁剪上限的任意 DPI、任意纸张尺寸、任意半色调频率且没有边距使用 --lj3 参数可恢复原始限制。以下几点保证了这一功能的实现CPU 和内存模拟器中的 68020 处理器可访问的内存比原始的 68000 处理器更多这里有 16MB 的内存。这些额外的内存让扩展卡无需重写内存分配器就能渲染高 DPI 页面。无需主板和引擎我们只有扩展卡的 ROM没有 LaserJet 的主板 ROM也没有打印引擎。模拟器模拟了主板提供的软陷阱打印机型号字节、IPC 字节流、引擎状态轮询并模拟了引擎完成中断以使扩展卡的状态机能够继续运行。半色调缩放Adobe 为 300 DPI 专门调整了扩展卡的半色调单元超过这个分辨率时默认单元渲染会显得过于稀疏灰度填充看起来会像粉笔一样。因此我们注入了一个根据 DPI 缩放的 setscreen 序言。像素上限PS 解释器的 clip 操作符将每个轴上的内容限制在约 16000 个设备像素。这是 Adobe 代码中的一个限制实际的最大 DPI 会随纸张尺寸而变化在 Letter 尺寸的纸张上约为 1450 DPI。未来工作其他扩展卡 ROM[Pacific Page P·E](https://www.pagetable.com/?p1850) 显然会是下一个目标。LaserJet 4M 及后续型号采用相同的 Adobe 代码但 CPU 不同4 系列的格式化板基于 Intel i960PostScript Level 2 直接集成在格式化板的 ROM 中无需扩展卡。分类[考古](https://www.pagetable.com/?cat5)[PostScript](https://www.pagetable.com/?cat24)[适用于 HP LaserJet II/III 的 PacificPage P·E PostScript 扩展卡](https://www.pagetable.com/?p1850)关于“在浏览器中运行 Adobe 1991 年的 PostScript 解释器”的 4 条反馈引用通告[Datasphere Dispatch #54: Trust Is Becoming the Interface - Datasphere Labs LLC](https://dataspheredata.com/datasphere-dispatch-54-trust-is-becoming-the-interface)引用通告[在浏览器中运行 Adobe 的 1991 年 PostScript 解释器 - 偏执的码农](https://geek.ds3783.com/2026/05/%e5%9c%a8%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%ad%e8%bf%90%e8%a1%8cadobe%e7%9a%841991%e5%b9%b4postscript%e8%a7%a3%e9%87%8a%e5%99%a8/)引用通告[Hacker News 今日 TOP 20| 2026 - 05 - 01 - 出海掘金无限可能。为独立开发者、跨境电商从业者、海外自媒体提供最新出海资讯和资源 - 出海掘金无限可能。为独立开发者、跨境电商从业者、海外自媒体](https://www.chuhaix.com/hackernews-daily-2026-05-01/)引用通告[2026 - 05 - 02 — Adobe 1991 PostScript 瀏覽器執行、Zig AI 禁令、SIMD Quad 超越二元搜尋 - Charlie27s Blog](https://www.charlie27.com/2026/05/2026-05-02-adobe-1991-postscript-%e7%80%8f%e8%a6%bd%e5%99%a8%e5%9f%b7%e8%a1%8c%e3%80%81zig-ai-%e7%a6%81%e4%bb%a4%e3%80%81simd-quad-%e8%b6%85%e8%b6%8a%e4%ba%8c%e5%85%8)发表评论 [取消回复](/?p1854#respond)评论内容姓名邮箱网站下次评论时将我的姓名、邮箱和网站信息保存在此浏览器中。搜索Mastodon:[pagetablemastodon.social](https://mastodon.social/pagetable)GitHub:[github.com/mist64](https://github.com/mist64)网站信息[登录](https://www.pagetable.com/wp-login.php)[文章订阅](https://www.pagetable.com/?feedrss2)[评论订阅](https://www.pagetable.com/?feedcomments-rss2)[WordPress.org](https://wordpress.org/)近期评论[2026 - 05 - 02 — Adobe 1991 PostScript 瀏覽器執行、Zig AI 禁令、SIMD Quad 超越二元搜尋 - Charlie27s Blog](https://www.charlie27.com/2026/05/2026-05-02-adobe-1991-postscript-%e7%80%8f%e8%a6%bd%e5%99%a8%e5%9f%b7%e8%a1%8c%e3%80%81zig-ai-%e7%a6%81%e4%bb%a4%e3%80%81simd-quad-%e8%b6%85%e8%b6%8a%e4%ba%8c%e5%85%8) 对 [在浏览器中运行 Adobe 的 1991 年 PostScript 解释器](https://www.pagetable.com/?p1854#comment-103058) 的评论[在浏览器中运行 Adobe 的 1991 年 PostScript 解释器 - TomFlash News](https://www.newsflashtom.club/2026/05/01/running-adobes-1991-postscript-interpreter-in-the-browser/) 对 [适用于 HP LaserJet III 的 PostScript Cartridge Plus](https://www.pagetable.com/?p1673#comment-103031) 的评论[Hacker News 今日 TOP 20| 2026 - 05 - 01 - 出海掘金无限可能。为独立开发者、跨境电商从业者、海外自媒体提供最新出海资讯和资源 - 出海掘金无限可能。为独立开发者、跨境电商从业者、海外自媒体](https://www.chuhaix.com/hackernews-daily-2026-05-01/) 对 [在浏览器中运行 Adobe 的 1991 年 PostScript 解释器](https://www.pagetable.com/?p1854#comment-103006) 的评论[michal olive](https://picsartonline.net/) 对 [Commodore Video Supergame 64 套装](https://www.pagetable.com/?p1354#comment-102991) 的评论[إحياء الماضي: تشغيل مترجم PostScript من Adobe لعام 1991 في متصفحك - شو صار؟](https://shoo-sar.com/%d8%aa%d8%b4%d8%ba%d9%8a%d9%84-%d9%85%d8%aa%d8%b1%d8%ac%d9%85-postscript-%d8%a7%d9%84%d8%aa%d8%a7%d8%b1%d9%8a%d8%ae%d9%8a-%d9%85%d9%86-adobe-%d9%84%d8%b9%d8%a7%d9%85-1991-%d9%85%d) 对 [适用于 HP LaserJet II/III 的 PacificPage P·E PostScript 扩展卡](https://www.pagetable.com/?p1850#comment-102986) 的评论

相关文章:

35 年后!1991 年 Adobe PostScript 解释器在浏览器运行,还打破多项限制

在浏览器中运行 Adobe 1991 年的 PostScript 解释器2026 年 5 月 1 日,作者 [Michael Steil](https://www.pagetable.com/?author1 "查看 Michael Steil 的所有文章")[HP C2089A “PostScript Cartridge Plus”](https://www.pagetable.com/?p1673) 是 …...

SOCD Cleaner终极指南:内核级键盘输入仲裁技术深度解析

SOCD Cleaner终极指南:内核级键盘输入仲裁技术深度解析 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd SOCD Cleaner是一款专为竞技游戏玩家设计的开源键盘输入仲裁工具,通过创新的内核级…...

python transformers

# 聊聊Python transformers这个库 做了几年NLP相关的工作,接触过的框架和库少说也有十几个。但要说哪个库让我觉得“这个团队是真的在认真做工程”,那Hugging Face的transformers绝对排在前列。它不是那种学术原型代码,而是真正能直接扔到生产…...

【Python WASM 部署实战白皮书】:20年架构师亲授3大避坑指南、4步零错误上线法与Chrome 125+兼容性验证清单

更多请点击: https://intelliparadigm.com 第一章:Python WASM 部署测试的演进背景与核心挑战 WebAssembly(WASM)正从“前端高性能执行层”加速演变为通用跨平台运行时,而 Python 作为生态最丰富的科学计算与胶水语…...

全面战争MOD开发神器:RPFM实用指南提升500%工作效率

全面战争MOD开发神器:RPFM实用指南提升500%工作效率 【免费下载链接】rpfm Rusted PackFile Manager (RPFM) is a... reimplementation in Rust and Qt6 of PackFile Manager (PFM), one of the best modding tools for Total War Games. 项目地址: https://gitco…...

Figma中文插件深度解析:3步实现专业设计工具本土化

Figma中文插件深度解析:3步实现专业设计工具本土化 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 你是否曾因Figma的英文界面而感到创作障碍?面对"Auto La…...

华为设备Bootloader解锁终极指南:PotatoNV完整教程

华为设备Bootloader解锁终极指南:PotatoNV完整教程 【免费下载链接】PotatoNV Unlock bootloader of Huawei devices on Kirin 960/95x/65x/620 项目地址: https://gitcode.com/gh_mirrors/po/PotatoNV 还在为华为设备的系统限制而烦恼吗?想要完全…...

3分钟解锁B站缓存视频永久保存的终极方案

3分钟解锁B站缓存视频永久保存的终极方案 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的情况:收藏已久的B站…...

Linux服务器运维:手把手教你用parted命令从U盘创建、格式化到挂载全流程

Linux服务器运维实战:用parted命令完成U盘分区格式化与挂载全流程 当服务器需要临时扩容存储空间或进行数据迁移时,U盘往往是最便捷的解决方案。但直接将U盘插入服务器使用可能会遇到权限不足、文件系统不兼容等问题。本文将完整演示如何通过parted工具…...

从NetworkManager到systemd-resolved:一文搞懂Ubuntu 20.04网络服务如何“打架”并吃掉你的DNS设置

Ubuntu 20.04网络服务DNS配置冲突全解析与实战解决方案 当你发现每次重启Ubuntu服务器后,精心配置的DNS设置总是神秘消失,这背后其实是systemd-resolved和NetworkManager两大服务在暗中较劲。本文将带你深入理解现代Linux发行版中复杂的网络服务交互机制…...

VSCode AI调试器内测权限泄露事件(仅限前2000名认证开发者获取):深度解析2026版Context-Aware Error Healing核心算法

更多请点击: https://intelliparadigm.com 第一章:VSCode 2026 AI调试智能纠错的演进脉络与事件背景 VSCode 2026 版本标志着编辑器从“辅助开发工具”正式跃迁为“协同编程伙伴”。其核心突破在于将 LLM 推理能力深度嵌入调试器(Debugger E…...

stm32开发者如何通过curl快速接入大模型api提升产品智能化

STM32开发者如何通过cURL快速接入大模型API提升产品智能化 1. 嵌入式智能化的轻量级方案 在STM32等资源受限的嵌入式设备中实现智能对话功能,传统方案往往面临SDK体积过大、网络库适配复杂等问题。通过Taotoken平台提供的OpenAI兼容API,开发者可以直接…...

鸣潮工具箱WaveTools:为PC玩家量身打造的性能与数据管理解决方案

鸣潮工具箱WaveTools:为PC玩家量身打造的性能与数据管理解决方案 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否曾为《鸣潮》PC版的帧率限制而烦恼?是否想要更好地管理多个游…...

如何构建专业的Android电池监控小部件:3步实现实时电量显示与数据可视化

如何构建专业的Android电池监控小部件:3步实现实时电量显示与数据可视化 【免费下载链接】Android-Battery-Widget Battery widget indicator for android 项目地址: https://gitcode.com/gh_mirrors/an/Android-Battery-Widget 在移动设备日益普及的今天&am…...

2026年南宁GEO优化公司类型与选择标准百科

一、测评主体与标准公示本次测评涵盖以下五家南宁地区GEO优化服务商:攸创GEO(广西攸创科技发展有限公司) 泓动数据 海星小象 南洲智联 艾奇GEO统一测评维度与动作测评维度动作环境与条件公司资质查询工商注册、ICP备案、公安备案、办公场所20…...

番茄小说下载器:3种界面让你轻松离线阅读小说

番茄小说下载器:3种界面让你轻松离线阅读小说 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 还在为网络小说只能在特定平台阅读而烦恼吗?想要随时随地…...

Pseudogen:如何让AI帮你读懂任何代码?

Pseudogen:如何让AI帮你读懂任何代码? 【免费下载链接】pseudogen A tool to automatically generate pseudo-code from source code. 项目地址: https://gitcode.com/gh_mirrors/ps/pseudogen 你是否曾面对陌生的代码库感到无从下手?…...

新硬件装老系统?手把手解决Ubuntu18.04下Realtek 2.5G网卡没网络的尴尬

新硬件装老系统?手把手解决Ubuntu18.04下Realtek 2.5G网卡没网络的尴尬 最近给工作室配了台新主机,华硕主板搭配11代i7,想着性能应该杠杠的。结果装完Ubuntu18.04傻眼了——网卡死活识别不出来。作为一名常年和Linux打交道的开发者&#xff0…...

终极免费方案:5分钟实现专业级键鼠操作可视化

终极免费方案:5分钟实现专业级键鼠操作可视化 【免费下载链接】keyviz Keyviz is a free and open-source tool to visualize your keystrokes ⌨️ and 🖱️ mouse actions in real-time. 项目地址: https://gitcode.com/gh_mirrors/ke/keyviz 你…...

从汽车电子到通用嵌入式:MISRA-C 2012实战避坑指南(附代码审查清单)

从汽车电子到通用嵌入式:MISRA-C 2012实战避坑指南(附代码审查清单) 在嵌入式系统开发领域,代码质量与系统可靠性始终是工程师面临的核心挑战。随着物联网设备的普及和工业4.0的推进,原本主要应用于汽车电子等高安全要…...

实测Taotoken多模型API在创意生成任务中的响应速度与稳定性观感

实测Taotoken多模型API在创意生成任务中的响应速度与稳定性观感 1. 测试背景与场景 近期在筹备一个短片项目时,需要批量生成不同风格的场景描述文本。考虑到单一模型可能无法覆盖所有创意需求,我们决定通过Taotoken平台同时接入多个厂商的大模型API。这…...

终极指南:AI-Shoujo HF Patch 一站式游戏增强解决方案

终极指南:AI-Shoujo HF Patch 一站式游戏增强解决方案 【免费下载链接】AI-HF_Patch Automatically translate, uncensor and update AI-Shoujo! 项目地址: https://gitcode.com/gh_mirrors/ai/AI-HF_Patch AI-Shoujo HF Patch 是专为 AI-Shoujo 游戏设计的综…...

OrgChart.js 实战指南:5分钟构建专业级组织结构图

OrgChart.js 实战指南:5分钟构建专业级组织结构图 【免费下载链接】OrgChart.js Its a simple and direct organization chart plugin. Anytime you want a tree-like chart, you can turn to OrgChart. 项目地址: https://gitcode.com/gh_mirrors/or/OrgChart.js…...

Python+AI实现Excel自动化:从批量替换到数据拆分的实战优化

1. 项目概述:用Python与AI助手重塑Excel自动化如果你和我一样,每天都要和一堆Excel文件打交道,重复着查找替换、拆分工作表、数据筛选这些枯燥的活儿,那你肯定想过有没有什么办法能“偷个懒”。过去,我们得自己吭哧吭哧…...

高效抖音下载器:轻松获取无水印视频的完整指南

高效抖音下载器:轻松获取无水印视频的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…...

国家自然科学基金LaTeX模板:5分钟完成专业级申请书排版的终极指南

国家自然科学基金LaTeX模板:5分钟完成专业级申请书排版的终极指南 【免费下载链接】NSFC-application-template-latex 国家自然科学基金申请书正文(面上项目)LaTeX 模板(非官方) 项目地址: https://gitcode.com/GitH…...

如何在OpenClaw Agent工作流中集成Taotoken的多模型能力

如何在OpenClaw Agent工作流中集成Taotoken的多模型能力 1. 准备工作 在开始集成前,请确保已具备以下条件: 有效的Taotoken API Key(可在控制台创建)已安装OpenClaw工具链了解目标模型ID(可在Taotoken模型广场查看&…...

别再只用setScale了!BigDecimal保留两位小数的5种实战场景与避坑指南

别再只用setScale了!BigDecimal保留两位小数的5种实战场景与避坑指南 金融系统里0.01元的误差可能导致对账失败,电商平台少算1分钱会引发用户投诉,报表数据四舍五入不当会产生统计偏差——这些看似微小的精度问题,背后都藏着BigDe…...

OpenCode:AI辅助编程与自动化工作流的开源集成工具集

1. 项目概述:从零开始,全面掌握OpenCode如果你对编程世界充满好奇,但又被那些复杂的命令行、晦涩的术语和庞大的集成开发环境(IDE)吓退,那么OpenCode的出现,可能正是你期待已久的“破壁”工具。…...

图解PTP/IEEE1588:从Sync、Follow_Up报文到BMC算法,一次搞懂时间同步核心流程

图解PTP/IEEE1588:从Sync、Follow_Up报文到BMC算法,一次搞懂时间同步核心流程 想象一下,当金融交易系统的时间戳相差1毫秒,可能导致数百万美元的损失;当5G基站间的时钟偏差超过100纳秒,会引发信号干扰。这就…...