> ## 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.

# Reconocimiento de dígitos arábigos manuscritos

> Reconozca dígitos arábigos manuscritos en ABBYY FineReader Engine creando un idioma de texto personalizado con un alfabeto de 10 dígitos (٠١٢٣٤٥٦٧٨٩) y el tipo de texto TT_Handwritten.

ABBYY FineReader Engine no admite actualmente el ICR árabe. Sin embargo, sí es posible reconocer específicamente dígitos arábigos, y en este artículo se describen los pasos necesarios.

Además del procedimiento descrito en [Reconocimiento de texto manuscrito](/es/fine-reader/engine/guided-tour/advanced-techniques/recognizing-handwritten-texts), para reconocer dígitos arábigos debe crear un idioma personalizado con un alfabeto compuesto únicamente por 10 símbolos numéricos y establecerlo como idioma de reconocimiento para cada bloque con dígitos.

Por lo tanto, para reconocer dígitos arábigos manuscritos, haga lo siguiente:

1. Cree un nuevo idioma de texto mediante el método [CreateTextLanguage](/es/fine-reader/engine/api-reference/language-related-objects/languagedatabase/createtextlanguage-method) del objeto [LanguageDatabase](/es/fine-reader/engine/api-reference/language-related-objects/languagedatabase).
2. Mediante la propiedad [LetterSet](/es/fine-reader/engine/api-reference/language-related-objects/baselanguage/letterset-property) del objeto [BaseLanguage](/es/fine-reader/engine/api-reference/language-related-objects/baselanguage) dentro del objeto TextLanguage, establezca un alfabeto de idioma que contenga los siguientes caracteres: ٠١٢٣٤٥٦٧٨٩.
3. Para cada bloque que contenga dígitos arábigos manuscritos, especifique los parámetros de reconocimiento mediante la propiedad [ITextBlock::RecognizerParams](/es/fine-reader/engine/api-reference/layout-related-objects/textblock#recognizerparams):
   * Establezca la propiedad [TextLanguage](/es/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams#textlanguage) del objeto [RecognizerParams](/es/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams) con el idioma que creó en el paso anterior.
   * Establezca la propiedad [TextTypes](/es/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams#texttypes) del objeto RecognizerParams en TT\_Handwritten.
   * Si los dígitos están encerrados en un marco, recuadro, etc., configure el tipo de marca alrededor de los caracteres en la propiedad [FieldMarkingType](/es/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams#fieldmarkingtype) del objeto RecognizerParams. Si cada dígito está escrito en una celda independiente, use también la propiedad [CellsCount](/es/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams#cellscount) para configurar el número de celdas de caracteres del bloque.

<div id="windows-samples">
  ## Ejemplos de Windows
</div>

<Accordion title="Código C++ (COM)">
  ```cpp theme={null}
  // Objeto global de ABBYY FineReader Engine
  FREngine::IEnginePtr Engine;
  ...
  // Abrir un archivo de imagen
  ...
  // Crear un idioma personalizado
  FREngine::ILanguageDatabasePtr pLanguageDatabase = Engine->CreateLanguageDatabase();
  FREngine::ITextLanguagePtr pTextLanguage = pLanguageDatabase->CreateTextLanguage();
  FREngine::IBaseLanguagesPtr pBaseLanguages = pTextLanguage->BaseLanguages;
  FREngine::IBaseLanguagePtr pBaseLanguage = pBaseLanguages->AddNew();
  // Establecer el alfabeto
  pBaseLanguage->put_LetterSet( FREngine::BLLS_Alphabet, L"٠١٢٣٤٥٦٧٨٩" );
  // Obtener el objeto Layout de la página
  FREngine::ILayoutPtr layout = frPage->get_Layout();
  // Establecer la región del bloque
  FREngine::IRegionPtr pRegion = Engine->CreateRegion();
  pRegion->AddRect( 491, 314, 2268, 404 );
  // Crear un bloque
  FREngine::IBlockPtr newBlock = layout->Blocks->AddNew( FREngine::BT_Text, pRegion, 0 );
  FREngine::ITextBlockPtr textBlock = newBlock->GetAsTextBlock();
  // Establecer el idioma personalizado
  textBlock->RecognizerParams->TextLanguage = pTextLanguage;
  // Especificar el tipo de texto
  textBlock->RecognizerParams->TextTypes = FREngine::TT_Handwritten;
  // Especificar el tipo de marcado alrededor de las letras
  textBlock->RecognizerParams->FieldMarkingType = FREngine::FMT_SimpleText;
  // Reconocimiento y exportación
  ...
  ```
</Accordion>

<Accordion title="Código C#">
  ```csharp theme={null}
  // Objeto global de ABBYY FineReader Engine
  FREngine.IEngine engine;
  ...
  // Abrir un archivo de imagen
  ...
  // Crear un idioma personalizado
  FREngine.ILanguageDatabase languageDatabase = engine.CreateLanguageDatabase();
  FREngine.ITextLanguage textLanguage = languageDatabase.CreateTextLanguage();
  FREngine.IBaseLanguages baseLanguages = textLanguage.BaseLanguages;
  FREngine.IBaseLanguage baseLanguage = baseLanguages.AddNew();
  // Establecer el alfabeto
  baseLanguage.set_LetterSet( FREngine.BaseLanguageLetterSetEnum.BLLS_Alphabet, "٠١٢٣٤٥٦٧٨٩" );
  // Obtener el objeto Layout de la página
  FREngine.ILayout layout = frPage.Layout;
  // Establecer la región del bloque
  FREngine.IRegion region = engine.CreateRegion();
  region.AddRect( 491, 314, 2268, 404 );
  // Crear un bloque
  FREngine.IBlock newBlock = layout.Blocks.AddNew( FREngine.BlockTypeEnum.BT_Text, region, 0 );
  FREngine.ITextBlock textBlock = newBlock.GetAsTextBlock();
  // Establecer el idioma personalizado
  textBlock.RecognizerParams.TextLanguage = textLanguage;
  // Especificar el tipo de texto
  textBlock.RecognizerParams.TextTypes = (int)FREngine.TextTypeEnum.TT_Handwritten;
  // Especificar el tipo de marcado alrededor de las letras
  textBlock.RecognizerParams.FieldMarkingType = FREngine.FieldMarkingTypeEnum.FMT_SimpleText;
  // Reconocimiento y exportación
  ...
  ```
</Accordion>

<div id="see-also">
  ## Consulte también
</div>

[RecognizerParams](/es/fine-reader/engine/api-reference/parameter-objects/preprocessing-analysis-recognition-and-synthesis-parameters/recognizerparams)

[Reconocimiento de texto manuscrito](/es/fine-reader/engine/guided-tour/advanced-techniques/recognizing-handwritten-texts)

[Uso de idiomas](/es/fine-reader/engine/guided-tour/advanced-techniques/working-with-languages)
