'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
'use strict';
/* eslint-disable yoda */
module.exports = x => {
    if (Number.isNaN(x)) {
        return false;
    }
 
    // code points are derived from:
    // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
    if (
        x >= 0x1100 && (
            x <= 0x115f ||  // Hangul Jamo
            x === 0x2329 || // LEFT-POINTING ANGLE BRACKET
            x === 0x232a || // RIGHT-POINTING ANGLE BRACKET
            // CJK Radicals Supplement .. Enclosed CJK Letters and Months
            (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) ||
            // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
            (0x3250 <= x && x <= 0x4dbf) ||
            // CJK Unified Ideographs .. Yi Radicals
            (0x4e00 <= x && x <= 0xa4c6) ||
            // Hangul Jamo Extended-A
            (0xa960 <= x && x <= 0xa97c) ||
            // Hangul Syllables
            (0xac00 <= x && x <= 0xd7a3) ||
            // CJK Compatibility Ideographs
            (0xf900 <= x && x <= 0xfaff) ||
            // Vertical Forms
            (0xfe10 <= x && x <= 0xfe19) ||
            // CJK Compatibility Forms .. Small Form Variants
            (0xfe30 <= x && x <= 0xfe6b) ||
            // Halfwidth and Fullwidth Forms
            (0xff01 <= x && x <= 0xff60) ||
            (0xffe0 <= x && x <= 0xffe6) ||
            // Kana Supplement
            (0x1b000 <= x && x <= 0x1b001) ||
            // Enclosed Ideographic Supplement
            (0x1f200 <= x && x <= 0x1f251) ||
            // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
            (0x20000 <= x && x <= 0x3fffd)
        )
    ) {
        return true;
    }
 
    return false;
};