OpenOffice Transfer Algorithm - What do the parameters mean?

I am watching aglorithm portable porting from the OpenOffice site, but I couldn’t understand what the rep , pos and cut parameter was for viewing the comment. Can someone tell me with knowledge what these options do? Here are the comments.

In this example, it seems that the expression ff can be replaced with one f , but what does this have to do with the carry?

Thank,


/*

int hnj_hyphen_hyphenate2(): non-standard hyphenation.

(It supports Catalan, Dutch, German, Hungarian, Norwegian, Swedish etc. orthography, see documentation.)

input data: word: input word word_size: byte length of the input word

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 zeroed buffers (size=word_size) or with NULL value) or NULL

output data: hyphens: hyphenation vector (hyphenation points signed with odd numbers) hyphenated_word: hyphenated input word (hyphens signed with ='), optional (NULL input) rep: NULL (only standard hyph.), or replacements (hyphenation points signed with=' 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,

: rep, pos, cut - ,       .

:  Schiffahrt -> Schiff = fahrt,  pattern: f1f/ff = f, 1,2  : rep [5] = "ff = f", pos [5] = 1, [5] = 2

: hnj_hyphen_hyphenate2() rep, pos, cut (word_size       ):

char ** rep = NULL;  int * pos = NULL;  int * cut = NULL;  char [MAXWORDLEN];  hnj_hyphen_hyphenate2 (dict, "example", 7, , NULL, & rep, & pos, & cut);

. .

*/

int hnj_hyphen_hyphenate2 (HyphenDict * dict,       const char * word, int word_size, char * ,       char * hyphenated_word, char * rep, int ** pos, int ** cut);

code>
+3
source share
1 answer

I suppose you are referring to the following comment:

// For example:
// Schiffahrt -> Schiff = fahrt,
// pattern: f1f / ff = f, 1,2
//  output: rep[5]="ff=f", pos[5] = 1, cut[5] = 2

, 1990- . , , "f" "Schifffahrt" ( "Schiff" "Fahrt" ), , ( "Schifffahrt" "Schiffahrt" ), .

, , 'ff' "f", "ff" "ff-f".

, :

  • rep: 'ff-f', 'ff'
  • pos: 1 , 5
  • cut: 2 , 2 .

, - .

+3

Source: https://habr.com/ru/post/1774407/


All Articles