EPUB Typography Report

Page 1

Self-Directed Project Typography in ePub format ebooks Francesca Romano MA Book Design Department of Typography and Graphic Communications University of Reading 2012–13



Self-Directed Project Typography in ePub format ebooks Francesca Romano MA Book Design Department of Typography and Graphic Communications University of Reading 2012–13



Index 1 introduction issues in epub design 3 7 11 15 15 19 19 25 27

Fonts Small Caps Measure Orientation Justification/Hyphenation Poetry Keeping Titles and Paragraphs Together Annotations Navigation in the Text Conclusion: on Independent Applications and Standardisation appendix: exporting the epub from indesign

33 35 36 36 37 38 41

How to Export an ePub from InDesign InDesign Exporting Rules Preparing the InDesign File Cleaning the css File How to Set a toc Style How to Make the Book’s Table of Contents Clickable How to Create Hyperlinks

44 bibliography



Self-Directed Project Typography in ePub format ebooks aim Exploring the typographical possibilities of the ePub file format for ebooks. task I have adapted the books designed for printing in the first term, for the project directed by Paul Luna. Specifically I have worked with: – Washington Square – Early Fables – Henry V I worked from the InDesign files, exported them into ePubs and then edited the code with Sigil, a software that allows me to preview how the ePub is visualised and at the same time modify the source code. Then the ePub has been imported in iBooks, to check how it renders the code, what are the things that it changes and what I can do to fix them (if possible). exporting To start working on the ebooks, I first had to understand how InDesign exported the files to ePub. The appendix of this report contains a detailed description of the way InDesign exports a file to ePub, with guidelines on what to change in the initial InDesign file, regardless of the kind of book that’s going to be exported. The main part of this report will focus on resolving a few typographical issues, whose solution is created most of the times modifying directly the ePub file, but following the guidelines will help having a cleaner and more coherent file and a smoother working process. comments The main issue with rendering of typography in ebooks is the way the ereaders interpret the source code. Each of them has its own way of doing it, ignoring some of the rules the designer wrote, and applying others instead. One of the main tasks of this project was then to find out different ways of forcing the software, in this case Apple iBooks, to follow the rules that are common in printed books. In my exploration I couldn’t find solutions to every issue examined, because of the way iBooks and other readers work, nor explore all the possible issues and the rendering in other applications, beacuse of the time constraints and the depth on the research. In the cases I didn’t find a solution to, I have provided an explanation on why and I have commented on the result of my experimentations. These comments are going to be printed in a different colour. 1


idpf.org/ePub

What is an ePub file? An ePub file is basically a zipped folder, containing all the files needed to display the ebook: html files, style sheets, fonts, images, additional files specifying the ebook characteristics. The latest version is ePub3, that uses the standards of html5 and css3, implementing their new functionalities. How does it work? An ePub file is read by specific softwares which can extract its content and use it to display the ebook. The core of an ePub file is made up by html files which contain the text and css style sheets, that set the rules on how the text is displayed, just like in websites.

idpf.org

www.thebookseller.com/news/ amazon-accept-ePub-files.html

Why did I choose the ePub format? The ePub is recommended by the International Digital Publishing Forum (idpf), with the strong belief that the digital publishing future lies in a standardised format, able to work on all kind of platforms. At the moment ePub is the most widely accepted format for ebooks, read by the majority of ereaders, with the exception of Amazon’s Kindle, which nonetheless announced the new generations of its device will accept it.


Issues in ePub design fonts

Unfortunately, this is a modification that can’t be made from Sigil, so the ePub needs to be unzipped. This can be done with different applications, the one I use is called ePub Zip/Unzip

This particular file is used for fixedlayout ePubs, I will talk about them at page 11 of this report.

iBooks lets the reader choose among a restricted range of fonts: Athelas, Charter, Georgia, Iowan, Palatino, Seravek and Times New Roman. Each of these has different characteristics, not least the availability or not of proportional figures. The designer can choose to assign any of the fonts already embedded in the iPad os to the ebook, but it will not be applied to the main elements of the html, those that usually contain the text: <p>, <div>, <span>. Considering that InDesign exports every piece of text in the file into <p> and <span> elements, this means that the only available fonts for an ebook created his way are the iBooks fonts. However, there is a way of working around this issue. When exporting from InDesign, the fonts used in the file (whichever the designer chose) are already included in a dedicated folder in the ePub and the code that wold allow them to be used to render the html are written at the beginning of the css (@font-face propriety). The ePub just needs a little bit of tweaking for it to work as desired. One of the folders in the ePub is called meta-inf and contains two files. I had to add a third one, to tell iBooks to use my custom font. This file is named com.apple.ibooks.display-options.xml and it contains the code: <?xml version=”1.0” encoding=”UTF-8”?> <display_options> <platform name=”*”> <option name=”specified-fonts”>true</option> </platform> </display_options>

