From adf0eb8e7d7ddbc12efa0ec58af76a9b471ab72c Mon Sep 17 00:00:00 2001 From: GRiker Date: Thu, 9 Aug 2012 07:40:44 -0600 Subject: [PATCH] Fine-tuned prefix layout for MOBI --- src/calibre/ebooks/oeb/transforms/jacket.py | 1 + .../library/catalogs/epub_mobi_builder.py | 23 +++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/calibre/ebooks/oeb/transforms/jacket.py b/src/calibre/ebooks/oeb/transforms/jacket.py index f0610382b3..02abda0927 100644 --- a/src/calibre/ebooks/oeb/transforms/jacket.py +++ b/src/calibre/ebooks/oeb/transforms/jacket.py @@ -194,6 +194,7 @@ def render_jacket(mi, output_profile, args[key] = escape(val) args[key+'_label'] = escape(display_name) except: + # if the val (custom column contents) is None, don't add to args pass if False: diff --git a/src/calibre/library/catalogs/epub_mobi_builder.py b/src/calibre/library/catalogs/epub_mobi_builder.py index 1c79901037..a81409ffc7 100644 --- a/src/calibre/library/catalogs/epub_mobi_builder.py +++ b/src/calibre/library/catalogs/epub_mobi_builder.py @@ -3252,17 +3252,22 @@ Author '{0}': def formatPrefix(self,prefix_char,soup): # Generate the HTML for the prefix portion of the listing - spanTag = Tag(soup, "span") - if prefix_char is None: - spanTag['style'] = "color:white" - spanTag.insert(0,NavigableString(self.defaultPrefix)) - # 2e3a is 'two-em dash', which matches width in Kindle Previewer - # too wide in calibre viewer - # minimal visual distraction - # spanTag.insert(0,NavigableString(u'\u2e3a')) + # Kindle Previewer doesn't properly handle style=color:white + # MOBI does a better job allocating blank space with + if self.opts.fmt == 'mobi': + codeTag = Tag(soup, "code") + if prefix_char is None: + codeTag.insert(0,NavigableString(' ')) + else: + codeTag.insert(0,NavigableString(prefix_char)) + return codeTag else: + spanTag = Tag(soup, "span") + if prefix_char is None: + spanTag['style'] = "color:white" + prefix_char = self.defaultPrefix spanTag.insert(0,NavigableString(prefix_char)) - return spanTag + return spanTag def generateAuthorAnchor(self, author): # Strip white space to ''