// column is expected to be between minLogicalColumn and maxLogicalColumn for this fragment
 int logicalToVisualColumn(int column) {
   return startVisualColumn
       + delegate.logicalToVisualColumn(
           startX,
           getMinLogicalColumn(),
           isRtl ? startLogicalColumn - column : column - startLogicalColumn);
 }