Delphi有一个WrapText
函数:
function WrapText(const Line, BreakStr: string; const BreakChars: TSysCharSet; MaxCol: Integer): string;
function WrapText(const Line: string; MaxCol: Integer): string;
现在我需要一个处理WideStrings的版本:
function WrapTextW(const Line: WideString; MaxCol: Integer): WideString;
是否已在某处写过这样的函数?
警告:并非每个宽字符串字符都是2字节
这就是为什么我害怕写它
更新:占用超过2个字节的字符示例:
资本拉丁语W与ring和cedilla
- 字节:57 00 66 03 27 03
- 在Chrome 17中呈现:
- 在Internet Explorer 9中呈现:
- 使用Segoe UI在记事本中呈现:
- 使用Consolas在记事本中呈现:
- 在浏览器中以sans-serif字体呈现:W̧̊
- 在浏览器中以
呈现monospaced
字体:W̧̊
答案 0 :(得分:3)
正如kobik所述,TNT UnicodeControls有一个单位TntSysUtils
,其中包含以下功能:
function WideWrapText(const Line, BreakStr: WideString; const BreakChars: TSysCharSet;
MaxCol: Integer): WideString; overload;
function WideWrapText(const Line: WideString; MaxCol: Integer): WideString; overload;
备用下载网站为here。