I sent my new book (see the cover to the left) to Kindle KDP. I exported it as ePUB2 with embedded fonts and so on. I converted it with Kindle Previewer.
My first reader complained that all the graphics were destroyed. (A graphic 600 px wide by 35 px tall was displaying 600 px wide by 500 px tall.) Plus, the embedded fonts were gone. Plus, nested styles were gone. The custom dingbat bullets were gone from the lists.
So, I IDMLed back to CS6
I eliminated all anchored graphics and placed the graphics inline in their own paragraph. I got rid of all nested styles and re-applied the styles by hand. I eliminated the custom dingbats on the lists and went to Unicode bullets. I used Amazon’s Export to Kindle plug-in.
Now the book is fine.
Well, not really. Now the old problem of the Kindle cutting off the bottoms of the type resurfaces.
Converting to Kindle Using Amazon ‘s Plug-In
Until very recently, I gave some very explicit instructions for the construction of the HTML and CSS needed to step back in time to Amazon’s MOBI format. It was extremely limited in what was allowed. It was all done writing HTML by hand. Things have gotten a lot better. In fact, in many ways KF8 is leading the pack.
The CS6 Kindle Export plug-in
Here’s a quote from their Web page from which you can download the plug-in.
Kindle Plugin for Adobe InDesign® (Beta) is officially supported by Amazon to convert files to the Kindle format. We recommend you use Kindle Plugin for Adobe InDesign® (Beta) to create content that is compatible with all Kindle devices and apps. Files created with third-party software may not work properly on current or future Kindle devices and apps.
This is fairly important. I have heard several stories about Kindle book producers who had their book bounced by Amazon because it was not produced with Amazon’s tools. There are three of them: KindleGen, Kindle Previewer, and the InDesign Kindle Export plug-in. KindleGen is a command-line app (meaning everything is done in raw code). Kindle Previewer is what we use to see what the Kindle book looks like after we export it with the plug-in. However, you should know that Kindle Previewer also converts ePUBs to KF8 books. But, bottomline, if you do not use the Amazon Plug-in, Kindle will basically destroy your book.
Highlights of the Kindle Plug-in
The main advantage of the plug-in is that is simply provides an “Export for Kindle…” command under the Export command in the File menu. It converts a InDesign file to a single file which supports both KF8 and Mobi formats. It exports most of InDesign’s text formatting, gives you a place to edit metadata, and formats your table of contents.
For paragraph formats, the plug-in supports most of what we need: Bold, Italic, Bold Italic, Left indent, First line indent, Right indent, Space before (above), Space after (below), the four alignments [left, right, center, and justify left], the page break character, and white space characters (though they only mention non-breaking spaces). Kindle now has a monospaced font which they use when you choose Courier. We can use the non-breaking space character to set up accurate code blocks, for example.
For Kindle Fire and Touch only
Several things are available for the Kindle Fire and Touch only. The irritating thing is that these do not work in the Kindle apps for desktops and tablets. They include: all caps, small caps (but not true small caps unless they are in the basic 256 character set), baseline shift, drop shadow, outer glow, background color, and embedded fonts.
Tables are also supported for the Fire. KF8 supports border weight, border styles and border stroke colors. Plus, paragraph formatting options such as alignment and margins and table formatting options such as space before and space after are also maintained. In addition, you can specify cell background color, text alignment, and inset spacing. As mentioned, the Mobi format drops all of this. Amazon says that nested tables are NOT supported. But I’ve seen several tweets and postings where people claim that nested tables do indeed work. Try this with care.
Boxed elements: Another addition in KF8 is the ability to have boxed elements for displaying prominent information. To create a boxed element, add the text to a new text frame. Then select the text frame using the selection tool and set a border weight from the Tools menu. You can also set the border and background color using the Stroke and Fill color. You can also use rounded corners. However, even in the plug-in release PDF from Amazon, the insets are gone and the text cannot be selected in the box with the rounded corners. This tells me that they are rasterizing the borders (maybe). Test these things carefully.
Lists: They claim to support all InDesign options, but I’ll have to see it to believe it. So far it looks good, but they only support characters from ASCII. Characters accessed with OpenType features are dropped. If you use a custom font character for the bullet, the list spacing is busted. Basically, only a Unicode bullet works.
Drop Caps: Supports InDesign’s options with the already listed font limitations.
It does have a dialog in the export process to let you set your CSS specs because special fonts need special spacing. I suspect that this one takes more work than I’ll ever do. But, it’s all in the documentation.
Table of Contents
This seems to work well. Supposedly they do whatever you need. You can also build a custom TOC with your own hand-built links. They now support the paragraph styles we normally use for TOCs. So far,I am hand-building mine to get the look and location I want.
Basically, nothing is changed here. I recommend that you place all images inline. The Kindle supports GIF, BMP, JPEG, and PNG images in your content. Vector graphics are not supported and should be converted to raster graphics using one of the supported image formats. The size limit for images is 127KB. Below this limit, all images will be exported unaltered while above this limit, images will be automatically optimized to be under the size limit during conversion. You should understand this to mean that images larger than 127KB will be ruined. That is straight forward enough. Floating graphics are done at your own risk. They are processed separately from the text.
Here’s another warning from Amazon about images with text:
I’ll just quote them on this:
For images containing a lot of text, using the GIF format is recommended so that the sharpness and legibility of the text is retained. Since an image is always displayed completely on the screen, image resolution should be constrained to a maximum of 500×600 so that the image is not scaled, making it hard to read. Minimum font size should be such that a lower-case “a” is at least 6 pixels tall. You can reduce the number of colors used in an image to optimize it’s size or split the image horizontally to keep it under the size limit. It is highly recommended that automatic optimization by KindleGen be avoided in case of images containing text.
My recommendation is that you do what you need to do to entirely avoid any “optimization” by making your images smaller than 127KB and 600 pixels wide or narrower. Notice they specify that images larger than 600×500 pixels will be scaled. This means that you need to keep the height less than 500 pixels.
It’s required and it needs to be exactly 600×800. In the past JPEGs were virtually required. I found that unless they were produced by Photoshop’s Save for Web command I had troubles. I set up my images exactly to spec before placing them into my InDesign document.
It’s all pretty straight forward. The Publishing guidelines are linked off the plug-in page. My basic design recommendations remain the same as we discussed for ePUBs, modified only by what you see above.
Bottomline on the Kindle Export Plug-In
So far, everything I’ve exported with the new plug-in has worked as expected and been accepted by KDP. The only problem seems to be that the descenders are cut off. As far as I can tell, this is an old Microsoft/Android bug. The fonts look fine in the Kindle apps for MacOS Mavericks and for iOS 8.