> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CharParams Object (ICharParams Interface)

This object allows you to access different parameters of a single character in recognized text: its formatting, rectangle on the image, recognition language, and hypotheses of recognition. All the Boolean properties of a newly created object of this type are set to FALSE.

<Warning>
  If you wish to work with the parameters of a certain character in the recognized text, you must first call any of the functions that perform synthesis (e.g., the [Process](/fine-reader/engine/api-reference/document-related-objects/frdocument/process-method) or [Synthesize](/fine-reader/engine/api-reference/document-related-objects/frdocument/synthesize-method) method of the [FRDocument](/fine-reader/engine/api-reference/document-related-objects/frdocument) object), as these parameters become meaningful only after synthesis.
</Warning>

If the character is obtained from the text of a business card, only the following properties of the object are set:

* BaseLine
* Bottom
* Left
* Right
* Top
* IsSuspicious
* ErrorProbability
* CharacterRegion
* CharacterRecognitionVariantIndex
* CharacterRecognitionVariants
* SelectedCharacterRecognitionVariant
* WordRecognitionVariants
* IsFromSourceContent
* IsWordFirst
* IsWordLeftmost

## Properties

<table><thead><tr><th><p><strong>Name</strong></p></th><th><p><strong>Type</strong></p></th><th><p><strong>Description</strong></p></th></tr></thead><tbody><tr><td><p><strong>Application</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface">Engine</a></strong>, <a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">read-only</a></p></td><td><p>Returns the <strong>Engine</strong> object.</p></td></tr><tr><td colspan="3"><p><em>Character recognition language</em></p></td></tr><tr><td><p><a name="languageid" /><strong>LanguageId</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/enumerations/languageidenum">LanguageIdEnum</a></strong></p></td><td><p>Specifies the ID of the language of the character. To convert it to Win32 LCID use the <strong><a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/supplementary-methods/convertlanguageidtolcid-method">IEngine::ConvertLanguageIdToLCID</a></strong> method.</p><p>By default, this property is initialized with the system default language ID.</p></td></tr><tr><td><p><a name="languagename" /><strong>LanguageName</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">BSTR</a></strong></p></td><td><p>Stores and allows you to set internal name of the language for a character.</p><Note>If one <a href="/fine-reader/engine/guided-tour/advanced-techniques/working-with-languages#recognition_language_for_characters">base recognition language</a> corresponds to one recognized word, the LanguageName property for each character in this word is set to the internal name of the base language after recognition. If several base recognition languages correspond to one word (e.g., for bilingual compound words), the LanguageName property for the characters in this word is empty. While the LanguageId property contains the identifier of the base language no matter what the recognized word is.</Note><p>By default, the value of this property is an empty string.</p></td></tr><tr><td colspan="3"><p><em>Character coordinates</em></p></td></tr><tr><td><p><a name="characterregion" /><strong>CharacterRegion</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/supplementary-objects-and-methods/region">Region</a></strong></p></td><td><p>Specifies the character exact region. The region may not be rectangular and initially is contained in the rectangle defined by the <strong>Left</strong>, <strong>Top</strong>, <strong>Right</strong>, and <strong>Bottom</strong> properties. If you change the character exact region, the <strong>Left</strong>, <strong>Top</strong>, <strong>Right</strong>, and <strong>Bottom</strong> properties are not changed.</p><p>The property is only available after recognition with the <strong><a href="/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams#savecharacterregions">IRecognizerParams::SaveCharacterRegions</a></strong> property set to TRUE.</p><Note>The property returns a constant object. To change the character exact region, you must at first obtain an intermediate Region object using the <a href="/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods">IEngine::CreateRegion</a> method, change the necessary parameters, and then assign the obtained object to the property.</Note></td></tr><tr><td><p><a name="bottom" /><strong>Bottom</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong>, read-only</p></td><td><p>Stores the coordinate of the bottom border of the character rectangle. This rectangle is defined on image, not accounting for the text orientation. It may be undefined, in which case all four coordinates are zeros. This property cannot be changed directly but through the <strong>SetRect</strong> method.</p><p>The default value of this property is 0.</p></td></tr><tr><td><p><a name="left" /><strong>Left</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong>, read-only</p></td><td><p>Stores the coordinate of the left border of the character rectangle. This rectangle is defined on image, not accounting for the text orientation. It may be undefined, in which case all four of its coordinates are zeros. This property cannot be changed directly but through the <strong>SetRect</strong> method.</p><p>The default value of this property is 0.</p></td></tr><tr><td><p><a name="right" /><strong>Right</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong>, read-only</p></td><td><p>Stores the coordinate of the right border of the character rectangle. This rectangle is defined on image, not accounting for the text orientation. It may be undefined, in which case all four of its coordinate are zeros. This property cannot be changed directly but through the <strong>SetRect</strong> method.</p><p>The default value of this property is 0.</p></td></tr><tr><td><p><a name="top" /><strong>Top</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong>, read-only</p></td><td><p>Stores the coordinate of the top border of the character rectangle. This rectangle is defined on image, not accounting for the text orientation. It may be undefined, in which case all four of its coordinate are zeros. This property cannot be changed directly but through the <strong>SetRect</strong> method.</p><p>The default value of this property is 0.</p></td></tr><tr><td colspan="3"><p><em>Character position, scaling and spacing</em></p></td></tr><tr><td><p><a name="iswordleftmost" /><strong>IsWordLeftmost</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is the leftmost character in a word.</p><p>In complicated situations (such as two words not separated by a space or one word containing a punctuation mark without the spaces) this property may not work correctly. The recognizer may change the hypothesis about the number of words after the flags for characters were set.</p><p>This property is set during synthesis. If the property is called before the synthesis is completed it is FALSE by default.</p><Note>For <a href="/fine-reader/engine/guided-tour/advanced-techniques/recognizing-cjk-languages">Chinese, Japanese, or Korean</a> this property is unreliable, as the words are not detected.</Note></td></tr><tr><td><p><a name="iswordfirst" /><strong>IsWordFirst</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is the first character in a word.</p><p>This property is set during synthesis. If the property is called before the synthesis is completed it is FALSE by default.</p><p>Notes:</p><ul><li>For languages with right-to-left writing direction (e.g., Hebrew), this property will indicate the rightmost character in the word.</li><li>For <a href="/fine-reader/engine/guided-tour/advanced-techniques/recognizing-cjk-languages">Chinese, Japanese, or Korean</a> this property is unreliable, as the words are not detected.</li></ul></td></tr><tr><td><p><a name="baseline" /><strong>BaseLine</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong></p></td><td><p>Sets the shift of a character from the base line of the string in pixels. The base line of the string is defined by the <strong><a href="/fine-reader/engine/api-reference/text-related-objects/paragraphline#baseline">IParagraphLine::BaseLine</a></strong> property. This property is mainly used for the pictures embedded in text.</p><p>By default, the value of this property is 0.</p></td></tr><tr><td><p><a name="spacing" /><strong>Spacing</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong></p></td><td><p>Specifies additional spacing between characters in twips. Twip is 1/20 of point, and point is 1/72".</p><p>Default value of this property is 0.</p></td></tr><tr><td><p><a name="horizontalscale" /><strong>HorizontalScale</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong></p></td><td><p>Stores horizontal scaling for a character in 1/1000.</p><p>If the character is obtained from the text of a business card, this property has default value.</p><p>Default for this property is 1000, which corresponds to no scaling.</p></td></tr><tr><td colspan="3"><p><em>Character decoration</em></p></td></tr><tr><td><p><a name="color" /><strong>Color</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong></p></td><td><p>Sets the RGB value of the color for the symbol. Its background color is defined for the whole paragraph by the <strong><a href="/fine-reader/engine/api-reference/text-related-objects/paragraphparams#backgroundcolor">IParagraphParams::BackgroundColor</a></strong> property.</p><p>The value of this property can be -1, which means that the color is transparent.</p><Note>The int value is calculated from the RGB triplet using the formula: ( red value ) + (256 x green value ) + (65536 x blue value ), where red value is the first triplet component, green value is the second triplet component, blue value is the third triplet component. For example, the int value of the color white equals 16777215.</Note><p>By default, the text color is black or RGB(0,0,0).</p></td></tr><tr><td><p><a name="isbold" /><strong>IsBold</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is bold.</p><p>If the character is obtained from the text of a business card, this property has default value.</p><p>This property is FALSE by default.</p></td></tr><tr><td><p><a name="isitalic" /><strong>IsItalic</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is italic.</p><p>If the character is obtained from the text of a business card, this property has default value.</p><p>This property is FALSE by default.</p></td></tr><tr><td><p><a name="isunderlined" /><strong>IsUnderlined</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is underlined.</p><p>This property is FALSE by default.</p></td></tr><tr><td><p><a name="isstrikeout" /><strong>IsStrikeout</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is strikeout.</p><p>If the character is obtained from the text of a business card, this property has default value.</p><p>This property is FALSE by default.</p></td></tr><tr><td><p><a name="issubscript" /><strong>IsSubscript</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is subscript. It cannot be set to TRUE simultaneously with the <strong>IsSuperscript</strong> property, as this will lead to errors during recognized text export.</p><p>If the character is obtained from the text of a business card, this property has default value.</p><p>This property is FALSE by default.</p></td></tr><tr><td><p><a name="issuperscript" /><strong>IsSuperscript</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character is superscript. It cannot be set to TRUE simultaneously with the <strong>IsSubscript</strong> property, as this will lead to errors during recognized text export.</p><p>If the character is obtained from the text of a business card, this property has default value.</p><p>This property is FALSE by default.</p></td></tr><tr><td><p><a name="issmallcaps" /><strong>IsSmallCaps</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether the character has "small caps" style. This means that the small characters are displayed as small capitals.</p><p>This property is FALSE by default.</p></td></tr><tr><td colspan="3"><p><em>Font attributes</em></p></td></tr><tr><td><p><a name="fontname" /><strong>FontName</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">BSTR</a></strong>, read-only</p></td><td><p>Stores the name of the font for a character.  This property cannot be changed directly but via the <strong>SetFont</strong> method.</p><p>By default, this value is "Times New Roman".</p></td></tr><tr><td><p><a name="fontsize" /><strong>FontSize</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong></p></td><td><p>Specifies the height of the font of the character in twips. Twip is 1/20 of point, and point is 1/72".</p><p>Default value of this property corresponds to 10 points or 200 twips.</p></td></tr><tr><td><p><a name="fontstyle" /><strong>FontStyle</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/text-related-objects/fontstyle">FontStyle</a></strong></p></td><td><p>Provides access to the font style of the character.</p></td></tr><tr><td><p><a name="fonttype" /><strong>FontType</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/enumerations/fonttypeenum">FontTypeEnum</a></strong>, read-only</p></td><td><p>Stores the type of the font for a character. This property cannot be changed directly but via the <strong>SetFont</strong> method.</p><p>By default, this value is FT\_Unknown.</p></td></tr><tr><td colspan="3"><p><em>Character confidence and recognition variants</em></p></td></tr><tr><td><p><a name="issuspicious" /><strong>IsSuspicious</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Returns TRUE if the character was recognized unreliably. Use this property to determine whether verification is needed.</p><p>This property is calculated based on the <strong>ErrorProbability</strong> value and recognition settings. If you need to implement more fine-grained distinctions for verification, use <strong>ErrorProbability</strong> instead.</p><p>This property is FALSE by default.</p></td></tr><tr><td><p><a name="errorprobability" /><strong>ErrorProbability</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong>, read-only</p></td><td><p>Returns the estimated probability (in range from 0 to 100) that the character was recognized incorrectly.</p><p>The error probability takes into account the whole context, which is why it is only available for the result of recognition, not for every character recognition variant. To compare recognition variants to each other, use <strong><a href="/fine-reader/engine/api-reference/text-related-objects/characterrecognitionvariant#charconfidence">ICharacterRecognitionVariant::CharConfidence</a></strong>.</p><p>Error probability is not calculated for symbols obtained without recognition, for example, those taken directly from the source PDF file.</p></td></tr><tr><td><p><a name="characterrecognitionvariants" /><strong>CharacterRecognitionVariants</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/text-related-objects/characterrecognitionvariants">CharacterRecognitionVariants</a></strong>, <a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">read-only</a></p></td><td><p>Returns a collection of variants of character recognition.</p><p>The property contains zero for non-printable characters (spaces, carriage returns, etc.) and characters that were not recognized but added to the text during explicit editing. Zero is also returned if the text was recognized by one of the previous ABBYY FineReader Engine versions.</p><p>If the <strong><a href="/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams#savecharacterrecognitionvariants">IRecognizerParams::SaveCharacterRecognitionVariants</a></strong> property is set to FALSE the return collection contains one element; otherwise, the collection contains no less than one element and the variants are ordered from the best to the worst.</p></td></tr><tr><td><p><a name="characterrecognitionvariantindex" /><strong>CharacterRecognitionVariantIndex</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong>, read-only</p></td><td><p>Stores the index of the selected variant of character recognition in the <strong>CharacterRecognitionVariants</strong> collection.</p></td></tr><tr><td><p><a name="selectedcharacterrecognitionvariant" /><strong>SelectedCharacterRecognitionVariant</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/text-related-objects/characterrecognitionvariant">CharacterRecognitionVariant</a></strong>, <a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">read-only</a></p></td><td><p>Stores the selected variant of character recognition. It is the element with the index <strong>CharacterRecognitionVariantIndex</strong> in the collection of character recognition variants (the <strong>CharacterRecognitionVariants</strong> property).</p></td></tr><tr><td><p><a name="wordrecognitionvariants" /><strong>WordRecognitionVariants</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/text-related-objects/wordrecognitionvariants">WordRecognitionVariants</a></strong>, <a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties#readonly_properties">read-only</a></p></td><td><p>Returns a collection of recognition variants for the word to which the character belongs.</p><p>The property contains zero for non-printable characters (spaces, carriage returns, etc.) and characters that were not recognized but added to the text during explicit editing. Zero is also returned if the text was recognized by one of the previous ABBYY FineReader Engine versions.</p><p>If the <strong><a href="/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams#savewordrecognitionvariants">IRecognizerParams::SaveWordRecognitionVariants</a></strong> property is set to FALSE the return collection contains one element; otherwise, the collection contains no less than one element and the variants are ordered from the best to the worst, determined by the internal estimation mechanism.</p></td></tr><tr><td><p><a name="isfromsourcecontent" /><strong>IsFromSourceContent</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong>, read-only</p></td><td><p>Specifies whether the character has been extracted from the text content of the input file without recognition. For example, it can be extracted from a PDF file with a text layer.</p></td></tr><tr><td><p><a name="isproofed" /><strong>IsProofed</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>Specifies whether a spell-checking was performed upon this character. It is not used or set internally by ABBYY FineReader Engine and just provides you a framework for spelling.</p></td></tr></tbody></table>

