BabelDOC 0.5.2__tar.gz → 0.5.4__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 (312) hide show
  1. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/workflows/docs.yml +1 -1
  2. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/workflows/publish-to-pypi.yml +1 -1
  3. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/workflows/test.yml +1 -1
  4. {babeldoc-0.5.2 → babeldoc-0.5.4}/.gitignore +2 -1
  5. {babeldoc-0.5.2 → babeldoc-0.5.4}/PKG-INFO +1 -1
  6. babeldoc-0.5.4/babeldoc/__init__.py +1 -0
  7. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/const.py +1 -1
  8. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/babelpdf/base14.py +9 -0
  9. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/frontend/il_creater.py +15 -3
  10. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/automatic_term_extractor.py +12 -0
  11. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/il_translator.py +14 -0
  12. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/il_translator_llm_only.py +16 -0
  13. babeldoc-0.5.4/babeldoc/format/pdf/document_il/utils/paragraph_helper.py +94 -0
  14. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/main.py +1 -1
  15. {babeldoc-0.5.2 → babeldoc-0.5.4}/pyproject.toml +2 -2
  16. babeldoc-0.5.2/babeldoc/__init__.py +0 -1
  17. babeldoc-0.5.2/babeldoc/format/pdf/document_il/utils/paragraph_helper.py +0 -36
  18. {babeldoc-0.5.2 → babeldoc-0.5.4}/.cursorignore +0 -0
  19. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  20. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  21. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/PULL_REQUEST_TEMPLATE/pr_form.yml +0 -0
  22. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  23. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/dependabot.yml +0 -0
  24. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/labels.yml +0 -0
  25. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/release-drafter.yml +0 -0
  26. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/workflows/codeql.yml +0 -0
  27. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/workflows/labeler.yml +0 -0
  28. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/workflows/lint.yml +0 -0
  29. {babeldoc-0.5.2 → babeldoc-0.5.4}/.github/workflows/pr-lint.yml +0 -0
  30. {babeldoc-0.5.2 → babeldoc-0.5.4}/.pre-commit-config.yaml +0 -0
  31. {babeldoc-0.5.2 → babeldoc-0.5.4}/LICENSE +0 -0
  32. {babeldoc-0.5.2 → babeldoc-0.5.4}/README.md +0 -0
  33. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/assets/assets.py +0 -0
  34. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  35. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/asynchronize/__init__.py +0 -0
  36. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/babeldoc_exception/BabelDOCException.py +0 -0
  37. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/babeldoc_exception/__init__.py +0 -0
  38. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/README.md +0 -0
  39. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/__init__.py +0 -0
  40. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/base_doclayout.py +0 -0
  41. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/doclayout.py +0 -0
  42. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/rpc_doclayout.py +0 -0
  43. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/rpc_doclayout2.py +0 -0
  44. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/rpc_doclayout3.py +0 -0
  45. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/rpc_doclayout4.py +0 -0
  46. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/rpc_doclayout5.py +0 -0
  47. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/rpc_doclayout6.py +0 -0
  48. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/rpc_doclayout7.py +0 -0
  49. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  50. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/__init__.py +0 -0
  51. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/__init__.py +0 -0
  52. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/babelpdf/encoding.py +0 -0
  53. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/babelpdf/utils.py +0 -0
  54. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/converter.py +0 -0
  55. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/__init__.py +0 -0
  56. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/backend/__init__.py +0 -0
  57. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/backend/pdf_creater.py +0 -0
  58. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/frontend/__init__.py +0 -0
  59. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/il_version_1.py +0 -0
  60. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/il_version_1.rnc +0 -0
  61. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/il_version_1.rng +0 -0
  62. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/il_version_1.xsd +0 -0
  63. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/__init__.py +0 -0
  64. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/add_debug_information.py +0 -0
  65. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/detect_scanned_file.py +0 -0
  66. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/layout_parser.py +0 -0
  67. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/paragraph_finder.py +0 -0
  68. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/remove_descent.py +0 -0
  69. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/styles_and_formulas.py +0 -0
  70. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/table_parser.py +0 -0
  71. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/midend/typesetting.py +0 -0
  72. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/__init__.py +0 -0
  73. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/extract_char.py +0 -0
  74. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/fontmap.py +0 -0
  75. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/formular_helper.py +0 -0
  76. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/layout_helper.py +0 -0
  77. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/matrix_helper.py +0 -0
  78. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/mupdf_helper.py +0 -0
  79. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/spatial_analyzer.py +0 -0
  80. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/style_helper.py +0 -0
  81. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/utils/zstd_helper.py +0 -0
  82. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/document_il/xml_converter.py +0 -0
  83. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/high_level.py +0 -0
  84. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/pdfinterp.py +0 -0
  85. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/result_merger.py +0 -0
  86. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/split_manager.py +0 -0
  87. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/format/pdf/translation_config.py +0 -0
  88. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/glossary.py +0 -0
  89. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/LICENSE +0 -0
  90. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/__init__.py +0 -0
  91. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/_saslprep.py +0 -0
  92. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/arcfour.py +0 -0
  93. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/ascii85.py +0 -0
  94. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/casting.py +0 -0
  95. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/ccitt.py +0 -0
  96. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78-EUC-H.pickle.gz +0 -0
  97. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78-EUC-V.pickle.gz +0 -0
  98. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78-H.pickle.gz +0 -0
  99. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78-RKSJ-H.pickle.gz +0 -0
  100. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78-RKSJ-V.pickle.gz +0 -0
  101. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78-V.pickle.gz +0 -0
  102. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78ms-RKSJ-H.pickle.gz +0 -0
  103. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/78ms-RKSJ-V.pickle.gz +0 -0
  104. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/83pv-RKSJ-H.pickle.gz +0 -0
  105. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/83pv-RKSJ-V.pickle.gz +0 -0
  106. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/90ms-RKSJ-H.pickle.gz +0 -0
  107. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/90ms-RKSJ-V.pickle.gz +0 -0
  108. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/90msp-RKSJ-H.pickle.gz +0 -0
  109. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/90msp-RKSJ-V.pickle.gz +0 -0
  110. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/90pv-RKSJ-H.pickle.gz +0 -0
  111. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/90pv-RKSJ-V.pickle.gz +0 -0
  112. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Add-H.pickle.gz +0 -0
  113. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Add-RKSJ-H.pickle.gz +0 -0
  114. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Add-RKSJ-V.pickle.gz +0 -0
  115. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Add-V.pickle.gz +0 -0
  116. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/B5-H.pickle.gz +0 -0
  117. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/B5-V.pickle.gz +0 -0
  118. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/B5pc-H.pickle.gz +0 -0
  119. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/B5pc-V.pickle.gz +0 -0
  120. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/CNS-EUC-H.pickle.gz +0 -0
  121. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/CNS-EUC-V.pickle.gz +0 -0
  122. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/CNS1-H.pickle.gz +0 -0
  123. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/CNS1-V.pickle.gz +0 -0
  124. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/CNS2-H.pickle.gz +0 -0
  125. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/CNS2-V.pickle.gz +0 -0
  126. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/ETHK-B5-H.pickle.gz +0 -0
  127. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/ETHK-B5-V.pickle.gz +0 -0
  128. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/ETen-B5-H.pickle.gz +0 -0
  129. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/ETen-B5-V.pickle.gz +0 -0
  130. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/ETenms-B5-H.pickle.gz +0 -0
  131. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/ETenms-B5-V.pickle.gz +0 -0
  132. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/EUC-H.pickle.gz +0 -0
  133. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/EUC-V.pickle.gz +0 -0
  134. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Ext-H.pickle.gz +0 -0
  135. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Ext-RKSJ-H.pickle.gz +0 -0
  136. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Ext-RKSJ-V.pickle.gz +0 -0
  137. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Ext-V.pickle.gz +0 -0
  138. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GB-EUC-H.pickle.gz +0 -0
  139. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GB-EUC-V.pickle.gz +0 -0
  140. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GB-H.pickle.gz +0 -0
  141. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GB-V.pickle.gz +0 -0
  142. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBK-EUC-H.pickle.gz +0 -0
  143. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBK-EUC-V.pickle.gz +0 -0
  144. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBK2K-H.pickle.gz +0 -0
  145. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBK2K-V.pickle.gz +0 -0
  146. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBKp-EUC-H.pickle.gz +0 -0
  147. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBKp-EUC-V.pickle.gz +0 -0
  148. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBT-EUC-H.pickle.gz +0 -0
  149. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBT-EUC-V.pickle.gz +0 -0
  150. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBT-H.pickle.gz +0 -0
  151. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBT-V.pickle.gz +0 -0
  152. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBTpc-EUC-H.pickle.gz +0 -0
  153. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBTpc-EUC-V.pickle.gz +0 -0
  154. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBpc-EUC-H.pickle.gz +0 -0
  155. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/GBpc-EUC-V.pickle.gz +0 -0
  156. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/H.pickle.gz +0 -0
  157. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKdla-B5-H.pickle.gz +0 -0
  158. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKdla-B5-V.pickle.gz +0 -0
  159. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKdlb-B5-H.pickle.gz +0 -0
  160. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKdlb-B5-V.pickle.gz +0 -0
  161. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKgccs-B5-H.pickle.gz +0 -0
  162. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKgccs-B5-V.pickle.gz +0 -0
  163. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKm314-B5-H.pickle.gz +0 -0
  164. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKm314-B5-V.pickle.gz +0 -0
  165. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKm471-B5-H.pickle.gz +0 -0
  166. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKm471-B5-V.pickle.gz +0 -0
  167. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKscs-B5-H.pickle.gz +0 -0
  168. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/HKscs-B5-V.pickle.gz +0 -0
  169. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Hankaku-H.pickle.gz +0 -0
  170. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Hankaku-V.pickle.gz +0 -0
  171. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Hiragana-H.pickle.gz +0 -0
  172. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Hiragana-V.pickle.gz +0 -0
  173. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSC-EUC-H.pickle.gz +0 -0
  174. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSC-EUC-V.pickle.gz +0 -0
  175. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSC-H.pickle.gz +0 -0
  176. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSC-Johab-H.pickle.gz +0 -0
  177. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSC-Johab-V.pickle.gz +0 -0
  178. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSC-V.pickle.gz +0 -0
  179. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSCms-UHC-H.pickle.gz +0 -0
  180. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-H.pickle.gz +0 -0
  181. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSCms-UHC-HW-V.pickle.gz +0 -0
  182. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSCms-UHC-V.pickle.gz +0 -0
  183. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSCpc-EUC-H.pickle.gz +0 -0
  184. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/KSCpc-EUC-V.pickle.gz +0 -0
  185. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Katakana-H.pickle.gz +0 -0
  186. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Katakana-V.pickle.gz +0 -0
  187. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/NWP-H.pickle.gz +0 -0
  188. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/NWP-V.pickle.gz +0 -0
  189. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/README.txt +0 -0
  190. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/RKSJ-H.pickle.gz +0 -0
  191. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/RKSJ-V.pickle.gz +0 -0
  192. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Roman-H.pickle.gz +0 -0
  193. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/Roman-V.pickle.gz +0 -0
  194. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UCS2-H.pickle.gz +0 -0
  195. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UCS2-V.pickle.gz +0 -0
  196. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UTF16-H.pickle.gz +0 -0
  197. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UTF16-V.pickle.gz +0 -0
  198. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UTF32-H.pickle.gz +0 -0
  199. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UTF32-V.pickle.gz +0 -0
  200. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UTF8-H.pickle.gz +0 -0
  201. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniCNS-UTF8-V.pickle.gz +0 -0
  202. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UCS2-H.pickle.gz +0 -0
  203. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UCS2-V.pickle.gz +0 -0
  204. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UTF16-H.pickle.gz +0 -0
  205. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UTF16-V.pickle.gz +0 -0
  206. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UTF32-H.pickle.gz +0 -0
  207. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UTF32-V.pickle.gz +0 -0
  208. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UTF8-H.pickle.gz +0 -0
  209. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniGB-UTF8-V.pickle.gz +0 -0
  210. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UCS2-H.pickle.gz +0 -0
  211. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-H.pickle.gz +0 -0
  212. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UCS2-HW-V.pickle.gz +0 -0
  213. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UCS2-V.pickle.gz +0 -0
  214. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UTF16-H.pickle.gz +0 -0
  215. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UTF16-V.pickle.gz +0 -0
  216. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UTF32-H.pickle.gz +0 -0
  217. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UTF32-V.pickle.gz +0 -0
  218. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UTF8-H.pickle.gz +0 -0
  219. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS-UTF8-V.pickle.gz +0 -0
  220. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-H.pickle.gz +0 -0
  221. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS2004-UTF16-V.pickle.gz +0 -0
  222. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-H.pickle.gz +0 -0
  223. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS2004-UTF32-V.pickle.gz +0 -0
  224. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-H.pickle.gz +0 -0
  225. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJIS2004-UTF8-V.pickle.gz +0 -0
  226. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-H.pickle.gz +0 -0
  227. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJISX0213-UTF32-V.pickle.gz +0 -0
  228. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-H.pickle.gz +0 -0
  229. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniJISX02132004-UTF32-V.pickle.gz +0 -0
  230. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UCS2-H.pickle.gz +0 -0
  231. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UCS2-V.pickle.gz +0 -0
  232. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UTF16-H.pickle.gz +0 -0
  233. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UTF16-V.pickle.gz +0 -0
  234. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UTF32-H.pickle.gz +0 -0
  235. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UTF32-V.pickle.gz +0 -0
  236. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UTF8-H.pickle.gz +0 -0
  237. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/UniKS-UTF8-V.pickle.gz +0 -0
  238. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/V.pickle.gz +0 -0
  239. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/WP-Symbol-H.pickle.gz +0 -0
  240. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/WP-Symbol-V.pickle.gz +0 -0
  241. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/to-unicode-Adobe-CNS1.pickle.gz +0 -0
  242. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/to-unicode-Adobe-GB1.pickle.gz +0 -0
  243. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Japan1.pickle.gz +0 -0
  244. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmap/to-unicode-Adobe-Korea1.pickle.gz +0 -0
  245. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/cmapdb.py +0 -0
  246. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/converter.py +0 -0
  247. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/data_structures.py +0 -0
  248. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/encodingdb.py +0 -0
  249. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/fontmetrics.py +0 -0
  250. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/glyphlist.py +0 -0
  251. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/high_level.py +0 -0
  252. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/image.py +0 -0
  253. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/jbig2.py +0 -0
  254. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/latin_enc.py +0 -0
  255. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/layout.py +0 -0
  256. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/lzw.py +0 -0
  257. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdfcolor.py +0 -0
  258. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdfdevice.py +0 -0
  259. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdfdocument.py +0 -0
  260. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdfexceptions.py +0 -0
  261. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdffont.py +0 -0
  262. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdfinterp.py +0 -0
  263. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdfpage.py +0 -0
  264. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdfparser.py +0 -0
  265. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/pdftypes.py +0 -0
  266. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/psexceptions.py +0 -0
  267. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/psparser.py +0 -0
  268. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/py.typed +0 -0
  269. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/runlength.py +0 -0
  270. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/settings.py +0 -0
  271. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/pdfminer/utils.py +0 -0
  272. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/progress_monitor.py +0 -0
  273. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/tools/generate_font_metadata.py +0 -0
  274. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/tools/italic_assistance.py +0 -0
  275. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/tools/italic_recognize_tool.py +0 -0
  276. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/translator/__init__.py +0 -0
  277. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/translator/cache.py +0 -0
  278. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/translator/translator.py +0 -0
  279. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/utils/__init__.py +0 -0
  280. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/utils/atomic_integer.py +0 -0
  281. {babeldoc-0.5.2 → babeldoc-0.5.4}/babeldoc/utils/priority_thread_pool_executor.py +0 -0
  282. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/CODE_OF_CONDUCT.md +0 -0
  283. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/CONTRIBUTING.md +0 -0
  284. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/CONTRIBUTOR_REWARD.md +0 -0
  285. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  286. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  287. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  288. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  289. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  290. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/README.md +0 -0
  291. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  292. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  293. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/README.md +0 -0
  294. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/deploy.sh +0 -0
  295. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/example/demo_glossary.csv +0 -0
  296. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-banner.png +0 -0
  297. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  298. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  299. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  300. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  301. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-big-logo.png +0 -0
  302. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  303. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-preview.gif +0 -0
  304. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  305. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  306. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/images/babeldoc-small-logo.png +0 -0
  307. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/index.md +0 -0
  308. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/intro-to-pdf-object.md +0 -0
  309. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/requirements.txt +0 -0
  310. {babeldoc-0.5.2 → babeldoc-0.5.4}/docs/supported_languages.md +0 -0
  311. {babeldoc-0.5.2 → babeldoc-0.5.4}/mkdocs.yml +0 -0
  312. {babeldoc-0.5.2 → babeldoc-0.5.4}/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@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
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@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
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@d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1 # v6.5.0
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
@@ -44,4 +44,5 @@ uv.lock
44
44
  # Claude Code memory file
