The best way to get the recognition result of a line is calling the rel_textline function. It gives the most likely result respecting all options, the context, the positions and others. If you are interested in all other alternatives too, you may find all information about them in the rel_graph and rel_result fields of the RelData structure.
The reason for different recognition results lies not only in different results for single characters but also in different possibilities of segmentation of touching characters. Therefore it is not possible to report all possibilities linearly, they are arranged in a graph. You find this graph in the field rel_graph. Each knot is a RelGraph structure and denotes a possible cut. It respects up to 4 alternatives, any alternative is described by an intervall up to the next cut and the recognition result for the character over this intervall. An intervall i (i=0,1,2,3) is defined by the next cut next[i], where next[i] is the index of the corresponding knot or -1, respectively, if the intervall ends with the line. The recognition result belonging to the knot i is a RelResult structure, it is a member of the rel_result field with the index result_number[i].
The following example of a pair of touching characters bi will show how the informations of the graph rel_graph and the field rel_result of the RelData structure can be interpreted. The recognition should be done with the HAND.REC using the default options (different classifiers or other parameters may produce different results, and there may be different segmentations by the feedback of the recognition). It is recommmended to run the sample program RelWin under the debugger, stop it after the call of rel_do, and look at the structure rel as well as their variables.

There have been determined 5 cuts, the starting point included, so rel_graph_len=5. The field rel_graphcontains 5 items:
Knot 0 (rel.rel_graph[0]):
1. result_number[0]=1
rel.rel_result[1].rec_char[0]="b_"
rel.rel_result[1].rec_value[0]=34
next[0]=1:
continue at knot 1.
2. result_number[1]=0
rel.rel_result[0].rec_char[0]="k_"
rel.rel_result[0].rec_value[0]=126
next[1]=-1:
end of the line.
3. result_number[2]=3
rel.rel_result[3].rec_char[0]="b_"
rel.rel_result[3].rec_value[0]=
next[2]=2:
continue at knot 2.
4. 25 result_number[3]=5
rel.rel_result[5].rec_char[0]="le"
rel.rel_result[5].rec_value[0]=44
next[3]=3:
.... continue at knot 3.
Knot 1 (rel.rel_graph[1]):
1. result_number[0]=2
rel.rel_result[2].rec_char[0]="i_"
rel.rel_result[2].rec_value[0]=62
next[0]=-1:
.... end of the line.
Knot 2 (rel.rel_graph[2]):
1. result_number[0]=4
rel.rel_result[4].rec_char[0]="i_"
rel.rel_result[4].rec_value[0]=85
next[0]=-1:
end of the line.
2. result_number[1]=8
rel.rel_result[8].rec_char[0]="uv"
rel.rel_result[8].rec_value[0]=110
next[1]=4:
.... continue at knot 4.
3. result_number[2]=10
rel.rel_result[10].rec_char[0]="._"
rel.rel_result[10].rec_value[0]=85
next[2]=1:
.... continue at knot 1.
Knot 3 (rel.rel_graph[3]):
1. result_number[0]=6
rel.rel_result[6].rec_char[0]="g9"
rel.rel_result[6].rec_value[0]=145
next[0]=1.
... continue at knot 1.
2. result_number[1]=7
rel.rel_result[7].rec_char[0]="n/"
rel.rel_result[7].rec_value[0]=122
next[1]=-1:
end of the line.
3. result_number[2]=11
rel.rel_result[11].rec_char[0]="g9"
rel.rel_result[11].rec_value[0]=93
next[2]=2:
.... continue at knot 1.
4. result_number[3]=12
rel.rel_result[12].rec_char[0]="g_"
rel.rel_result[12].rec_value[0]=160
next[3]=4:
.... continue at knot 4.
Knot 4 (rel.rel_graph[4]):
1. result_number[0]=9
rel.rel_result[9].rec_char[0]="i_"
rel.rel_result[9].rec_value[0]=60
next[0]=-1:
end of the line.

There have been 13 different characters investigated and recognized (rel.rel_result_len=13).
A graphical visualization shows all possible ways. The numbers in the black circles denote the indices of the knots, the images and numbers along the lines denote the parts and the indices in the rel_result field, respectively.

Now after calling of the rel_do function you can choose one of the following results.
1. 0 -> E (0) k
2. 0 -> 1 (1) -> E ( 2) bi
3. 0 -> 2 (3) -> E (4) bi
4. 0 -> 2 (3) -> 4 (8) -> E (9) bui
5. 0 -> 2 (3) -> 1 (10) -> E (2) ln
6. 0 -> 3 (5) -> E (7) b.i
7. 0 -> 3 (5) -> 2 (11) -> E (4) lgi
8. 0 -> 3 (5) -> 2 (11) -> 4 (8) -> E (9) lgui
9. 0 -> 3 (5) -> 2 (11) -> 1 (10) -> E (2) lg.i
10. 0 -> 3 (5) -> 1 (6) -> E (2) lgi
11. 0 -> 3 (5) -> 4 (12) -> E (9) lgi
The function rel_textline decided to choose result 2: bi
Finally have a look at all investigated and recognized parts of the image and the indices in the field rel_result.