To keep it simple, this file is used to activate some additional options of the ePub files, in this case the possibility of using custom fonts. This needs to be explicitly declared in the ePub and it is done by adding the line <option name=”specified-fonts”>true</option> to the code of this file. Now in the fonts list includes a new option, simply called “original”. The ebook will be set in the original font unless the reader chooses to display it in one of iBooks’ fonts. When one of them is selected, the ebook will work like any normal one in iBooks – meaning that when the font is changed for a book, it will be used for all the others. This will not happen, though if the original option is selected: the original font will be used even if the font is changed in any of the other ebooks in the app.

3


The font window for a standard ebook in iBooks.

4


The fonts window for an ebook containing the com.apple.ibooks. display-options.xml file.

5


Default rendering of small caps in one of the iBooks-provided fonts, specifically Seravek.

Default rendering of small caps in the custom font, in this case Sentinel.

The small caps in this example have been rendered in a bolder font, Sentinel Medium, and spaced by 0.5 px.

The same code used for the example above is set in Seravek. Since the font doesn’t come in as many variants as Sentinel, the Medium is rendered in a much bolder weight.

6


There is also a way of preventing the reader from changing the font, and it involves transforming all the <p> and <span> in the ebook into different kind of elements. The element <h1> and <samp>’s font, for example, won’t be changed by the software, so transforming every <p> into an <h1> and every <span> in a <samp> element will ensure that the reader will not be able to change the ebook’s font. The reader will still be able to modify the font size. However, some additional rules will have to be written in the css for the <h1> elements to correct the default bold visualisation of this element. The list of fonts will still be available to the reader and it can be considered confusing to be able to select one of the option, the only result being a slightly different font size. Moreover, an ebook treated this way will work very slowly, especially when trying to make any changes in font or font size, so in my opinion, it is not worth it to use this method. small caps Small caps are a particular issue in ebook design. They are specified by the font-variant: small-caps; propriety and they are created by turning the lowercase letters in upper case and displaying them in a smaller font size, even if the used font includes real small caps. This process produces very light text where the small caps are requested. I have found no explanation on the way the reduction to a smaller font is made, nor any indication on how to control it. The only acceptable solution to this issue – discarding the option of not using small caps in ebooks – is making the small caps bolder. The way it is done depends on font to font. For my ebooks I have used Sentinel, that comes in many different weights, I am using Medium to fix the small caps. Fortunately, the css propriety font-weight comes with a wide range of values, from 100 to 900, and the font weight system can be reproduced matching the fonts to these values. The other font options in iBooks do not come in so many weights, so in those cases the the same code will be rendered too light or too bold, as even the many font-weight values will be roughly rendered by the limited variations of the font files. One small intervention that can be done anyway, is to space the small caps, using the css propriety letter-spacing. This propriety too has many values, the designer will have to choose case by case the correct one. For Sentinel I have applied a letter-spacing of 0,5 px. measure It is good typographic practice that the measure of the text-block and the type-size are set in relation to one another. Roughly, this relationship can be summarised as: smaller type-sizes fit in shorter measures than bigger type-sizes. The question, however, is much more complex than this and requires case-by-case considerations, I will oversimplify for the sake of this discussion.The issue with iBooks is that, even if it lets the reader change the type-size, the measure stays always the same.

7


The smallest font size available in iBooks. The measure of the text block in this page’s image is definitely too long and the type is anyway too small to be read comfortably on screen.

8


The biggest font size available in iBooks. The measure, however, is the same as in the facing page’s example. iBooks allows 12 different size variations,

I wonder if they are all necessary, as the examples in these pages show. This image shows that the biggest possible type size is evidently very problematic to read as the structure of the lines is completely lost.

9


10


On the facing page: the three different measures and font sizes available in the e-reader Readmill. readmill.com

