timel 1 год назад
Родитель
Сommit
5fb849ceb3
2 измененных файлов с 12 добавлено и 13 удалено
  1. 5 7
      pdf2zh/converter.py
  2. 7 6
      pdf2zh/high_level.py

+ 5 - 7
pdf2zh/converter.py

@@ -44,8 +44,6 @@ from pymupdf import Font
 
 log = logging.getLogger(__name__)
 
-noto_name = "noto"
-
 
 class PDFConverterEx(PDFConverter):
     def __init__(
@@ -139,7 +137,7 @@ class TranslateConverter(PDFConverterEx):
         lang_in: str = "",
         lang_out: str = "",
         service: str = "",
-        resfont: str = "",
+        noto_name: str = "",
         noto: Font = None,
         envs: Dict = None,
         prompt: List = None,
@@ -149,7 +147,7 @@ class TranslateConverter(PDFConverterEx):
         self.vchar = vchar
         self.thread = thread
         self.layout = layout
-        self.resfont = resfont
+        self.noto_name = noto_name
         self.noto = noto
         self.translator: BaseTranslator = None
         param = service.split(":", 1)
@@ -360,7 +358,7 @@ class TranslateConverter(PDFConverterEx):
         ############################################################
         # C. 新文档排版
         def raw_string(fcur: str, cstk: str):  # 编码字符串
-            if fcur == noto_name:
+            if fcur == self.noto_name:
                 return "".join(["%04x" % self.noto.has_glyph(ord(c)) for c in cstk])
             elif isinstance(self.fontmap[fcur], PDFCIDFont):  # 判断编码长度
                 return "".join(["%04x" % ord(c) for c in cstk])
@@ -404,8 +402,8 @@ class TranslateConverter(PDFConverterEx):
                     except Exception:
                         pass
                     if fcur_ is None:
-                        fcur_ = self.resfont  # 默认非拉丁字体
-                    if fcur_ == noto_name: # FIXME: change to CONST
+                        fcur_ = self.noto_name  # 默认非拉丁字体
+                    if fcur_ == self.noto_name: # FIXME: change to CONST
                         adv = self.noto.char_lengths(ch, size)[0]
                     else:
                         adv = self.fontmap[fcur_].char_width(ord(ch)) * size

+ 7 - 6
pdf2zh/high_level.py

@@ -4,7 +4,6 @@ import asyncio
 import io
 import os
 import sys
-from tabnanny import verbose
 import tempfile
 import urllib.request
 from asyncio import CancelledError
@@ -21,10 +20,12 @@ from pdfminer.pdfpage import PDFPage
 from pdfminer.pdfparser import PDFParser
 from pymupdf import Document, Font
 
-from pdf2zh.converter import TranslateConverter, noto_name
+from pdf2zh.converter import TranslateConverter
 from pdf2zh.doclayout import OnnxModel
 from pdf2zh.pdfinterp import PDFPageInterpreterEx
 
+NOTO_NAME = "noto"
+
 noto_list = [
     "am",  # Amharic
     "ar",  # Arabic
@@ -69,7 +70,7 @@ def translate_patch(
     lang_in: str = "",
     lang_out: str = "",
     service: str = "",
-    resfont: str = "",
+    noto_name: str = "",
     noto: Font = None,
     callback: object = None,
     cancellation_event: asyncio.Event = None,
@@ -89,7 +90,7 @@ def translate_patch(
         lang_in,
         lang_out,
         service,
-        resfont,
+        noto_name,
         noto,
         envs,
         prompt,
@@ -175,9 +176,9 @@ def translate_stream(
     font_list = [("tiro", None)]
 
     font_path = download_remote_fonts(lang_out.lower())
-    resfont = noto_name
+    noto_name = NOTO_NAME
     noto = Font(noto_name, font_path)
-    font_list.append((resfont, font_path))
+    font_list.append((noto_name, font_path))
 
     doc_en = Document(stream=stream)
     stream = io.BytesIO()