Jelajahi Sumber

Merge pull request #847 from myhloli/dev

fix(dict2md): improve text concatenation logic
Xiaomeng Zhao 1 tahun lalu
induk
melakukan
314f1637a2
1 mengubah file dengan 5 tambahan dan 2 penghapusan
  1. 5 2
      magic_pdf/dict2md/ocr_mkcontent.py

+ 5 - 2
magic_pdf/dict2md/ocr_mkcontent.py

@@ -145,7 +145,8 @@ def merge_para_with_text(para_block):
             elif span_type == ContentType.InterlineEquation:
                 content = f"\n$$\n{span['content']}\n$$\n"
 
-            if content.strip() != '':
+            content = content.strip()
+            if content != '':
                 langs = ['zh', 'ja', 'ko']
                 if line_lang in langs:  # 遇到一些一个字一个span的文档,这种单字语言判断不准,需要用整行文本判断
                     if span_type in [ContentType.Text, ContentType.InterlineEquation]:
@@ -157,8 +158,10 @@ def merge_para_with_text(para_block):
                         # 如果是前一行带有-连字符,那么末尾不应该加空格
                         if __is_hyphen_at_line_end(content):
                             para_text += content[:-1]
+                        elif len(content) == 1 and content not in ['A', 'I', 'a', 'i']:
+                            para_text += content
                         else:  # 西方文本语境下 content间需要空格分隔
-                            para_text += f"{content.strip()} "
+                            para_text += f"{content} "
                     elif span_type == ContentType.InterlineEquation:
                         para_text += content
             else: