is-fullwidth-code-point
Advanced tools
Comparing version 3.0.0 to 4.0.0
78
index.js
/* eslint-disable yoda */ | ||
'use strict'; | ||
const isFullwidthCodePoint = codePoint => { | ||
if (Number.isNaN(codePoint)) { | ||
export default function isFullwidthCodePoint(codePoint) { | ||
if (!Number.isInteger(codePoint)) { | ||
return false; | ||
@@ -10,42 +9,33 @@ } | ||
// Code points are derived from: | ||
// http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt | ||
if ( | ||
codePoint >= 0x1100 && ( | ||
codePoint <= 0x115F || // Hangul Jamo | ||
codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET | ||
codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET | ||
// CJK Radicals Supplement .. Enclosed CJK Letters and Months | ||
(0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) || | ||
// Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A | ||
(0x3250 <= codePoint && codePoint <= 0x4DBF) || | ||
// CJK Unified Ideographs .. Yi Radicals | ||
(0x4E00 <= codePoint && codePoint <= 0xA4C6) || | ||
// Hangul Jamo Extended-A | ||
(0xA960 <= codePoint && codePoint <= 0xA97C) || | ||
// Hangul Syllables | ||
(0xAC00 <= codePoint && codePoint <= 0xD7A3) || | ||
// CJK Compatibility Ideographs | ||
(0xF900 <= codePoint && codePoint <= 0xFAFF) || | ||
// Vertical Forms | ||
(0xFE10 <= codePoint && codePoint <= 0xFE19) || | ||
// CJK Compatibility Forms .. Small Form Variants | ||
(0xFE30 <= codePoint && codePoint <= 0xFE6B) || | ||
// Halfwidth and Fullwidth Forms | ||
(0xFF01 <= codePoint && codePoint <= 0xFF60) || | ||
(0xFFE0 <= codePoint && codePoint <= 0xFFE6) || | ||
// Kana Supplement | ||
(0x1B000 <= codePoint && codePoint <= 0x1B001) || | ||
// Enclosed Ideographic Supplement | ||
(0x1F200 <= codePoint && codePoint <= 0x1F251) || | ||
// CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane | ||
(0x20000 <= codePoint && codePoint <= 0x3FFFD) | ||
) | ||
) { | ||
return true; | ||
} | ||
return false; | ||
}; | ||
module.exports = isFullwidthCodePoint; | ||
module.exports.default = isFullwidthCodePoint; | ||
// https://unicode.org/Public/UNIDATA/EastAsianWidth.txt | ||
return codePoint >= 0x1100 && ( | ||
codePoint <= 0x115F || // Hangul Jamo | ||
codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET | ||
codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET | ||
// CJK Radicals Supplement .. Enclosed CJK Letters and Months | ||
(0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) || | ||
// Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A | ||
(0x3250 <= codePoint && codePoint <= 0x4DBF) || | ||
// CJK Unified Ideographs .. Yi Radicals | ||
(0x4E00 <= codePoint && codePoint <= 0xA4C6) || | ||
// Hangul Jamo Extended-A | ||
(0xA960 <= codePoint && codePoint <= 0xA97C) || | ||
// Hangul Syllables | ||
(0xAC00 <= codePoint && codePoint <= 0xD7A3) || | ||
// CJK Compatibility Ideographs | ||
(0xF900 <= codePoint && codePoint <= 0xFAFF) || | ||
// Vertical Forms | ||
(0xFE10 <= codePoint && codePoint <= 0xFE19) || | ||
// CJK Compatibility Forms .. Small Form Variants | ||
(0xFE30 <= codePoint && codePoint <= 0xFE6B) || | ||
// Halfwidth and Fullwidth Forms | ||
(0xFF01 <= codePoint && codePoint <= 0xFF60) || | ||
(0xFFE0 <= codePoint && codePoint <= 0xFFE6) || | ||
// Kana Supplement | ||
(0x1B000 <= codePoint && codePoint <= 0x1B001) || | ||
// Enclosed Ideographic Supplement | ||
(0x1F200 <= codePoint && codePoint <= 0x1F251) || | ||
// CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane | ||
(0x20000 <= codePoint && codePoint <= 0x3FFFD) | ||
); | ||
} |
{ | ||
"name": "is-fullwidth-code-point", | ||
"version": "3.0.0", | ||
"version": "4.0.0", | ||
"description": "Check if the character represented by a given Unicode code point is fullwidth", | ||
"license": "MIT", | ||
"repository": "sindresorhus/is-fullwidth-code-point", | ||
"funding": "https://github.com/sponsors/sindresorhus", | ||
"author": { | ||
"name": "Sindre Sorhus", | ||
"email": "sindresorhus@gmail.com", | ||
"url": "sindresorhus.com" | ||
"url": "https://sindresorhus.com" | ||
}, | ||
"type": "module", | ||
"exports": "./index.js", | ||
"engines": { | ||
"node": ">=8" | ||
"node": ">=12" | ||
}, | ||
"scripts": { | ||
"test": "xo && ava && tsd-check" | ||
"test": "xo && ava && tsd" | ||
}, | ||
@@ -38,6 +41,6 @@ "files": [ | ||
"devDependencies": { | ||
"ava": "^1.3.1", | ||
"tsd-check": "^0.5.0", | ||
"xo": "^0.24.0" | ||
"ava": "^3.15.0", | ||
"tsd": "^0.14.0", | ||
"xo": "^0.38.2" | ||
} | ||
} |
@@ -1,6 +0,5 @@ | ||
# is-fullwidth-code-point [![Build Status](https://travis-ci.org/sindresorhus/is-fullwidth-code-point.svg?branch=master)](https://travis-ci.org/sindresorhus/is-fullwidth-code-point) | ||
# is-fullwidth-code-point | ||
> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) | ||
## Install | ||
@@ -12,7 +11,6 @@ | ||
## Usage | ||
```js | ||
const isFullwidthCodePoint = require('is-fullwidth-code-point'); | ||
import isFullwidthCodePoint from 'is-fullwidth-code-point'; | ||
@@ -26,3 +24,2 @@ isFullwidthCodePoint('谢'.codePointAt(0)); | ||
## API | ||
@@ -38,5 +35,12 @@ | ||
--- | ||
## License | ||
MIT © [Sindre Sorhus](https://sindresorhus.com) | ||
<div align="center"> | ||
<b> | ||
<a href="https://tidelift.com/subscription/pkg/npm-is-fullwidth-code-point?utm_source=npm-is-fullwidth-code-point&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> | ||
</b> | ||
<br> | ||
<sub> | ||
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. | ||
</sub> | ||
</div> |
Sorry, the diff of this file is not supported yet
5189
44
Yes
51