Partager via


Services de translittération

Les services de translittération ELS mappent du texte UTF-16 d’un système d’écriture à un autre système d’écriture. Chaque service est vraiment des données qui s’appliquent à un ensemble spécifique de scripts Unicode d’entrée et de sortie, et la translittération réelle est interne à la plateforme ELS. L’application peut éventuellement énumérer les services disponibles pour des scripts d’entrée et de sortie spécifiques, puis sélectionner le service dont elle a besoin.

La plateforme gère les métadonnées des services de translittération ELS. Les métadonnées de chaque service fournissent une description du service et répertorient les scripts d’entrée et de sortie pris en charge par le service. Les métadonnées sont représentées par une structure de MAPPING_SERVICE_INFO récupérée par la fonction MappingGetServices.

Entrée dans un service de translittération

L’entrée d’un service de translittération est du texte UTF-16 dans un système d’écriture.

Sortie d’un service de translittération

La sortie d’un service de translittération est un texte UTF-16 mappé à un deuxième système d’écriture. Si aucun mappage de translittération approprié n’est disponible pour un bloc donné du texte d’entrée, le bloc reste inchangé.

Opération de service de translittération

Un service de translittération mappe le texte Unicode d’un script d’entrée à un script de sortie, un caractère par caractère ou un terme par terme, selon le cas. L’application peut choisir d’obtenir le service de translittération spécifique d’intérêt en spécifiant des scripts d’entrée et de sortie lors de l’appel de MappingGetServices, ou en fournissant le GUID de service. Une autre option pour l’application consiste à énumérer tous les services de translittération disponibles en spécifiant la catégorie de service « Transliteration » lors de l’appel MappingGetServices. Dans ce cas, l’application appelle chaque service et compare les résultats avec le texte d’origine pour voir si les résultats ont été modifiés par l’opération d’un service particulier.

L’application peut demander la reconnaissance de texte pour un service de translittération ELS avec un appel à MappingRecognizeText. Lorsqu’il reçoit la requête, le service de translittération alloue une mémoire tampon pour contenir les données translittérées, puis effectue la reconnaissance de texte pour chaque point de code dans la chaîne d’entrée fournie par l’application.

Note

Le texte d’origine et le texte translittéré peuvent avoir des longueurs différentes.

 

GUID du service de translittération

Les GUID des services de translittération sont déclarés dans Elssrvc.h, comme indiqué dans le code suivant.

// {A3A8333B-F4FC-42f6-A0C4-0462FE7317CB}
static const GUID ELS_GUID_TRANSLITERATION_HANT_TO_HANS =
    { 0xA3A8333B, 0xF4FC, 0x42f6, { 0xA0, 0xC4, 0x04, 0x62, 0xFE, 0x73, 0x17, 0xCB } };

// {3CACCDC8-5590-42dc-9A7B-B5A6B5B3B63B}
static const GUID ELS_GUID_TRANSLITERATION_HANS_TO_HANT =
    { 0x3CACCDC8, 0x5590, 0x42dc, { 0x9A, 0x7B, 0xB5, 0xA6, 0xB5, 0xB3, 0xB6, 0x3B } };

// {D8B983B1-F8BF-4a2b-BCD5-5B5EA20613E1}
static const GUID ELS_GUID_TRANSLITERATION_MALAYALAM_TO_LATIN =
    { 0xD8B983B1, 0xF8BF, 0x4a2b, { 0xBC, 0xD5, 0x5B, 0x5E, 0xA2, 0x06, 0x13, 0xE1 } };

// {C4A4DCFE-2661-4d02-9835-F48187109803}
static const GUID ELS_GUID_TRANSLITERATION_DEVANAGARI_TO_LATIN =
    { 0xC4A4DCFE, 0x2661, 0x4d02, { 0x98, 0x35, 0xF4, 0x81, 0x87, 0x10, 0x98, 0x03 } };

// {3DD12A98-5AFD-4903-A13F-E17E6C0BFE01}
static const GUID ELS_GUID_TRANSLITERATION_CYRILLIC_TO_LATIN =
    { 0x3DD12A98, 0x5AFD, 0x4903, { 0xA1, 0x3F, 0xE1, 0x7E, 0x6C, 0x0B, 0xFE, 0x01 } };

// {F4DFD825-91A4-489f-855E-9AD9BEE55727}
static const GUID ELS_GUID_TRANSLITERATION_BENGALI_TO_LATIN =
    { 0xF4DFD825, 0x91A4, 0x489f, { 0x85, 0x5E, 0x9A, 0xD9, 0xBE, 0xE5, 0x57, 0x27 } };

à propos des services linguistiques étendus