mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Conversion pipeline: Correctly handle align attribute on img tags. MOBI Output: Support the vertical-align CSS property for images
This commit is contained in:
parent
8f6255f87a
commit
73119e2597
@ -367,6 +367,9 @@ class MobiMLizer(object):
|
|||||||
istate.attrib['src'] = elem.attrib['src']
|
istate.attrib['src'] = elem.attrib['src']
|
||||||
istate.attrib['align'] = 'baseline'
|
istate.attrib['align'] = 'baseline'
|
||||||
cssdict = style.cssdict()
|
cssdict = style.cssdict()
|
||||||
|
valign = cssdict.get('vertical-align', None)
|
||||||
|
if valign in ('top', 'bottom', 'middle'):
|
||||||
|
istate.attrib['align'] = valign
|
||||||
for prop in ('width', 'height'):
|
for prop in ('width', 'height'):
|
||||||
if cssdict[prop] != 'auto':
|
if cssdict[prop] != 'auto':
|
||||||
value = style[prop]
|
value = style[prop]
|
||||||
|
@ -207,7 +207,14 @@ class CSSFlattener(object):
|
|||||||
font_size = self.sbase if self.sbase is not None else \
|
font_size = self.sbase if self.sbase is not None else \
|
||||||
self.context.source.fbase
|
self.context.source.fbase
|
||||||
if 'align' in node.attrib:
|
if 'align' in node.attrib:
|
||||||
cssdict['text-align'] = node.attrib['align']
|
if tag != 'img':
|
||||||
|
cssdict['text-align'] = node.attrib['align']
|
||||||
|
else:
|
||||||
|
val = node.attrib['align']
|
||||||
|
if val in ('middle', 'bottom', 'top'):
|
||||||
|
cssdict['vertical-align'] = val
|
||||||
|
elif val in ('left', 'right'):
|
||||||
|
cssdict['text-align'] = val
|
||||||
del node.attrib['align']
|
del node.attrib['align']
|
||||||
if node.tag == XHTML('font'):
|
if node.tag == XHTML('font'):
|
||||||
node.tag = XHTML('span')
|
node.tag = XHTML('span')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user