Skip to content

janlelis/wcswidth-ruby

Repository files navigation

wcswidth [version] [ci]

Determine terminal display width (columns) of Ruby strings via FFI bindings to libc's wcswidth() function.

See unicode/display_width for a Ruby-only unicode data based approach.

Usage

require 'wcswidth/kernel_method'

# full width chars
wcswidth("!") # => 2
wcswidth("一") # => 2

# single width chars
wcswidth("A") # => 1
wcswidth("·") # => 1

# zero width chars
wcswidth("ֿ") # => 0
wcswidth("\0") # => 0

# control chars
wcswidth("\x01") # => -1
wcswidth("\n") # => -1

Without opting in for wcswidth/kernel_method it is Wcswidth.of("string")

MIT License

Copyright (C) 2016 Jan Lelis https://janlelis.com. Released under the MIT license.

About

FFI bindings to libc's wcswidth() to determine the actual display width of strings

Topics

Resources

Code of conduct

Stars

Watchers

Forks

Used by

Contributors

Languages