BabelDOC 0.3.28__tar.gz → 0.3.29__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.
Files changed (104) hide show
  1. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/ISSUE_TEMPLATE/bug_report.yaml +4 -0
  2. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +1 -1
  3. {babeldoc-0.3.28 → babeldoc-0.3.29}/PKG-INFO +5 -1
  4. {babeldoc-0.3.28 → babeldoc-0.3.29}/README.md +4 -0
  5. babeldoc-0.3.29/babeldoc/__init__.py +1 -0
  6. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/const.py +1 -1
  7. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/typesetting.py +27 -3
  8. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/main.py +1 -1
  9. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/CONTRIBUTING.md +2 -0
  10. {babeldoc-0.3.28 → babeldoc-0.3.29}/pyproject.toml +2 -2
  11. {babeldoc-0.3.28 → babeldoc-0.3.29}/uv.lock +1224 -1224
  12. babeldoc-0.3.28/babeldoc/__init__.py +0 -1
  13. {babeldoc-0.3.28 → babeldoc-0.3.29}/.cursorignore +0 -0
  14. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  15. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/dependabot.yml +0 -0
  16. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/labels.yml +0 -0
  17. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/release-drafter.yml +0 -0
  18. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/workflows/codeql.yml +0 -0
  19. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/workflows/docs.yml +0 -0
  20. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/workflows/labeler.yml +0 -0
  21. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/workflows/lint.yml +0 -0
  22. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/workflows/pr-lint.yml +0 -0
  23. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/workflows/publish-to-pypi.yml +0 -0
  24. {babeldoc-0.3.28 → babeldoc-0.3.29}/.github/workflows/test.yml +0 -0
  25. {babeldoc-0.3.28 → babeldoc-0.3.29}/.gitignore +0 -0
  26. {babeldoc-0.3.28 → babeldoc-0.3.29}/.pre-commit-config.yaml +0 -0
  27. {babeldoc-0.3.28 → babeldoc-0.3.29}/LICENSE +0 -0
  28. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/assets/assets.py +0 -0
  29. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  30. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/asynchronize/__init__.py +0 -0
  31. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/converter.py +0 -0
  32. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/__init__.py +0 -0
  33. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  34. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/backend/__init__.py +0 -0
  35. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  36. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/frontend/__init__.py +0 -0
  37. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/frontend/il_creater.py +0 -0
  38. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/il_version_1.py +0 -0
  39. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/il_version_1.rnc +0 -0
  40. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/il_version_1.rng +0 -0
  41. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/il_version_1.xsd +0 -0
  42. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/__init__.py +0 -0
  43. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  44. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  45. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/il_translator.py +0 -0
  46. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
  47. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/layout_parser.py +0 -0
  48. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
  49. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/remove_descent.py +0 -0
  50. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  51. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/midend/table_parser.py +0 -0
  52. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/translator/__init__.py +0 -0
  53. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/translator/cache.py +0 -0
  54. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/translator/translator.py +0 -0
  55. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  56. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/utils/fontmap.py +0 -0
  57. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/utils/layout_helper.py +0 -0
  58. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  59. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/utils/style_helper.py +0 -0
  60. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/utils/zstd_helper.py +0 -0
  61. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/document_il/xml_converter.py +0 -0
  62. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/docvision/README.md +0 -0
  63. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/docvision/__init__.py +0 -0
  64. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/docvision/doclayout.py +0 -0
  65. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/docvision/rpc_doclayout.py +0 -0
  66. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  67. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/format/office/__init__.py +0 -0
  68. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/high_level.py +0 -0
  69. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/pdfinterp.py +0 -0
  70. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/progress_monitor.py +0 -0
  71. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/result_merger.py +0 -0
  72. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/split_manager.py +0 -0
  73. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/tools/generate_font_metadata.py +0 -0
  74. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/tools/italic_assistance.py +0 -0
  75. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/tools/italic_recognize_tool.py +0 -0
  76. {babeldoc-0.3.28 → babeldoc-0.3.29}/babeldoc/translation_config.py +0 -0
  77. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/CODE_OF_CONDUCT.md +0 -0
  78. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/CONTRIBUTOR_REWARD.md +0 -0
  79. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  80. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  81. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  82. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  83. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  84. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/README.md +0 -0
  85. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  86. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  87. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/README.md +0 -0
  88. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/deploy.sh +0 -0
  89. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-banner.png +0 -0
  90. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  91. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  92. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  93. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  94. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-big-logo.png +0 -0
  95. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  96. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-preview.gif +0 -0
  97. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  98. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  99. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/images/babeldoc-small-logo.png +0 -0
  100. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/index.md +0 -0
  101. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/intro-to-pdf-object.md +0 -0
  102. {babeldoc-0.3.28 → babeldoc-0.3.29}/docs/requirements.txt +0 -0
  103. {babeldoc-0.3.28 → babeldoc-0.3.29}/mkdocs.yml +0 -0
  104. {babeldoc-0.3.28 → babeldoc-0.3.29}/tests/test_translation_config.py +0 -0
