Tuesday, June 18, 2013

InDesign CC - Embedding Fonts

One of the most appreciated improvements to InDesign with the new Creative Cloud edition is that it finally embeds fonts in a way that iBooks understands. Let's take a look.

In InDesign, there is always some font chosen for text. You can't have "none". When you export a book to EPUB, the default is for InDesign to "Include Embeddable Fonts"

EPUB Export Options

The problem is that InDesign CS 6 doesn't do it right. Whether it's Adobe's fault or Apple's or the IDPF's, I've never been quite sure, but the truth is that there were two major problems: the font didn't get obfuscated properly and InDesign didn't account for iBooks' idiosyncracies (read: non-standard font requirements).

So, given this InDesign document:

InDesign

InDesign CS 6 exports a file to EPUB that looks like this in iBooks:

IDCS6-EPUB

My design surely lacks penache (it was designed to take advantage of the fonts that were available on the iPad in 2010), but if that's what I want, that's what I want InDesign to give me.

Now InDesign CC does. Notice both the Bradley Script for the headers and the Optima for the body text.

IDCC=fonts

I heard that it finally got the obfuscation right (or in accordance with Apple), but the coding news is that it also caters to Apple's requirement of including the com file in the META-INF folder.

9

And here's what it looks like on the inside:

com.apple.ibooks.display-options.xml

Apple's com file is totally non-standard (that is, not part of the EPUB3 spec), but regardless, if you want fonts to work in iBooks with an EPUB 2 file, that's what you need, and I think Adobe made a great decision by including that file automatically so we don't have to crack open the EPUB to add it ourselves. Since the com file doesn't affect other ereaders or validation, there's nothing to be lost in adding it, and everything to be gained.

Note that I said EPUB 2, but InDesign CC actually includes the com file in EPUB 3 exports as well. That's not perfect—since Apple now follows the spec for declaring font usage in a meta element in EPUB 3—but it still works and better yet doesn't break anything. And given Adobe's dedicated support for EPUB lately, I'm confident that they'll roll the new behavior into InDesign CC soon.

One small caveat: remember that if you have Preserve Local Overrides unchecked and you've applied fonts with an override, then you shouldn't be surprised if the fonts don't make it to the EPUB file.



5 comments:

  1. The only problem I've found is that the new ePUBs work well with iBooks but are bounced by Smashwords and Lulu. I haven't bothered to figure out a solution there other than saving back [IDML] to CS6 and using Cs6 ePUBs for those two distributors.

    ReplyDelete
    Replies
    1. Oh, that's not good. Because of the com file? Have you filed reports with them? I'd be curious to hear what they say.

      Delete
  2. I did have an exchange with Smashwords months ago because it was rejecting any file that failed epub verification Discriminate, I suggested, between fails that matter and those that don't.

    The problem was with an ePub 2.0 created by ID. Recently, however, they did accept an untweaked ePub from me, so maybe their meatgrinder is getting a bit more robust.

    ReplyDelete
  3. Another change in CC is Adobe removed the fixed-format epub export that they added in CS6. Not a loss I guess since it wasn't supported by any ereader.

    ReplyDelete
  4. I wish Adobe Robohelp would include the com file automatically in the generated epub (and declare it in the .opf file). Currently this needs to be done manually for each generated epub... it's the only way I can get monospaced fonts to show up correctly in ibooks.

    ReplyDelete

More of my books