east-asian-width

A javascript implementation of full-width and half-width unicode character detector.

Usage no npm install needed!

<script type="module">
  import eastAsianWidth from 'https://cdn.skypack.dev/east-asian-width';
</script>

README

East Asian Width

Build Status Coverage Status devDependency Status

A javascript implementation of full-width and half-width unicode character detector.

Installation

npm NPM version

npm install east-asian-width

bower Bower version

bower install east-asian-width

Usage

var should = require('chai').should(),
    east_asian_width = require('east-asian-width'),
    char_width = east_asian_width.char_width,
    str_width = east_asian_width.str_width,
    cjk_char_width = east_asian_width.cjk_char_width,
    cjk_str_width = east_asian_width.cjk_str_width;

char_width('杜'.codePointAt(0)).should.equal(2);
str_width('Coding is my life').should.equal(17);
cjk_char_width('Æ'.codePointAt(0)).should.equal(2);
cjk_str_width('��').should.equal(6);

Tests

npm test

Debug

Install node-inspector.

npm install -g node-inspector

then run test in debug mode, listening on port 5858 and pause on first line.

npm run-script test_debug

then start node-inspector on another console.

node-inspector

then visit http://127.0.0.1:8080/debug?port=5858 on browser.

Release History

  • 0.1.0 Initial release
  • 0.1.1 Integrate with Travis CI, Coveralls

Author

图片

Vangie Du

The future you must thank to the present hard working one.

Links

  1. This is an implementation of wcwidth() and wcswidth() (defined in IEEE Std 1002.1-2001) for Unicode.
  2. Unicode Standard Annex #11 EAST ASIAN WIDTH
  3. determine whether a unicode character is fullwidth or halfwidth in C++