mirror of
https://github.com/gryf/ebook-converter.git
synced 2026-01-01 15:32:26 +01:00
Enable docx write support
This commit is contained in:
@@ -67,6 +67,7 @@ Currently, following formats are supported:
|
||||
- lrf (for Sony readers)
|
||||
- epub
|
||||
- mobi
|
||||
- docx
|
||||
|
||||
|
||||
Installation
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=utf-8
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2013, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -10,15 +10,15 @@ import textwrap, os
|
||||
from lxml import etree
|
||||
from lxml.builder import ElementMaker
|
||||
|
||||
from calibre import guess_type
|
||||
from calibre.constants import numeric_version, __appname__
|
||||
from calibre.ebooks.docx.names import DOCXNamespace
|
||||
from calibre.ebooks.metadata import authors_to_string
|
||||
from calibre.ebooks.pdf.render.common import PAPER_SIZES
|
||||
from calibre.utils.date import utcnow
|
||||
from calibre.utils.localization import canonicalize_lang, lang_as_iso639_1
|
||||
from calibre.utils.zipfile import ZipFile
|
||||
from polyglot.builtins import iteritems, map, unicode_type, native_string_type
|
||||
from ebook_converter import guess_type
|
||||
from ebook_converter.constants import numeric_version, __appname__
|
||||
from ebook_converter.ebooks.docx.names import DOCXNamespace
|
||||
from ebook_converter.ebooks.metadata import authors_to_string
|
||||
from ebook_converter.ebooks.pdf.render.common import PAPER_SIZES
|
||||
from ebook_converter.utils.date import utcnow
|
||||
from ebook_converter.utils.localization import canonicalize_lang, lang_as_iso639_1
|
||||
from ebook_converter.utils.zipfile import ZipFile
|
||||
from ebook_converter.polyglot.builtins import iteritems, map, unicode_type, native_string_type
|
||||
|
||||
|
||||
def xml2str(root, pretty_print=False, with_tail=False):
|
||||
|
||||
@@ -8,9 +8,9 @@ __copyright__ = '2015, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
from collections import defaultdict
|
||||
from uuid import uuid4
|
||||
|
||||
from calibre.ebooks.oeb.base import OEB_STYLES
|
||||
from calibre.ebooks.oeb.transforms.subset import find_font_face_rules
|
||||
from polyglot.builtins import range
|
||||
from ebook_converter.ebooks.oeb.base import OEB_STYLES
|
||||
from ebook_converter.ebooks.oeb.transforms.subset import find_font_face_rules
|
||||
from ebook_converter.polyglot.builtins import range
|
||||
|
||||
|
||||
def obfuscate_font_data(data, key):
|
||||
|
||||
@@ -8,17 +8,17 @@ __copyright__ = '2013, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
import re
|
||||
from collections import Counter
|
||||
|
||||
from calibre.ebooks.docx.writer.container import create_skeleton, page_size, page_effective_area
|
||||
from calibre.ebooks.docx.writer.styles import StylesManager, FloatSpec
|
||||
from calibre.ebooks.docx.writer.links import LinksManager
|
||||
from calibre.ebooks.docx.writer.images import ImagesManager
|
||||
from calibre.ebooks.docx.writer.fonts import FontsManager
|
||||
from calibre.ebooks.docx.writer.tables import Table
|
||||
from calibre.ebooks.docx.writer.lists import ListsManager
|
||||
from calibre.ebooks.oeb.stylizer import Stylizer as Sz, Style as St
|
||||
from calibre.ebooks.oeb.base import XPath, barename
|
||||
from calibre.utils.localization import lang_as_iso639_1
|
||||
from polyglot.builtins import unicode_type, string_or_bytes
|
||||
from ebook_converter.ebooks.docx.writer.container import create_skeleton, page_size, page_effective_area
|
||||
from ebook_converter.ebooks.docx.writer.styles import StylesManager, FloatSpec
|
||||
from ebook_converter.ebooks.docx.writer.links import LinksManager
|
||||
from ebook_converter.ebooks.docx.writer.images import ImagesManager
|
||||
from ebook_converter.ebooks.docx.writer.fonts import FontsManager
|
||||
from ebook_converter.ebooks.docx.writer.tables import Table
|
||||
from ebook_converter.ebooks.docx.writer.lists import ListsManager
|
||||
from ebook_converter.ebooks.oeb.stylizer import Stylizer as Sz, Style as St
|
||||
from ebook_converter.ebooks.oeb.base import XPath, barename
|
||||
from ebook_converter.utils.localization import lang_as_iso639_1
|
||||
from ebook_converter.polyglot.builtins import unicode_type, string_or_bytes
|
||||
|
||||
|
||||
def lang_for_tag(tag):
|
||||
@@ -424,7 +424,7 @@ class Convert(object):
|
||||
p.width_pts, p.height_pts = page_effective_area(self.opts)
|
||||
|
||||
def __call__(self):
|
||||
from calibre.ebooks.oeb.transforms.rasterize import SVGRasterizer
|
||||
from ebook_converter.ebooks.oeb.transforms.rasterize import SVGRasterizer
|
||||
self.svg_rasterizer = SVGRasterizer(base_css=self.base_css)
|
||||
self.svg_rasterizer(self.oeb, self.opts)
|
||||
|
||||
|
||||
@@ -9,15 +9,15 @@ import os
|
||||
import posixpath
|
||||
from collections import namedtuple
|
||||
from functools import partial
|
||||
from polyglot.builtins import iteritems, itervalues, map, unicode_type
|
||||
from ebook_converter.polyglot.builtins import iteritems, itervalues, map, unicode_type
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from calibre import fit_image
|
||||
from calibre.ebooks.oeb.base import urlunquote
|
||||
from calibre.ebooks.docx.images import pt_to_emu
|
||||
from calibre.utils.filenames import ascii_filename
|
||||
from calibre.utils.imghdr import identify
|
||||
from ebook_converter import fit_image
|
||||
from ebook_converter.ebooks.oeb.base import urlunquote
|
||||
from ebook_converter.ebooks.docx.images import pt_to_emu
|
||||
from ebook_converter.utils.filenames import ascii_filename
|
||||
from ebook_converter.utils.imghdr import identify
|
||||
|
||||
Image = namedtuple('Image', 'rid fname width height fmt item')
|
||||
|
||||
|
||||
@@ -8,9 +8,9 @@ __copyright__ = '2015, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
import posixpath, re
|
||||
from uuid import uuid4
|
||||
|
||||
from calibre.utils.filenames import ascii_text
|
||||
from polyglot.builtins import unicode_type
|
||||
from polyglot.urllib import urlparse
|
||||
from ebook_converter.utils.filenames import ascii_text
|
||||
from ebook_converter.polyglot.builtins import unicode_type
|
||||
from ebook_converter.polyglot.urllib import urlparse
|
||||
|
||||
|
||||
def start_text(tag, prefix_len=0, top_level=True):
|
||||
|
||||
@@ -8,7 +8,7 @@ __copyright__ = '2015, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
from collections import defaultdict
|
||||
from operator import attrgetter
|
||||
|
||||
from polyglot.builtins import iteritems, itervalues, unicode_type
|
||||
from ebook_converter.polyglot.builtins import iteritems, itervalues, unicode_type
|
||||
|
||||
LIST_STYLES = frozenset(
|
||||
'disc circle square decimal decimal-leading-zero lower-roman upper-roman'
|
||||
|
||||
@@ -11,10 +11,10 @@ from operator import attrgetter
|
||||
|
||||
from lxml import etree
|
||||
|
||||
from calibre.ebooks import parse_css_length
|
||||
from calibre.ebooks.docx.writer.utils import convert_color, int_or_zero
|
||||
from calibre.utils.localization import lang_as_iso639_1
|
||||
from polyglot.builtins import iteritems, filter, unicode_type
|
||||
from ebook_converter.ebooks import parse_css_length
|
||||
from ebook_converter.ebooks.docx.writer.utils import convert_color, int_or_zero
|
||||
from ebook_converter.utils.localization import lang_as_iso639_1
|
||||
from ebook_converter.polyglot.builtins import iteritems, filter, unicode_type
|
||||
from tinycss.css21 import CSS21Parser
|
||||
|
||||
css_parser = CSS21Parser()
|
||||
|
||||
@@ -7,9 +7,9 @@ __copyright__ = '2015, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
|
||||
from collections import namedtuple
|
||||
|
||||
from calibre.ebooks.docx.writer.utils import convert_color
|
||||
from calibre.ebooks.docx.writer.styles import read_css_block_borders as rcbb, border_edges
|
||||
from polyglot.builtins import iteritems, range, unicode_type
|
||||
from ebook_converter.ebooks.docx.writer.utils import convert_color
|
||||
from ebook_converter.ebooks.docx.writer.styles import read_css_block_borders as rcbb, border_edges
|
||||
from ebook_converter.polyglot.builtins import iteritems, range, unicode_type
|
||||
|
||||
|
||||
class Dummy(object):
|
||||
|
||||
@@ -8,10 +8,10 @@ __docformat__ = 'restructuredtext en'
|
||||
|
||||
from collections import defaultdict
|
||||
|
||||
from calibre.ebooks.oeb.base import urlnormalize, css_text
|
||||
from calibre.utils.fonts.sfnt.subset import subset, NoGlyphs, UnsupportedFont
|
||||
from polyglot.builtins import iteritems, itervalues, unicode_type, range
|
||||
from tinycss.fonts3 import parse_font_family
|
||||
from ebook_converter.ebooks.oeb.base import urlnormalize, css_text
|
||||
from ebook_converter.utils.fonts.sfnt.subset import subset, NoGlyphs, UnsupportedFont
|
||||
from ebook_converter.polyglot.builtins import iteritems, itervalues, unicode_type, range
|
||||
from ebook_converter.tinycss.fonts3 import parse_font_family
|
||||
|
||||
|
||||
def get_font_properties(rule, default=None):
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2012, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -10,12 +10,12 @@ import codecs, zlib, numbers
|
||||
from io import BytesIO
|
||||
from datetime import datetime
|
||||
|
||||
from calibre.constants import plugins, ispy3
|
||||
from calibre.utils.logging import default_log
|
||||
from polyglot.builtins import iteritems, unicode_type, codepoint_to_chr
|
||||
from polyglot.binary import as_hex_bytes
|
||||
from ebook_converter.constants import ispy3
|
||||
from ebook_converter.utils.logging import default_log
|
||||
from ebook_converter.polyglot.builtins import iteritems, unicode_type, codepoint_to_chr
|
||||
from ebook_converter.polyglot.binary import as_hex_bytes
|
||||
|
||||
pdf_float = plugins['speedup'][0].pdf_float
|
||||
pdf_float = lambda x: f"{x:.1f}"
|
||||
|
||||
EOL = b'\n'
|
||||
|
||||
|
||||
@@ -75,6 +75,6 @@ def load_font(stream_or_path):
|
||||
raw = stream_or_path
|
||||
if hasattr(raw, 'read'):
|
||||
raw = raw.read()
|
||||
from calibre.utils.fonts.sfnt.container import Sfnt
|
||||
from ebook_converter.utils.fonts.sfnt.container import Sfnt
|
||||
return Sfnt(raw)
|
||||
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env python2
|
||||
# vim:fileencoding=UTF-8:ts=4:sw=4:sta:et:sts=4:fdm=marker:ai
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
__license__ = 'GPL v3'
|
||||
__copyright__ = '2012, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ __copyright__ = '2012, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||
__docformat__ = 'restructuredtext en'
|
||||
|
||||
from struct import pack, unpack_from
|
||||
from polyglot.builtins import range, unicode_type
|
||||
from ebook_converter.polyglot.builtins import range, unicode_type
|
||||
|
||||
t1_operand_encoding = [None] * 256
|
||||
t1_operand_encoding[0:32] = (32) * ["do_operator"]
|
||||
|
||||
@@ -9,12 +9,12 @@ __docformat__ = 'restructuredtext en'
|
||||
from struct import unpack_from, unpack, calcsize
|
||||
from functools import partial
|
||||
|
||||
from calibre.utils.fonts.sfnt import UnknownTable
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont, NoGlyphs
|
||||
from calibre.utils.fonts.sfnt.cff.dict_data import TopDict, PrivateDict
|
||||
from calibre.utils.fonts.sfnt.cff.constants import (cff_standard_strings,
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont, NoGlyphs
|
||||
from ebook_converter.utils.fonts.sfnt.cff.dict_data import TopDict, PrivateDict
|
||||
from ebook_converter.utils.fonts.sfnt.cff.constants import (cff_standard_strings,
|
||||
STANDARD_CHARSETS)
|
||||
from polyglot.builtins import iteritems, itervalues, range
|
||||
from ebook_converter.polyglot.builtins import iteritems, itervalues, range
|
||||
|
||||
# Useful links
|
||||
# http://www.adobe.com/content/dam/Adobe/en/devnet/font/pdfs/5176.CFF.pdf
|
||||
@@ -194,7 +194,7 @@ class CFFTable(UnknownTable):
|
||||
self.cff = CFF(self.raw)
|
||||
|
||||
def subset(self, character_map, extra_glyphs):
|
||||
from calibre.utils.fonts.sfnt.cff.writer import Subset
|
||||
from ebook_converter.utils.fonts.sfnt.cff.writer import Subset
|
||||
# Map codes from the cmap table to glyph names, this will be used to
|
||||
# reconstruct character_map for the subset font
|
||||
charset_map = {code:self.cff.charset.safe_lookup(glyph_id) for code,
|
||||
|
||||
@@ -12,10 +12,10 @@ __docformat__ = 'restructuredtext en'
|
||||
from struct import unpack_from, calcsize, pack
|
||||
from collections import OrderedDict
|
||||
|
||||
from calibre.utils.fonts.utils import read_bmp_prefix
|
||||
from calibre.utils.fonts.sfnt import UnknownTable, max_power_of_two
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from polyglot.builtins import range
|
||||
from ebook_converter.utils.fonts.utils import read_bmp_prefix
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable, max_power_of_two
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from ebook_converter.polyglot.builtins import range
|
||||
|
||||
|
||||
def split_range(start_code, end_code, cmap): # {{{
|
||||
|
||||
@@ -9,8 +9,8 @@ __docformat__ = 'restructuredtext en'
|
||||
from struct import unpack_from, calcsize
|
||||
from collections import OrderedDict, namedtuple
|
||||
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from polyglot.builtins import range, iteritems
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from ebook_converter.polyglot.builtins import range, iteritems
|
||||
|
||||
|
||||
class Unpackable(object):
|
||||
|
||||
@@ -7,19 +7,19 @@ from collections import OrderedDict
|
||||
from io import BytesIO
|
||||
from struct import calcsize, pack
|
||||
|
||||
from calibre.utils.fonts.sfnt import UnknownTable, align_block, max_power_of_two
|
||||
from calibre.utils.fonts.sfnt.cff.table import CFFTable
|
||||
from calibre.utils.fonts.sfnt.cmap import CmapTable
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from calibre.utils.fonts.sfnt.glyf import GlyfTable
|
||||
from calibre.utils.fonts.sfnt.gsub import GSUBTable
|
||||
from calibre.utils.fonts.sfnt.head import (
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable, align_block, max_power_of_two
|
||||
from ebook_converter.utils.fonts.sfnt.cff.table import CFFTable
|
||||
from ebook_converter.utils.fonts.sfnt.cmap import CmapTable
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from ebook_converter.utils.fonts.sfnt.glyf import GlyfTable
|
||||
from ebook_converter.utils.fonts.sfnt.gsub import GSUBTable
|
||||
from ebook_converter.utils.fonts.sfnt.head import (
|
||||
HeadTable, HorizontalHeader, OS2Table, PostTable, VerticalHeader
|
||||
)
|
||||
from calibre.utils.fonts.sfnt.kern import KernTable
|
||||
from calibre.utils.fonts.sfnt.loca import LocaTable
|
||||
from calibre.utils.fonts.sfnt.maxp import MaxpTable
|
||||
from calibre.utils.fonts.utils import checksum_of_block, get_tables, verify_checksums
|
||||
from ebook_converter.utils.fonts.sfnt.kern import KernTable
|
||||
from ebook_converter.utils.fonts.sfnt.loca import LocaTable
|
||||
from ebook_converter.utils.fonts.sfnt.maxp import MaxpTable
|
||||
from ebook_converter.utils.fonts.utils import checksum_of_block, get_tables, verify_checksums
|
||||
|
||||
# OpenType spec: http://www.microsoft.com/typography/otspec/otff.htm
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ __docformat__ = 'restructuredtext en'
|
||||
from struct import unpack_from
|
||||
from collections import OrderedDict
|
||||
|
||||
from calibre.utils.fonts.sfnt import UnknownTable
|
||||
from polyglot.builtins import iteritems
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable
|
||||
from ebook_converter.polyglot.builtins import iteritems
|
||||
|
||||
ARG_1_AND_2_ARE_WORDS = 0x0001 # if set args are words otherwise they are bytes
|
||||
ARGS_ARE_XY_VALUES = 0x0002 # if set args are xy values, otherwise they are points
|
||||
|
||||
@@ -9,12 +9,12 @@ __docformat__ = 'restructuredtext en'
|
||||
from struct import unpack_from
|
||||
from functools import partial
|
||||
|
||||
from calibre.utils.fonts.sfnt import UnknownTable, FixedProperty
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from calibre.utils.fonts.sfnt.common import (ScriptListTable, FeatureListTable,
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable, FixedProperty
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from ebook_converter.utils.fonts.sfnt.common import (ScriptListTable, FeatureListTable,
|
||||
SimpleListTable, LookupTable, ExtensionSubstitution,
|
||||
UnknownLookupSubTable)
|
||||
from polyglot.builtins import iteritems, itervalues
|
||||
from ebook_converter.polyglot.builtins import iteritems, itervalues
|
||||
|
||||
|
||||
class SingleSubstitution(UnknownLookupSubTable):
|
||||
|
||||
@@ -8,10 +8,10 @@ __docformat__ = 'restructuredtext en'
|
||||
|
||||
from struct import unpack_from, pack, calcsize
|
||||
|
||||
from calibre.utils.fonts.sfnt import UnknownTable, DateTimeProperty, FixedProperty
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from calibre.utils.fonts.sfnt.loca import read_array
|
||||
from polyglot.builtins import zip
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable, DateTimeProperty, FixedProperty
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from ebook_converter.utils.fonts.sfnt.loca import read_array
|
||||
from ebook_converter.polyglot.builtins import zip
|
||||
|
||||
|
||||
class HeadTable(UnknownTable):
|
||||
|
||||
@@ -8,10 +8,10 @@ __docformat__ = 'restructuredtext en'
|
||||
|
||||
from struct import unpack_from, calcsize, pack, error as struct_error
|
||||
|
||||
from calibre.utils.fonts.sfnt import (UnknownTable, FixedProperty,
|
||||
from ebook_converter.utils.fonts.sfnt import (UnknownTable, FixedProperty,
|
||||
max_power_of_two)
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from polyglot.builtins import range
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from ebook_converter.polyglot.builtins import range
|
||||
|
||||
|
||||
class KernTable(UnknownTable):
|
||||
|
||||
@@ -10,8 +10,8 @@ import array, sys
|
||||
from operator import itemgetter
|
||||
from itertools import repeat
|
||||
|
||||
from calibre.utils.fonts.sfnt import UnknownTable
|
||||
from polyglot.builtins import iteritems, range
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable
|
||||
from ebook_converter.polyglot.builtins import iteritems, range
|
||||
|
||||
|
||||
def four_byte_type_code():
|
||||
|
||||
@@ -8,9 +8,9 @@ __docformat__ = 'restructuredtext en'
|
||||
|
||||
from struct import unpack_from, pack
|
||||
|
||||
from calibre.utils.fonts.sfnt import UnknownTable, FixedProperty
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from polyglot.builtins import zip
|
||||
from ebook_converter.utils.fonts.sfnt import UnknownTable, FixedProperty
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont
|
||||
from ebook_converter.polyglot.builtins import zip
|
||||
|
||||
|
||||
class MaxpTable(UnknownTable):
|
||||
|
||||
@@ -11,10 +11,10 @@ from collections import OrderedDict
|
||||
from operator import itemgetter
|
||||
from functools import partial
|
||||
|
||||
from calibre.utils.icu import safe_chr, ord_string
|
||||
from calibre.utils.fonts.sfnt.container import Sfnt
|
||||
from calibre.utils.fonts.sfnt.errors import UnsupportedFont, NoGlyphs
|
||||
from polyglot.builtins import unicode_type, range, iteritems, itervalues, map
|
||||
from ebook_converter.utils.icu import safe_chr, ord_string
|
||||
from ebook_converter.utils.fonts.sfnt.container import Sfnt
|
||||
from ebook_converter.utils.fonts.sfnt.errors import UnsupportedFont, NoGlyphs
|
||||
from ebook_converter.polyglot.builtins import unicode_type, range, iteritems, itervalues, map
|
||||
|
||||
# TrueType outlines {{{
|
||||
|
||||
@@ -193,7 +193,7 @@ def subset(raw, individual_chars, ranges=(), warnings=None):
|
||||
|
||||
def option_parser():
|
||||
import textwrap
|
||||
from calibre.utils.config import OptionParser
|
||||
from ebook_converter.utils.config import OptionParser
|
||||
parser = OptionParser(usage=textwrap.dedent('''\
|
||||
%prog [options] input_font_file output_font_file characters_to_keep
|
||||
|
||||
@@ -212,7 +212,7 @@ def option_parser():
|
||||
|
||||
|
||||
def print_stats(old_stats, new_stats):
|
||||
from calibre import prints
|
||||
from ebook_converter import prints
|
||||
prints('========= Table comparison (original vs. subset) =========')
|
||||
prints('Table', ' ', '%10s'%'Size', ' ', 'Percent', ' ', '%10s'%'New Size',
|
||||
' New Percent')
|
||||
@@ -236,7 +236,7 @@ def print_stats(old_stats, new_stats):
|
||||
|
||||
def main(args):
|
||||
import sys, time
|
||||
from calibre import prints
|
||||
from ebook_converter import prints
|
||||
parser = option_parser()
|
||||
opts, args = parser.parse_args(args)
|
||||
if len(args) < 4 or len(args) > 4:
|
||||
@@ -303,7 +303,7 @@ if __name__ == '__main__':
|
||||
|
||||
|
||||
def test_mem():
|
||||
from calibre.utils.mem import memory
|
||||
from ebook_converter.utils.mem import memory
|
||||
import gc
|
||||
gc.collect()
|
||||
start_mem = memory()
|
||||
@@ -325,7 +325,7 @@ def test():
|
||||
|
||||
|
||||
def all():
|
||||
from calibre.utils.fonts.scanner import font_scanner
|
||||
from ebook_converter.utils.fonts.scanner import font_scanner
|
||||
failed = []
|
||||
unsupported = []
|
||||
warnings = {}
|
||||
|
||||
Reference in New Issue
Block a user