handle non-BMP unicode chars in _trunc()