BabelDOC 0.5.10__tar.gz → 0.5.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.gitignore +2 -1
- {babeldoc-0.5.10 → babeldoc-0.5.11}/PKG-INFO +2 -1
- {babeldoc-0.5.10 → babeldoc-0.5.11}/README.md +1 -0
- babeldoc-0.5.11/babeldoc/__init__.py +1 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/babeldoc_exception/BabelDOCException.py +5 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/const.py +1 -1
- babeldoc-0.5.11/babeldoc/format/pdf/babelpdf/cidfont.py +60 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/win_core.py +872 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/frontend/il_creater.py +3 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/automatic_term_extractor.py +20 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/high_level.py +119 -10
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/translation_config.py +29 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/main.py +61 -1
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/translator/translator.py +8 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/pyproject.toml +2 -2
- babeldoc-0.5.10/babeldoc/__init__.py +0 -1
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.cursorignore +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/dependabot.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/labels.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/release-drafter.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/docs.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/lint.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/pr-lint.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/publish-to-pypi.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.github/workflows/test.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/LICENSE +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/babeldoc_exception/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/base_doclayout.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout2.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout3.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout4.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout5.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout6.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/rpc_doclayout7.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/base14.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/encoding.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/babelpdf/utils.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/converter.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/backend/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/backend/pdf_creater.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.rng +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/il_translator.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/il_translator_llm_only.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/paragraph_finder.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/table_parser.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/midend/typesetting.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/extract_char.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/formular_helper.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/matrix_helper.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/mupdf_helper.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/paragraph_helper.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/spatial_analyzer.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/utils/zstd_helper.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/document_il/xml_converter.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/pdfinterp.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/result_merger.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/format/pdf/split_manager.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/glossary.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/LICENSE +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/_saslprep.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/arcfour.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/ascii85.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/casting.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/ccitt.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78ms-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/78ms-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/83pv-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/83pv-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90ms-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90ms-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90msp-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90msp-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90pv-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/90pv-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Add-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5pc-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/B5pc-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS1-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS1-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS2-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/CNS2-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETHK-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETHK-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETen-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETen-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETenms-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/ETenms-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Ext-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GB-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK2K-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBK2K-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBKp-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBKp-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBT-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBTpc-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBTpc-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBpc-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/GBpc-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdla-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdla-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdlb-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKdlb-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKgccs-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKgccs-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm314-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm314-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm471-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKm471-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKscs-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/HKscs-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hankaku-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hankaku-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hiragana-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Hiragana-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-Johab-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-Johab-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCms-UHC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCpc-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/KSCpc-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Katakana-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Katakana-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/NWP-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/NWP-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/README.txt +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Roman-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/Roman-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniCNS-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniGB-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/UniKS-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/WP-Symbol-H.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/WP-Symbol-V.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-CNS1.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-GB1.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Japan1.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Korea1.pickle.gz +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/cmapdb.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/converter.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/data_structures.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/encodingdb.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/fontmetrics.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/glyphlist.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/high_level.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/image.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/jbig2.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/latin_enc.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/layout.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/lzw.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfcolor.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfdevice.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfdocument.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfexceptions.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdffont.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfinterp.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfpage.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdfparser.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/pdftypes.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/psexceptions.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/psparser.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/py.typed +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/runlength.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/settings.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/pdfminer/utils.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/progress_monitor.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/tools/italic_assistance.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/tools/italic_recognize_tool.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/translator/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/translator/cache.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/utils/__init__.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/utils/atomic_integer.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/babeldoc/utils/priority_thread_pool_executor.py +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/README.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/deploy.sh +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/example/demo_glossary.csv +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/index.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/requirements.txt +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/docs/supported_languages.md +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/mkdocs.yml +0 -0
- {babeldoc-0.5.10 → babeldoc-0.5.11}/tests/test_translation_cache_cleanup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: BabelDOC
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.11
|
|
4
4
|
Summary: Yet Another Document Translator
|
|
5
5
|
Project-URL: Homepage, https://github.com/funstory-ai/BabelDOC
|
|
6
6
|
Project-URL: Issues, https://github.com/funstory-ai/BabelDOC/issues
|
|
@@ -81,6 +81,7 @@ Description-Content-Type: text/markdown
|
|
|
81
81
|
<img src="https://img.shields.io/github/license/funstory-ai/BabelDOC"></a>
|
|
82
82
|
<a href="https://t.me/+Z9_SgnxmsmA5NzBl">
|
|
83
83
|
<img src="https://img.shields.io/badge/Telegram-2CA5E0?style=flat-squeare&logo=telegram&logoColor=white"></a>
|
|
84
|
+
<a href="https://deepwiki.com/funstory-ai/BabelDOC"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
|
|
84
85
|
</p>
|
|
85
86
|
|
|
86
87
|
<a href="https://trendshift.io/repositories/13358" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13358" alt="funstory-ai%2FBabelDOC | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
<img src="https://img.shields.io/github/license/funstory-ai/BabelDOC"></a>
|
|
26
26
|
<a href="https://t.me/+Z9_SgnxmsmA5NzBl">
|
|
27
27
|
<img src="https://img.shields.io/badge/Telegram-2CA5E0?style=flat-squeare&logo=telegram&logoColor=white"></a>
|
|
28
|
+
<a href="https://deepwiki.com/funstory-ai/BabelDOC"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
|
|
28
29
|
</p>
|
|
29
30
|
|
|
30
31
|
<a href="https://trendshift.io/repositories/13358" target="_blank"><img src="https://trendshift.io/api/badge/repositories/13358" alt="funstory-ai%2FBabelDOC | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.5.11"
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import re
|
|
2
|
+
from io import BytesIO
|
|
3
|
+
|
|
4
|
+
import freetype
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def indirect(obj):
|
|
8
|
+
if isinstance(obj, tuple) and obj[0] == "xref":
|
|
9
|
+
return int(obj[1].split(" ")[0])
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def get_xref(doc, xref, key):
|
|
13
|
+
obj = doc.xref_get_key(xref, key)
|
|
14
|
+
if obj[0] == "xref":
|
|
15
|
+
return indirect(obj)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def get_font_file(doc, xref):
|
|
19
|
+
if idx := get_xref(doc, xref, "FontFile"):
|
|
20
|
+
return doc.xref_stream(idx)
|
|
21
|
+
if idx := get_xref(doc, xref, "FontFile2"):
|
|
22
|
+
return doc.xref_stream(idx)
|
|
23
|
+
if idx := get_xref(doc, xref, "FontFile3"):
|
|
24
|
+
return doc.xref_stream(idx)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def get_font_descriptor(doc, xref):
|
|
28
|
+
if idx := get_xref(doc, xref, "FontDescriptor"):
|
|
29
|
+
return get_font_file(doc, idx)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def get_descendant_fonts(doc, xref):
|
|
33
|
+
obj = doc.xref_get_key(xref, "DescendantFonts")
|
|
34
|
+
array_text = ""
|
|
35
|
+
if obj[0] == "xref":
|
|
36
|
+
array_text = doc.xref_object(indirect(obj))
|
|
37
|
+
elif obj[0] == "array":
|
|
38
|
+
array_text = obj[1]
|
|
39
|
+
if m := re.search(r"\d+", array_text):
|
|
40
|
+
return get_font_descriptor(doc, int(m.group(0)))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def get_glyph_bbox(face, g):
|
|
44
|
+
face.load_glyph(g, freetype.FT_LOAD_NO_SCALE)
|
|
45
|
+
cbox = face.glyph.outline.get_bbox()
|
|
46
|
+
return cbox.xMin, cbox.yMin, cbox.xMax, cbox.yMax
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def get_face_bbox(blob):
|
|
50
|
+
face = freetype.Face(BytesIO(blob))
|
|
51
|
+
scale = 1000 / face.units_per_EM
|
|
52
|
+
bbox_list = [get_glyph_bbox(face, code) for code in range(face.num_glyphs)]
|
|
53
|
+
bbox_list = [[v * scale for v in bbox] for bbox in bbox_list]
|
|
54
|
+
return bbox_list
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def get_cidfont_bbox(doc, xref):
|
|
58
|
+
if doc.xref_get_key(xref, "Subtype")[1] == "/Type0":
|
|
59
|
+
if blob := get_descendant_fonts(doc, xref):
|
|
60
|
+
return get_face_bbox(blob)
|