Freigeben über


Transliterationsdienste

Die ELS-Transliterationsdienste ordnen UTF-16-Text von einem Schreibsystem einem anderen Schreibsystem zu. Bei jedem Dienst handelt es sich tatsächlich um Daten, die auf einen bestimmten Satz von Eingabe- und Ausgabe-Unicode-Skripts angewendet werden, und die tatsächliche Transliteration ist intern auf der ELS-Plattform. Die Anwendung kann optional die verfügbaren Dienste für bestimmte Eingabe- und Ausgabeskripts auflisten und den benötigten Dienst auswählen.

Die Plattform verwaltet Metadaten für die ELS-Transliterationsdienste. Metadaten für jeden Dienst enthalten eine Beschreibung des Diensts und listet die Eingabe- und Ausgabeskripts auf, die der Dienst unterstützt. Die Metadaten werden durch eine MAPPING_SERVICE_INFO Struktur dargestellt , die von der MappingGetServices-Funktion abgerufen wird.

Eingabe in einen Transliterationsdienst

Die Eingabe für einen Transliterationsdienst ist UTF-16-Text in einem Schreibsystem.

Ausgabe eines Transliterationsdiensts

Die Ausgabe eines Transliterationsdiensts ist UTF-16-Text, der einem zweiten Schreibsystem zugeordnet ist. Wenn keine geeignete Transliterationszuordnung für einen bestimmten Teil des Eingabetextes verfügbar ist, bleibt der Block unverändert.

Transliterationsdienstvorgang

Ein Transliterationsdienst ordnet Unicode-Text aus einem Eingabeskript einem Ausgabeskript zu, Zeichen für Zeichen oder Ausdruck nach Bedarf. Die Anwendung kann den spezifischen Transliterationsdienst von Interesse durch Angeben von Eingabe- und Ausgabeskripts beim Aufrufen von MappingGetServices oder durch Bereitstellen der Dienst-GUID auswählen. Eine weitere Option für die Anwendung besteht darin, alle verfügbaren Transliterationsdienste aufzulisten, indem Sie beim Aufrufen von MappingGetServices die Dienstkategorie "Transliteration" angeben. In diesem Fall ruft die Anwendung jeden Dienst auf und vergleicht die Ergebnisse mit dem ursprünglichen Text, um festzustellen, ob die Ergebnisse durch den Vorgang eines bestimmten Diensts geändert wurden.

Die Anwendung kann die Texterkennung für einen ELS-Transliterationsdienst mit einem Aufruf von MappingRecognizeText anfordern. Wenn er die Anforderung empfängt, weist der Transliterationsdienst einen Puffer zu, der die transliterierten Daten enthält, und führt dann die Texterkennung für jeden Codepunkt in der von der Anwendung bereitgestellten Eingabezeichenfolge durch.

Hinweis

Der Originaltext und der transliterierte Text können unterschiedliche Längen aufweisen.

 

GUIDs des Transliterationsdiensts

Die GUIDs für die Transliterationsdienste werden in Elssrvc.h deklariert, wie im folgenden Code gezeigt.

// {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 } };

Informationen zu erweiterten Sprachdiensten