mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
MOBI Output: Make super/subscripts use a slightly smaller font when rendered on a Kindle. Also allow the use of vertical-align:top/bottom in the CSS to specify a super/subscript. Fixes #758667 (conversion to mobi ignores vertical-align:top and superscript font size)
This commit is contained in:
parent
569bc4ede1
commit
4ebe630652
@ -463,9 +463,9 @@ class MobiMLizer(object):
|
|||||||
text = COLLAPSE.sub(' ', elem.text)
|
text = COLLAPSE.sub(' ', elem.text)
|
||||||
valign = style['vertical-align']
|
valign = style['vertical-align']
|
||||||
not_baseline = valign in ('super', 'sub', 'text-top',
|
not_baseline = valign in ('super', 'sub', 'text-top',
|
||||||
'text-bottom') or (
|
'text-bottom', 'top', 'bottom') or (
|
||||||
isinstance(valign, (float, int)) and abs(valign) != 0)
|
isinstance(valign, (float, int)) and abs(valign) != 0)
|
||||||
issup = valign in ('super', 'text-top') or (
|
issup = valign in ('super', 'text-top', 'top') or (
|
||||||
isinstance(valign, (float, int)) and valign > 0)
|
isinstance(valign, (float, int)) and valign > 0)
|
||||||
vtag = 'sup' if issup else 'sub'
|
vtag = 'sup' if issup else 'sub'
|
||||||
if not_baseline and not ignore_valign and tag not in NOT_VTAGS and not isblock:
|
if not_baseline and not ignore_valign and tag not in NOT_VTAGS and not isblock:
|
||||||
@ -484,6 +484,7 @@ class MobiMLizer(object):
|
|||||||
parent = bstate.para if bstate.inline is None else bstate.inline
|
parent = bstate.para if bstate.inline is None else bstate.inline
|
||||||
if parent is not None:
|
if parent is not None:
|
||||||
vtag = etree.SubElement(parent, XHTML(vtag))
|
vtag = etree.SubElement(parent, XHTML(vtag))
|
||||||
|
vtag = etree.SubElement(vtag, XHTML('small'))
|
||||||
# Add anchors
|
# Add anchors
|
||||||
for child in vbstate.body:
|
for child in vbstate.body:
|
||||||
if child is not vbstate.para:
|
if child is not vbstate.para:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user