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.
Files changed (99) hide show
  1. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/ISSUE_TEMPLATE/bug_report.yaml +1 -1
  2. {babeldoc-0.3.7 → babeldoc-0.3.9}/PKG-INFO +1 -1
  3. babeldoc-0.3.9/babeldoc/__init__.py +1 -0
  4. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/const.py +1 -1
  5. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/converter.py +1 -8
  6. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/frontend/il_creater.py +3 -1
  7. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/paragraph_finder.py +1 -1
  8. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/typesetting.py +1 -0
  9. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/main.py +1 -1
  10. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/pdfinterp.py +1 -0
  11. {babeldoc-0.3.7 → babeldoc-0.3.9}/pyproject.toml +2 -2
  12. {babeldoc-0.3.7 → babeldoc-0.3.9}/uv.lock +1 -1
  13. babeldoc-0.3.7/babeldoc/__init__.py +0 -1
  14. {babeldoc-0.3.7 → babeldoc-0.3.9}/.cursorignore +0 -0
  15. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  16. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
  17. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/dependabot.yml +0 -0
  18. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/labels.yml +0 -0
  19. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/release-drafter.yml +0 -0
  20. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/codeql.yml +0 -0
  21. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/docs.yml +0 -0
  22. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/labeler.yml +0 -0
  23. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/publish-to-pypi.yml +0 -0
  24. {babeldoc-0.3.7 → babeldoc-0.3.9}/.github/workflows/test.yml +0 -0
  25. {babeldoc-0.3.7 → babeldoc-0.3.9}/.gitignore +0 -0
  26. {babeldoc-0.3.7 → babeldoc-0.3.9}/.pre-commit-config.yaml +0 -0
  27. {babeldoc-0.3.7 → babeldoc-0.3.9}/LICENSE +0 -0
  28. {babeldoc-0.3.7 → babeldoc-0.3.9}/README.md +0 -0
  29. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/assets/assets.py +0 -0
  30. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  31. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/asynchronize/__init__.py +0 -0
  32. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/__init__.py +0 -0
  33. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  34. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/backend/__init__.py +0 -0
  35. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  36. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/frontend/__init__.py +0 -0
  37. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.py +0 -0
  38. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.rnc +0 -0
  39. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.rng +0 -0
  40. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/il_version_1.xsd +0 -0
  41. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/__init__.py +0 -0
  42. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  43. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  44. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/il_translator.py +0 -0
  45. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
  46. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/layout_parser.py +0 -0
  47. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/remove_descent.py +0 -0
  48. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  49. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/midend/table_parser.py +0 -0
  50. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/translator/__init__.py +0 -0
  51. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/translator/cache.py +0 -0
  52. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/translator/translator.py +0 -0
  53. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  54. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/fontmap.py +0 -0
  55. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/layout_helper.py +0 -0
  56. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  57. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/utils/style_helper.py +0 -0
  58. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/document_il/xml_converter.py +0 -0
  59. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/README.md +0 -0
  60. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/__init__.py +0 -0
  61. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/doclayout.py +0 -0
  62. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/rpc_doclayout.py +0 -0
  63. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  64. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/high_level.py +0 -0
  65. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/progress_monitor.py +0 -0
  66. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/result_merger.py +0 -0
  67. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/split_manager.py +0 -0
  68. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/tools/generate_font_metadata.py +0 -0
  69. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/tools/italic_assistance.py +0 -0
  70. {babeldoc-0.3.7 → babeldoc-0.3.9}/babeldoc/translation_config.py +0 -0
  71. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/CODE_OF_CONDUCT.md +0 -0
  72. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/CONTRIBUTING.md +0 -0
  73. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/CONTRIBUTOR_REWARD.md +0 -0
  74. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  75. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  76. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  77. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  78. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  79. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/README.md +0 -0
  80. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  81. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  82. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/README.md +0 -0
  83. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/deploy.sh +0 -0
  84. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-banner.png +0 -0
  85. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  86. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  87. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  88. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  89. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-big-logo.png +0 -0
  90. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  91. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-preview.gif +0 -0
  92. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  93. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  94. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/images/babeldoc-small-logo.png +0 -0
  95. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/index.md +0 -0
  96. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/intro-to-pdf-object.md +0 -0
  97. {babeldoc-0.3.7 → babeldoc-0.3.9}/docs/requirements.txt +0 -0
  98. {babeldoc-0.3.7 → babeldoc-0.3.9}/mkdocs.yml +0 -0
  99. {babeldoc-0.3.7 → babeldoc-0.3.9}/tests/test_translation_config.py +0 -0
@@ -69,7 +69,7 @@ body:
69
69
  validations:
70
70
  required: false
71
71
 
72
- - type: file
72
+ - type: textarea
73
73
  id: pdf
74
74
  attributes:
75
75
  label: Original PDF File
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BabelDOC
3
- Version: 0.3.7
3
+ Version: 0.3.9
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
@@ -0,0 +1 @@
1
+ __version__ = "0.3.9"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.3.7"
6
+ __version__ = "0.3.9"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
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
- font_name = font.fontname
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[font_name] = font_id
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):
@@ -111,6 +111,7 @@ class TypesettingUnit:
111
111
  r"\uAB30-\uAB6F" # Latin Extended E
112
112
  r"\u0250-\u02A0" # IPA Extensions
113
113
  r"\u0400-\u04FF" # Cyrillic
114
+ r"'"
114
115
  r"]+$",
115
116
  unicode,
116
117
  ):
@@ -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.7"
26
+ __version__ = "0.3.9"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -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.7"
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.7"
151
+ current_version = "0.3.9"
152
152
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
153
153
 
154
154
  [bumpver.file_patterns]
@@ -48,7 +48,7 @@ wheels = [
48
48
 
49
49
  [[package]]
50
50
  name = "babeldoc"
51
- version = "0.3.7"
51
+ version = "0.3.9"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -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