A method of determining a first coordinate value of a position on a printed document with respect to a plurality of first patterns printed on the document, each first pattern respectively representing a first sequence h1, with each of the first sequences having a repeating first codeword of a first cyclic position code with length n1 and minimum distance dmin1, said method comprising the steps of:
- sensing the document, via a sensing device, to sense h1 of the first patterns, where h1≧2;
- obtaining from each sensed first pattern a respective first sub-sequence of length w1 symbols, where w1≧n1−dmin1+1;
- mapping each of the first sub-sequences to a respective mapped codeword of the first cyclic position code;
- determining a first offset indicative of the position, in the corresponding first sequence, between each mapped codeword and the first codeword;
- deriving, for each of h1−1 pairs of the first sequences, a difference between the corresponding pair of first offsets, and thereby deriving a respective one of a plurality of first differences;
- and
- deriving the first coordinate value by interpreting at least one of the first differences as a digit of the first coordinate value, and by interpreting at least one of the first differences as a marker separating the first coordinate value from an adjacent coordinate value.