Terminal::WCWidth - returns character width on a terminal
use Terminal::WCWidth;
sub print-right-aligned($s) {
print " " x (80 - wcswidth($s));
say $s;
}
print-right-aligned("this is right-aligned");
print-right-aligned("another right-aligned string")
A Raku port of a Python module.
Takes a single codepoint and outputs its width:
wcwidth(0x3042) # "あ" - returns 2
Returns:
-
-1
for a control character -
0
for a character that does not advance the cursor (NULL or combining) -
1
for most characters -
2
for full width characters
Takes a string and outputs its total width:
wcswidth("*ウルヰ*") # returns 8 = 2 + 6
Returns -1 if any control characters are found.
Unlike the Python version, this module does not support getting the width of only the first n
characters of a string, as you can use the .substr
method.
Thanks to Jeff Quast (jquast), the author of the Python module, which in turn is based on the C library by Markus Kuhn.
-
+merlan #flirora
-
José Joaquín Atria
-
Raku Community
Copyright 2015 - 2017 +merlan #flirora
Copyright 2020, 2024 Raku Commuity
This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.