亚马逊 Kindle 电子书发布指南(四)附录

目录

◄ 返回本文主目录

19 附录 E:XMDF 到 KF8 转码指南
19.1 KindleGen 命令
19.2 源问题
19.2.1 图片质量差
19.2.2 外字符号模糊
19.2.3 目录条目呈悬挂式
19.2.4 目录条目无链接
19.2.5 目录中页码导向错误
19.2.6 汉字加粗
19.2.7 文本褪色
19.2.8 图片之间无空间
19.2.9 图片未显示在单独的页面中
19.2.10 目录不显示
19.2.11 大量文本未居中
19.2.12 ID 重复
19.2.13 文件路径和文件名要求
19.3 不支持的功能
19.3.1 被忽略的功能

19 附录 E:XMDF 到 KF8 转码指南

19.1 KindleGen 命令

KindleGen 接受包含 XMDF 源文件的文件夹作为输入。KindleGen 同样接受 .zip 文件。使用以下命令:

kindlegen <folder name>

您可以使用一个额外的命令行选项(-intermediate_only)来生成中间的 OPF/HTML 文件:

kindlegen -intermediate_only <folder name>

此选项可在输入文件夹旁边的一个新文件夹内生成中间文件作为 OPF/HTML 文件。KindleGen 使用输入文件夹名称后跟 _dump 来命名此文件夹。您可使用 HTML 或 OPF 类型的中间文件修改中间文件的内容。HTML 或 OPF 类型的中间文件应遵循本文档中的其他部分所概述的相关指南。

OPF 文件名称为 current_content.opf,并与 main.xml 文件处于同一位置。

使用以下命令从 OPF/HTML 文件创建 KF8:

kindlegen <OPF File>

19.2 源问题

一个 XMDF 源可能存在多个影响 Kindle 上的用户阅读体验的问题。您可以通过解决这些问题来提升用户的阅读体验。以下几部分列举了我们在测试中发现的几个重要问题:

19.2.1 图片质量差

图片质量差将导致封面或其他图片显示过小。要避免此问题,请提供高质量图片。有关质量要求,请参阅第 4 节“封面图片指南”和第 9.4 节“图片指南”。

19.2.2 外字符号模糊

为解决外字模糊问题,请使用对应编码符号或提供至少 64 x 64 的高质量图像。

外字图片文件的要求:

  • 图片格式:PNG(8 位)格式或 JPEG 格式
  • 大小:建议使用 128 x 128 或以上像素

19.2.3 目录条目呈悬挂式

为创建具有适当缩进排版的目录,请使用适当的文件边框和不明显的首行缩进。

正确的方式:

<p top_line_indent="-1em" top="1em">
    <char_id char_id="CR0002">第 1 部分</char_id>
    <br/>
    <char_id char_id="CR0004">第 1 子部分</char_id>
    <br/>
    <char_id char_id="CR0006">第 2 子部分</char_id>
    <br/>
</p>

错误的方式:

<char_id char_id = "CR0002">第 1 部分</char_id><br/>
<char_id char_id = "CR0004">第 1 子部分</char_id><br/>
<char_id char_id = "CR0006">第 2 子部分</char_id><br/>

19.2.4 目录条目无链接

所有目录条目必须链接到相应的章节。

19.2.5 目录中页码导向错误

为避免错误的页码导向,在目录索引号码中请使用 “tate-chu-yoko” 样式。

正确的方式:

<char_id char_id = "CR0020">
    <yoko>10</yoko>
</char_id>
第 X 章

错误的方式:

<char_id char_id = "CR0020">10</char_id>
第 X 章

19.2.6 汉字加粗

请避免汉字加粗。此类样式会导致字符模糊。

正确的方式:

错误的方式:

<font bold="yes">遺</font>

19.2.7 文本褪色

请勿指定文本颜色。使用浅色会导致文本褪色。

部分 Kindle 设备允许读者将背景色更改为黑色。如果强制将文本设置为黑色,则文本在此模式下是无法阅读的,而我们也将禁止您发布此电子书。

19.2.8 图片之间无空间

为避免图片无空间显示,请使用换行符(<br/>)。

示例:

<object type="image/png" src="image1.png"/> 
<br/>
<object type="image/png" src="image2.png"/>

19.2.9 图片未显示在单独的页面中

为使图片显示在单独的页面,请为每张图片使用单独章节。

19.2.10 目录不显示

为确保显示目录,请在 中包含所有重要链接。

示例:

<special_page_link>
    <special_page title="Chapter 1">PG1111</special_page>
    <special_page title="Chapter 2">PG1112</special_page>
    ...
</special_page_link>

19.2.11 大量文本未居中

请勿将 valign="middle" 样式用于大量文本。

19.2.12 ID 重复

请勿使用源中已提及的流 ID/页面 ID。请使用唯一 ID 名称。

19.2.13 文件路径和文件名要求