## Methods

| Name                                                                                                                  | Description                                                                                           |
| --------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| [CopyFrom](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method) | Initializes properties of the current object with the values of similar properties of another object. |
| [SetFont](/fine-reader/engine/api-reference/text-related-objects/charparams/setfont-method)                           | Sets the new font for the symbol.                                                                     |
| [SetRect](/fine-reader/engine/api-reference/text-related-objects/charparams/setrect-method)                           | Sets the new rectangle for the symbol.                                                                |

## Related objects

<img src="https://mintcdn.com/abbyy/6udH-pkk8zkVafYH/images/fine-reader/engine/charparams.gif?s=fde76e03d613597b4c1aec9b20acf491" alt="CharParams" width="196" height="213" data-path="images/fine-reader/engine/charparams.gif" />[](/fine-reader/engine/api-reference/text-related-objects/wordrecognitionvariants)[](/fine-reader/engine/api-reference/text-related-objects/wordrecognitionvariant)[](/fine-reader/engine/api-reference/text-related-objects/characterrecognitionvariants)[](/fine-reader/engine/api-reference/text-related-objects/characterrecognitionvariant)[](/fine-reader/engine/api-reference/text-related-objects/characterrecognitionvariant)[](/fine-reader/engine/api-reference/text-related-objects/fontstyle)

