rel_textline(), repr_textline(), rep_textline()

extern KADMOS_ERROR KADMOS_API rel_textline
(const RelData *reldata, void *buffer, int buffsize,
unsigned char reject_level,
int reject_char, long text_format);
extern KADMOS_ERROR KADMOS_API repr_textline
(const RepResult *repdata, void *buffer, int buffsize,
unsigned char reject_level,
int reject_char, long text_format);
extern KADMOS_ERROR KADMOS_API rep_textline
(const RepData *repdata, int line_number, void *buffer,
int buffsize, unsigned char reject_level,
int reject_char, long text_format);

Parameter:

reldata, repdata
Pointer auf eine Struktur RelData oder RepData.
line_number
Zeilen-Nummer in der Datenstruktur.
buffer
Pointer auf einen Speicherbereich in den die Daten geschrieben werden sollen.
buffsize
Länge von buffer in Byte.
reject_level
Vertrauenswert, bis zu dem die Ausgabe eines Resultatzeichens erfolgen soll.
reject_char
Zeichen, das bei einer Rückweisung eingesetzt werden soll.
text_format
Ausgabeformat der Textzeile als TEXT_FORMAT_ANSI oder TEXT_FORMAT_KADMOS_MULTIBYTE.
TEXT_FORMAT_RELRESULT_INDICES liefert unter 'buffer' die Ausgabe-Reihenfolge der einzelnen erkannten Zeichen. Die Ergebnis-Graphen von rel_do() oder rep_do() sind immer so geordnet, dass die erkannten Zeichen von links nach recht angeordnet sind. Bei Zeichen mit Akzenten werden die Komponenten von oben nach unten ausgegeben. In Thai aber (z.B.) muss bei Texten immer erst das Hauptzeichen geschrieben werden, dann die oberen Akzente von unten nach oben, dann der untere Akzent. Die Funktionen re*_textline() machen das auch automatisch so. Nur brauchen manche Integratoren explizit etwa die Positionen der Zeichen und Akzente, müssen also auf die zugehörigen RelResult-Strukturen zugreifen. Das ermöglicht der Aufruf von re*_textline() mit dem Parameter TEXT_FORMAT_RELRESULT_INDICES.

Rückgabewert:

RE_SUCCESS oder KADMOS-Fehlertyp.

Bemerkung:

Diese Funktionen besetzt einen String mit den Erkennungs-Ergebnissen jeweils einer Zeile von re?_do(). Die Ausgabe erfolgt bei Verwendung von re?_textline() nach Beendigung der Funktion re?_do(), wobei bei Verwedung von rep_do() die Zeilen mit line_number angesprochen werden. Im Gegensatz zu rep_textline() können mit repr_textline() die Erkennungsresultate bereits verarbeitet werden, sobald rep_do() einzelne Zeilen erkannt hat. Es wird dabei nur die beste Segmentier-Alternative berücksichtigt, ebenso werden von alternativen Einzel-Resultaten nur die jeweils besten ausgewählt. Nicht erkannte Zeichen oder Zeichen mit einem Erkennungs-Wert (rec_value), der grösser als eine gegebenenfalls spezifizierte Rückweisungs-Schwelle (reject_level) ist, werden mit dem bei reject_char spezifizierten Zeichen ausgegeben.
Mit dem Parameter buffer_code kann bei verwendung der Funktion repr_textline() eine Code-Page angegeben werden, mit deren Zeichen die Ausgabe erfolgen soll. Wird keine spezielle Code-Page benötigt, so übernehme man die Einstellung aus rep.parm.

Verweise: