ReSpellData
typedef struct ReSpellData_tag {
ReSpellInit init;
ReSpellParm parm;
short rel_graph_in_len;
short rel_result_in_len;
const RelGraph *rel_graph_in;
const RelResult *rel_result_in;
long rel_codepage;
KADMOS_ERROR (KADMOS_API *oem_spell_lookup)(const char *word, char *results, int results_size);
long oem_codepage;
char oem_wordchars[512];
short oem_reject_char;
short filler1[3];
const RelData *rel_repeat;
const RepData *rep_repeat;
RepResult *repr;
short rel_graph_out_len;
short rel_result_out_len;
short result_text_len;
short filler2;
RelGraph *rel_graph_out;
RelResult *rel_result_out;
void *result_text;
void *filler3;
} ReSpellData;
Elemente:
init
- Aktivieren des jeweiligen Wörterbuchs. Dieser Parameter ist vor dem Aufruf von
respell_init() zu setzen.
parm
- Die Arbeit des Moduls
RESPELL kann mit einer Vielzahl von Parametern gesteuert werden.
Diese Parameter sind in einer Struktur ReSpellParm zusammengefasst. Eine solche Struktur ist nun Bestandteil
der für den Aufruf des Moduls benötigten Datenstruktur ReSpellData und ist voreingestellt durch
respell_init().
rel_graph_in_len
- Anzahl der Elemente von
rel_graph_in.
rel_result_in_len
- Anzahl der Elemente von
rel_result_in.
*rel_graph_in
- An
respell_do() übergebener Eingabe-Graph.
*rel_result_in
- An
respell_do() übergebenes Feld rel_result. Die Kennungen unter
rec_char werden in der unter rel_codepage eingetragenen Codepage erwartet.
rel_codepage;
- Hier muss für
respell_do() die Codepage spezifiziert werden, in welcher die
Erkennungs-Resultate in rel_result_in kodiert sind. Üblicherweise ist dies die Codepage
reldata.parm.code aus einem vorangegangenen Aufruf von rel_do() oder die Codepage
repdata.parm.code aus einem vorangegangenen Aufruf von rep_do(). rel_result_out
und result_text werden von respell_do() ebenfalls in dieser Codepage bereitgestellt.
oem_spell_lookup
- Private oder von OEM verwendete Wörterbuch-Suchfunktion, Parameter dieser Funktion:
word = Wort für die Suche, results = Speicher f⇈r das Ergebnis,
results_size = Länge des Ergebnisses.
oem_codepage
- Die für das eigene Wörterbuch verwendete Codepage.
oem_wordchars
- alle Zeichen aller Wörter der privaten Rechtschreibprüfung.
oem_reject_char
- Das für den eigenen Spellchecker benötigte Rückweisungszeichen.
filler1
- 8 Byte Alignment.
rel_repeat, rep_repeat
- Beinhaltet die jeweilige Datenstruktur von
rel_do() bzw. rep_do().
Daher ist nur rel_repeat bei Verwendung von REL oder rep_repeat bei Verwendung
von REP zu verwenden. rel_do() bzw. rep_do() ist nach jedem unerkannten Wort
aus dem Wörterbuch erneut aufzurufen.
*repr
rep_result enthält einen Pointer auf ein Feld von Strukturen RepResult
mit dem Ergebnis von rep_repeat.
rel_graph_out_len
- Länge (Knotenanzahl) des von
respell_do() zurückgelieferten Resultat-Graphen
rel_graph_out.
rel_result_out_len
- Die Anzahl der eingetragenen Feldelemente des von
respell_do() zurückgelieferten Resultats.
result_text_len
- Länge (Zeichenanzahl) des von
respell_do() zurückgelieferten Resultat-Textes result_text.
filler2
- 8 Byte Alignment
rel_graph_out
- Sofern an dieser Stelle Speicherplatz bereitgestellt wurde (
rel_graph_out!=NULL,
rel_graph_out_maxlen>0) wird respell_do() hier den Ergebnis-Graphen eintragen. Die Anzahl
der eingetragenen Knoten wird unter rel_graph_out_len zurückgegeben. Die Grösse des bereitgestellten
Speicherplatzes sollte mindestens rel_graph_out_len*sizeof(RelGraph) betragen, ansonsten werden nicht
alle Resultate verfügbar.
rel_result_out
- Sofern an dieser Stelle Speicherplatz bereitgestellt wurde (
rel_result_out!=NULL,
rel_result_out_maxlen>0) wird respell_do() hier die zu rel_graph_out gehörigen
Ergebnisse RelResult eintragen. Die Anzahl der eingetragenen Feldelemente wird unter rel_result_out_len
zurückgegeben. Die Grösse des bereitgestellten Speicherplatzes sollte mindestens rel_result_out_len*sizeof(RelResult)
betragen, ansonsten werden nicht alle Resultate verfügbar. Für den Eintrag in rel_result_out wird die unter
rel_codepage spezifizierte Codepage verwendet.
result_text
- Sofern an dieser Stelle Speicherplatz bereitgestellt wurde (
result_text!=NULL,
result_text_maxlen >0) wird respell_do() hier den Ergebnis-Textstring bereitstellen.
Die Grösse des bereitgestellten Speicherplatzes sollte mindestens result_text_len*sizeof([w]char)
betragen, ansonsten wird das Ergebnis beschnitten. Für den Eintrag in result_text wird die unter
rel_codepage spezifizierte Codepage verwendet. Die oben beschriebenen Parameter reject_level,
reject_char und text_format steuern die Generierung von result_text
in gleicher Weise wie bei den Funktionen re*_textline().
filler3
- 8 Byte Alignment.
Verweise: