总结问题:
- 你知道可以将文件保存为 RTF 1.6 格式的轻量级应用程序吗?
- 你知道RTF Abiword的“旧应用的富文本格式”对应哪个版本吗?
- 您知道一种检查 RTF 文件并确定其编码的 RTF 版本的方法吗?
- 你知道哪个 DLL 描述了 Windows NT 4.0 机器上的 RTF 格式以及它是否可以升级?
我有一个在嵌入式 Windows NT 4.0 机器上运行的旧版 MS Visual C++ 6.0 MFC 应用程序。该应用程序使用 MFC 的CRichEditView类提供应用程序内帮助,以从名为 help.rtf的RTF文件中提取文本。帮助文件保存为 RTF 版本 1.6。它一直使用 MS Word 2000 或 Windows NT 4.0 附带的写字板版本进行编辑。
问题是我们的开发人员工作站倾向于安装 Windows XP(及其版本的写字板)和 Office 2003 或更高版本,两者都使用比 1.6 更新的 RTF 版本,而且要找到一台安装了文件可以以该过时的格式进行编辑和重新保存。如果使用较新版本的 Word 或写字板来保存文件,则会将其保存为较新版本的 RTF。然后,当应用程序在 NT 机器上运行时,帮助文本不能正确显示。(虽然在 XP 机器上运行相同的应用程序时,帮助文本确实可以正确显示。)
所以,我想做两件事之一:
- 找到一个应用程序(最好比 Word 2000 更轻量级),它将以 RTF 版本 1.6 格式保存文件,我们可以使用它来编辑帮助文件。
- 想办法让 NT 机器正确读取更高版本的 RTF。
在第一方面,我试过AbiWord,它有一个“旧应用程序的富文本格式”选项,但我不知道这个选项输出的是什么版本的 RTF。你知道这是什么版本吗?不幸的是,根据所有版本的RTF 规范的这段可爱的段落,文件中的元数据并不明显,它只是说“rtf1” 。有没有办法分析 RTF 文件并确定它编码的 RTF 版本?
本 RTF 规范中描述的 RTF 标准,虽然标题为 1.6 版,但在语法上继续对应于 RTF 规范版本 1。因此,\rtf 控制字的数字参数 N 仍应作为 1 发出。
在第二方面,我想知道是否有一些我可以更新的 DLL,以便 Windows NT 能够识别该格式的较新版本。你知道哪个 DLL 描述了 RTF 格式,是否可以升级?