From 6e7f6db830deeb02308b99d850a47d18d33e157a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 22 Apr 2012 23:28:53 +0530 Subject: [PATCH] ... --- src/calibre/ebooks/mobi/writer8/main.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/calibre/ebooks/mobi/writer8/main.py b/src/calibre/ebooks/mobi/writer8/main.py index fa7a9ea402..c22a47471d 100644 --- a/src/calibre/ebooks/mobi/writer8/main.py +++ b/src/calibre/ebooks/mobi/writer8/main.py @@ -167,6 +167,15 @@ class KF8Writer(object): link.set('href', 'kindle:flow:%s?mime=text/css'%idx) def extract_svg_into_flows(self): + images = {} + + for item in self.oeb.manifest: + if item.media_type == SVG_MIME: + data = self.data(item) + images[item.href] = len(self.flows) + self.flows.append(etree.tostring(data, encoding='UTF=8', + with_tail=True, xml_declaration=True)) + for item in self.oeb.spine: root = self.data(item) @@ -181,6 +190,14 @@ class KF8Writer(object): p.insert(pos, img) extract(svg) + for img in XPath('//h:img[@src]')(root): + src = img.get('src') + abshref = item.abshref(src) + idx = images.get(abshref, None) + if idx is not None: + img.set('src', 'kindle:flow:%s?mime=image/svg+xml'% + to_ref(idx)) + def replace_internal_links_with_placeholders(self): self.link_map = {} count = 0