BabelDOC 0.3.7__tar.gz → 0.3.9__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.3.7 → babeldoc-0.3.9}/.github/ISSUE_TEMPLATE/bug_report.yaml +1 -1
- {babeldoc-0.3.7 → babeldoc-0.3.9}/PKG-INFO +1 -1
- babeldoc-0.3.9/babeldoc/__init__.py +1 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/const.py +1 -1
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/converter.py +1 -8
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/frontend/il_creater.py +3 -1
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/paragraph_finder.py +1 -1
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/typesetting.py +1 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/main.py +1 -1
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/pdfinterp.py +1 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/pyproject.toml +2 -2
- {babeldoc-0.3.7 → babeldoc-0.3.9}/uv.lock +1 -1
- babeldoc-0.3.7/babeldoc/__init__.py +0 -1
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.cursorignore +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/dependabot.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/labels.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/release-drafter.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/docs.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/publish-to-pypi.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/test.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.gitignore +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/LICENSE +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/README.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/__init__.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/backend/__init__.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/backend/pdf_creater.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.rng +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/__init__.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/il_translator.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/table_parser.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/translator/__init__.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/translator/cache.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/translator/translator.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/atomic_integer.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/xml_converter.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/high_level.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/progress_monitor.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/result_merger.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/split_manager.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/tools/italic_assistance.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/translation_config.py +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/README.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/deploy.sh +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/index.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/requirements.txt +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/mkdocs.yml +0 -0
- {babeldoc-0.3.7 → babeldoc-0.3.9}/tests/test_translation_config.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.9"
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import base64
|
|
2
1
|
import logging
|
|
3
2
|
import re
|
|
4
3
|
import unicodedata
|
|
@@ -93,13 +92,7 @@ class PDFConverterEx(PDFConverter):
|
|
|
93
92
|
textwidth = font.char_width(cid)
|
|
94
93
|
textdisp = font.char_disp(cid)
|
|
95
94
|
|
|
96
|
-
|
|
97
|
-
if isinstance(font_name, bytes):
|
|
98
|
-
try:
|
|
99
|
-
font_name = font_name.decode("utf-8")
|
|
100
|
-
except UnicodeDecodeError:
|
|
101
|
-
font_name = "BASE64:" + base64.b64encode(font_name).decode("utf-8")
|
|
102
|
-
font_id = self.il_creater.current_page_font_name_id_map.get(font_name, None)
|
|
95
|
+
font_id = self.il_creater.current_page_font_name_id_map.get(font.xobj_id, None)
|
|
103
96
|
|
|
104
97
|
item = AWLTChar(
|
|
105
98
|
matrix,
|
|
@@ -350,6 +350,8 @@ class ILCreater:
|
|
|
350
350
|
_, encoding = self.mupdf.xref_get_key(xref_id, "Encoding")
|
|
351
351
|
if encoding == "/Identity-H" or encoding == "/Identity-V":
|
|
352
352
|
encoding_length = 2
|
|
353
|
+
if encoding == "/WinAnsiEncoding":
|
|
354
|
+
encoding_length = 1
|
|
353
355
|
else:
|
|
354
356
|
_, to_unicode_id = self.mupdf.xref_get_key(xref_id, "ToUnicode")
|
|
355
357
|
to_unicode_bytes = self.mupdf.xref_stream(
|
|
@@ -442,7 +444,7 @@ class ILCreater:
|
|
|
442
444
|
)
|
|
443
445
|
except Exception:
|
|
444
446
|
pass
|
|
445
|
-
self.current_page_font_name_id_map[
|
|
447
|
+
self.current_page_font_name_id_map[xref_id] = font_id
|
|
446
448
|
if self.xobj_id in self.xobj_map:
|
|
447
449
|
self.xobj_map[self.xobj_id].pdf_font.append(il_font_metadata)
|
|
448
450
|
else:
|
|
@@ -29,7 +29,7 @@ class ParagraphFinder:
|
|
|
29
29
|
|
|
30
30
|
# 定义项目符号的正则表达式模式
|
|
31
31
|
BULLET_POINT_PATTERN = re.compile(
|
|
32
|
-
r"[
|
|
32
|
+
r"[■•⚫⬤◆◇○●◦‣⁃▪▫∗†‡¹²³⁴⁵⁶⁷⁸⁹⁰₁₂₃₄₅₆₇₈₉₀ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖᵍʳˢᵗᵘᵛʷˣʸᶻ†‡§¶※⁑⁂⁕⁎⁜⁑❧☙⁋‖‽]"
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
def __init__(self, translation_config: TranslationConfig):
|
|
@@ -104,6 +104,7 @@ class PDFPageInterpreterEx(PDFPageInterpreter):
|
|
|
104
104
|
objid = spec.objid
|
|
105
105
|
spec = dict_value(spec)
|
|
106
106
|
font = self.rsrcmgr.get_font(objid, spec)
|
|
107
|
+
font.xobj_id = objid
|
|
107
108
|
self.il_creater.on_page_resource_font(font, objid, fontid)
|
|
108
109
|
self.fontmap[fontid] = font
|
|
109
110
|
self.fontmap[fontid].descent = 0 # hack fix descent
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "BabelDOC"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.9"
|
|
4
4
|
description = "Yet Another Document Translator"
|
|
5
5
|
license = "AGPL-3.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -148,7 +148,7 @@ pythonpath = [".", "src"]
|
|
|
148
148
|
testpaths = ["tests"]
|
|
149
149
|
|
|
150
150
|
[bumpver]
|
|
151
|
-
current_version = "0.3.
|
|
151
|
+
current_version = "0.3.9"
|
|
152
152
|
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
|
|
153
153
|
|
|
154
154
|
[bumpver.file_patterns]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.3.7"
|
|
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.3.7 → babeldoc-0.3.9}/babeldoc/document_il/babeldoc_exception/BabelDOCException.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
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/priority_thread_pool_executor.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
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md
RENAMED
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|