UnicornViewer: A software to view PDG and multi-page TIFF, DjVu and PDF. 作者：马健 邮箱：stronghorse@tom.com 主页：老马的原创空间 FAQ 使用说明 一、软件安装/删除 二、PDF多语言支持 三、软件使用 快捷键表 设置选项 图像处理 命令行参数 附录A 鸣谢 附录B 版本更新记录 # FAQ Q：UnicornViewer是什么？ A：这是一个针对扫描版电子文档的浏览器，具有下列功能： 支持PDG、PDF、DjVu、多页TIFF格式。PDG格式仅支持图像、文字版0xH、1xH、28H、AxH，不支持FFH、6xH；支持名为PDG，实为JPG、JPEG 2000、PNG、、GIF、TIFF、DjVu、PDF的文件，但文件名必须符合PDG命名规范。PDF支持CJK字符集、多级目录、分段页码等。 支持连续翻页、并排显示、多种缩放方式及打印；支持背景色及背景图案。 支持直接从ZIP文件读取PDG，中间不生成任何临时文件。支持加密ZIP并能记忆密码。不过有一个限制：ZIP文件中只能有一个文件夹下有PDG，不能在多个文件夹下有PDG。通常大家都是一本书一个ZIP，所以这不会有什么问题。 现场保存/恢复功能，也就是说如果看书时中途退出，下次启动后将自动恢复退出时打开的书和阅读位置。这样午休看书就不用担心下次进来时页码记不住了，也根本没必要记。如果觉得没有必要，此功能也可通过选项关闭。 书签功能。书签包括文档的路径和当前浏览位置。这样在退出某本书前把它添加到书签中，以后再想看这本书时直接从书签中打开即可。需要同时交叉看多本书时，此功能可以弥补现场保存/恢复功能的局限。最近打开过的书签可以通过“文件->最近书签”菜单快速打开。 PDG查找功能。文件查找可按照关键字搜索PDG文件夹/zip文件名、Bookcontents.dat、BookInfo.dat；PDG目录查找可以按照关键字搜索 当前PDG目录（书签）。 目录编辑功能，与PdgCntEditor联动，实现PDG、PDF、DjVu目录编辑，支持多级目录。另外还可以直接编辑BookInfo.dat。 自定义快捷键功能，可以为所有菜单重新定义快捷键。 并排显示时支持从右往左翻页，以符合竖排书籍的阅读习惯。 支持OCR，OCR引擎为微软Office 2003所带的Microsoft Office Document Imaging (MODI)，支持英文、简体中文、繁体中文、日文。 支持裁边/填白，以有效利用显示区域，或去掉扫描造成的黑边。裁边/填白只是在显示、另存为、打印时裁，对原始文件没有任何影响。 提供“图像处理”功能，包括高亮度、自动色阶/自动对比度、曲线调节、亮度、对比度、Gamma校正。图像处理仅对显示、打印有效，对原始文件没有任何影响。 用户在使用本软件前务必先认清以下事实： 本文讨论PDG浏览方法，仅出于研究目的，无意对PDG版权进行任何形式的侵犯，也不希望任何人用本文讨论的工具或方法从事侵权活动。如果需要获取PDG文件，请通过购买点卡等方式，以合法的途径获得。 本文假定用户通过合法的手段获得PDG文件，只是由于希望能够在比官方浏览器更好、更方便的浏览器上阅读，才需要使用本文讨论的方法和软件。 请勿将本软件用于非法目的。使用本软件造成的一切后果（包括法律后果）由使用者自行承担。 另外为了加快翻页速度，软件需要在内存中对页面进行缓存，因此不建议在内存低于512 MB的机器上使用。 Q：为什么要开发UnicornViewer？ A：因为我希望有一个比现有浏览器更好用的软件，来看PDG、PDF、DjVu和TIFF格式文档。 Q：UnicornViewer收费吗？ A：UnicornViewer是一个“友情软件”（Friendware），用户在承诺不用于商业目的，也不对文件及其附件进行任何更改的条件下，不需要为使用该软件付任何费用，最多是在BBS上看到我发帖子灌水时（我的ID一般是strnghrs），进去捧个人场，作为友情回报；或者在年节时发个email问声好（所以叫“友情软件”）。我承诺绝不在程序中暗藏任何商业广告、木马，但不承诺为使用UnicornViewer的后果承担任何责任。如果您需要将它用于商业目的，或加入您的网站，请与我联系，否则保留追究一切责任的权利。 Q：UnicornViewer对PDF的支持程度如何？与Acrobat有什么关系？ A：UnicornViewer支持CJK字符集、多级目录、分段页码等，不过文本PDF打印后全部变为图像。 UnicornViewer在显示界面上参考了Acrobat 7。但UnicornViewer不可能简单重复它的功能，而是根据我自己的需要，结合在ComicEnhancer Pro、ComicsViewer中积累的浏览经验，加入其他功能。 Q：UnicornViewer对DjVu的支持程度如何？与WinDjView有什么关系？ A：UnicornViewer支持DjVu的单页、多页、索引页等，支持多级目录。 在软件结构上，WinDjView有一些固有问题，导致某些功能无法或很难实现（参见我写的《连续翻页浏览器面临的共同问题》）；在DjVu解码方面，WinDjView与libdjvu结合紧密，并且继承了libdjvu中的内存漏洞，以至于我在VC6下运行debug版WinDjView v0.5时，内存漏洞多到漏洞报告被VC6自动截止了。因此，UnicornViewer实在没有必要照搬WinDjView的代码。 不过我对自己的英语不是很有信心，所以在用户界面、提示信息等方面，能仿照WinDjView的就不再自己费事了。 Q：6xH格式的PDG怎么浏览？ A：6xH格式PDG请先用车明先生的Pizza解密后浏览，Pizza可以在网上读书园地论坛上用虚拟论坛币购买。 Q：为什么有些PDG文件打开后会出现空白页？ A：可能的原因包括但不限于：遇到了6xH格式的PDG文件、文件已损坏。具体可以用“文件->属性”查看加密格式，或用PdgThumbViewer进行批量检查，解决方法见PdgThumbViewer使用说明。 Q：为什么UnicornViewer不支持RAR？为什么ZIP不支持多页TIFF、DjVu、PDF？ A：因为RAR文件没有TOC，详情请google我写的《乱谈zip、rar文件格式》。 如果要支持ZIP中的多页TIFF、DjVu、PDF而又不生成临时文件，就需要在内存中保留一份解压后的文件，实在太浪费了，所以不支持。 Q：如何提高软件的翻页速度，减少内存占用？ A：措施如下： 选择背景色，而不使用背景图案。这样可以省掉一点内存，及背景合成的时间。 看快速版/大图版时选择“实际大小”，看清晰版时选择“适合宽度”、“适合高度”，尽量不要选择按百分比缩放。 看快速版/大图版时选择“实际大小”，不仅省时间和内存，图像效果也会好一点。 如果可能，下载PDG后先用Pizza解密再收藏，免得浏览的时候再解密。当然用Pizza处理后别忘了用PdgThumbViewer检查一下。 Q：很多PDG版电子文档没有目录文件，怎么办？ A：可以到网上读书园地论坛下载PdgCntEditor，自己做目录。 Q：如何与PdgCntEditor联动，实现PDG目录编辑？ A：首先需要下载PdgCntEditor压缩包，将其中的文件解压到UnicornViewer所在文件夹。以后需要编辑目录时，打开需要编辑的PDG书籍，选“查看->目录->编辑目录（文本）”或“查看->目录->编辑目录（树形）”，即可启动PdgCntEditor进行编辑。在PdgCntEditor中保存目录后，会自动通知UnicornViewer刷新显示。 Q：为什么有时候放大镜不起作用？ A：只有当图像处于缩小状态时，放大镜才会起作用。如果图像已处在放大或“实际大小”状态，放大镜将不再起作用。 Q：“PDG文件查找”、“PDG目录查找”功能支持多关键字吗？ A：当然，关键字之间用空格分隔，关键字之间的关系是“与”关系。 Q：为什么要支持名为PDG，实为PNG的文件？ A：我个人认为，PDG文件的功绩之一是定义了一个文件命名规范，可以区别封面、目录、正文等页面。但是PDG文件只支持黑白、彩色、256级灰度图像，而不支持16级灰度、4级灰度等的图像。如果扫描时使用的扫描仪高级到能够智能区别彩色和黑白页面，PDG这样做并没有什么问题；但是如果扫描仪没这么高级，烦恼就来了：为了给某本书补页，我曾经托人帮我扫描过几页，由于扫描者、扫描仪、 书籍纸张等的综合原因，导致这几页扫完后彩色不彩色、黑白不黑白，直接存储为JPG未免太过浪费；减色为黑白图像则损失太大，字都缺胳膊少腿；最佳选择是减色成16级灰度，然后存储成PNG，但是偏偏这样的文件不符合PDG规范，从那个时候起我就下定决心要在未来的PDG浏览器中加入对PNG的支持。 但是UnicornViewer对于PNG文件有限制，并且仅在使用背景图案时出现： 1、对于色深小于8bit的调色板图像，将强制转换成256级灰度，如果原先是彩色调色板则会损失颜色。 2、对于色深为8bit的调色板图像，如果调色板并非标准256级灰度调色板，则背景为白色而不是背景图案。 如果使用背景色而不是背景图案，以上限制不存在。 Q：为什么要支持名为PDG，实为DjVu的文件？ A：有时候PDG文件缺页，刚好可以从中美百万补，格式之间转来转去的也没啥意思，还可能造成质量损失，不如直接支持算了。 Q：为什么要支持名为PDG，实为单页TIFF的文件？ A：现在自己扫书的人越来越多，扫描后的图片一般黑白的存储为CCITT G4压缩的TIFF文件，彩色/灰度存储为JPG文件。当然也有好事者将彩色/灰度存储为JEPG压缩的TIFF，但是这种格式的兼容性实在太差，一般不主张。 这种自扫图像最麻烦的是没有一个合适的浏览器进行浏览，或转换成PDF等格式；文件命名也缺乏规范，都是随心所欲。与此相比，PDG的命名要更严谨，UnicornViewer、Pdg2Pic/FreePic2PDF等第三方工具也比较成熟，完全可以加以利用。 从格式上说，JPG文件只要改成符合PDG文件命名规范的名字即可，但TIFF文件即使改名，也不能被常规PDG浏览器浏览，但是我又讨厌在不同格式之间转来转去，所以就直接支持名为PDG，实为TIFF的文件。这样自己扫书后，用PdgRenamer改成符合PDG规范的文件名，即可直接浏览。 Q：如何在简体中文环境下OCR繁体中文、日文？ A：请google我写的《在简体中文Office 2003下OCR繁体中文、日文、韩文》。 由于种种原因，如果需要识别的中文、日文少于8个字，MODI会识别不出，因此OCR时注意选择范围内的文字不要少于8个字。 Q：“导出图像”中的“导出该页所有图像”是什么意思？ A：按照文件格式的不同，这个功能的意思也不同： 多页TIFF：所选页另存为单页TIFF，黑白页CCITT G4压缩，其他用LZW压缩。UnicornViewer的TIFF解码能力还算信得过，如果有其他软件不能打开的TIFF，不妨用这个功能转换看看。 多页DjVu：所选页另存为单页DjVu，类似于DjVuToy的“文件拆分”功能。本来这个功能是想做成DjVuToy的“文件结构”功能，即将DjVu页面分层导出，每层存成一个DjVu文件，后来发现意义不大，而且容易出错，所以改成“文件拆分”。 PDF：将所选页面中的图像逐一导出，根据图像数据自动选择图像文件类型。 PDG：文本PDG先解码成PDF，然后按照PDF进行操作，导出页面中的所有图像。图像PDG的处理类似Pdg2Pic，对于名为PDG实为TIFF、JPG、PNG、GIF、DjVu的，直接导出原始数据并采用真实扩展名；T1类PDG转换成TIFF；T3类PDG文字层导出成TIFF，插图层导出成JPG或PNG；所有采用DjVu压缩的彩色、灰度PDG，全部导出为PNG。没办法，PDG里的DjVu太特殊了。 Q：对于散页PDG，“另存为”一次只能保存一页，如果我想一次保存整个文件夹，怎么办？ A：可以把“另存为”对话框当作资源管理器来用： 点击“另存为”按钮，打开对话框。 文件显示往上走一级，定位到希望复制的文件夹，选中该文件夹。 按快捷键Ctrl+C，或点击右键菜单“复制”。 定位到希望复制到的文件夹，按快捷键Ctrl+V，或点击右键菜单“粘贴”。 点击“取消”按钮关闭对话框。 Q：在建立文件关联后，如果改变了UnicornViewer.exe的位置，如何重新建立关联？ A：启动UV后， 点击“设置”，清除所有文件关联，点“确定”关闭对话框。 再次点击“设置”，建立文件关联，点“确定”关闭对话框。 ## 使用说明 一、软件安装/删除 本软件安装非常简单：创建一个目录，用WinZip将下载下来的ZIP包解压缩到该目录即可。 本软件的删除也很简单：直接删除从ZIP包中解压缩出来的所有文件及运行过程中生成的文件即可。 当然如果事先建立了文件关联，需要在删除前先取消文件关联，否则会在注册表中留下垃圾。 ZIP包中包括下列文件： UnicornViewer.exe。这是软件的主程序。 UnicornViewer.htm。本帮助文件。 UnicornViewer.xpdfrc。PDF文件字体说明文件。其实是一个文本文件，格式说明见xpdf。 UnicornViewer_fonts。此文件夹下按语言存放PDF中CJK支持文件。embeded文件夹下存放的是PDF基本内嵌字体，chinese-simplified是简体中文，chinese-traditional是繁体中文，japanese是日文，korean是韩文。 如果缺少UnicornViewer.xpdfrc文件和UnicornViewer_fonts文件夹，UnicornViewer将不能正常显示PDF中的文字。换言之，如果不打算用UnicornViewer浏览文本PDF，也可以不要这两部分。如果需要支持其他字符集，如中欧字符集，可以从xpdf网站下载相应的字符集支持包，按照其中的说明配置UnicornViewer.xpdfrc即可。 如果您下载到的ZIP包中还包括其它文件，毫无疑问不是我放进去的，有广告或木马之嫌疑，请立即删除。 另外程序运行过程中还会生成以下文件： UnicornViewer.ini。这个是参数保存文件，第一次更改参数后生成。退出UnicornViewer，删除此文件，再重启UnicornViewer，即可恢复缺省参数。 UnicornViewer.pwd。ZIP文件口令表，纯文本文件。 UnicornViewer.bmk。书签文件。只有在保存过书签后才会产生此文件。 UnicornViewer.rld。现场记忆文件。如果选择了“自动恢复”，退出程序时生成此文件。 二、PDF多语言支持 xpdf本身支持多种语言的PDF，在其网站的下载页面上提供Language Support Packages下载，按照需要下载所需的语言包，再按包中的说明进行配置即可。其配置步骤通常包括： 解包，将解出的语言文件夹放到UnicornViewer_fonts文件夹下。 按照包中README文件的说明，下载对应的字体文件，放入语言文件夹。 把包中add-to-xpdfrc文件内容复制到UnicornViewer.xpdfrc文件，注意文件路径必须改成符合Windows标准的相对路径。 UnicornViewer内置了对CJK（简体中文、繁体中文、日文、韩文）的支持，但是为了节约空间，CJK字体文件使用了Windows自身提供的字体文件。如果IE能够正常显示简体中文、繁体中文、日文、韩文网页，通常不再需要进行任何配置。测试方法：在IE中打开某个网页，点右键，在弹出菜单中选择“编码->其他->繁体中文（或简体中文、日文、韩文）”，如果能够按所选编码显示则没事，否则在Windows 98/Me下会提示用户下载对应语言包，Windows 2000则提示插入安装光盘，安装即可。 如果实在不想下载或安装IE语言包，也可以找一台安装了简体中文Windows XP的机器，将下列文件复制到UnicornViewer_fonts下对应的文件夹：
语言 | 文件名 | 复制到
简体中文 | simsun.ttc | UnicornViewer_fonts\chinese-simplified
繁体中文 | mingliu.ttc | UnicornViewer_fonts\chinese-traditional
日文 | msmincho.ttc | UnicornViewer_fonts\japanese
韩文 | batang.ttc | UnicornViewer_fonts\korean
对于简体中文来说，编码标准除GB 2312-80外，还有GBK 18030-2000。GBK除支持GB的一、二级汉字（双字节）外，还支持4字节汉字。目前微软的“宋体 & 新宋体”（simsun.ttc）支持双字节汉字没有问题，4字节汉字则不行，要用微软Office 2003以上版本带的“宋体-方正超大字符集”（SURSONG.TTF）才行。因此如需阅读含4字节编码繁难汉字的PDF，建议将UnicornViewer.xpdfrc文件中的 displayCIDFontTT Adobe-GB1 UnicornViewer_fonts\chinese-simplified\simsun.ttc 改成 displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\SURSONG.TTF 当然前提条件是你在安装微软Office 2003的时候选择安装了“宋体-方正超大字符集”。另外由于SURSONG.TTF的体积是simsun.ttc的4倍，查询速度当然会受影响，因此日常简体中文PDF的显示速度也会随之变慢。 UnicornViewer选择字体文件的顺序： 在UnicornViewer.xpdfrc中如果指定了字体文件的绝对路径，使用该绝对路径所指文件。 如果是相对路径，则看相对路径所指文件是否存在，如果存在则用它。 如果相对路径所指文件不存在，则按照上表所列文件名，在Windows\Fonts文件夹找。 另外目前有一些PDF是从早期文本PDG转换过来，没有采用Adobe规定的PDF标准字体，而是在PDF里写死采用“宋体”、“黑体”等。这样的PDF在简体中文Windows下阅读不会有问题，在其它语言的Windows下则可能不能显示，因为在注册表中找不到对应的字体。解决办法：从简体中文Windows XP的Windows\Fonts文件夹下复制simsun.ttc（宋体）、simhei.ttf（黑体）、simkai.ttf（楷体）、simfang.ttf（仿宋体）到目标机的Windows\Fonts文件夹。 三、软件使用 快捷键表 无对应菜单的快捷键：
功能 | 快捷键
退出程序/缩到最小/退出全屏 | ESC
页面滚动 | 上、下、左右箭头键
有对应菜单的快捷键：
功能 | 快捷键 | 功能 | 快捷键
上一页 | PgUp，Ctrl+左键双击 | 显示/隐藏导航条 | T
下一页 | PgDn，左键双击 | 页面跳转条 | G
上一屏 | 回格（Backspace） | 打开文件 | Ctrl+O
下一屏 | 空格 | 打开PDG文件夹 | Ctrl+D
全屏 | F | 新建窗口 | Ctrl+N
放大 | +、Ctrl+鼠标滚轮 | 导出图像 | Ctrl+S
缩小 | -、Ctrl+鼠标滚轮 | 关闭文件 | Ctrl+W
适合页面 | Ctrl+1 | 打印 | Ctrl+P
适合宽度 | Ctrl+2 | 属性 | Ctrl+R
适合高度 | Ctrl+3 | 退出 | Ctrl+Q
实际大小 | Ctrl+4 | 设置 | S
100% | Ctrl+5 | 帮助 | F1
单页/连续开关 | Ctrl+Alt+1 | 左旋90° | Ctrl+Shift+左箭头
单排/并排开关 | Ctrl+Alt+2 | 右旋90° | Ctrl+Shift+右箭头
自定义缩放 | Ctrl+M | 旋转180° | Ctrl+Alt+下箭头
第一页 | Home | 跳至指定页 | Ctrl+G
最末页 | End | 前进 | Alt+右箭头
复制当前PDG到文件夹 | Ctrl+E | 后退 | Alt+左箭头
对自定义快捷键的说明： 通过“自定义快捷键”功能，允许用户为所有菜单项定义快捷键，并且一个菜单项允许定义多个快捷键。 自定义快捷键的优先级高于系统缺省快捷键，如果自定义快捷键与缺省快捷键有冲突，以自定义快捷键为准。 对目录、缩略图中快捷键的说明： 当输入焦点在左侧目录、缩略图中时，按上、下箭头键可以改变当前节点或缩略图，按下空格或回车键，将跳转到当前节点或缩略图所对应的页面。 在目录中，如果节点处下有子节点，按下左箭头键展开，按下右箭头键摺叠。 在缩略图中，左右箭头键的功能与上下箭头键的功能相同。 设置选项 本软件设置选项及其含义如下表所示：
分类 | 选项 | 选中后的含义
显示 | 如果有目录，则不显示缩略图 | 如果文档带目录，则隐藏缩略图栏。
页面背景 | 指定黑白页面的背景色或背景图案
全屏背景色 | 全屏状态下，页面区域外的颜色
其他 | 所有文件集中在一个UnicornViewer里打开 | 选中则始终只有一个UnicornViewer在运行，否则从资源管理器里打开文件可能会出现多个UnicornViewer同时运行。
打开散页PDG时定位到第一页 | 选中则每次打开散页PDG时总是定位到第一页，否则定位到打开页
后台自动生成全部缩略图 | 自动生成全部缩略图，否则只生成需要显示的缩略图
按下ESC键时退出程序 | 选中则退出程序，否则缩小到屏幕右下角
折行显示长目录项 | 同字面含义
启动时显示“页面跳转”条 | 同字面含义
程序启动时自动恢复到退出时的状态 | 即“现场恢复”功能
DjVu | 无目录时用页面文件名代替目录 | 如选中，则用DjVu页面文件名生成目录项；否则用页码
PDF | 兼容Acrobat3 | 如果选中，则PDF中的TJ显示按Acrobat 3方式处理*
关联 | 建立、删除文件关联，关联后双击选定的文件类型即可用本软件打开
*据《PDF Reference 1.7》的implementation note 58 in Appendix H说： In versions of Acrobat earlier than 3.0, the horizontal coordinate of the text position after the TJ operator paints a character glyph and moves by any specified offset must not be less than it was before the glyph was painted. 具体来说，对于早期《家庭藏书》系列中的某些书籍，在Acrobat 3以后的浏览器中阅读，会因为定位问题（缩进太多），造成文字重叠。如果选中“兼容Acrobat3”选项，则在阅读这种书籍时，不会出现文字重叠现象。 图像处理 UnicornViewer的“图像处理”功能源自ComicsViewer，用于改善由于纸质或扫描不佳造成的图片阅读问题。图像处理功能可以让用户随时根据图像质量和当前显示器设置对图像进行增强，保证最佳视觉效果，同时图像文件本身保持不变。 图像处理参数比较多，具体含义详见ComicsViewer、ComicEnhancer Pro使用说明中的相关部分，在此不再赘述。不过UnicornViewer的图像处理存在下列限制： 自动色阶/自动对比度仅对24位真彩、256色调色板图像、256级灰度图像有效。 高亮度、曲线调节、亮度、对比度、Gamma校正功能对所有黑白图像，包括多层PDG的底图均无效。 另外任何图像处理功能均涉及运算，需要运算的内容越多，对显示速度的影响越大。当然这种影响也可以靠高性能的硬件予以弥补。 UnicornViewer唯一比ComicsViewer多的一个处理参数是“PDG强制透明”，用于对付发白PDG页面：某些PDG页面本来应该是黑白的，却被扫描成24位真彩，而按照UnicornViewer的设定，24位真彩图像不能指定背景色或背景图案，因此看起来比较心烦。选择此选项后，对于单层PDG（封面除外），24位真彩、256色调色板图像均被转换成灰度图像，并允许设置背景色和背景图案。所以此参数也不能随意乱用：彩色插图会被转换成灰度图像。 命令行参数 UnicornViewer的命令行参数为： UnicornViewer.exe [path] [page_number] path参数是需要打开的文件的绝对路径，如果路径中包含空格，必须用半角双引号括起来。 page_number是打开文件时需要定位到的页码，采用从1开始的绝对页码。如果此参数无，则打开文件时定位到第一页。打开散页PDG时，该参数优先级高于“设置”中的“打开散页PDG时定位到第一页”选项，但低于path参数指定的散页文件名。 ## 附录A 鸣谢 本软件的PDG解码器在开发过程中得到网上读书园地成员车明（BECompanion）、hstong、 伊兹鱼、coolman和qdlsy，及rbook论坛mogaoku的大力支持与协助。 图像文件处理采用了Davide Pizzolato的CxImage，底层JPEG采用了Independent JPEG Group（独立JPEG小组）发布的JPEG LIB源代码，JPEG 2000采用了Michael D. Adams发布的JasPer源代码 、Michael D. Adams发布的JasPer源代码，PNG采用了libpng组织提供的源代码，TIFF采用了libtiff组织提供的源代码，zlib采用了ASM版（其实只有两个文件是ASM的）,DjVu文件操作基于djvulibre、miniDjVu源代码，PDF文件解析基于xpdf，对PDF中TrueType字体支持来自freetype。ZIP文件处理采用了Info-ZIP提供的源代码。 本软件的界面参考了Adobe公司的Acrobat，和Andrew Zhezherun的WinDjView。 在此对以上组织和个人表示深切的谢意！ ## 附录B 版本更新记录 Version 0.22 功能恢复：光标为手型时，鼠标左键双击向后翻页，按住Ctrl键双击左键向前翻页。 功能增强：对于PDG书籍，在没有目录文件的情况下，自动生成的目录将包含所有目录页。 功能增强：对于文字版PDF，可以用图像处理功能加黑文字。 功能增强：加强对PDF简体中文外挂字体的支持，避免PDF中的外挂简体中文字体都变成宋体。 错误修正：对于文字版PDF，如果选择了背景色，则背景色会受图像处理参数影响。 错误修正：黑白图像选“自动色阶”后变色。 错误修正：某些本来是透明的图片经过图像处理后变得不透明。 错误修正：某些Old-style JPEG压缩的TIFF文件显示有错。 错误修正：某些PDF书签点击无反映。 错误修正：如果选择背景颜色，某些图像会出现一条竖线。 Version 0.21 新增功能：“图像增强参数”中增加“加粗”选项，用于加粗较细的文字笔画。 功能增强：图像放大算法从bilinear改为带锐化的bicubic算法，文字更锐利，速度稍慢。 功能增强：去除目录最大3000行的限制，实际最大行数由Windows内存管理决定。 功能增强：在“导出图像”功能中，增强对PDF中索引色图像的支持。 功能增强：新增3种纸纹。 功能增强：增大目录树中按钮面积，避免点中按钮无反映。 功能增强：加强繁简转换时的纠错能力。 功能调整：从“设置”界面中去掉“无目录时用页码代替目录”选项，内部默认此选项为TRUE。 错误修正：如果背景色不是灰色，缩放后文字边缘出现杂色。 错误修正：某些多页TIFF文件的页码顺序显示不正确。 错误修正：显示某些由子图像拼合的PDF页面时，会出现分割线。 Version 0.20 新增功能：在“图像处理”对话框中增加“保存”、“调入”按钮，可以保存、调入常用处理参数。 新增功能：对命令行参数进行扩展，允许指定打开文件时定位到的绝对页码。 新增功能：在“设置”中增加“无目录时用页面文件名代替目录”选项。如果是用DjVuToy从PDG转换出来的DjVu，选中此选项后，在没有目录的情况下会用原始文件名生成目录，便于页面定位。 新增功能：在“设置”中增加“兼容Acrobat3”选项，详见使用说明。 新增功能：对于PDF目录(Outline)，支持高字节在前的Unicode字符。 新增功能：对于PDF目录，支持Named Action，除ISO 32000-1:2008第12.6.4.11节规定的四种动作外，还支持Adobe自己扩展的Print、PageSetup动作。 新增功能：对于PDF目录，支持到外部PDF的链接。 错误修正：PDF显示时，某些内嵌字体的西欧字符出现问题。 Version 0.19 新增功能：“图像处理”参数增加“PDG强制透明”，更好地对付发白页面，详见使用说明。 新增功能：OCR界面中加入图像处理功能，通过图像处理可以提高非黑白页面的OCR准确率。 功能增强：如果需要OCR、打印的页面尺寸太小（宽度小于900像素），自动放大至1500像素宽。 功能增强：OCR引擎打开“自动拉伸”选项，以对付歪斜页面。 功能增强：自动校正简体正文OCR结果中的常见错误。 功能增强：加强“图像导出”中的PDF图像文件类型识别能力。 错误修正：导出某些文本PDG中的图像会出错。 错误修正：在某些特定显示比例下打开某些特定图文混排PDF会出错退出。 错误修正：打开带外部链接的DjVu文件错误。 错误修正：校正LOGO图案偏色。 Version 0.18b 错误修正：图像处理参数存入ini文件，而不是rld或bmk文件，导致ini文件膨胀。 错误修正：在PDF中，非黑白填充色的模板图像会显示成黑白。 Version 0.18a 错误修正：状态栏上窗口切换按钮失效。 Version 0.18 新增功能：支持名为PDG，实为GIF的文件，方便从售书网站上补封面。 新增功能：引入ComicsViewer中的“图像处理”功能，包括高亮度、自动色阶/自动对比度、曲线调节、亮度、对比度、Gamma校正、填白 ，详见使用说明。 功能调整：“裁边”功能合并入“图像处理”。 功能增强：提高裁边精度，加快左右裁边速度。 功能增强：支持早期PM44封装的photo DjVu。 功能增强：能记忆页面缩放百分比、旋转。 功能修正：导出图像时，如果碰到PDF的JBIG2数据流含有refine等，则重新采样后生成DjVu。 功能修正：调整PDF初始化代码的调用方式，软件启动速度加快。 错误修正：在全屏模式下，连续、并排显示的快捷键失效。 错误修正：在全屏模式下，如果鼠标长期不动导致光标被隐藏，则弹出的所有新窗口中均无光标。 错误修正：在全屏模式下如果改变了页面显示方式，则退出全屏模式后所有改变失效。 错误修正：打开某些ANSI编码的PDF时中文显示不正确。 错误修正：名为PDG，实为空白DjVu的文件显示不正确。 错误修正：打开某些JPEG 2000图像时出错退出。 错误修正：在“切边”界面中，翻页后选择框刷新不及时。 xpdf降级至v3.02 pl2，避免解码某些JBIG2数据流时出错。 freetype升级至2.3.11，速度略快。 Version 0.17a 错误修正：打开散页PDG后，不能编辑目录、BookInfo.dat。 Version 0.17 新增功能：支持名为PDG，实为jpeg 2000的文件，包括jpeg 2000插图。 新增功能：在“设置”中，可以设置、取消文件关联。这种关联技术是从MFC中学来的，有点霸道，不如XP下通过“打开方式”设置的柔和。 建议仅关联.uvz。 新增功能：通过“第一页”、“最末页”跳转时，跳转前的页码加入历史记录，跳错了可以通过“后退”返回。 新增功能：PDF中的JBig2图像可以导出为DjVu。 新增功能：“切边”界面中可以翻页，便于快速查看切边对不同页面的影响。 新增功能：导出目录，可以导出PDG、PDF、DjVu的目录，并可选择是否导出页码。 功能增强：调整打印代码，减少中间环节，加快打印速度。 功能增强：PDG书籍浏览速度比v0.16稍快。 功能增强：对于PDF文件，增强导出图像时的文件格式自动判别能力。 功能增强：在OCR、切边、导出图像界面中，可以用鼠标移动选择框位置。 功能调整：PDF的JPEG 2000解码改用ComicsViewer的“双保险”机制，速度慢了点，但兼容性强。 功能调整：“复制到”更改为“另存为”，能够对PDG之外的书籍起作用。散页PDG的整文件夹复制见使用说明。 错误修正：OCR时如果一页有错，会导致后面所有页面不能正常OCR。 错误修正：打开某些非标准书签的PDF时，书签页码失效。 错误修正：页面旋转显示后，缩略图显示比例失调。 错误修正：正在生成缩略图时改变页面旋转方向，会造成内存丢失。 错误修正：打开假冒DjVu会出现内存漏洞。 错误修正：打开假冒PDF会出错退出。 错误修正：某些CMYK色彩空间的JPG文件打开后色彩显示不正常。 错误修正：某些内嵌字体的PDF不能正常显示。 错误修正：大比例缩图时可能会出错退出。 Version 0.16 功能增强：支持带FGjp、BGjp段的DjVu文件。 功能增强：对于PDF文件，支持用Mask参数指定索引图像的透明背景色。 功能增强：对于PDF文件，“导出该页所有图片”能够自动识别索引图像，并转成索引PNG。 功能增强：对于PDF文件，在“导出图像”中如果选择了“导出灰度蒙板”，蒙版文件中的obj号改为蒙版对象id，而不是使用蒙版的对象的id。 功能增强：对于PDF文件，如果在同一页内，同一个图像对象被重复使用了多次，“导出图像”自动屏蔽重复，避免同一个图像在同一页中被多次导出。 功能增强：增强命令行参数，支持PdfToy。 错误修正：对于PDF，如果一页由多个图像配合而成，在100%显示时可能会出现分隔线。 错误修正：对于PDF，打开用Kids表示的PageLabels会出错退出。 错误修正：打开某些名为PDG，实为黑白TIFF的文件会出错退出。 错误修正：不能正确显示某些名为PDG，实为JPG压缩的TIFF文件。 错误修正：打开某些假冒DjVu文件会出错退出。 Version 0.15f 功能增强：对于PDF文件，能够按照Optional Content隐藏不需要显示的图层。 功能增强：对于PDF文件，“导出图像”新增“反转蒙板”选项，选中后如果选择了“导出灰度蒙板”，则导出的蒙版颜色翻转。 功能增强：对于PDF文件，“导出图像”后的文件名更改为：PDF文件名#4位页码_obj图像ID。即从文件名即可知道图像在PDF中的obj id，便于在UltraEdit32中快速定位obj。 功能增强：对于PDF文件，支持用黑白位图表示的soft mask。通常应该是8位灰度图。 功能增强：对于PDF文件，支持多层soft mask叠加。 freetype源代码从2.3.5升级至2.3.7。 Version 0.15e 功能增强：支持Named Destination方式的PDF目录。 功能修正：改变了文件选择对话框的风格。 错误修正：打开加密ZIP文件时，如果输入的口令不正确，会一直提示输入口令，即使用户点了“放弃”。 错误修正：PDF中没有按照指定的裁减矩形，对图像进行裁减。 错误修正：打开某些黑白PDG时可能出错退出。 错误修正：连续打开文字PDF时，可能会出现缺字。 Version 0.15d 功能增强：原“当前页另存为图像”功能扩充为“导出图像”，实现图像复制、存盘、导出等。详见FAQ中的相关说明。 功能增强：解码JPG速度略有提高。 功能增强：支持图像对象的Width、Height参数用浮点数表示的非标准PDF文件。 功能修正：去掉“设置”中的“启动时显示‘页面跳转’条”选项，改为记忆当前跳转条显示状态。 功能修正：支持扩展名为.djv的DjVu文件。 错误修正：打开散页PDG时，如果打开1000页以后的文件，会自动定位到1000页前。 错误修正：如果页面正好是个正方形，在OCR、切边对话框中，页面可能显示不全。 错误修正：某些CMYK色彩空间的JPG（PDG）文件显示不正确。 错误修正：PDF、DjVu选择“窗口->新建窗口”后，如果原窗口有目录，打开后的新窗口无目录。 错误修正：大比例缩图时，会出现亮线。 Version 0.15c 新增功能：导出文本，可以导出PDF、DjVu、PDG中的文本。注意这个功能不是OCR，如果原文件中没有文本，导出结果为空。 新增功能：打开PDG文件时，如果没有bookcontents.dat、catalog.dat，则尝试从Catalog.xml读取目录。由于Catalog.xml文件的复杂性，PdgCntEditor将不会支持对它进行编辑。 功能增强：在OCR时，如果需要OCR的页面本身带文本（PDF、DjVu、文本PDG），则在结果框中先显示原文件所带文本。 功能修正：导出为TIFF时，除黑白图像采用CCITT G4压缩外，其他所有图像均采用LZW压缩，以获取最大兼容性。 功能修正：改变多页DjVu的打开方式，打开时要稍等一下，但是后续的阅读会更流畅。 功能修正：改变T3类PDG文件插图显示方式，在内存DIB中直接合并图层，不再借助memdc。理论上说用memdc可能会快一点，但是存在失败的可能，失败后会出现插图显示不出的问题。 错误修正：阅读某些采用Inline Images的PDF，会出错退出。 错误修正：显示某些扫描PDF时，出现黑白颠倒。 错误修正：打开1BH格式的文本PDG时，可能出错退出。虽然概率很小，不过碰到了还是很心烦。 错误修正：加入书签时，不能更改书签名称。 错误修正：鼠标左键双击主窗口空白区（黑色背景区），如果已经打开了一本书，则不会再弹出“选择文件”对话框。 Version 0.15b 功能增强：支持ACH格式的PDG，支持04H的黑白PDG。 功能增强：支持PDF中用/ExtGState /ca表示的半透明图像。 Version 0.15a 新增菜单：查看->跳至->上一屏、下一屏。以前这两个功能用内部快捷键（回格、空格）操作，独立成菜单后，可以在“工具->快捷键”中更改为其他快捷键。 菜单修订：“设置”、“快捷键”从“文件”栏移到“工具”栏。 错误修正：打开文件夹中的文本PDG，点“编辑目录”，PdgCntEditor打开的不是catalog.dat而是bookcontents.dat。 错误修正：如果PDG书籍缺页，从缺页处开始目录页码错位。 错误修正：打开散页PDG时，不能自动定位到所选页。 错误修正：用“打开文件夹”功能打开PDG文件夹时，如果被打开的文件夹下只有文本PDG，没有图像PDG，则会提示目录下无PDG文件。 Version 0.15 新增功能：支持文本PDG，包括文本正文与图像版附属页混排。 新增功能：增加了一个辅助工具条。现在上面的按钮还不是很多，将来会多的。 新增功能：允许拖动工具条。使用宽屏的可以拖到左侧、右侧，或将两个工具条连在一起。 新增功能：自带记忆/恢复窗口大小和位置，方便在宽屏下使用。 新增功能：查看->跳至->前进、后退。在用目录、缩略图、跳转条跳转后，可以通过这两个按钮跳回来。每个窗口最多能记忆16个页面位置，超过后旧的位置将被抛弃。 功能增强：页面跳转条中的页码框支持快捷键Ctrl+A、Ctrl+C、Ctrl+V。 Version 0.14 功能增强：兼容从早期文本PDG转换过来的PDF。这种PDF使用的编码和字体不是很规范。 功能增强：改变PDF对CJK字体的调用方式，不再发行庞大的CJK字体包。字体配置详见使用说明。 功能增强：PDF中的图像缩放不再采用xpdf中的代码，改用UnicornViewer的，以改善效率和效果。 功能增强：xpdf源代码升级至v3.02 pl2，增强CCITT解码容错性。 功能增强：freetype升级至v2.3.5，解决某些繁体字体显示不正确的问题。 错误修正：从资源管理器右键菜单打开文本PDF，文字显示不正确。 Version 0.13a 错误修正：显示某些内嵌字体的中文PDF时会出现漏字。 Version 0.13 新增功能：支持PDF，包括CJK字符集、多级目录、分段页码等。 新增功能：支持DjVu。 新增功能：与PdgCntEditor v0.05+配合，对PDF、DjVu目录进行编辑。不支持加密PDF。 此版本对DjVu、PDF文件的支持，暂不包含所有与文本相关的功能，包括文本查找、选择、复制、超链接等。 Version 0.12c 功能增强：对于没有bookcontents.dat的PDG文件，能够按照正文页码生成目录。 功能调整：去掉“全屏时鼠标点击翻页”选项，在全屏状态下保持当前鼠标状态（手型或放大镜）不变。 错误修正：在选择“裁边”后，带插图的多层PDG会出现插图错位、文字模糊。 Version 0.12b 功能增强：libpng源代码升级至v1.2.28。 错误修正：碰到某些破损PNG会出错。 错误修正：zip或uvz包中如果混合有主文件名相同的PDG文件和其他图像文件，页面会重复显示。 Version 0.12a 新增功能：支持名为uvz，实为zip的文件。这样将zip文件更名为uvz，并与UnicornViewer建立关联，双击即可打开。 新增功能：文件->PDG->编辑BookInfo.dat。 新增功能：支持按照JPEG格式中的EXIF信息，自动对图像进行旋转。某些数码相机喜欢这个。 功能增强：放宽格式检查，兼容某些第三方工具生成的不规范PDG。 功能增强：改进图像显示代码，减少中间环节，以节省资源、加快显示速度。 功能修正：对部分菜单项位置进行了调整。 错误修正：在主窗口非最大化情况下，鼠标双击分割条不能正常展开/收缩导航栏。 错误修正：某些多页TIFF页码顺序错误。 错误修正：如果多页TIFF文件的x、y向DPI不相等，显示效果不佳。 错误修正：某些灰度图像缩小显示不正确。 错误修正：在OCR对话框中，有时候选择框角点处光标显示不正确。 错误修正：如果书籍名字中有半角中括号，则该书的书签会有问题。 错误修正：修正简体中文版错误提示中的错别字。 错误修正：在Win 98/Me下，目录反复滚动后，显示混乱。 错误修正：双页并排打印时，如果只打印奇数页或偶数页，打印出的页码不正确。 Version 0.12 新增功能：“并排左翻”选项。选中后，并排显示时从右往左翻页，以符合竖排书籍的阅读习惯。在打印对话框里也增加相同的选项，用于控制并排打印。 现在谁还再说UnicornViewer的并排显示不如ComicsViewer？ 新增功能：裁边。ComicsViewer按像素裁，UnicornViewer按百分比裁。 新增功能：OCR，OCR引擎为微软Office 2003所带的Microsoft Office Document Imaging (MODI)，支持英文、简体中文、繁体中文、日文。 功能增强：在书签、自动恢复中，能够记录当前页面布局、放大率、裁剪率。 Version 0.11a 错误修正：在按ESC键缩小到屏幕右下角后，如果选择了“所有文件集中在一个UnicornViewer里打开”，并再次运行UnicornViewer，不能自动激活已缩小的第一个UnicornViewer。 错误修正：多页TIFF打印预览、打印全为白页。 错误修正：如果同一文档在多个窗口中显示，选择“文档属性”时，显示的是第一个窗口中页面的属性，而不是当前窗口中的页面属性。 错误修正：在查看多页TIFF文件的“文档属性”时，末尾会出现多余的乱码。 Version 0.11 新增功能：支持名为PDG，实为DjVu的文件。 新增功能：支持名为PDG，实为单页TIFF的文件。 新增功能：“无目录时用页码代替目录（TIFF）”。用取巧的办法加快多页TIFF的打开速度。 功能增强：优化图像缩放过程，以加快速度。 功能增强：重写了DjVu解码过程。以前的代码废话太多，现在改用来自DjVuToy的简化版。 功能增强：JPG解码不再使用cximage，改用来自ComicsViewer的简化过程。 功能增强：显示放大镜时自动隐藏光标。在ComicsViewer里是记得隐藏的，在这里一直忘记了。 功能增强：“整理书签”对话框中，增加底部提示区面积，以显示较长的文件路径。 错误修正：在打开某些经过Photoshop处理的JPG文件时，会出现闪烁。 错误修正：主窗口背景logo中，scanned错拼成scaned。 错误修正：索引色PNG不能设置背景色。 错误修正：图像旋转显示后，显示不清晰。 错误修正：图像旋转后，打印结果不正确。 Version 0.10 软件结构大调整。这次调整代价巨大，有些地方推倒重来了不止一次，但是收获不菲，以前久悬未决的一些问题迎刃而解，包括：内存占用、背景图案、同时在多个窗口中浏览同一个文档（巧合的是，WinDjView和CAJViewer都不支持“Windows->New Window”菜单，嘿嘿……）等。 新增功能：支持背景图案。仅对黑白页面有效。 新增功能：文件->复制到，将当前正在浏览的PDG文件复制到指定文件夹。转自ComicsViewer。 新增功能：支持通过拖拽打开文件夹。 功能增强：优化内存使用，内存占用量比以前减少了许多。 功能增强：如果选择了“自动恢复”功能，下次启动时能自动激活退出时的活动窗口。 功能修正：PDG缩略图显示文件名，而不再是页码。 功能修正：用户选择打开书签时，如果书签已经失效，将提示用户删除该书签。 错误修正：彻底解决同一文档在多个窗口中同时显示时，容易出错退出的问题。 错误修正：某些彩色2色调色板TIFF显示不正确。 错误修正：某些PNG文件显示不正确。 错误修正：在打开多页TIFF时，如果是OJPEG压缩的，所有页面均显示为第1页图像。 错误修正：用鼠标选择左侧目录项时，有时选中的不是所点的。 错误修正：如果打开的zip文件里没有合法的PDG，则程序会被挂起，或出错退出。 错误修正：如果浏览窗口没有最大化，双击分隔条不能打开/关闭导航条。 按照功能调整，重新排布工具条按钮，并在主窗口背景中显示LOGO。 Version 0.09 支持名为PDG，实为PNG的文件。 兼容某些JPEG压缩的TIFF文件。 更改了左侧导航条的显示方式，以节省空间。 Version 0.08a 错误修正：在自定义快捷键时，个别键定义不正确。 Version 0.08 新增功能：PDG文件查找，可以按照关键字搜索PDG文件夹/zip文件名、Bookcontents.dat、BookInfo.dat。支持多关键字，关键字之间用空格分隔，关键字之间的关系是“与”关系。 新增功能：PDG目录查找，可以按照关键字搜索PDG目录（书签）。支持多关键字，关键字之间用空格分隔，关键字之间的关系是“与”关系。 新增功能：自定义快捷键，可以为所有菜单重新定义快捷键。 新增功能：与PdgCntEditor联动，实现PDG目录编辑功能。 Version 0.07b 功能修正：在v0.07a中，为了避免同一本书在多个窗口中同时显示时出现问题，对文档加了锁，导致在用单窗口显示时翻页速度下降。考虑到用多窗口看同一本书的情况毕竟少见，因此改成智能判断，只有在同一本书打开多个窗口时才加锁，以提升单窗口时的翻页速度。 Version 0.07a 功能增强：加快解析BookContents.dat，以免在打开条目很多的BookContents.dat时，因速度过慢而被误认为死机。 错误修正：如果zip里有以数字开头的文件夹，UV打开后一片空白。 错误修正：选择“窗口->新建窗口”后，新建窗口的目录不显示，要切换一下窗口才能显示。 错误修正：选择“窗口->新建窗口”后，有时会出错退出。 错误修正：不支持封底页（文件名为bac001.pdg、bac002.pdg）。 Version 0.07 新增功能：打开、折叠全部目录项。目录项很多时需要耐心等待。 功能调整：每次打开书籍的时候，保存一次“最近图书”列表，防止因为意外退出而丢失打开书籍信息。原先是程序正常退出的时候才一次保存。 功能调整：“打开散页PDG时定位到第一页”缺省改为不选中，免得总有人问为什么不能精确打开指定的PDG页。 错误修正：如果自动补充了PDG目录项，原PDG目录项会排在自动补充的目录项的下级。 错误修正：在选择“自动恢复”后，某些已经关闭的书籍下次运行还会打开。 错误修正：通过命令行参数、文件拖拽打开PDG文件时，总是定位在第一页。 错误修正：某些JPG文件显示比例不正确。 Version 0.06 新增功能：“所有文件集中在一个UnicornViewer里打开”选项。 新增功能：在状态条上显示页面尺寸。 功能增强：优化“单页连续”显示模式的内存占用。 功能增强：兼容某些非标准格式的BookContents.dat，这些BookContents.dat由于缺少字段，在以前的版本中打开比较缓慢。 功能修正：在“整理书签”对话框中，如果书签项对应的是文件夹，显示时去掉文件夹中的文件名，以免误会。 功能修正：打开PDG文件夹时，缺省文件夹为当前书籍所在文件夹。如果当前没有书籍被打开，则为最后一次打开书籍所在文件夹。 Version 0.05a 新增功能：打开PDG文件夹。 新增功能：通过菜单、工具条按钮、快捷键、鼠标双击分隔条等方式打开/关闭导航条。 功能修正：主窗口背景改成黑色。原来的深灰色在某些液晶屏上会闪烁。 错误修正：先打开书籍，然后关闭，再打开一本书籍，页面跳转条处于未初始化状态。 错误修正：查看zip文件的属性时，不能显示zip中BookInfo.dat的内容。 错误修正：“另存为”图像文件时，某些文件实际类型与指定的类型不符。 错误修正：在打开灰度JPG后，如果设置了背景色，背景部分可能出现色块。 Version 0.05 新增功能：加入书签、书签管理。 新增功能：现场保存/恢复。 新增功能：按下“跳至指定页”快捷键后，光标定位到“页面跳转”条的页码输入框。如果输入的页码大于当前栏目的页码数，并且当前栏目不是正文页，则跳转到正文中的该页码处。 新增功能：另存为，能够将页面另存为JPG、BMP、PNG、TIFF。 新增功能：记忆工具条、状态条的打开/关闭状态。 新增功能：支持通过拖拽打开文件。 新增功能：在没有文件被打开的情况下，双击主窗口空白区弹出打开文件对话框。 新增功能：“打开散页PDG时定位到第一页”选项。 功能增强：可以完全隐藏左侧导航条（拉到最左侧后再拉一次）。 功能增强：在“页面跳转”条中用鼠标点击“页码”框中的上、下箭头，翻到头后自动改变栏目。 功能修正：在“单页连续”、“双页连续”模式下，翻页高度、宽度为窗口高度、宽度。 Version 0.04 新增功能：直接从ZIP文件读取PDG，中间不生成任何临时文件。支持加密ZIP并能记忆密码。 Version 0.03 软件名称从UniReader更改为UnicornViewer。 功能调整：“启动时显示‘页面跳转’条”缺省改为选中，这样拖动滚动条时能看到当前页码。 错误修正：“页面跳转”不随主窗口位置变动而变动，主窗口缩到最小后还留在屏幕上。 错误修正：通过命令行打开文件时，底部页面TAB显示不正常。 Version 0.02 新增选项：启动时显示“页面跳转”对话框。该对话框的位置也调整到屏幕右上角。 功能增强：在进入“全屏”时，保持当前显示方式（单页、双页、连续）、缩放比例不变。 功能调整：更改了“适合页面”、“100%”的快捷键，见使用说明。 错误修正：在选择“实际大小”后，黑白页面的背景色固定为白色。 Version 0.01 支持PDG、多页TIFF。 支持旋转、缩放、连续浏览、打印。