[Object Diagram](/fine-reader/engine/api-reference/object-diagram)

## Output parameter

This object is the output parameter of the following methods:

* [CreateCharParams](/fine-reader/engine/api-reference/engine-object-iengine-interface/creation-methods/createlessobjectgreater-methods) method of the [Engine](/fine-reader/engine/api-reference/engine-object-iengine-interface) object
* [GetDropCapCharParams](/fine-reader/engine/api-reference/text-related-objects/paragraph/getdropcapcharparams-method) method of the [Paragraph](/fine-reader/engine/api-reference/text-related-objects/paragraph) object
* [GetCharParams](/fine-reader/engine/api-reference/document-related-objects/businesscardfield/getcharparams-method) method of the [BusinessCardField](/fine-reader/engine/api-reference/document-related-objects/businesscardfield) object
* [GetCharParams](/fine-reader/engine/api-reference/document-related-objects/businesscardfieldcomponent/getcharparams-method) method of the [BusinessCardFieldComponent](/fine-reader/engine/api-reference/document-related-objects/businesscardfieldcomponent) object
* [GetCharParams](/fine-reader/engine/api-reference/document-related-objects/mrzfield/getcharparams-method) method of the [MrzField](/fine-reader/engine/api-reference/document-related-objects/mrzfield) object

