utf8.width
Client-side
Server-side
Shared
Calculates the width of UTF-8 strings with special/unprintable characters, which require special width treatment.
Syntax
int utf8.width ( string|int input, [ bool ambi_is_double = false, int default_width = 0 ] )Required Arguments
- input: A string character sequence OR a codepoint integer
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use.
- ambi_is_double (default: false): A boolean, if set to true , ambiguous character's width is 2 (see example below).
- default_width (default: 0): An integer, if given, is used as width for unprintable characters.
Returns
- int: width
Returns the integer width of the input string OR the width of the codepoint integer.
Code Examples
shared
This example shows the difference when ambi_is_double is set to false or true.
local input = "днём"local disabled = utf8.width(input, false)local enabled = utf8.width(input, true)
print(disabled, enabled) -- 4, 8