如何为 Kindle 电子书添加嵌入多种自定义字体

“制作Kindle电子书”相关阅读

给这篇文章写一条留言

提示:带 * 标记的是必填项。您填写的邮箱地址将会被保密。首次留言将会在通过人工审核后显示。如果是提出问题,请务必提供尽可能多信息,这有助于他人更好地理解你所提出的问题。

小伙伴们写下了 31 条留言

  1. 阁下这种方法是将字体文件放入电子书文件中,这样电子书文件就比较大,而且每本电子书都需要这样做才能自定义字体。
    能否将自己需要的字体导入kindle本地中,然后在电子书中引用kindle本地字体。我试过将字体文件导入kindle的fonts文件夹中,却屡次引用失败,而且kindle阅读界面更改字体也无法显示我导入过的字体。
    这种情况该如何处理,还望不吝赐教。
    PS:kindle已越狱

      • 感谢阁下的回复和指点。
        我浏览了你所列举的更换字体插件的方法,不过我觉得太麻烦暂时不去考虑。
        因为我个人对每本书的个别字体都有不同的自定义,比如这本书的标题会用“华文中宋”,另一本书的标题用“思源宋体”等等。以往我的电子书正文文字字体一般是“华文宋体”,配合“华文楷体”、“华文黑体”等,这些字体kindle本地中本来就有,所以电子书css文件写出字体族名即可引用。另外需要的其他kindle本地原本没有的字体,则需要像本文所示这样来引用。
        那么问题又回到上次提到的那样,字体文件能否导入kindle本地后,电子书再随心所欲的引用呢?
        我一直在尝试,如果阁下有更好的方法,还望不吝赐教。

        • 正如你第一条留言所提到的,Kindle 之前只需要将字体文件拷贝到根目录下的 fonts 文件夹中,就能在 CSS 文件中使用其字体族名,但是自从 Kindle 新增了自定义字体功能后,这种使用方法就失效了,除非降级到支持此功能的旧固件,你的这个需求应该是无法实现的,

          • 阁下的回复对我大有助益。
            再次感谢阁下百忙之中的回复和指导。
            祝愿阁下豫立亨通,平安健康。

  2. 您好,之前按照上述方法,可以制作嵌入自定义字体的电子书,但自从Kindle系统更新到5.12之后,这种方法制作的电子书在Kindle上就不能显示嵌入的自定义字体了(即“出版方字体”选项消失),已经困扰我很长时间了,一直不知道该如何解决,还望作者能够点拨一二,谢谢了。

    • 确实有同样的苦恼,能够自定义字体真的是电子书很大的便利,排版会更个人化,区分字体更利于阅读。
      现在不知道怎么解决。

  3. 报错如下:
    警告(prcfile):W14028: 以下文件不存在: fonts/KT-ExtB.ttf
    警告(prcfile):W14028: 以下文件不存在: fonts/ST-ExtB.ttf
    但实际上字体文件就有在,文件名也一样,要怎么处理?

  4. 嵌入字体后在calibre上显示可以的 但是把kindlegen生成的mobi拖进kindle就不显示自定义字体了 我编辑的是英文书 英文字体Senator

  5. 想问一下,嵌入的字体文件是包含所有字库的文件,还是只是电子书所用到的字库?有方法按需截取字库吗?节省空间,文件转换成其他格式的时候可以按需转换吗?

  6. 你要我要嵌入两种字体比如标题用字体1正文用字体2都是第三方的字体该怎么改CSS呢
    谢谢!!!

    • 首先按照本文的方法把两款字体嵌入到电子书中,然后用 CSS 分别对正文和标题的标签、类名或 ID 指定某个字体即可,比如下面这段代码所示:

      HTML 代码:

      <!-- HTML代码片段 -->
      <body>
          <h1 style="text-align:center;">标题内容1</h1>
          <p>正文内容1。</p>
          <h1 style="text-align:center;">标题内容2</h1>
          <p>正文内容2。</p>
      </body>

      CSS 代码:

      /* 定义字体1 */
      @font-face {
      	font-family: 'font1-define';
      	src: url(fonts/font1.ttf);
      }
      /* 定义字体2 */
      @font-face {
      	font-family: "font2-define";
      	src: url(fonts/font2.ttc);
      }
      
      /* 正文 应用字体2 */
      .body{ font-family:'font2-define'; }
      /* 标题 应用字体1 */
      .body h1{ font-family:'font1-define'; }
  7. 您好,有两个疑问。

    1. 自制书能否调用Kindle自带的字体?不是嵌入,而是用Kindle自带的宋/楷/黑/圆,比如标题用黑体,其他用宋体,都是Kindle本身有的字体。如果可以的话,应该怎么写CSS?

    2. 如果确实能调用Kindle自带字体,mobi7是否支持?(mobi7就是Calibre转换时候的old mobi,不是KF8)。

    谢谢,望不吝赐教。

  8. 我使用sigil导入字体,除了src: url(fonts/font6.ttf) 使用的是 src:url(‘../Fonts/font6.ttf’)之外,其他的都没有问题。

  9. 评论不能加图片好像,这样就没法上传截图了。我用上面提供的链接下载了样本代码,运行后无论是在KindlePreview还是KPW2里面显示的字体都是无效的,请问楼主知道原因吗?

  10. 完全是程序员思维,对普通用户一点都不友好!作为文科生虽然最终看懂了,但头几遍我是全程蒙逼的。建议向苹果学习让用户少操心,把所谓教程傻瓜化,不要出现计算机语言,全部做成批量命令,最多让用户改改文件名什么的~

    • 完全是普天之下皆你妈的思维模式。免费的东西教给你看,你还挑三拣四?人家有义务向你科普吗?吃你的喝你的了?建议学习一下如何做一个感恩的人再来发表意见。

  11. 为何推送后嵌入的字体消失了
    我是说,我用sigil制作电子书时已经嵌入字体,转换成mobi格式后一切正常,在kindle中有“出版方字体”选项。但经亚马逊邮箱推送后,收到的azw3文件中就没有了嵌入的字体,也没有了“出版方字体”选项了。
    这是为什么?同一文件,多次推送,有时能正常显示,有时却不能正常显示,难道亚马逊有鬼?

    • cjiugeng 您好。如果经过实测,同一文件的嵌入字体时有时无,很可能就是亚马逊服务器的问题。

      • 经测试,段落多了,经过亚马逊服务器推送转换,就会丢失字体引用部分的代码,所以,即便仍存在“出版方字体”选项也没用了。

  12. 感觉使用“出版方字体”这一选项时,字会比不选的时候淡一些。我之前制作电子书时,给书的一些标题嵌入了其他字体,正文部分依旧指定了kindle的宋体,在kindle上打开分别在字体选项选择“出版方字体”以及“宋体”,选“出版方字体”时感觉字会淡一点,不知道是不是我的错觉……

    • SevenYuan23 您好。可以把两种感觉不同的字体显示截一下图,用 PS 等图像软件打开对比一下即可得到验证。

    • 我也觉得比在电脑上看淡多了,而且嵌入时不能选择自重,默认字重也许是 light 或 regular