It’s in TextAssembler::calc_r_c
if (n == 0) {
// If there are no characters before n, no need to mess with soft
// hyphens.
c = row._string.size();
n is cursor position. Ask why if it’s 0, the column is filled with the row string size, instead of 0 ?