NAME¶
Text::CharWidth - Get number of occupied columns of a string on terminal
SYNOPSIS¶
use Text::CharWidth qw(mbwidth mbswidth mblen);
mbwidth(string);
mbswidth(string);
mblen(string);
DESCRIPTION¶
This module supplies features similar as
wcwidth(3) and
wcswidth(3) in C language.
Characters have its own width on terminal depending on locale. For example,
ASCII characters occupy one column per character, east Asian fullwidth
characters (like Hiragana or Han Ideograph) occupy two columns per character,
and combining characters (apperaring in ISO-8859-11 Thai, Unicode, and so on)
occupy zero columns per character.
mbwidth() gives the width of the
first character of the given string and
mbswidth() gives the width of
the whole given string.
The names of mbwidth and mbswidth came from "multibyte" versions of
wcwidth and wcswidth which are "wide character" versions.
mblen(string) returns number of bytes of the first character of the
string. Please note that a character may consist of multiple bytes in
multibyte encodings such as UTF-8, EUC-JP, EUC-KR, GB2312, or Big5.
mbwidth(string) returns the width of the first character of the string.
mbswidth(string) returns the width of the whole string.
Parameters are to be given in locale encodings, not always in UTF-8.
SEE ALSO¶
locale(5),
wcwidth(3),
wcswidth(3)
AUTHOR¶
Tomohiro KUBOTA, <kubota@debian.org>
COPYRIGHT AND LICENSE¶
Copyright 2003 by Tomohiro KUBOTA
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.