BabelDOC 0.3.35__tar.gz → 0.3.37__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.35 → babeldoc-0.3.37}/PKG-INFO +1 -1
- babeldoc-0.3.37/babeldoc/__init__.py +1 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/const.py +1 -1
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/typesetting.py +2 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/translator/translator.py +10 -1
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/main.py +1 -1
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/pdfinterp.py +5 -1
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/supported_languages.md +39 -11
- {babeldoc-0.3.35 → babeldoc-0.3.37}/pyproject.toml +2 -2
- {babeldoc-0.3.35 → babeldoc-0.3.37}/uv.lock +301 -323
- babeldoc-0.3.35/babeldoc/__init__.py +0 -1
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.cursorignore +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/dependabot.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/labels.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/release-drafter.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/docs.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/lint.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/pr-lint.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/publish-to-pypi.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.github/workflows/test.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.gitignore +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/LICENSE +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/README.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/converter.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/backend/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/backend/pdf_creater.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/frontend/il_creater.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.rng +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/il_translator.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/midend/table_parser.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/translator/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/translator/cache.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/atomic_integer.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/paragraph_helper.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/utils/zstd_helper.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/document_il/xml_converter.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/format/office/__init__.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/high_level.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/progress_monitor.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/result_merger.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/split_manager.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/tools/italic_assistance.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/tools/italic_recognize_tool.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/babeldoc/translation_config.py +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/README.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/deploy.sh +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/index.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/docs/requirements.txt +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/mkdocs.yml +0 -0
- {babeldoc-0.3.35 → babeldoc-0.3.37}/tests/test_translation_config.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.3.37"
|
|
@@ -146,6 +146,8 @@ class TypesettingUnit:
|
|
|
146
146
|
r"\U0001E900-\U0001E95F" # Adlam
|
|
147
147
|
r"\u1C80-\u1C8F" # Cyrillic Extended-C
|
|
148
148
|
r"\U0001E030-\U0001E08F" # Cyrillic Extended-D
|
|
149
|
+
r"\uA000-\uA48F" # Yi Syllables
|
|
150
|
+
r"\uA490-\uA4CF" # Yi Radicals
|
|
149
151
|
r"'"
|
|
150
152
|
r"-" # Hyphen
|
|
151
153
|
r"·" # Middle Dot (U+00B7) For Català
|
|
@@ -6,6 +6,7 @@ import unicodedata
|
|
|
6
6
|
from abc import ABC
|
|
7
7
|
from abc import abstractmethod
|
|
8
8
|
|
|
9
|
+
import httpx
|
|
9
10
|
import openai
|
|
10
11
|
from tenacity import retry
|
|
11
12
|
from tenacity import retry_if_exception_type
|
|
@@ -191,7 +192,15 @@ class OpenAITranslator(BaseTranslator):
|
|
|
191
192
|
):
|
|
192
193
|
super().__init__(lang_in, lang_out, ignore_cache)
|
|
193
194
|
self.options = {"temperature": 0} # 随机采样可能会打断公式标记
|
|
194
|
-
self.client = openai.OpenAI(
|
|
195
|
+
self.client = openai.OpenAI(
|
|
196
|
+
base_url=base_url,
|
|
197
|
+
api_key=api_key,
|
|
198
|
+
http_client=httpx.Client(
|
|
199
|
+
limits=httpx.Limits(
|
|
200
|
+
max_connections=None, max_keepalive_connections=None
|
|
201
|
+
)
|
|
202
|
+
),
|
|
203
|
+
)
|
|
195
204
|
self.add_cache_impact_parameters("temperature", self.options["temperature"])
|
|
196
205
|
self.model = model
|
|
197
206
|
self.add_cache_impact_parameters("model", self.model)
|
|
@@ -130,7 +130,11 @@ class PDFPageInterpreterEx(PDFPageInterpreter):
|
|
|
130
130
|
else:
|
|
131
131
|
name = literal_name(spec)
|
|
132
132
|
if name == "ICCBased" and isinstance(spec, list) and len(spec) >= 2:
|
|
133
|
-
|
|
133
|
+
val = stream_value(spec[1])
|
|
134
|
+
if "N" in val:
|
|
135
|
+
return PDFColorSpace(name, val["N"])
|
|
136
|
+
elif "Alternate" in val:
|
|
137
|
+
return PREDEFINED_COLORSPACE[val["Alternate"].name]
|
|
134
138
|
elif name == "DeviceN" and isinstance(spec, list) and len(spec) >= 2:
|
|
135
139
|
return PDFColorSpace(name, len(list_value(spec[1])))
|
|
136
140
|
else:
|
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
For languages in the table below that do not rely on ligature support, BabelDOC provides good support. For languages that partially rely on ligatures, BabelDOC's translation results can generally meet self-reading needs. For languages that completely rely on ligatures (such as some Indian languages), BabelDOC does not currently support them.
|
|
4
4
|
|
|
5
5
|
We are working hard to develop support for ligatures as soon as possible.
|
|
6
|
+
<!-- | Kazakh (Cyrillic) | kk | None | -->
|
|
6
7
|
|
|
7
8
|
| Language | Language Code | Ligature Dependency |
|
|
8
9
|
| :------------------- | :------------ | :------------------ |
|
|
10
|
+
| English | EN | None |
|
|
9
11
|
| Simplified Chinese | zh-CN | None |
|
|
10
|
-
| Traditional Chinese
|
|
11
|
-
|
|
|
12
|
-
|
|
|
12
|
+
| Traditional Chinese - Hong Kong| zh-HK | None |
|
|
13
|
+
| Traditional Chinese - Taiwan | zh-TW | None |
|
|
14
|
+
| Japanese | JA | None |
|
|
15
|
+
| Korean | KO | None |
|
|
13
16
|
| Polish | PL | Partial |
|
|
14
17
|
| Russian | RU | None |
|
|
15
18
|
| Spanish | es | None |
|
|
@@ -20,9 +23,7 @@ We are working hard to develop support for ligatures as soon as possible.
|
|
|
20
23
|
| Turkmen | tk | None |
|
|
21
24
|
| Filipino (Tagalog) | tl | None |
|
|
22
25
|
| Vietnamese | vi | None |
|
|
23
|
-
| Azerbaijani | az | None |
|
|
24
26
|
| Kazakh (Latin) | kk | None |
|
|
25
|
-
| Kazakh (Cyrillic) | kk | None |
|
|
26
27
|
| German | de | None |
|
|
27
28
|
| Dutch | nl | None |
|
|
28
29
|
| Irish | ga | None |
|
|
@@ -85,7 +86,6 @@ We are working hard to develop support for ligatures as soon as possible.
|
|
|
85
86
|
| Akan | ak | None |
|
|
86
87
|
| Aragonese | an | None |
|
|
87
88
|
| Avaric | av | None |
|
|
88
|
-
| Avestan | ae | None |
|
|
89
89
|
| Ewe | ee | None |
|
|
90
90
|
| Aymara | ay | None |
|
|
91
91
|
| Ojibwa | oj | None |
|
|
@@ -95,26 +95,22 @@ We are working hard to develop support for ligatures as soon as possible.
|
|
|
95
95
|
| Pali | pi | None |
|
|
96
96
|
| Bashkir | ba | None |
|
|
97
97
|
| Basque | eu | None |
|
|
98
|
-
| Bambara | bm | None |
|
|
99
98
|
| Breton | br | None |
|
|
100
99
|
| Chamorro | ch | None |
|
|
101
100
|
| Chechen | ce | None |
|
|
102
101
|
| Chuvash | cv | None |
|
|
103
102
|
| Tswana | tn | None |
|
|
104
|
-
| Divehi | dv | None |
|
|
105
103
|
| Ndebele, South | nr | None |
|
|
106
104
|
| Ndonga | ng | None |
|
|
107
105
|
| Faroese | fo | None |
|
|
108
106
|
| Fijian | fj | None |
|
|
109
107
|
| Frisian, Western | fy | None |
|
|
110
|
-
| Fulah | ff | None |
|
|
111
108
|
| Ganda | lg | None |
|
|
112
109
|
| Kongo | kg | None |
|
|
113
110
|
| Kalaallisut | kl | None |
|
|
114
111
|
| Church Slavic | cu | None |
|
|
115
112
|
| Guarani | gn | None |
|
|
116
113
|
| Interlingua | ia | None |
|
|
117
|
-
| Hausa | ha | None |
|
|
118
114
|
| Herero | hz | None |
|
|
119
115
|
| Kikuyu | ki | None |
|
|
120
116
|
| Rundi | rn | None |
|
|
@@ -137,4 +133,36 @@ We are working hard to develop support for ligatures as soon as possible.
|
|
|
137
133
|
| Malagasy | mg | None |
|
|
138
134
|
| Marshallese | mh | None |
|
|
139
135
|
| Maori | mi | None |
|
|
140
|
-
|
|
136
|
+
| Navajo | nv | None |
|
|
137
|
+
| Nauru | na | None |
|
|
138
|
+
| Nyanja | ny | None |
|
|
139
|
+
| Norwegian Nynorsk | nn | None |
|
|
140
|
+
| Sardinian | sc | None |
|
|
141
|
+
| Northern Sami | se | None |
|
|
142
|
+
| Samoan | sm | None |
|
|
143
|
+
| Sango | sg | None |
|
|
144
|
+
| Shona | sn | None |
|
|
145
|
+
| Esperanto | eo | None |
|
|
146
|
+
| Scottish Gaelic | gd | None |
|
|
147
|
+
| Somali | so | None |
|
|
148
|
+
| Southern Sotho | st | None |
|
|
149
|
+
| Tagalog | tl | None |
|
|
150
|
+
| Tatar | tt | None |
|
|
151
|
+
| Tahitian | ty | None |
|
|
152
|
+
| Tongan | to | None |
|
|
153
|
+
| Twi | tw | None |
|
|
154
|
+
| Walloon | wa | None |
|
|
155
|
+
| Welsh | cy | None |
|
|
156
|
+
| Venda | ve | None |
|
|
157
|
+
| Volapük | vo | None |
|
|
158
|
+
| Interlingue | ie | None |
|
|
159
|
+
| Hiri Motu | ho | None |
|
|
160
|
+
| Igbo | ig | None |
|
|
161
|
+
| Ido | io | None |
|
|
162
|
+
| Inuktitut | iu | None |
|
|
163
|
+
| Inupiaq | ik | None |
|
|
164
|
+
| Sichuan Yi | ii | None |
|
|
165
|
+
| Yoruba | yo | None |
|
|
166
|
+
| Zhuang | za | None |
|
|
167
|
+
| Tsonga | ts | None |
|
|
168
|
+
| Zulu | zu | None |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "BabelDOC"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.37"
|
|
4
4
|
description = "Yet Another Document Translator"
|
|
5
5
|
license = "AGPL-3.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -150,7 +150,7 @@ pythonpath = [".", "src"]
|
|
|
150
150
|
testpaths = ["tests"]
|
|
151
151
|
|
|
152
152
|
[bumpver]
|
|
153
|
-
current_version = "0.3.
|
|
153
|
+
current_version = "0.3.37"
|
|
154
154
|
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
|
|
155
155
|
|
|
156
156
|
[bumpver.file_patterns]
|