Another ePub reader, Readmill, changes the measure of the textblock when the user chooses a different size of font. However, Readmill allows only three variations of font size and measure, too few to be useful, as some people may find one is too small but the next one is too big to be ideal. iBooks, on the other hand, allows 12 size variations, from the unreadable to the extremely big, all of them keeping the same measure. None of these systems is perfect, in my opinion. I believe the best solution would be something in between. orientation

A fixed-layout ePub is an ebook in which the content is not flown in by the software but the designer has to decide the position of its every elements on the screen.

Another issue related to the measure is the way iBooks reacts to the change in orientation of the iPad. When it is in landscape mode, iBooks distributes the text in two columns, whose measure is more than often far too short for a comfortable on-screen reading type size. To resolve this issue I tried to exploit one of the possibilities of fixedlayout ePubs, the option of locking the book in landscape or portrait mode. The same file I used previously to say I was using a custom font is, in fact, the file where I can specify all the possible options of fixed-layout ebooks. The option I need is orientation-lock, that should let me lock the orientation of my ebook in portrait-only mode. To work, this option needs to be accompanied by the declaration of a fixed-layout book and the spread-view option. The code will then look like this: <display_options> <platform name=”*”> <option name=”fixed-layout”>true</option> <option name=”specified-fonts”>true</option> <option name=”open-to-spread”>true</option> <option name=”orientation-lock”>portrait-only”</ option> </platform> </display_options>

However, it turned out that iBooks reacts to fixed-layout ebooks by framing them in a hardback book simulation interface, with the text distributed in spreads. All the options to change the view (font options, background colour, interface) are disabled. Moreover, the text is not flown in to create new pages, but it is cut after the first one. It makes sense that iBooks expects the content to be placed in a fixed position, since I have told it that this is supposed to be a fixed layout ebook. To conclude, this means I can’t have the orientation locked without getting all the other annoying characteristics that of a fixed-layout ebook.

11


iBooks landscape view

12


iBooks interface for fixed-layout ebooks. The button usually used to modify the text (Aa) is not present. In fact, no modification can be done on this kind of ebooks.

13


The settings for iBooks’ hyphenation and justification located outside the app.

14


justification / hyphenation iBooks forces every ePub into full justification and has its own hyphenation algorithm, that I can only suppose is working correctly. This settings can only be changed outside of the application, in the iPad’s main Settings. If the book one reads in iBooks are all simple novels, that can even work fine, but as soon as one starts having other kinds of books, the situation gets more complex. For example, when in poetry one line is too long for the measure and it has to start on a new one, the full justification can create very awkward word-spacing. To avoid these problems and to resolve the awkward situation of having the settings outside of the application, iBooks should just stop forcing the justification on every book and let the designer specify in the code the way he prefers the text to be set in. css3 has considerably increased the number of rules dedicated to text setting, especially those on justification and hyphenation. This shows some effort towards the use of good typography in html / css-based media, currently ignored by iBooks. poetry Except for the problems created by the forced full justification, setting poetry in html / css is not that difficult. I just had to remember that the line spaces are not rendered, so I had to assign a particular paragraph style to every line at the end of a stanza that included a line space below. In addition, I needed to predict what would happen to the lines that did not fit the measure to avoid having them mistaken as a new regular line in the poetry. This is made by setting a paragraph indentation to the line, with a negative first line value. Early Fables is just a little bit trickier than any normal poetry. The lines of the poems have, in fact, different indentations, rendered in the InDesign file with different tabulations. However, the tabs are not rendered in html so I had to set a specific paragraph style for each different indentation. Moreover, different styles had to be created for end of stanza lines with different indentations too. As a result of this, I had to come up with a way of indenting the lines that didn’t fit the measure in a way that they wouldn’t be mistaken for normal indented lines.

no tabulation 1 tab 2 tab 3 tab starting a new line

5 % indentations

15


Awkward justification (and too short indentations) in one of the first experiments on Early Fables

16


Now the indentation is better and it can clearly be seen which lines didn’t fit the measure. The awkward spacing seems to have disappeared, even though I have no explanation why. iBooks was still set to a full justification.

17


A title is separated from its poem, even though the code includes page-break-after:avoid;

18


