Mobileread
Known bugs in ADE
#1  charleski 08-15-2010, 08:23 AM
As Valoric suggested, I've compiled a list of the bugs that are known to exist in Adobe Digital Editions. Since it's unlikely that these bugs will be fixed (especially in the firmware of reading devices), the only option is to be aware of them and any possible workarounds.

Bugs in all versions

1 Centering horizontal rules
The attribute 'text-align' is not implemented for the hr tag, thus 'text-align: center' has no effect on a horizontal rule.
Workaround: set the left and/or right margin to half the width of space left over from the horizontal rule, e.g.:
Code
hr { width: 50%; margin-left: 25% }
2 Arbitrary break in long paragraphs
Very long paragraphs may display with arbitrary page breaks, leaving large gaps at the bottom of the page. The actual length required to trigger this behaviour changes depending on surrounding text, but it seems the paragraph needs to be longer than 1024 characters.
Workaround: none known

3 Text shifted to right after a br tag in centered text
If the text in centered and one of the following characters is the first to be displayed after a line-break that has been forced by a br tag, then the text on that line will be shifted to the right by 0.8em: '(' '{' '[' and em-dash
Workaround: wrap the text on the line after the break in a span which has the attribute 'margin-left: -0.8em;'

Bugs in specific versions

1 Multi-level ToC entries lose the first level
[Desktop ADE 1.72] If the table of contents contains three or more levels, then the first level of entries will not be displayed. This only applies if there is only one ToC entry at the first level, e.g. if the ToC has the following layout then the first-level entry will not appear:
Code
First level Second level Third level Third level Second level Third level
Workaround: ensure that your ToC has two or more first-level entries.

Bugs in the epub spec
These are often reported as bugs in ADE, but are in fact the result of it adhering strictly to the current epub or css specs.

1 Margins lost with a page break
If a block element is styled with the page-break-before/after: always attribute, then the top margin for the first element on the new page will be set to 0 no matter what is specified in the css. This is correct according to Section 13.3.3 of CSS 2.1:
Quote
In the vertical margin between block boxes. ... When a forced page break occurs here, the used value of the relevant 'margin-bottom' property is set to '0'; the relevant 'margin-top' used value may either be set to '0' or retained.
Workaround: use the padding-top attribute instead to force a top margin on the first element of the next page.
note: This only applies to page breaks that are forced through the use of the css 'page-break-*' attribute. Page breaks caused by a new xhtml flow will respect the block margins properly.

2 Margin: auto fails to work
While margin: auto is supported in the epub spec, it also specifically allows it to be forced to 0 in Section 3.3:
Quote
Reading Systems may set the value of any margin property whose specified value is auto to 0.
Workaround: avoid the use of margin:auto. EricDP has posted an example of how to simulate its function on centered text using display:inline-table here.

3 Floated elements don't display in full
Any element which has a float or other positioning attribute applied to it exists outside the normal document flow. Since css2 doesn't have a proper page model, it fails to specify how user agents should handle floated elements that are larger than the size of the page.
Unfortunately, the interpretation used by ADE is not particularly friendly. Floated elements will only display on the page on which they are first encountered. Any content which overflows the lower page boundary is lost. Furthermore, under some circumstances the first line of any text block that follows the float (through the application of a 'clear' attribute) may be lost as well.
Workaround: avoid large floated elements, particularly large blocks of text, though this also applies to images. In particular, avoid floating elements around empty space, as this may lead to some loss of the following text.


Error handling issues

1 ADE doesn't show any css styling
This is caused by an error in the css file, most commonly a misspelling or missing semi-colon. The css code must be completely free of errors or ADE will disregard everything and revert to the default styles.

There is a convenient tool to check your css at w3. If you have embedded fonts, then the code for the font-embedding will always produce errors as the validator can't access the relevant urls, but these reports can be disregarded.

These are the bugs I could find that have been reported in this forum. Please post any additions if I've missed something out.
Reply 

#2  HarryT 08-15-2010, 08:48 AM
Quote charleski
1 Centering horizontal rules
The attribute 'text-align' is not implemented for the hr tag, thus 'text-align: center' has no effect on a horizontal rule.
Workaround: set the left and/or right margin to half the width of the horizontal rule, e.g.:
Code
hr { width: 50%; margin-left: 25% }
I think this is slightly wrong. You need to set the margin to half the width of space left over by the horizontal rule. Eg, if you want a rule that's 70% of the page width, that leaves 30% remaining, so you'd set the left margin to half of that space, or 15%:

Code
hr { width: 70%; margin-left: 15% }
Reply 

#3  Jellby 08-15-2010, 11:28 AM
Quote charleski
1 Margins lost with a page break
If a block element is styled with the page-break-before/after: always attribute, then the top margin for the first element on the new page will be set to 0 no matter what is specified in the css. This is correct according to Section 13.3.3 of CSS 2.1:

Workaround: use the padding-top attribute instead to force a top margin on the first element of the next page.
note: This only applies to page breaks that are forced through the use of the css 'page-break-*' attribute. Page breaks caused by a new xhtml flow will respect the block margins properly.
You can also use a dummy element for a pagebreak, like this:

Code
div.pagebreak { page-break-before: always; height: 0; padding: 0;
}
<p>... text before the pagebreak</p>
<div class="pagebreak">&nbsp;</div>
<h3>After the pagebreak</p>
I'm not sure now whether ADE would accept the short and empty form: <div class="pagebreak" />, if it does, that's cleaner. The drawback is you cannot include this forced pagebreak in the CSS for h3.
Reply 

#4  GeoffC 09-11-2010, 07:01 AM
Hey guys, can we sticky this and then develop it as a useful resource .... ?
Reply 

#5  hpstricker 11-25-2010, 03:17 PM
You may call it a "missing feature", I'd like to call it a bug: the missing Back-button in ADE (but also, as I have seen it in the iPad) make internal links partly useless.
Reply 

#6  hpstricker 11-25-2010, 03:17 PM
Put an image inside an <a href> tag, and the image won't be sensitive: the link doesn't work.
Reply 

#7  Adjust 11-25-2010, 04:10 PM
Quote hpstricker
Images not hyperlinkable
If you put the image in a p class tag then you can hyperlink them.

Code
<p class="image"><a href="Contents.xhtml"><img src="images/CH04.jpg" alt="4" width="100%" /></a></p>
Reply 

#8  hapax legomenon 12-02-2010, 01:29 PM
A stupid question: does this affect only Adobe DE desktop software or does this also affect ebook reading devices as well?

If it affects devices, which devices? I would guess that Sony renders epub through Adobe DE firmware. Are there other devices which do the same thing?
Reply 

#9  hapax legomenon 12-11-2010, 08:50 PM
Here is a list of devices which use the Adobe parser http://blogs.adobe.com/digitalpublishing/supported-devices
Reply 

#10  mlewis78 12-12-2010, 06:34 PM
What about other ADE bugs, which make ADE unusable on my laptop now? I posted this in another thread just now, but ever since I added a library adobe epub file that was corrupt, I have a message in my ADE display that says "verifying file". It's in a box and won't go away, so ADE is frozen and unusable. I've uninstalled ADE and downloaded again, but the same thing keeps showing up. I've tried uninstalling several times with no good results.
Reply 

  Next »  Last »  (1/11)
Today's Posts | Search this Thread | Login | Register