Я смотрю аглоритм переноса слов, загруженный с сайта OpenOffice, но не могу понять, для чего предназначен параметр rep , pos и cut после просмотра комментария.Может ли кто-нибудь со знанием сказать мне, что делают эти параметры?Вот комментарии.
Из примера кажется, что он говорит, что ff можно заменить одним f , но какое это имеет отношение к переносу слов??
Спасибо,
<code>
/*</p>
<p>int hnj_hyphen_hyphenate2(): non-standard hyphenation.</p>
<p>(It supports Catalan, Dutch, German, Hungarian, Norwegian, Swedish
etc. orthography, see documentation.)</p>
<p>input data:
word: input word
word_size: byte length of the input word</p>
<p>hyphens: allocated character buffer (size = word_size + 5)
hyphenated_word: allocated character buffer (size ~ word_size * 2) or NULL
rep, pos, cut: pointers (point to the allocated and <em>zeroed</em> buffers
(size=word_size) or with NULL value) or NULL</p>
<p>output data:
hyphens: hyphenation vector (hyphenation points signed with odd numbers)
hyphenated_word: hyphenated input word (hyphens signed with <code>='),
optional (NULL input)
rep: NULL (only standard hyph.), or replacements (hyphenation points
signed with</code>=' in replacements);
pos: NULL, or difference of the actual position and the beginning
positions of the change in input words;
cut: NULL, or counts of the removed characters of the original words
at hyphenation,</p>
<p>Note: rep, pos, cut are complementary arrays to the hyphens, indexed with the
character positions of the input word.</p>
<p>For example:
Schiffahrt -> Schiff=fahrt,
pattern: f1f/ff=f,1,2
output: rep[5]="ff=f", pos[5] = 1, cut[5] = 2</p>
<p>Note: hnj_hyphen_hyphenate2() can allocate rep, pos, cut (word_size
length arrays):</p>
<p>char ** rep = NULL;
int * pos = NULL;
int * cut = NULL;
char hyphens[MAXWORDLEN];
hnj_hyphen_hyphenate2(dict, "example", 7, hyphens, NULL, &rep, &pos, &cut);</p>
<p>See example in the source distribution.</p>
<p>*/</p>
<p>int hnj_hyphen_hyphenate2 (HyphenDict *dict,
const char *word, int word_size, char * hyphens,
char *hyphenated_word, char <em>*</em> rep, int ** pos, int ** cut);