keeping titles and paragraphs together Designing the poetry I came across one the problem of keeping a header together with the following text. Depending on the frequency of headers (in the case of Early Fables very high) it can happen that the last line of a page is the header of the following paragraph. The usual escape route was to wrap the header and the text it referred to in a box (<div>) and applying to this box and its contents a rule (display: inline-blocks;) that told the reader to consider it as a unit and display as much as possible of the content together on the same page. Unfortunately, since the version 3.1 iBooks reacts to the rule “fit as much as possible of the content on one page” by cutting some of the lines of text. The only path we are left to try is to apply the rule break-page-after:avoid; to the headers, to tell the software to try not to break the page right after the header. However this doesn’t mean iBooks will automatically transport the header on a next page. In fact, the rule does not seem to work, either for the uncertain nature of the value avoid, or because it is completely ignored by iBooks. A final solution would once again lay, in my opinion, in the design of the application itself. If iBooks came equipped with something that would recognise some elements of the text as being titles (the html already does it with the <h> tags) and kept them together starting a new page when needed, this problem would not exist. However, applications design is far beyond both my abilities and the scope of this discussion. annotations On how to create hyperlinks in InDesign, see the Appendix at page 41.

Another issue with no clear solution is that of annotations in iBooks. Exporting the ePub, the real footnotes in InDesign are already rendered as two-diretional hyperlinks that go from the note reference in the text to its description and back. Endnotes on the contrary will need to be manually linked. Rendering the notes like they are in print is not difficult. The only thing to do is separating the reference number of the note in a different paragraph as its description, with a different paragraph style. The text of the note will be indented and the number will be given a set of rules in the css code, making it float next to the text and aligning them by the units. However, the problem with having numbers as notes references is that they are often too small, even if adjusted, to be noted in the text, especially when getting back to it from the note section. A solution to this problem could be linking the note to the whole text it refers to. This way the text would be shown in the links colour and it would be a more visible sign of where the text was left (see page 22). This solution is not ideal, as it still requires searching the text for the point it has been left, but it makes it much easier than just having numbers.

19


Note references as numbers. They are very little visible in the text, especially when jumping back from the notes description.

20


Notes identified by numbers. To build this kind of structure is very complicated as it is done with tabulations in the file for print.

21


References to the notes made using the pieces of text the note explains. It is much more visible, even though the solution is still not ideal.

22


The notes section is easier as well, as it is a simple paragraph style with negative first line indentation.

23


Ereader-generated table of contents

Running heads and buttons with different functions.

Progression bar and page numbering system

24


Go to page 37 in the Appendix for a more detailed explanation on the reader-generated table of content.

Ebook applications that work outside of iBooks have more successful ways of displaying the notes, for example Touch Press’ The Waste Land (shown on page 26) shows them in a side window next to the main text. Once again, this is a matter of application design. I have tried rendering sidenotes, placing them in a narrow column, floating next to the main text. This solution, however, creates many more problems that it resolves. First, the measure is even narrower that the default one, not adequate for comfortable on-screen reading. Second, the text is again cut after the first page. Last, I have not found a way of displaying the notes next to the piece of text they refer to. navigation in the text iBooks provides many devices to aid the reader in the navigation of the text. One is a reader-generated table of content, created using the names of the html files included in the ePub. They are not automatically the titles of the chapters, they will have to be set within the InDesign file. Then there are a progression bar and a page numbering system that try to make the reader aware of his position in the book. With a physical book the reader is always aware of where the current page is in the book, by looking at the pages before and after that on. In iBooks this is replaced by a sidebar, with an indicator showing the position of the current page in the whole of the book. This is useful just in part, as the sidebar has the same width for every ebook, disregarding of their length, and the position is a percentage of the whole. While reading a shorter book, the indicator will only be quicker to proceed on the sidebar than if reading a longer book, but this is not a very clear indication. Probably to amend to this issue, the page numbering includes the amount of the pages left to read in the chapter. This is a complicated and a little confusing system, just to replace the simple process of looking at the volume of pages read and left to read in a book. Things are not better when imaging a reader who starts an ebook again after having left it at some point and maybe forgetting in which section he was in the book. In printed books this is the function of running heads, that remind the reader of the title of the current section. However running heads are not more than mere decoration in iBooks, as all they do is repeating the title of the book. All these devices, except the table of content which is so far the more successful part of the application among those I have examined, create issues that can be resolved by changing the design of the application. The running heads, for example, could be reading a different kind of metainformation about the book, than just its title.

25