## Input parameter

This object is passed as an input parameter to the following methods:

* [GetCharParams](/fine-reader/engine/api-reference/text-related-objects/paragraph/getcharparams-method), [SetCharParams](/fine-reader/engine/api-reference/text-related-objects/paragraph/setcharparams-method), [Insert](/fine-reader/engine/api-reference/text-related-objects/paragraph/insert-method), [InsertParagraphBreak](/fine-reader/engine/api-reference/text-related-objects/paragraph/insertparagraphbreak-method) method of the [Paragraph](/fine-reader/engine/api-reference/text-related-objects/paragraph) object
* [GetCharParams](/fine-reader/engine/api-reference/text-related-objects/wordrecognitionvariant/getcharparams-method) method of the [WordRecognitionVariant](/fine-reader/engine/api-reference/text-related-objects/wordrecognitionvariant) object
* [Insert](/fine-reader/engine/api-reference/document-related-objects/mrzfield/insert-method) method of the [MrzField](/fine-reader/engine/api-reference/document-related-objects/mrzfield) object

## Samples

<Accordion title="C# code">
  ```csharp theme={null}
  int suspiciousCharsCount = 0;
  // Calculates the number of suspicious characters in a text block
  void computeStatisticsForBlock(FREngine.IBlock block)
  {
   if (block.Type == FREngine.BlockTypeEnum.BT_Text)
   {
    FREngine.ITextBlock textBlock = block.GetAsTextBlock();
    int paragraphsCount = textBlock.Text.Paragraphs.Count;
    for (int iPar = 0; iPar < paragraphsCount; iPar++)
    {
     FREngine.IParagraph par = textBlock.Text.Paragraphs[iPar];
     string text = par.Text;
     FREngine.ICharParams charParams = engine.CreateCharParams();
     for (int iChar = 0; iChar < text.Length; iChar++)
     {
      par.GetCharParams(iChar, charParams);
      if (charParams.IsSuspicious)
      {
       suspiciousCharsCount++;
      }
     }
    }
   }
  }
  ```
</Accordion>

The object is used in the following code samples: [RecognizedTextProcessing](/fine-reader/engine/guided-tour/samples#recognizedtextprocessing) (Win); and Windows demo tools: [Engine Predefined Processing Profiles](/fine-reader/engine/guided-tour/samples#engine_predefined_processing_profiles).

## See also

[Paragraph](/fine-reader/engine/api-reference/text-related-objects/paragraph)

[What is the difference between CharConfidence, ErrorProbability, and IsSuspicious?](/fine-reader/engine/frequently-asked-questions#suspicious)

[Working with Text](/fine-reader/engine/guided-tour/advanced-techniques/working-with-text)

[Working with Properties](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
