mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Handle lengths in units of ex and en
This commit is contained in:
parent
54de4dc434
commit
2dabc47ee6
@ -279,7 +279,7 @@ class Stylizer(object):
|
|||||||
|
|
||||||
|
|
||||||
class Style(object):
|
class Style(object):
|
||||||
UNIT_RE = re.compile(r'^(-*[0-9]*[.]?[0-9]*)\s*(%|em|px|mm|cm|in|pt|pc)$')
|
UNIT_RE = re.compile(r'^(-*[0-9]*[.]?[0-9]*)\s*(%|em|ex|en|px|mm|cm|in|pt|pc)$')
|
||||||
|
|
||||||
def __init__(self, element, stylizer):
|
def __init__(self, element, stylizer):
|
||||||
self._element = element
|
self._element = element
|
||||||
@ -362,6 +362,11 @@ class Style(object):
|
|||||||
elif unit == 'em':
|
elif unit == 'em':
|
||||||
font = font or self.fontSize
|
font = font or self.fontSize
|
||||||
result = value * font
|
result = value * font
|
||||||
|
elif unit in ('ex', 'en'):
|
||||||
|
# This is a hack for ex since we have no way to know
|
||||||
|
# the x-height of the font
|
||||||
|
font = font or self.fontSize
|
||||||
|
result = value * font * 0.5
|
||||||
elif unit == 'pc':
|
elif unit == 'pc':
|
||||||
result = value * 12.0
|
result = value * 12.0
|
||||||
elif unit == 'mm':
|
elif unit == 'mm':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user