What settings can I set (or execute some code) to improve font recognition when using local (not cloud) ABBYY FREngine 11 SDK (Java API)?

asked 06 Aug '15, 18:42

Zmiter's gravatar image

Zmiter
135


ABBYY FineReader Engine 11 detects font parameters at the stage of document synthesis. Depending on your usage scenario you can set the corresponding parameters of document synthesis with the help of the parameters objects. The SynthesisParamsForDocument object allows you to specify the fonts that will be used for reproducing different font types in the recognized text. Please refer to Developer’s Help → API Reference → Parameter Objects → Preprocessing, Analysis, Recognition, and Synthesis Parameter → SynthesisParamsForDocument and FontFormattingDetectionParams.

Also note that by default for European languages FineReader Engine uses limited set of fonts: Times New Roman, Arial and Courier. You can enlarge the list of the fonts for FineReader Engine using the FontSet object.

link

answered 07 Aug '15, 09:19

Oksana%20Serdyuk's gravatar image

Oksana Serdyuk ♦♦
1.5k16

That is helpful! I assume that to detect desired font before document processing I should add it to the set of fonts for detection. But how can I do it?

// get somewhere font params of class IFontFormattingDetectionParams ?

ISynthesisParamsForDocument synParams = engine.CreateSynthesisParamsForDocument();
synParams.setFontFormattingDetectionParams(fontParams);
synParams.setDetectFontFormatting(true);
document.Synthesize(synParams);
document.Process(null);

(07 Aug '15, 15:46) Zmiter

Please use the FontSet object (SynthesisParamsForDocument::FontSet) to enlarge the list of the fonts for FineReader Engine 11. For more information please refer to Help→API Reference→Parameter Objects→Preprocessing, analysis, recognition, and synthesis parameters→FontSet Object.

(07 Aug '15, 17:42) Anna Falevskaya ♦♦

:( I did this but it still says it was "Times New Roman"
ISynthesisParamsForDocument synParams = engine.CreateSynthesisParamsForDocument();
synParams.getFontSet().getSystemFontSet().setFontNamesCustomFilter(FONT_NAME); synParams.getFontFormattingDetectionParams().setDetectFontFamily(true); synParams.setDetectFontFormatting(true);
document.Synthesize(synParams);
document.Process(null);
I also tried to specify the "customFontSet" and specify it's folder but "Times New Roman" doesn't want to go away

(07 Aug '15, 18:02) Zmiter

The Process method include the synthesis stage. When you call it with null parameter after document.Synthesize(synParams); the program re-processes your image with the default values once again.

(07 Aug '15, 18:16) Oksana Serdyuk ♦♦

Thanks a lot!

(07 Aug '15, 19:48) Zmiter
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×48
×11
×6

Asked: 06 Aug '15, 18:42

Seen: 1,179 times

Last updated: 07 Aug '15, 19:48

© 2016 ABBYY. All rights Reserved. www.ABBYY.com | Privacy Policy | Legal