Screens from Touch Press’ app The Waste Land. The app has its own way of showing sidenotes and additional content as different reading of the text, experts’ commentaries, the original manuscript and much more. http://www.touchpress.com/titles/ thewasteland/

26


conclusion: on independent applications and standardisation This analysis did not touch every possibility of ePubs, because of the time limits, but they can also include images and other types of media like audio and video content, especially thanks to the new html5 standard. However, the more complex the ePub is, the more the chance that iBooks is going to mess its visualisation up. In those cases it is probably worth it to design an ebook application separated from iBooks. With an independent app, the designer has full control on the way the book is displayed and he can focus on how to resolve the particular needs of that book, without having to fight against standardised settings, designed to cater for the needs of very simple general texts. In addition, an application will allow the ebook to have more additional content than an ePub would ever be able to include. Still, independent apps require more coding and developing than an ePub and that will result in a considerable rise of price, also caused by the presence of the additional content. If a reader isn’t persuaded by the additional content and the better visualisation, he will be left with the poor iBooks’ rendering. Plus, I believe standardisation of the format is very important, especially when considering books. An app will only work on one device, while books, and most of all well designed books, should be available to the widest possible audience, without fostering the monopoly of one specific device. This is what the idpf is strongly pushing forward to, with the continuos developing of the ePub format and the creation of bodies that promote its usage. This brief analysis has shown that ePub visualisation is still unsatisfactory from a book designer perspective, even if it was limited to a few specific kinds of books and only the iBooks reader. Independent applications have their cons too, so it at the moment ebooks design is still a matter of analysing the content one wants to publish and choosing the best option available, very probably having to undergo some compromises.

27


My final exercise was to render Shakespeare’s Henry V in ePub, following the notes I took from working on the other books. The only new thing was the line numbers, taken from the print version and floated on the left

28


The numbers in the facing page example are too big so that they align to the baseline.For them to be smaller, some padding must be added on top of them, as shown on the next page.

29


A text paragraphs and its number are included in a box and the numbers align to the top of this box, not to the text’s baseline.

30


1%

To have it aligned to the text, some padding-top must be applied to the line numbers, in this case 1%.

31



Appendix: exporting the ePub from InDesign To start working on the ebooks, I first had to understand how InDesign exported the files to ePub. This appendix contains a description of the way InDesign exports a file to ePub, with guidelines on how to prepare the initial InDesign file, regardless of the kind of book that’s going to be exported. how to export an epub from indesign In the Export window I select export to ePub and you I am redirected to a new window with different options. The general window asks about the metadata of the ebook, the cover, the margin of the page (option overridden by iBooks which applies its default margins to every eboks) and how to convert bullet and numbered lists.

33


The content window asks about the style from which to create the reader-generated content list (toc style, see pag. 32) and which paragraph style marks the beginning of a chapter. It will then break the file in different html files so that the new chapter always begins on a new page. The default names of these files is the title of the InDesign file plus a progressing number (file-name-1, file-name-2, … ), and the same name is used by the reader to create a navigational table of content, in case I don’t provide a toc style. It also lets me choose among different css options, for example choosing an already existing style sheet.

34


indesign exporting rules Exporting is not always straightforward. It renders font variations quite faithfully, but I noted a few rules that helped me understand how the html / css files were built: 1. every story is exported as a <div>; 2. even if some of the text is overset in a text box, it will show in the html; 3. every piece of text is exported as a <p>. Even if the html code has dedicated tags for the titles (<h1> <h2> … ), InDesign can’t recognise them and will export everything as a text paragraph; 4. every piece of text with a paragraph style assigned will be given a class named after the style it has been given; 5. every piece of text with a character style assigned will be enclosed in a <span> with a class named after the style it has been given; 6. the paragraph and character style specifications will be used to build the css associated to the html files; 7. the css rules are built following a standard template that considers only some aspects of the paragraph/character styles, and has to give a value to each of them, even if the style doesn’t specify it. In that case the value given will be a default one. These properties are: font-family : “Janson Text LT Std”, serif; font-weight : normal; font-style : normal; font-size : 0.83em; text-decoration : none; font-variant : normal; line-height : 1.3; text-align : left; color : #000000; text-indent : 0; margin : 0;

