Contents
ACKNOWLEDGMENTS
INTRODUCTION
1  EPUB Defined
EPUB Version 2 (EPUB 2)
Open Container Format
Key Word Usage
Open Packaging Format (OPF)
Open Publication Structure (OPS)
What About the Kindle?
What Is SVG?
What Is Namespace-based Validation Dispatching Language (NVDL)?
What Is DAISY or DTBook?
What Is an EPUB?
Preparing to View the Contents of an EPUB File
Viewing the Contents of an EPUB File
XML Basics
2  HTML
XHTML
What Is XHTML?
What’s the Difference Between HTML and XHTML?
OPS XHTML Types
Structure
Text
Hypertext
List
Object
Presentation
Edit
Bidirectional Text
Table
Image
Client-Side Image Map
Meta Information
Style Sheet
Link
Base
Practice
3  CSS
What Are Cascading Style Sheets (CSS)?
Selectors
Declarations
What Are the Four Ways to Specify Size?
How Do I Test font-size-adjust?
What Are the Various Length Measurements?
What Is Inheritance?
What Is the Difference Between Inline and Block?
Special Selectors
Practice
4  Fonts, Images, and Colors
Fonts
Embedding Fonts
How Does the Directory Structure Work?
What If My TTF File Doesn’t Work?
Shouldn’t All EPUB Systems Support Embedded Fonts?
Images
Embedding Images
How Do I Get Dimensions of an SVG Image?
What About CSS Order of Precedence?
EPUB Note
Colors
Displaying Colors
Grayscale
5  Navigation Center eXtended (NCX) and Open Packaging Format (OPF)
NCX Introduction
Header
<ncx>
<head>
<doctitle>
<navMap>
How Do I Know If the NCX Is Valid?
OPF Introduction
Header
<package>
<metadata>
<manifest>
<spine>
<guide>
6  Converting EPUB Files
Getting Ready to Convert
Converting to EPUB
Converting from EPUB
Practice, Practice, Practice
7  EPUB Security
Introduction to EPUB Security
Public Key Infrastructure and RSA
Online Libraries
Advanced Encryption Standard
EPUB Security Files
rights.xml
encryption.xml
Font Mangling
Signing an EPUB
Secure Hash Algorithm
signatures.xml
Validation
8  EPUB 3
Differences Between EPUB 2 and EPUB 3
New Navigation File
Viewing EPUB 3 Files
Cover Image
MathML
Fixed Layouts
Embedding Audio and Video
Synchronized Multimedia Integration Language
Creating Narrative Files Without a Microphone
Text to Speech
Flash Animation
9  JavaScript
Getting Ready
Setting Up a Spot for JavaScript
JavaScript Programming
Variables
What Is document.write?
Math Operators
Assignment Operators
Arrays
Multidimensional Arrays
Associative Arrays
Functions
What About Forms?
What Is the Alert?
Objects
Conditions
Loops
Events
Example Functions
Index