mirror of
https://github.com/gryf/ebook-converter.git
synced 2026-03-16 23:03:32 +01:00
Enable docx write support
This commit is contained in:
@@ -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