A DBCS character positioned at the n-th column may have a DBCS character aligned on the (n-1)th column of the adjacent rows as in the following figure. This situation will cause the cursor to meander to the left and right as it is moved up or down as illustrated in the Vertical Character Cursor Move.
Aligned at this column (n-th column) | | D1D2D3D4ab cD5D6D7D8d efgD9D1D2h iD3D4D5D6j D7D8D9D1D2 | | Aligned at this column Vertical Character Cursor Move
In short, if the n-th column of the next row is the second byte of a DBCS character, you should temporarily adjust the cursor position to the (n-1) column, the first byte of the DBCS character. Temporarily means that you should remember the original position (the n-th column in this case), and return the cursor to the original position before moving to the following rows (and adjust the cursor position again if required).