8. if a variation to the assigned styles is overridden on the text, InDesign will create a class for it, with the default name of char-style-override-1, char-style-override-2 …  ; 9. the font size will be exported in ems, with 16 pt matching 1 em; 10. the line height is rendered as a ratio to the font size, for example: font-size:1 em; line-height : 1.3;

1. all the other spacings are rendered as margins value to the <p>, in pixels; 1 12. tabs are not rendered; 13. ampersands are already rendered with the symbol entity & 14. thin spaces are rendered as normal word spaces. Thin spaces, though, have their own symbol entity in html code:  . I had to replace all the thispaces in the document with that code. Since ‘&’s are exported as ‘&’s in the html code I then had to replace   with   and got the thin spaces I needed;

35


preparing the indesign file Knowing how InDesign exports ePubs helped me preparing the original file and have a cleaner html / css code to smooth up the process. I had to do a series of things: 1. apply all the styles correctly and throughout the InDesign file, without overrides; 2. line-spaces and tabs must be specified in the paragraph style, or else they won’t be rendered in the ePub. A line-space is considered as a new, empty paragraph, and in the css it has zero margins, so it will be rendered as a space of zero pixels; 3. set a Table of Contents style that the reader will use to create the navigational table of contents of the ebook (see facing page); 4. if desired, the table of content included in the book can be made clickable using cross-references; 5. hyperlinks can be used to link parts of the text to the notes, if desired (for the discussion on annotations see pages 19–23). cleaning the css file As I just noted, InDesign creates the css following a default template, that creates css lines for standard characteristics of text, even though they are not specified in the InDesign styles. A few steps let me have a cleaner css file, easier to work on: 1. The bits of code like text-decoration:normal; font-weight: normal; font-variant: normal; fontstyle: normal;

are useless, if not harmful, so I deleted them. 2. InDesign also assign to every style a font specification: font-family: “NameofFont”; I deleted this and assigned it to a class of rules aimed to a general <p> element, so that it would be assigned to every <p> in the html. 3. Also to the general <p> I assigned a set of rules, ignored for now by iBooks, aimed to have a better control of the ebook typography. p { widows: 2; orphans: 2; hyphenate-after: 3; hyphenate-before: 3; hyphenate-lines: 3;}

4. At last, I replaced the spacing measured in pixels, with percentages. Pixels are very small in the iPad screen so the same value in mm for print purposes was much shorter rendered in pixels on screen.

36


How to set a toc style

In the Layout menu I select “Table of Contents Styles...” it will open the window on the right.

Clicking the button “New” another window will open. I select in the “Other Styles” list the paragraph style of the chapter titles (in this case A Header) and then click “Add”. InDesign will automatically use those paragraphs as the chapter titles in the ereader Table of Contents.

Example of iBooks navigational table of contents

37


how to make the book’s table of contents clickable

I open the hyperlink window and click on the cross-reference icon, after positioning the text cursor where you want your text to be.

Paragraph texts Styles

In the cross-reference window I can select the paragraph to use as crossreference text, organised by their style.

38


The text will be replaced by the paragraph, according to the selected format

Format of the inserted text

To create a new format

39


To create a new format you click on the pencil next to the formats’ drop-down menu. I wanted to have the full paragraph and no additions like quotes or page numbers.

The cross-referenced text wil appear where desired and it will be exported as a two-sided hyperlink in the html.

The book’s table of content is now made up by links the different chapters of the book.

40


how to create hyperlinks

First an anchor has to be created, selecting the portion of text I want to link to.

Always in the hyperlink window’s options I select “New Hyperlink Destination”

41


...and set a Text Anchor.

Then I selected the piece of text I wanted to use as the actual link

Then I clicked on the “New hyperlink� button...

42


...and select the text anchor I had just created

43


Bibliography Castro, L. (2011). EPub Straight to the Point. Berkeley: Peachpit Press. Castro, L. Pigs Gourds and Wikis.Weblog found at http://www.pigsgourdsandwikis. com/ Scot Johns, R. (2012). How to Create Fixed-Layout iBooks, Parts 1–4. In Scot’s Blog: the Adventures of an Independent Author, found at http://authoradventures.blogspot.jp/2012/01/how-to-create-fixed-layout-ibooks-part_24.html Velluminous Press (2012). iBooks 3.0.1 inline-block Bug, in Handcrafted Ebooks found at http://velluminous.com/handcraftedebooks/archives/150 International Digital Publication Forum, found at http://idpf.org/




Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.