logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Text::CharWidth - Get number of occupied columns of a string on terminal

Author

       Tomohiro KUBOTA, <kubota@debian.org>

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.

Name

       Text::CharWidth - Get number of occupied columns of a string on terminal

See Also

locale(5), wcwidth(3), wcswidth(3)

Synopsis

         use Text::CharWidth qw(mbwidth mbswidth mblen);
         mbwidth(string);
         mbswidth(string);
         mblen(string);

See Also