请勿使用反斜杠(\)指定文件路径;始终使用正斜杠(/)。请勿在文件路径或文件名中使用特殊符号(例如 !@#$)。

19.3 不支持的功能

Kindle 不支持部分 XMDF 功能。如果文件包含这些功能,KindleGen 将显示错误消息并中止转码。以下所示为 Kindle 不支持的功能:

1、图片动画:

flip_animation

示例:

<flip_animation renewal_time="500ms">
    <flip_animation_source src="aaa9.jpg" type="image/jpeg" />
    <flip_animation_source src="aaa2.jpg" type="image/jpeg" />
    ...
</flip_animation>

2、漫画书:

comic_object_entry

示例:

<parts_module>
    <object_table>
        ...
        <comic_object_entry src="comic9.xml" type="application/x-bvf-comic" object_id="OB0001" />
    </object_table>
</parts_module>

3、声音媒体:

sound_object_entry

示例:

<parts_module>
    <object_table>
        ...
        <sound_object_entry src="movie9.3g2" type="video/3gpp2" object_id="OBmv00" />
    </object_table>
</parts_module>

4、电影媒体:

movie_object_entry

示例:

<parts_module>
    <object_table>
        ...
        <movie_object_entry src="movie9.3g2" type="video/3gpp2" object_id="OBmv00" />
    </object_table>
</parts_module>

5、搜索页面:

search_page_object_entry

示例:

<parts_module>
    <object_table>
        ...
        <search_page_object_entry src="spage9.xml" type="text/x-bvf-search-page" object_id="OBSP01" />
    </object_table>
</parts_module>

6、图像的可点击区域:

pointer_region

示例:

<event>
    <trigger>
        <trigger_pointer id="OB003k/CR0001" action_flag="click">
            <pointer_region>
                <vertex position="(0,0)" />
                <vertex position="(100,0)" />
                <vertex position="(100,100)" />
                <vertex position="(0,100)" />
            </pointer_region>
        </trigger_pointer>
    </trigger>
    <action>
        <action_page_jump page_id="PG0043" />
    </action>
</event>

7、指向带有 HTML 符号实体的 URL 的触发操作:

action_page_jump

示例:

<event>
    <trigger>
        <trigger_pointer id="OB0006/CR0015" action_flag="click" />
    </trigger>
    <action>
        <action_page_jump book="http://www.japanvisitor.com/index.php?cID=359&amp;pID=986" book_type="text/html" />
    </action>
</event>

18.3.1 被忽略的功能

对于部分不支持的功能,KindleGen 不会报错,而是忽略这些功能并继续转码。以下所示为被忽略的功能。

1、发音:

reading

示例:

<title reading="PI">π</title>

2、日文外字的替换文字和代码设置:

alt_setalt_code

示例:

<external_char alt_set="sh_extchars" alt_code="0x2345" alt="間"/>

3、许可信息:

permission_info

示例:

<permission_info>
    <print_permission permission="authorized" />
</permission_info>

4、换行方法:

line_breaking_method

<line_breaking_method method="word_wrap">

5、回放:

action_play

示例:

<event>
    <trigger>
        <trigger_pointer id="OB0006/CR0015" action_flag="click" />
    </trigger>
    <action>
        <action_play object_id="OBkj23" /> ...
    </action>
</event>

6、字体、背景及其他属性的不透明度:

opacity

示例:

<font color="#FF0000" opacity="100"/>

7、背景音乐:

text_default_background_music

<text_default_attribute>
    <text_default_background_music src="9.mp3" type="application/x-smaf" loop="yes" />
    ...
</text_default_attribute>

8、首字下沉:

drop_cap

示例:

<p drop_cap="2">Alice 是...</p>

9、滚动的文字内容:

scrolling_text

示例:

<scrolling_text>
    此文本将循环滚动
</scrolling_text>

10、内容屏蔽

Mask

示例:

<mask>42 </mask>

11、搜索关键项

key_entry

示例:

<key_entry>
    <key_item search_word="color" table_id="ST0001">
        颜色
    </key_item>
    <key_item search_word="colour" table_id="ST0002">
        Colour
    </key_item>
</key_entry>

[ 指南内容全部结束 ]

——————

第四部分内容梳理:

指南附带的四个附录,用以在阅读前三部分内容的过程对相关的技术细节进行备查。比如,对于要在电子书中使用的 HTML 和 CSS 标签,如果不确定哪些可用哪些不可用,就可以参考附录,只选用列表中标注为支持的标签。

※ 本文有分页: 12345

有帮助,分享给其他小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 2 条评论

  1. 请问kingle oasis 2017里面拷进去一本自己下载的书,点右下角的时候出现“编辑发音”的选项,进去以后就是书名和作者的拼音可以自行编辑,这是干嘛用的?

    • 确认一下,你点击的是否是“电子书”而不是“收藏夹”?貌似只有“收藏夹”有这个“编辑发音”的选项。这个功能没有特别用途,可能只是用于语音辅助。