An early draft of a way to determine the size of the characters using EastAsianWidth.txt, based on the very early draft of a Ruby interface to UnicodeData.txt by runpaint.
Install the gem with
gem install unicode-display_width
The easy way is to use the String#display_size method:
"⚀".display_width #=> 1 '一'.display_width #=> 2
To obtain more detailed character data, you can use the following syntax:
Unicode::DisplayWidth.codepoint( c )
The display_width method takes an optional argument, which will be used as width for characters defined as “ambigious”. The default value is 1.
Copyright © 2011, 2015 Jan Lelis, rbjl.net, released under the MIT license.
Contains code by runpaint: Copyright © 2009 Run Paint Run Run
Contains EastAsianWidth.txt: Copyright © 1991-2014 Unicode, Inc.