Add manual language support to engines, make text fullwidth only for JP and CN, replace RapidOCR support with latest 3.4.0/PPv5

This commit is contained in:
AuroraWright
2025-10-05 19:55:59 +02:00
parent bc70c6869d
commit 5fa0b9a685
5 changed files with 109 additions and 40 deletions

View File

@@ -917,9 +917,15 @@ def run():
for _,engine_class in sorted(inspect.getmembers(sys.modules[__name__], lambda x: hasattr(x, '__module__') and x.__module__ and __package__ + '.ocr' in x.__module__ and inspect.isclass(x) and hasattr(x, 'name'))):
if len(config_engines) == 0 or engine_class.name in config_engines:
if config.get_engine(engine_class.name) == None:
engine_instance = engine_class()
if engine_class.manual_language:
engine_instance = engine_class(language=config.get_general('language'))
else:
engine_instance = engine_class()
else:
engine_instance = engine_class(config.get_engine(engine_class.name))
if engine_class.manual_language:
engine_instance = engine_class(config=config.get_engine(engine_class.name), language=config.get_general('language'))
else:
engine_instance = engine_class(config=config.get_engine(engine_class.name))
if engine_instance.available:
engine_instances.append(engine_instance)