{"_id":"wcwidth.js","_rev":"39-b626967011d0b55d4147c28c08b67fdf","name":"wcwidth.js","dist-tags":{"latest":"2.0.0"},"versions":{"0.0.1":{"name":"wcwidth.js","version":"0.0.1","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"_id":"wcwidth.js@0.0.1","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"http://code.woong.org/wcwidth.js/trac","email":"woong.jun@gmail.com"},"dist":{"shasum":"697ef3657c566129656b91be8decb3932fd13544","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.1.tgz","integrity":"sha512-JDvSvK6FcNAuAO2mPym/CXQBsq6LeoyDynlMtvIhx+EhQ07Cvjg318+jzZvkXIdO9NAbCE0MDeS/KaEsc1U57g==","signatures":[{"sig":"MEQCIAz2JqMipwesG0lf6uzJ6f9ladz1bIp5tROM/+36xFzfAiBtO5T9i7bCMlu37ZTMIhoLFyFfx1Lfiw6fV/6gFFUSxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"wcwidth.js","engines":{"node":">= 0.8.0"},"licenses":"MIT","repository":{"url":"http://code.woong.org/hg/wcwidth.js","type":"hg"},"description":"A JavaScript porting of C's wcwidth() and wcswidth()","directories":{},"dependencies":{"underscore":">= 1.3.0"},"devDependencies":{}},"0.0.2":{"name":"wcwidth.js","version":"0.0.2","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"_id":"wcwidth.js@0.0.2","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"dist":{"shasum":"2a5634eb2f349b05e69dfd03f659a0f45234b359","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.2.tgz","integrity":"sha512-LwzN8E3jlpiOQbB8+Sxe7eWBG8rMT+Jhhf9J4srS3FE54jbtmKbOKqTfxaeieu3JwrJuR2g4gOkPo1fNpticWA==","signatures":[{"sig":"MEYCIQCVP/O3KnjkKXjAW7ZmEi/ltasIAScU59cJMMRs4utLwAIhAJNcnsCR4QPfGJlnH/0cF/5M1i8U2XDs9zpQ/nWnzE88","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"wcwidth.js","_from":".","engines":{"node":">= 0.8.0"},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"licenses":"MIT","repository":{"url":"https://github.com/mycoboco/wcwidth.js.git","type":"git"},"_npmVersion":"1.3.5","description":"A JavaScript porting of C's wcwidth() and wcswidth()","directories":{},"dependencies":{"underscore":">= 1.3.0"},"devDependencies":{}},"0.0.3":{"name":"wcwidth.js","version":"0.0.3","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"_id":"wcwidth.js@0.0.3","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"dist":{"shasum":"f6359949318a2e84ce3f1ca64ccc947ef2dffd13","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.3.tgz","integrity":"sha512-IaRgsz4LM9Bo5UbC5jB4/ceos6CK6XurXQFU+CBcjryhVogM21RGwZkUpR3uu40Yz8Ipn/h9sTrN7ALlGasbIg==","signatures":[{"sig":"MEQCIEs5YaSudeqspUNsH2fd2evsErUs5yr2RyUtsIq3YnYhAiAwEi1hxPTw1pmNvSrWXjEQuB8lX1Xy/8zYVKDYa45hfw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"wcwidth.js","_from":".","engines":{"node":">= 0.8.0"},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"licenses":"MIT","repository":{"url":"https://github.com/mycoboco/wcwidth.js.git","type":"git"},"_npmVersion":"1.3.14","description":"A JavaScript porting of C's wcwidth() and wcswidth()","directories":{},"dependencies":{"underscore":">= 1.3.0"},"devDependencies":{}},"0.0.4":{"name":"wcwidth.js","version":"0.0.4","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"_id":"wcwidth.js@0.0.4","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"dist":{"shasum":"44298a7c899c17501990fdaddd76ef6bd081be75","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.4.tgz","integrity":"sha512-U653UMdehNpzC0N1iBI0PmO8XtcqehYoEn4a7HNl/lw/24xF7EhHCt/P36a+5p5I9wRwVC3LkYzSu2Rk25GYPA==","signatures":[{"sig":"MEUCIQDK2Y3KilH3RUZ5hg4jM1wR0f2M84aWU6VKbUhLj4BtagIgBwvvyT+M3m56mYkIxcW2Gr88jsOz1uhAfJiw79201i4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"wcwidth.js","_from":".","engines":{"node":">= 0.8.0"},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"licenses":"MIT","repository":{"url":"https://github.com/mycoboco/wcwidth.js.git","type":"git"},"_npmVersion":"1.3.11","description":"A JavaScript porting of C's wcwidth() and wcswidth()","directories":{},"dependencies":{"underscore":">= 1.3.0"},"devDependencies":{}},"1.0.0":{"name":"wcwidth.js","version":"1.0.0","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"_id":"wcwidth.js@1.0.0","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[{"url":"http://campjs.com/","name":"Tim Oxley","email":"secoif@gmail.com"}],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"dist":{"shasum":"62c19310a3e9c1025cd57f53c35b47acf643fdc3","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-1.0.0.tgz","integrity":"sha512-Vl3oxJ7DRrZGGTqU5HIkNOCBAjLwi/It3YJNKeh/lF+txJUMYEDS1gp0boU2T/lKSIMNoQOEKkQQeefJFnY73A==","signatures":[{"sig":"MEUCIBS403d3jqVk4BkdRagsaMqnzH38yNEJCTPt1aFBRf3HAiEAlT0oqaDHjOn5eR7di35qJsHJSYtv9H1IdCoHxtH1GhU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"62c19310a3e9c1025cd57f53c35b47acf643fdc3","engines":{"node":">=0.8.0"},"gitHead":"26d6bb6e1e5f50152d683b6f806351dea61868e6","scripts":{"test":"tape test/*.js"},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"licenses":"MIT","repository":{"url":"https://github.com/mycoboco/wcwidth.js.git","type":"git"},"_npmVersion":"1.4.21","description":"a javascript porting of C's wcwidth()","directories":{"doc":"doc","test":"test"},"dependencies":{"defaults":"^1.0.0"},"devDependencies":{"tape":"^2.13.4"}},"1.0.1":{"name":"wcwidth.js","version":"1.0.1","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"license":"MIT","_id":"wcwidth.js@1.0.1","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[{"url":"http://campjs.com/","name":"Tim Oxley","email":"secoif@gmail.com"}],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"dist":{"shasum":"44ad20db7d28dbb0a538604637e905de030f2996","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-1.0.1.tgz","fileCount":5,"integrity":"sha512-LfinnEPQ7qBU4VWQpUsPi2GO3DsMsW/JMPBSi/FdvsutiCFcyQ66qBJIRJ9Lc3zNueiFnhioeJSdqlAkdONO8g==","signatures":[{"sig":"MEQCICpJCRc2XKlR4wbauXOzeR/Q49zkDx6KQjDBujPPXTHOAiBAL+I1lGsHY3viVf8Gwgxo4bbMXmlqS8wJABynW3/vxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkqXoCRA9TVsSAnZWagAAQkYP/0QKC0qt7AG+vTYKGzqn\nhZ+BOuGHmjhfIopxpW+6+nf9wsaezhTKaIYTECFdrUeYGs3iDP5JKyESZTLU\nDKqvzDShJENb2lSql1dQVeKFkq810YUHvqc0MmTghOGbu6XPvWDYlbCZxWEX\nR4Zk3NqoByT8Ga2mBlsB7KkYshwgPhu7wTf9+wfTFB0yj74ZjXpLl9bmL+Tp\nYLzZYugz003EJhVXm6w6vXAWteFZPJf13XMlDl4+fdsFBI8frKSKeP9nR5hd\ncwiqUWK/ExsOfpw3nQ6+iG0oQwiGdR+mxOkPD7jsnmJfBYvmVbNrmnZK66zE\nKxvXGWA3Nkfk8yfha+Vv2zsSspG9SZmAn4oQukjDqVRNBTxoApF7lnd2EILP\n8DTSry0OFzoRfiK/CFlDxGDlSg8sZzR6BQ2aSKDQ816o3LbF5mrvgD08xQ/S\nCi6SjY7PJYDfHS+ZjLNzrv3cheO2PZpC+Wi3Y+rc+rVxslub+yJoroQFiURt\nKF6EoKLCvSBQn9kfn2og2N9LJQG/4jBmQZ0oP+ipgwwQKUjb1eZjaryj09tK\nG+8xWhVKsrvN4DudimYoOnuC61g60vhrTFBAZISsmmkES4y5rsqQw+kKcaeq\n9FDSgi8TvrfJo/Y+HdpD+65GiDnWkWPxNmubAvbd5fG3tTwxlexXnNbbT8qF\nJF+K\r\n=k5ir\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=4.9.1"},"gitHead":"6577b93874e03e35116d4dd3d092286935ff5f92","scripts":{"test":"tape test/*.js"},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"repository":{"url":"git+https://github.com/mycoboco/wcwidth.js.git","type":"git"},"_npmVersion":"6.14.8","description":"a javascript porting of C's wcwidth()","directories":{},"_nodeVersion":"14.15.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/wcwidth.js_1.0.1_1620223463940_0.2750371304847521","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"wcwidth.js","version":"1.0.2","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"license":"MIT","_id":"wcwidth.js@1.0.2","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[{"url":"http://campjs.com/","name":"Tim Oxley","email":"secoif@gmail.com"}],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"dist":{"shasum":"4f0732160c66adfaa556c6764d3df2924c2f8d05","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-1.0.2.tgz","fileCount":5,"integrity":"sha512-k3VCQooOHw5Xa4hUDRfkFT/39WV0Aphvk69SrNyDvHpiVnIEXQLvuCifVDoXsaPPh3PlEbOFeRm+o4FzB0JXZQ==","signatures":[{"sig":"MEYCIQDXYuf6dJbz+pqvExE1hSLMMlBNm1wLo2lXCIOezqFdOAIhANejJW6ePrZ66Mqv5xaPQW8tiGNigzsXwQN0nEtyuiSo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12453,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhNZViCRA9TVsSAnZWagAAtPIP/0XUqmWMKKPx+R3/x4kr\njxtzjLv32Bsv17umN+N2J7Vgx9vO2SMtz8CI/8a4tVDJtwvDTAwJl8EciY5J\nwBrxVbMh042sbcmtW+6q0AvcaAwm/Q3jF3rRcfbs/S0NjINGT12P4gy7MmMu\nvEsrASn51Io1Hc2hOlJNv0jTkj+C972IjUMLtPd8PTiQSwF/3dwhDzXL/Xco\nD8mCvFLFhefhXhunYCbA0qnuLsiuoCUwPIE8ggPiH/HuWShRJj1AWwyM99Ou\n7S/0KJ3skGw7AlWQ5e9Qjf+IUHclbSUYzB6qxwaSmRjtUTl5cq4GJubGC5q8\n/7bUdqEcuADzMNlEl7y/q3JMO1/GQ8Chn5EgD1+g3yD15SB8dG9K9kBwpeYi\nY/eW7Gtvo6MFspXW6QDIqp32A0EYbZVXUAvwec5ZXYp77qyUNw9ueOqhnKSx\nwuygkPra5LtmwUQUST0oMnn6WZAO1MiBFS5EWQUrZwq/zvo0u0HcWIoNzhzd\naRZztEnTtRtLV2ec/XRdVnV0hFM3C0AhJW28p9slSk3M0JVyRUM9sIr7Jz6u\nU/YoSnR5LvikzYusvLkfffVbbTDVqNjoh4cVl5/d3kG/t+PLuoIIorQRcVpn\nXpSwZcay56NGrmzE+AY2yEhQlY0j5q1m+UMZGT8EkHmcb6C4Dl+qHG0UJhGj\nqLBh\r\n=/GmP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=4.9.1"},"gitHead":"6564fe2db078b414ae20e134089cc42cc70db219","scripts":{"test":"tape test/*.js"},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"repository":{"url":"git+https://github.com/mycoboco/wcwidth.js.git","type":"git"},"_npmVersion":"6.14.8","description":"a javascript porting of C's wcwidth()","directories":{},"_nodeVersion":"14.15.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/wcwidth.js_1.0.2_1630901602297_0.0020677919068730066","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"wcwidth.js","version":"1.1.2","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"author":{"url":"http://code.woong.org/","name":"Woong Jun","email":"woong.jun@gmail.com"},"license":"MIT","_id":"wcwidth.js@1.1.2","maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"contributors":[{"url":"http://campjs.com/","name":"Tim Oxley","email":"secoif@gmail.com"}],"homepage":"http://code.woong.org/wcwidth.js","bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"dist":{"shasum":"0584d640fa9c76707f6d2d8cb60928cac44f419c","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-1.1.2.tgz","fileCount":5,"integrity":"sha512-mvLQGl9huHgSfHLAN3wZ68ItH0C0yD/uBY9YX73/rTq7a2NS46mlAjjcl+ZDM9s9ZExBYQUjzJzsriDZQaQw7g==","signatures":[{"sig":"MEUCIQCCwuVvyC+JLboITUKj/iFeGi5v1CvlWSvsdNRvyVyiVQIgdcVxZduD9jlv2OSDXm6JIntgEpZIB3ITZJrVxogQ6fA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12376},"main":"index.js","engines":{"node":">=16.15.1"},"gitHead":"560142a666b7525175083cd5e4e1ddcfe5c86c52","scripts":{"test":"tape test/*.js"},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"repository":{"url":"git+https://github.com/mycoboco/wcwidth.js.git","type":"git"},"_npmVersion":"9.2.0","description":"a javascript porting of C's wcwidth()","directories":{},"_nodeVersion":"18.12.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"^4.2.0","eslint":"^8.41.0","eslint-config-google":"^0.14.0"},"_npmOperationalInternal":{"tmp":"tmp/wcwidth.js_1.1.2_1685207292704_0.25523494718717066","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"wcwidth.js","version":"2.0.0","description":"a javascript porting of C's wcwidth()","author":{"name":"Woong Jun","email":"woong.jun@gmail.com","url":"http://code.woong.org/"},"contributors":[{"name":"Tim Oxley","email":"secoif@gmail.com","url":"http://campjs.com/"}],"homepage":"http://code.woong.org/wcwidth.js","repository":{"type":"git","url":"git+https://github.com/mycoboco/wcwidth.js.git"},"bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"license":"MIT","type":"module","main":"index.js","scripts":{"test":"tape test/*.js"},"dependencies":{},"devDependencies":{"eslint":"^8.57.0","tape":"^5.9.0"},"engines":{"node":">=20.0.0"},"keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"_id":"wcwidth.js@2.0.0","gitHead":"d73f11c5b678ab1e145acf7de3d73e0a63229521","_nodeVersion":"22.4.1","_npmVersion":"10.8.1","dist":{"integrity":"sha512-hUqARuCw/pZHnBrrc154Fbj60eZ0Z7MCAv1jrRXOL+44mwCJYdNDPfIYWcLqivMpQf1X08/bJ30nMiaQ6rVOgw==","shasum":"31ad4636a64eb8e72c6e57297c91b32ec2828e39","tarball":"https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-2.0.0.tgz","fileCount":5,"unpackedSize":11993,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA1o5yuW9NtCEyIw/2dtzWzEpOB1IYeSt6dgwbZmnMVBAiA5r50T+CKXxU5Jz/YAfK8LDnFM7vw+pEgRbAvT86IuMg=="}]},"_npmUser":{"name":"mycoboco","email":"woong.jun@gmail.com"},"directories":{},"maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wcwidth.js_2.0.0_1727866909904_0.27270919332643473"},"_hasShrinkwrap":false}},"time":{"created":"2012-10-12T06:25:18.029Z","modified":"2024-10-02T11:01:50.246Z","0.0.1":"2012-10-12T06:25:22.416Z","0.0.2":"2013-12-12T15:20:12.472Z","0.0.3":"2013-12-13T01:03:43.921Z","0.0.4":"2014-04-26T10:29:40.155Z","1.0.0":"2014-11-16T05:54:09.577Z","1.0.1":"2021-05-05T14:04:24.073Z","1.0.2":"2021-09-06T04:13:22.458Z","1.1.2":"2023-05-27T17:08:12.898Z","2.0.0":"2024-10-02T11:01:50.088Z"},"bugs":{"url":"https://github.com/mycoboco/wcwidth.js/issues","email":"woong.jun@gmail.com"},"author":{"name":"Woong Jun","email":"woong.jun@gmail.com","url":"http://code.woong.org/"},"license":"MIT","homepage":"http://code.woong.org/wcwidth.js","keywords":["wide character","wc","wide character string","wcs","terminal","width","wcwidth","wcswidth"],"repository":{"type":"git","url":"git+https://github.com/mycoboco/wcwidth.js.git"},"description":"a javascript porting of C's wcwidth()","contributors":[{"name":"Tim Oxley","email":"secoif@gmail.com","url":"http://campjs.com/"}],"maintainers":[{"name":"mycoboco","email":"woong.jun@gmail.com"}],"readme":"wcwidth.js: a javascript porting of C's wcwidth()\n=================================================\n\n> _Stick to version `1.0.2` if need to support node.js <`16.15.1`._\n\n`wcwidth.js` is a simple javascript porting of `wcwidth()` implemented in C\n[by Markus Kuhn](http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c).\n\n[`wcwidth()`](http://www.opengroup.org/onlinepubs/007904975/functions/wcwidth.html)\nand its string version,\n[`wcswidth()`](http://www.opengroup.org/onlinepubs/007904975/functions/wcswidth.html)\nare defined by IEEE Std 1002.1-2001, a.k.a. POSIX.1-2001, and return the number\nof columns used to represent a wide character and string on fixed-width output\ndevices like terminals. Markus's implementation assumes wide characters to be\nencoded in [ISO 10646](http://en.wikipedia.org/wiki/Universal_Character_Set),\nwhich is _almost_ true for JavaScript; _almost_ because JavaScript uses\n[UCS-2](http://en.wikipedia.org/wiki/UTF-16) and has problems with surrogate\npairs. `wcwidth.js` converts surrogate pairs to Unicode code points to handle\nthem correctly.\n\nFollowing the original implementation, this library defines the column width of\nan ISO 10646 character as follows:\n\n- the null character (`U+0000`) has a column width of `opts.null` (whose\n  default value is 0);\n- other\n  [C0/C1 control characters](http://en.wikipedia.org/wiki/C0_and_C1_control_codes)\n  and `DEL` will lead to a column width of `opts.control` (whose default value\n  is 0);\n- non-spacing and enclosing combining characters\n  ([general category code](http://www.unicode.org/reports/tr44/#GC_Values_Table)\n  `Mn` or `Me`) in the Unicode database) have a column width of 0;\n- `SOFT HYPHEN` (`U+00AD`) has a column width of 1;\n- other format characters (general category code `Cf` in the Unicode database)\n  and `ZERO WIDTH SPACE` (`U+200B`) have a column width of 0;\n- Hangul Jamo medial vowels and final consonants (`U+1160`-`U+11FF`) have a\n  column width of 0;\n- spacing characters in the East Asian Wide (`W`) or East Asian Full-width\n  (`F`) category as defined in\n  [Unicode Technical Report #11](http://www.unicode.org/reports/tr11/) have a\n  column width of 2; and\n- all remaining characters (including all printable\n  [ISO 8859-1](http://en.wikipedia.org/wiki/ISO/IEC_8859-1) and\n  [WGL4 characters](http://en.wikipedia.org/wiki/Windows_Glyph_List_4), Unicode\n  control characters, etc.) have a column width of 1.\n\nA surrogate high or low value which constitutes no pair is considered to have a\ncolumn width of 1 according to the behavior of widespread terminals.\n\nSee the\n[documentation](https://github.com/mycoboco/wcwidth.js/blob/master/doc/index.md)\nfrom the C implementation for details.\n\n`wcwidth.js` is simple to use:\n\n    import wcwidth from 'wcwidth.js';\n\n    wcwidth('한글'); // 4\n    wcwidth('\\0'); // 0; NUL\n    wcwidth('\\t'); // 0; control characters\n\n*Use `wcwidth.js@1.1.2` for CommonJS modules.*\n\nIf you plan to replace `NUL` or control characters with, say, `???` before\nprinting, use `wcwidth.config()` that returns a closure to run `wcwidth` with\nyour configuration:\n\n    const mywidth = wcwidth.config({\n      nul: 3,\n      control: 3,\n    });\n\n    mywidth('\\0\\f'); // 6\n    mywidth('한\\t글'); // 7\n\nSetting these options to -1 gives a function that returns -1 for a string\ncontaining an instance of `NUL` or control characters:\n\n    const mywidth = wcwidth.config({\n      nul: 0,\n      control: -1,\n    });\n\n    mywidth('java\\0script'); // 10\n    mywidth('java\\tscript'); // -1\n\nThis is useful when detecting if a string has non-printable characters.\n\nWhen necessary, you can add to `String.prototype` a `wcwidth` getter as follows:\n\n    Object.defineProperty(\n      String.prototype,\n      'wcwidth',\n      {\n        get() {\n          return wcwidth(this.valueOf());\n        },\n      },\n    );\n    '한글'.wcwidth; // 4\n\nJavaScript has no character type, thus meaningless to have two versions of\n`wcwidth` while POSIX does for C. `wcwidth` also accepts a code value obtained\nby `charCodeAt()`:\n\n    wcwidth('한'); // prints 2\n    wcwidth('글'.charCodeAt(0)); // prints 2\n\n`INSTALL.md` explains how to build and install the library. For the copyright\nissues, see the accompanying `LICENSE.md` file.\n\nIf you have a question or suggestion, do not hesitate to contact me via email\n(woong.jun at gmail.com) or [web](http://code.woong.org/).\n","readmeFilename":"README.md"}