Freigeben über


Transliterationsdienste

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

Die Plattform verwaltet Metadaten für die ELS-Transliterationsdienste. Metadaten für jeden Dienst bieten 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 für einen bestimmten Teil des Eingabetexts keine entsprechende Transliterationszuordnung verfügbar ist, bleibt der Block unverändert.

Transliterationsdienst-Vorgang

Ein Transliterationsdienst ordnet Unicode-Text von einem Eingabeskript zu einem Ausgabeskript, Zeichen nach Zeichen oder Ausdruck nach Bedarf zu. Die Anwendung kann sich entscheiden, den spezifischen Transliterationsdienst von Interesse zu erhalten, indem Sie Eingabe- und Ausgabeskripts angeben, wenn sie MappingGetServicesaufrufen oder die Dienst-GUID bereitstellen. Eine weitere Option für die Anwendung besteht darin, alle verfügbaren Transliterationsdienste aufzählen zu können, indem die Dienstkategorie "Transliteration" angegeben wird, wenn MappingGetServicesaufgerufen wird. 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 MappingRecognizeTextanfordern. Wenn sie 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 aus.

Anmerkung

Der ursprüngliche Text und der transliterierte Text können unterschiedliche Längen aufweisen.

 

Transliterationsdienst-GUIDs

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

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

Über erweiterte Sprachdienste