CharWidth(3)

✨ NAME ✨

Text::CharWidth β€” Get number of occupied columns of a string on terminal.

okay bestie, this is CharWidth(3) from the User Contributed Perl Documentation crew, and it’s all about Text::CharWidth β€” the Perl module that tells you how many terminal columns a string is lowkey occupying. πŸ’…βœ¨

🫢 SYNOPSIS 🫢

you import it like this, no cap:

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 their own width on a 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 (appearing 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. iykyk. πŸ‘‘

  • 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. That part is important, bestie β€” do not assume UTF-8 every single time. 😭

πŸ‘€ SEE ALSO πŸ‘€

locale(5), wcwidth(3), wcswidth(3) β€” these are the next besties to go check out. 🌈

🌸 AUTHOR 🌸

Tomohiro KUBOTA, <kubota@debian.org> β€” author icon behavior. πŸ‘‘πŸ’–

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. 🫢✨


πŸ’– cute little source/version + date sign-off: perl v5.42.0, 2011-11-18, CharWidth(3) β€” mwah, bye bestie! πŸŽ€πŸ’