BabelDOC 0.5.2__tar.gz → 0.5.3__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.2 → babeldoc-0.5.3}/.github/workflows/docs.yml +1 -1
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/workflows/publish-to-pypi.yml +1 -1
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/workflows/test.yml +1 -1
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.gitignore +2 -1
- {babeldoc-0.5.2 → babeldoc-0.5.3}/PKG-INFO +1 -1
- babeldoc-0.5.3/babeldoc/__init__.py +1 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/const.py +1 -1
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/babelpdf/base14.py +9 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/frontend/il_creater.py +9 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/automatic_term_extractor.py +12 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/il_translator.py +14 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/il_translator_llm_only.py +16 -0
- babeldoc-0.5.3/babeldoc/format/pdf/document_il/utils/paragraph_helper.py +94 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/main.py +1 -1
- {babeldoc-0.5.2 → babeldoc-0.5.3}/pyproject.toml +2 -2
- babeldoc-0.5.2/babeldoc/__init__.py +0 -1
- babeldoc-0.5.2/babeldoc/format/pdf/document_il/utils/paragraph_helper.py +0 -36
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.cursorignore +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/dependabot.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/labels.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/release-drafter.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/workflows/lint.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.github/workflows/pr-lint.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/LICENSE +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/README.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/babeldoc_exception/BabelDOCException.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/babeldoc_exception/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/base_doclayout.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/rpc_doclayout2.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/rpc_doclayout3.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/rpc_doclayout4.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/rpc_doclayout5.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/rpc_doclayout6.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/rpc_doclayout7.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/babelpdf/encoding.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/babelpdf/utils.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/converter.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/backend/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/backend/pdf_creater.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/il_version_1.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/il_version_1.rng +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/paragraph_finder.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/table_parser.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/typesetting.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/extract_char.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/formular_helper.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/matrix_helper.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/mupdf_helper.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/spatial_analyzer.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/utils/zstd_helper.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/xml_converter.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/high_level.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/pdfinterp.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/result_merger.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/split_manager.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/translation_config.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/glossary.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/LICENSE +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/_saslprep.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/arcfour.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/ascii85.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/casting.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/ccitt.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78ms-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/78ms-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/83pv-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/83pv-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/90ms-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/90ms-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/90msp-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/90msp-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/90pv-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/90pv-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Add-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Add-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Add-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Add-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/B5pc-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/B5pc-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/CNS-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/CNS-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/CNS1-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/CNS1-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/CNS2-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/CNS2-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/ETHK-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/ETHK-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/ETen-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/ETen-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/ETenms-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/ETenms-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Ext-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Ext-RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Ext-RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Ext-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GB-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GB-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GB-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GB-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBK-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBK-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBK2K-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBK2K-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBKp-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBKp-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBT-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBT-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBT-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBT-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBTpc-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBTpc-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBpc-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/GBpc-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKdla-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKdla-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKdlb-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKdlb-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKgccs-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKgccs-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKm314-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKm314-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKm471-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKm471-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKscs-B5-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/HKscs-B5-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Hankaku-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Hankaku-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Hiragana-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Hiragana-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSC-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSC-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSC-Johab-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSC-Johab-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSCms-UHC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSCms-UHC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSCpc-EUC-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/KSCpc-EUC-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Katakana-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Katakana-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/NWP-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/NWP-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/README.txt +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/RKSJ-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/RKSJ-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Roman-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/Roman-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniCNS-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniGB-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UCS2-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UCS2-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UTF16-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UTF16-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UTF32-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UTF32-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UTF8-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/UniKS-UTF8-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/WP-Symbol-H.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/WP-Symbol-V.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/to-unicode-Adobe-CNS1.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/to-unicode-Adobe-GB1.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Japan1.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Korea1.pickle.gz +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/cmapdb.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/converter.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/data_structures.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/encodingdb.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/fontmetrics.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/glyphlist.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/high_level.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/image.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/jbig2.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/latin_enc.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/layout.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/lzw.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdfcolor.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdfdevice.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdfdocument.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdfexceptions.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdffont.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdfinterp.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdfpage.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdfparser.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/pdftypes.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/psexceptions.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/psparser.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/py.typed +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/runlength.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/settings.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/pdfminer/utils.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/progress_monitor.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/tools/italic_assistance.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/tools/italic_recognize_tool.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/translator/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/translator/cache.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/translator/translator.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/utils/__init__.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/utils/atomic_integer.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/utils/priority_thread_pool_executor.py +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/README.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/deploy.sh +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/example/demo_glossary.csv +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/index.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/requirements.txt +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/docs/supported_languages.md +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/mkdocs.yml +0 -0
- {babeldoc-0.5.2 → babeldoc-0.5.3}/tests/test_translation_cache_cleanup.py +0 -0
|
@@ -17,7 +17,7 @@ jobs:
|
|
|
17
17
|
git config user.name github-actions[bot]
|
|
18
18
|
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
|
19
19
|
- name: Setup uv with Python 3.12
|
|
20
|
-
uses: astral-sh/setup-uv@
|
|
20
|
+
uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0
|
|
21
21
|
with:
|
|
22
22
|
python-version: "3.12"
|
|
23
23
|
enable-cache: true
|
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
36
36
|
|
|
37
37
|
- name: Setup uv with Python 3.12
|
|
38
|
-
uses: astral-sh/setup-uv@
|
|
38
|
+
uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0
|
|
39
39
|
with:
|
|
40
40
|
python-version: "3.12"
|
|
41
41
|
enable-cache: true
|
|
@@ -28,7 +28,7 @@ jobs:
|
|
|
28
28
|
path: ~/.cache/babeldoc
|
|
29
29
|
key: babeldoc-assets-${{ hashFiles('babeldoc/assets/embedding_assets_metadata.py') }}
|
|
30
30
|
- name: Setup uv with Python ${{ matrix.python-version }}
|
|
31
|
-
uses: astral-sh/setup-uv@
|
|
31
|
+
uses: astral-sh/setup-uv@4959332f0f014c5280e7eac8b70c90cb574c9f9b # v6.6.0
|
|
32
32
|
with:
|
|
33
33
|
python-version: ${{ matrix.python-version }}
|
|
34
34
|
enable-cache: true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.5.3"
|
|
@@ -2482,9 +2482,18 @@ ZapfDingbats = [
|
|
|
2482
2482
|
(0, 0, 0, 0),
|
|
2483
2483
|
]
|
|
2484
2484
|
|
|
2485
|
+
base14_alias = {
|
|
2486
|
+
"Times New Roman": "Times-Roman",
|
|
2487
|
+
"Times New Roman,Bold": "Times-Bold",
|
|
2488
|
+
"Times New Roman,Italic": "Times-Italic",
|
|
2489
|
+
}
|
|
2490
|
+
|
|
2485
2491
|
|
|
2486
2492
|
def get_base14_bbox(family):
|
|
2487
2493
|
bbox = []
|
|
2494
|
+
if family in base14_alias:
|
|
2495
|
+
family = base14_alias[family]
|
|
2496
|
+
|
|
2488
2497
|
if family in base14_bbox:
|
|
2489
2498
|
base = base14_bbox[family]
|
|
2490
2499
|
for name in win_ansi:
|
|
@@ -190,6 +190,15 @@ def parse_font_file(doc, idx, encoding, differences):
|
|
|
190
190
|
if charmap.encoding_name == "FT_ENCODING_ADOBE_CUSTOM":
|
|
191
191
|
face.select_charmap(charmap.encoding)
|
|
192
192
|
break
|
|
193
|
+
elif enc_name == "MacRomanEncoding":
|
|
194
|
+
for charmap in face.charmaps:
|
|
195
|
+
face.select_charmap(charmap.encoding)
|
|
196
|
+
if (
|
|
197
|
+
charmap.encoding_name == "FT_ENCODING_ADOBE_CUSTOM"
|
|
198
|
+
or charmap.encoding_name == "FT_ENCODING_APPLE_ROMAN"
|
|
199
|
+
):
|
|
200
|
+
face.select_charmap(charmap.encoding)
|
|
201
|
+
break
|
|
193
202
|
for i, x in enumerate(enc_vector):
|
|
194
203
|
if x in glyph_name_set:
|
|
195
204
|
v = get_name_cbox(face, x.encode("U8"))
|
{babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/automatic_term_extractor.py
RENAMED
|
@@ -14,6 +14,12 @@ from babeldoc.format.pdf.document_il import (
|
|
|
14
14
|
from babeldoc.format.pdf.document_il import PdfParagraph # Renamed to avoid conflict
|
|
15
15
|
from babeldoc.format.pdf.document_il.midend.il_translator import Page
|
|
16
16
|
from babeldoc.format.pdf.document_il.utils.paragraph_helper import is_cid_paragraph
|
|
17
|
+
from babeldoc.format.pdf.document_il.utils.paragraph_helper import (
|
|
18
|
+
is_placeholder_only_paragraph,
|
|
19
|
+
)
|
|
20
|
+
from babeldoc.format.pdf.document_il.utils.paragraph_helper import (
|
|
21
|
+
is_pure_numeric_paragraph,
|
|
22
|
+
)
|
|
17
23
|
from babeldoc.utils.priority_thread_pool_executor import PriorityThreadPoolExecutor
|
|
18
24
|
|
|
19
25
|
if TYPE_CHECKING:
|
|
@@ -194,6 +200,12 @@ class AutomaticTermExtractor:
|
|
|
194
200
|
if is_cid_paragraph(paragraph):
|
|
195
201
|
pbar.advance(1)
|
|
196
202
|
continue
|
|
203
|
+
if is_pure_numeric_paragraph(paragraph):
|
|
204
|
+
pbar.advance(1)
|
|
205
|
+
continue
|
|
206
|
+
if is_placeholder_only_paragraph(paragraph):
|
|
207
|
+
pbar.advance(1)
|
|
208
|
+
continue
|
|
197
209
|
# if len(paragraph.unicode) < self.translation_config.min_text_length:
|
|
198
210
|
# pbar.advance(1)
|
|
199
211
|
# continue
|
|
@@ -28,6 +28,12 @@ from babeldoc.format.pdf.document_il.utils.layout_helper import (
|
|
|
28
28
|
from babeldoc.format.pdf.document_il.utils.layout_helper import (
|
|
29
29
|
is_same_style_except_size,
|
|
30
30
|
)
|
|
31
|
+
from babeldoc.format.pdf.document_il.utils.paragraph_helper import (
|
|
32
|
+
is_placeholder_only_paragraph,
|
|
33
|
+
)
|
|
34
|
+
from babeldoc.format.pdf.document_il.utils.paragraph_helper import (
|
|
35
|
+
is_pure_numeric_paragraph,
|
|
36
|
+
)
|
|
31
37
|
from babeldoc.format.pdf.translation_config import TranslationConfig
|
|
32
38
|
from babeldoc.translator.translator import BaseTranslator
|
|
33
39
|
from babeldoc.utils.priority_thread_pool_executor import PriorityThreadPoolExecutor
|
|
@@ -436,6 +442,14 @@ class ILTranslator:
|
|
|
436
442
|
):
|
|
437
443
|
if not paragraph.pdf_paragraph_composition:
|
|
438
444
|
return
|
|
445
|
+
|
|
446
|
+
# Skip pure numeric paragraphs
|
|
447
|
+
if is_pure_numeric_paragraph(paragraph):
|
|
448
|
+
return None
|
|
449
|
+
|
|
450
|
+
# Skip paragraphs with only placeholders
|
|
451
|
+
if is_placeholder_only_paragraph(paragraph):
|
|
452
|
+
return None
|
|
439
453
|
if len(paragraph.pdf_paragraph_composition) == 1:
|
|
440
454
|
# 如果整个段落只有一个组成部分,那么直接返回,不需要套占位符等
|
|
441
455
|
composition = paragraph.pdf_paragraph_composition[0]
|
{babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/il_translator_llm_only.py
RENAMED
|
@@ -20,6 +20,12 @@ from babeldoc.format.pdf.document_il.midend.il_translator import ILTranslator
|
|
|
20
20
|
from babeldoc.format.pdf.document_il.midend.il_translator import PageTranslateTracker
|
|
21
21
|
from babeldoc.format.pdf.document_il.utils.fontmap import FontMapper
|
|
22
22
|
from babeldoc.format.pdf.document_il.utils.paragraph_helper import is_cid_paragraph
|
|
23
|
+
from babeldoc.format.pdf.document_il.utils.paragraph_helper import (
|
|
24
|
+
is_placeholder_only_paragraph,
|
|
25
|
+
)
|
|
26
|
+
from babeldoc.format.pdf.document_il.utils.paragraph_helper import (
|
|
27
|
+
is_pure_numeric_paragraph,
|
|
28
|
+
)
|
|
23
29
|
from babeldoc.format.pdf.translation_config import TranslationConfig
|
|
24
30
|
from babeldoc.translator.translator import BaseTranslator
|
|
25
31
|
from babeldoc.utils.priority_thread_pool_executor import PriorityThreadPoolExecutor
|
|
@@ -482,6 +488,16 @@ class ILTranslatorLLMOnly:
|
|
|
482
488
|
pbar.advance(1)
|
|
483
489
|
continue
|
|
484
490
|
|
|
491
|
+
if is_pure_numeric_paragraph(paragraph):
|
|
492
|
+
if pbar:
|
|
493
|
+
pbar.advance(1)
|
|
494
|
+
continue
|
|
495
|
+
|
|
496
|
+
if is_placeholder_only_paragraph(paragraph):
|
|
497
|
+
if pbar:
|
|
498
|
+
pbar.advance(1)
|
|
499
|
+
continue
|
|
500
|
+
|
|
485
501
|
# self.translate_paragraph(paragraph, pbar,tracker.new_paragraph(), page_font_map, page_xobj_font_map)
|
|
486
502
|
total_token_count += self.calc_token_count(paragraph.unicode)
|
|
487
503
|
paragraphs.append(paragraph)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import re
|
|
3
|
+
|
|
4
|
+
from babeldoc.format.pdf.document_il import il_version_1
|
|
5
|
+
|
|
6
|
+
logger = logging.getLogger(__name__)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def is_cid_paragraph(paragraph: il_version_1.PdfParagraph):
|
|
10
|
+
chars: list[il_version_1.PdfCharacter] = []
|
|
11
|
+
for composition in paragraph.pdf_paragraph_composition:
|
|
12
|
+
if composition.pdf_line:
|
|
13
|
+
chars.extend(composition.pdf_line.pdf_character)
|
|
14
|
+
elif composition.pdf_same_style_characters:
|
|
15
|
+
chars.extend(composition.pdf_same_style_characters.pdf_character)
|
|
16
|
+
elif composition.pdf_same_style_unicode_characters:
|
|
17
|
+
continue
|
|
18
|
+
# chars.extend(composition.pdf_same_style_unicode_characters.unicode)
|
|
19
|
+
elif composition.pdf_formula:
|
|
20
|
+
chars.extend(composition.pdf_formula.pdf_character)
|
|
21
|
+
elif composition.pdf_character:
|
|
22
|
+
chars.append(composition.pdf_character)
|
|
23
|
+
else:
|
|
24
|
+
logger.error(
|
|
25
|
+
f"Unknown composition type. "
|
|
26
|
+
f"Composition: {composition}. "
|
|
27
|
+
f"Paragraph: {paragraph}. ",
|
|
28
|
+
)
|
|
29
|
+
continue
|
|
30
|
+
|
|
31
|
+
cid_count = 0
|
|
32
|
+
for char in chars:
|
|
33
|
+
if re.match(r"^\(cid:\d+\)$", char.char_unicode):
|
|
34
|
+
cid_count += 1
|
|
35
|
+
|
|
36
|
+
return cid_count > len(chars) * 0.8
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
NUMERIC_PATTERN = re.compile(r"^-?\d+(\.\d+)?$")
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def is_pure_numeric_paragraph(paragraph) -> bool:
|
|
43
|
+
"""只检查段落是否为纯数字(支持整数、小数、负数)"""
|
|
44
|
+
|
|
45
|
+
if not paragraph or not getattr(paragraph, "unicode", None):
|
|
46
|
+
return False
|
|
47
|
+
|
|
48
|
+
text = paragraph.unicode.strip()
|
|
49
|
+
if not text:
|
|
50
|
+
return False
|
|
51
|
+
|
|
52
|
+
return bool(NUMERIC_PATTERN.match(text))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def is_placeholder_only_paragraph(paragraph: il_version_1.PdfParagraph) -> bool:
|
|
56
|
+
"""Check if a paragraph contains only placeholders and whitespace.
|
|
57
|
+
|
|
58
|
+
Args:
|
|
59
|
+
paragraph: PDF paragraph to check
|
|
60
|
+
|
|
61
|
+
Returns:
|
|
62
|
+
True if the paragraph contains only placeholders (formula or style tags)
|
|
63
|
+
and whitespace, False otherwise
|
|
64
|
+
"""
|
|
65
|
+
if not paragraph or not paragraph.unicode:
|
|
66
|
+
return False
|
|
67
|
+
|
|
68
|
+
for composition in paragraph.pdf_paragraph_composition:
|
|
69
|
+
if composition.pdf_formula:
|
|
70
|
+
# Formula composition is allowed
|
|
71
|
+
continue
|
|
72
|
+
elif composition.pdf_character:
|
|
73
|
+
# Check if single character is whitespace
|
|
74
|
+
if not composition.pdf_character.char_unicode.isspace():
|
|
75
|
+
return False
|
|
76
|
+
elif composition.pdf_line:
|
|
77
|
+
# Check if all characters in the line are whitespace
|
|
78
|
+
for char in composition.pdf_line.pdf_character:
|
|
79
|
+
if not char.char_unicode.isspace():
|
|
80
|
+
return False
|
|
81
|
+
elif composition.pdf_same_style_characters:
|
|
82
|
+
# Check if all characters in the group are whitespace
|
|
83
|
+
for char in composition.pdf_same_style_characters.pdf_character:
|
|
84
|
+
if not char.char_unicode.isspace():
|
|
85
|
+
return False
|
|
86
|
+
elif composition.pdf_same_style_unicode_characters:
|
|
87
|
+
# Check if the unicode content is only whitespace
|
|
88
|
+
if not composition.pdf_same_style_unicode_characters.unicode.isspace():
|
|
89
|
+
return False
|
|
90
|
+
else:
|
|
91
|
+
# Unknown composition type, conservatively return False
|
|
92
|
+
return False
|
|
93
|
+
|
|
94
|
+
return True
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "BabelDOC"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.3"
|
|
4
4
|
description = "Yet Another Document Translator"
|
|
5
5
|
license = "AGPL-3.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -162,7 +162,7 @@ pythonpath = [".", "src"]
|
|
|
162
162
|
testpaths = ["tests"]
|
|
163
163
|
|
|
164
164
|
[bumpver]
|
|
165
|
-
current_version = "0.5.
|
|
165
|
+
current_version = "0.5.3"
|
|
166
166
|
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
|
|
167
167
|
|
|
168
168
|
[bumpver.file_patterns]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.5.2"
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import logging
|
|
2
|
-
import re
|
|
3
|
-
|
|
4
|
-
from babeldoc.format.pdf.document_il import il_version_1
|
|
5
|
-
|
|
6
|
-
logger = logging.getLogger(__name__)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def is_cid_paragraph(paragraph: il_version_1.PdfParagraph):
|
|
10
|
-
chars: list[il_version_1.PdfCharacter] = []
|
|
11
|
-
for composition in paragraph.pdf_paragraph_composition:
|
|
12
|
-
if composition.pdf_line:
|
|
13
|
-
chars.extend(composition.pdf_line.pdf_character)
|
|
14
|
-
elif composition.pdf_same_style_characters:
|
|
15
|
-
chars.extend(composition.pdf_same_style_characters.pdf_character)
|
|
16
|
-
elif composition.pdf_same_style_unicode_characters:
|
|
17
|
-
continue
|
|
18
|
-
# chars.extend(composition.pdf_same_style_unicode_characters.unicode)
|
|
19
|
-
elif composition.pdf_formula:
|
|
20
|
-
chars.extend(composition.pdf_formula.pdf_character)
|
|
21
|
-
elif composition.pdf_character:
|
|
22
|
-
chars.append(composition.pdf_character)
|
|
23
|
-
else:
|
|
24
|
-
logger.error(
|
|
25
|
-
f"Unknown composition type. "
|
|
26
|
-
f"Composition: {composition}. "
|
|
27
|
-
f"Paragraph: {paragraph}. ",
|
|
28
|
-
)
|
|
29
|
-
continue
|
|
30
|
-
|
|
31
|
-
cid_count = 0
|
|
32
|
-
for char in chars:
|
|
33
|
-
if re.match(r"^\(cid:\d+\)$", char.char_unicode):
|
|
34
|
-
cid_count += 1
|
|
35
|
-
|
|
36
|
-
return cid_count > len(chars) * 0.8
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/add_debug_information.py
RENAMED
|
File without changes
|
{babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/detect_scanned_file.py
RENAMED
|
File without changes
|
|
File without changes
|
{babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/paragraph_finder.py
RENAMED
|
File without changes
|
|
File without changes
|
{babeldoc-0.5.2 → babeldoc-0.5.3}/babeldoc/format/pdf/document_il/midend/styles_and_formulas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|