@@ -13,6 +13,10 @@ body:
13
13
  required: true
14
14
  - label: I confirmed this is not caused by a network issue
15
15
  required: true
16
+ - label: I have fully read and understood the [README](https://github.com/funstory-ai/BabelDOC/blob/main/README.md)
17
+ required: true
18
+ - label: I am certain that this issue is with BabelDOC itself and can be reproduced through the BabelDOC cli
19
+ required: true
16
20
 
17
21
  - type: markdown
18
22
  attributes:
@@ -52,7 +52,7 @@ body:
52
52
  attributes:
53
53
  label: Contributor Checklist
54
54
  options:
55
- - label: I’ve read the **CONTRIBUTING.md** guide
55
+ - label: I’ve fully read and understood the **[CONTRIBUTING.md](https://funstory-ai.github.io/BabelDOC/CONTRIBUTING/)** guide
56
56
  required: true
57
57
  - label: My changes follow the project’s code style and guidelines
58
58
  required: true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BabelDOC
3
- Version: 0.3.28
3
+ Version: 0.3.29
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
@@ -306,6 +306,10 @@ report-interval = 0.5
306
306
  > 1. Before pdf2zh 2.0 is released, you can temporarily use BabelDOC's Python API. However, after pdf2zh 2.0 is released, please directly use pdf2zh's Python API.
307
307
  >
308
308
  > 2. This project's Python API does not guarantee any compatibility. However, the Python API from pdf2zh will guarantee a certain level of compatibility.
309
+ >
310
+ > 3. We do not provide any technical support for the BabelDOC API.
311
+ >
312
+ > 4. When performing secondary development, please refer to [pdf2zh 2.0 high level](https://github.com/awwaawwa/PDFMathTranslate/blob/v2-rc/pdf2zh/high_level.py) and ensure that BabelDOC runs in a subprocess.
309
313
 
310
314
  You can refer to the example in [main.py](https://github.com/funstory-ai/yadt/blob/main/babeldoc/main.py) to use BabelDOC's Python API.
311
315
 
@@ -257,6 +257,10 @@ report-interval = 0.5
257
257
  > 1. Before pdf2zh 2.0 is released, you can temporarily use BabelDOC's Python API. However, after pdf2zh 2.0 is released, please directly use pdf2zh's Python API.
258
258
  >
259
259
  > 2. This project's Python API does not guarantee any compatibility. However, the Python API from pdf2zh will guarantee a certain level of compatibility.
260
+ >
261
+ > 3. We do not provide any technical support for the BabelDOC API.
262
+ >
263
+ > 4. When performing secondary development, please refer to [pdf2zh 2.0 high level](https://github.com/awwaawwa/PDFMathTranslate/blob/v2-rc/pdf2zh/high_level.py) and ensure that BabelDOC runs in a subprocess.
260
264
 
261
265
  You can refer to the example in [main.py](https://github.com/funstory-ai/yadt/blob/main/babeldoc/main.py) to use BabelDOC's Python API.
262
266
 
@@ -0,0 +1 @@
1
+ __version__ = "0.3.29"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.3.28"
6
+ __version__ = "0.3.29"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -115,7 +115,7 @@ class TypesettingUnit:
115
115
  r"\u0500-\u052F" # Cyrillic Supplement
116
116
  r"\u0370-\u03FF" # Greek and Coptic
117
117
  r"\u2DE0-\u2DFF" # Cyrillic Extended-A
118
- r"\uA650-\uA69F" # Cyrillic Extended-B
118
+ r"\uA650-\uA69F" # Cyrillic Extended-B
119
119
  r"\u1200-\u137F" # Ethiopic
120
120
  r"\u1380-\u139F" # Ethiopic Supplement
121
121
  r"\u2D80-\u2DDF" # Ethiopic Extended
@@ -148,7 +148,7 @@ class TypesettingUnit:
148
148
  return True
149
149
 
150
150
  @property
151
- def is_chinese_char(self):
151
+ def is_cjk_char(self):
152
152
  if self.formular:
153
153
  return False
154
154
  unicode = self.try_get_unicode()
@@ -185,6 +185,30 @@ class TypesettingUnit:
185
185
  ]:
186
186
  return True
187
187
  if unicode:
188
+ if re.match(
189
+ r"^["
190
+ r"\u3000-\u303f" # CJK Symbols and Punctuation
191
+ r"\u3040-\u309f" # Hiragana
192
+ r"\u30a0-\u30ff" # Katakana
193
+ r"\u3100-\u312f" # Bopomofo
194
+ r"\uac00-\ud7af" # Hangul Syllables
195
+ r"\u1100-\u11ff" # Hangul Jamo
196
+ r"\u3130-\u318f" # Hangul Compatibility Jamo
197
+ r"\ua960-\ua97f" # Hangul Jamo Extended-A
198
+ r"\ud7b0-\ud7ff" # Hangul Jamo Extended-B
199
+ r"\u3190-\u319f" # Kanbun
200
+ r"\u3200-\u32ff" # Enclosed CJK Letters and Months
201
+ r"\u3300-\u33ff" # CJK Compatibility
202
+ r"\ufe30-\ufe4f" # CJK Compatibility Forms
203
+ r"\u4e00-\u9fff" # CJK Unified Ideographs
204
+ r"\u2e80-\u2eff" # CJK Radicals Supplement
205
+ r"\u31c0-\u31ef" # CJK Strokes
206
+ r"\u2f00-\u2fdf" # Kangxi Radicals
207
+ r"\ufe10-\ufe1f" # Vertical Forms
208
+ r"]+$",
209
+ unicode,
210
+ ):
211
+ return True
188
212
  try:
189
213
  unicodedata_name = unicodedata.name(unicode)
190
214
  return (
@@ -696,7 +720,7 @@ class Typesetting:
696
720
 
697
721
  if (
698
722
  last_unit # 有上一个单元
699
- and last_unit.is_chinese_char ^ unit.is_chinese_char # 中英文交界处
723
+ and last_unit.is_cjk_char ^ unit.is_cjk_char # 中英文交界处
700
724
  and (
701
725
  last_unit.box
702
726
  and last_unit.box.y
@@ -23,7 +23,7 @@ from babeldoc.translation_config import TranslationConfig
23
23
  from babeldoc.translation_config import WatermarkOutputMode
24
24
 
25
25
  logger = logging.getLogger(__name__)
26
- __version__ = "0.3.28"
26
+ __version__ = "0.3.29"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -39,6 +39,8 @@ Please pay special attention to:
39
39
  > You can contact the maintainers in the pdf2zh discussion group.
40
40
  >
41
41
  > Due to the current high rate of code changes, this project only accepts small PRs. If you would like to suggest a change and you include a patch as a proof-of-concept, that would be great. However, please do not be offended if we rewrite your patch from scratch.
42
+ >
43
+ > Please discuss with the maintainers in the [Issue](https://github.com/funstory-ai/BabelDOC/issues) before sending a PR.
42
44
 
43
45
  [//]: # (> We welcome pull requests and will review your contributions.)
44
46
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.3.28"
3
+ version = "0.3.29"
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.28"
153
+ current_version = "0.3.29"
154
154
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
155
155
 
156
156
  [bumpver.file_patterns]