45
45
  CLAUDE.md
46
46
  /.claude
47
- babeldoc/format/playground
47
+ babeldoc/format/playground
48
+ temp.jpg
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BabelDOC
3
- Version: 0.5.2
3
+ Version: 0.5.4
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.5.4"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.5.2"
6
+ __version__ = "0.5.4"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -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"))
@@ -949,9 +958,12 @@ class ILCreater:
949
958
  y_max = y_max * factor
950
959
  ll = (char.bbox[0] + x_min, char.bbox[1] + y_min)
951
960
  ur = (char.bbox[0] + x_max, char.bbox[1] + y_max)
952
- pdf_char.visual_bbox = il_version_1.VisualBbox(
953
- il_version_1.Box(ll[0], ll[1], ur[0], ur[1])
954
- )
961
+
962
+ volume = (ur[0] - ll[0]) * (ur[1] - ll[1])
963
+ if volume > 1:
964
+ pdf_char.visual_bbox = il_version_1.VisualBbox(
965
+ il_version_1.Box(ll[0], ll[1], ur[0], ur[1])
966
+ )
955
967
 
956
968
  self.current_page.pdf_character.append(pdf_char)
957
969
 
@@ -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]
@@ -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
@@ -22,7 +22,7 @@ from babeldoc.translator.translator import OpenAITranslator
22
22
  from babeldoc.translator.translator import set_translate_rate_limiter
23
23
 
24
24
  logger = logging.getLogger(__name__)
25
- __version__ = "0.5.2"
25
+ __version__ = "0.5.4"
26
26
 
27
27
 
28
28
  def create_parser():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.5.2"
3
+ version = "0.5.4"
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.2"
165
+ current_version = "0.5.4"
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