mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix broken LIT Output. Fixes #769334 (Error converting from [any] to Lit)
This commit is contained in:
parent
267a02a49e
commit
ae85da399a
@ -1,75 +0,0 @@
|
|||||||
'''
|
|
||||||
Device profiles.
|
|
||||||
'''
|
|
||||||
|
|
||||||
__license__ = 'GPL v3'
|
|
||||||
__copyright__ = '2008, Marshall T. Vandegrift <llasram@gmail.com>'
|
|
||||||
|
|
||||||
from itertools import izip
|
|
||||||
|
|
||||||
FONT_SIZES = [('xx-small', 1),
|
|
||||||
('x-small', None),
|
|
||||||
('small', 2),
|
|
||||||
('medium', 3),
|
|
||||||
('large', 4),
|
|
||||||
('x-large', 5),
|
|
||||||
('xx-large', 6),
|
|
||||||
(None, 7)]
|
|
||||||
|
|
||||||
|
|
||||||
class Profile(object):
|
|
||||||
def __init__(self, width, height, dpi, fbase, fsizes):
|
|
||||||
self.width = (float(width) / dpi) * 72.
|
|
||||||
self.height = (float(height) / dpi) * 72.
|
|
||||||
self.dpi = float(dpi)
|
|
||||||
self.fbase = float(fbase)
|
|
||||||
self.fsizes = []
|
|
||||||
for (name, num), size in izip(FONT_SIZES, fsizes):
|
|
||||||
self.fsizes.append((name, num, float(size)))
|
|
||||||
self.fnames = dict((name, sz) for name, _, sz in self.fsizes if name)
|
|
||||||
self.fnums = dict((num, sz) for _, num, sz in self.fsizes if num)
|
|
||||||
|
|
||||||
|
|
||||||
PROFILES = {
|
|
||||||
'PRS505':
|
|
||||||
Profile(width=584, height=754, dpi=168.451, fbase=12,
|
|
||||||
fsizes=[7.5, 9, 10, 12, 15.5, 20, 22, 24]),
|
|
||||||
|
|
||||||
'MSReader':
|
|
||||||
Profile(width=480, height=652, dpi=96, fbase=13,
|
|
||||||
fsizes=[10, 11, 13, 16, 18, 20, 22, 26]),
|
|
||||||
|
|
||||||
# Not really, but let's pretend
|
|
||||||
'Mobipocket':
|
|
||||||
Profile(width=600, height=800, dpi=96, fbase=18,
|
|
||||||
fsizes=[14, 14, 16, 18, 20, 22, 24, 26]),
|
|
||||||
|
|
||||||
# No clue on usable screen size; DPI should be good
|
|
||||||
'HanlinV3':
|
|
||||||
Profile(width=584, height=754, dpi=168.451, fbase=16,
|
|
||||||
fsizes=[12, 12, 14, 16, 18, 20, 22, 24]),
|
|
||||||
|
|
||||||
'CybookG3':
|
|
||||||
Profile(width=600, height=800, dpi=168.451, fbase=16,
|
|
||||||
fsizes=[12, 12, 14, 16, 18, 20, 22, 24]),
|
|
||||||
|
|
||||||
'Kindle':
|
|
||||||
Profile(width=525, height=640, dpi=168.451, fbase=16,
|
|
||||||
fsizes=[12, 12, 14, 16, 18, 20, 22, 24]),
|
|
||||||
|
|
||||||
'Browser':
|
|
||||||
Profile(width=800, height=600, dpi=100.0, fbase=12,
|
|
||||||
fsizes=[5, 7, 9, 12, 13.5, 17, 20, 22, 24])
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class Context(object):
|
|
||||||
PROFILES = PROFILES
|
|
||||||
|
|
||||||
def __init__(self, source, dest):
|
|
||||||
if source in PROFILES:
|
|
||||||
source = PROFILES[source]
|
|
||||||
if dest in PROFILES:
|
|
||||||
dest = PROFILES[dest]
|
|
||||||
self.source = source
|
|
||||||
self.dest = dest
|
|
@ -21,7 +21,6 @@ from calibre import force_unicode
|
|||||||
from calibre.ebooks import unit_convert
|
from calibre.ebooks import unit_convert
|
||||||
from calibre.ebooks.oeb.base import XHTML, XHTML_NS, CSS_MIME, OEB_STYLES
|
from calibre.ebooks.oeb.base import XHTML, XHTML_NS, CSS_MIME, OEB_STYLES
|
||||||
from calibre.ebooks.oeb.base import XPNSMAP, xpath, urlnormalize
|
from calibre.ebooks.oeb.base import XPNSMAP, xpath, urlnormalize
|
||||||
from calibre.ebooks.oeb.profile import PROFILES
|
|
||||||
|
|
||||||
cssutils.log.setLevel(logging.WARN)
|
cssutils.log.setLevel(logging.WARN)
|
||||||
|
|
||||||
@ -123,10 +122,10 @@ class CSSSelector(etree.XPath):
|
|||||||
class Stylizer(object):
|
class Stylizer(object):
|
||||||
STYLESHEETS = WeakKeyDictionary()
|
STYLESHEETS = WeakKeyDictionary()
|
||||||
|
|
||||||
def __init__(self, tree, path, oeb, opts, profile=PROFILES['PRS505'],
|
def __init__(self, tree, path, oeb, opts, profile=None,
|
||||||
extra_css='', user_css=''):
|
extra_css='', user_css=''):
|
||||||
self.oeb, self.opts = oeb, opts
|
self.oeb, self.opts = oeb, opts
|
||||||
self.profile = profile
|
self.profile = opts.input_profile
|
||||||
self.logger = oeb.logger
|
self.logger = oeb.logger
|
||||||
item = oeb.manifest.hrefs[path]
|
item = oeb.manifest.hrefs[path]
|
||||||
basename = os.path.basename(path)
|
basename = os.path.basename(path)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user