1. get-east-asian-width
Determine the East Asian Width of a Unicode character
get-east-asian-width
Package: get-east-asian-width
Created by: sindresorhus
Last modified: Sun, 29 Oct 2023 16:04:17 GMT
Version: 1.2.0
License: MIT
Downloads: 12,669,562
Repository: https://github.com/sindresorhus/get-east-asian-width

Install

npm install get-east-asian-width
yarn add get-east-asian-width

get-east-asian-width

Determine the East Asian Width of a Unicode character

East Asian Width categorizes Unicode characters based on their occupied space in East Asian typography, which helps in text layout and alignment, particularly in languages like Japanese, Chinese, and Korean.

Unlike other similar packages, this package uses the latest Unicode data (which changes each year).

Install

 npm install get-east-asian-width

Usage

 import {eastAsianWidth, eastAsianWidthType} from 'get-east-asian-width';

const codePoint = '字'.codePointAt(0);

console.log(eastAsianWidth(codePoint));
//=> 2

console.log(eastAsianWidthType(codePoint));
//=> 'wide'

eastAsianWidth(codePoint: number, options?: object): 1 | 2

Returns the width as a number for the given code point.

options

Type: object

ambiguousAsWide

Type: boolean
Default: false

Whether to treat an 'ambiguous' character as wide.

 import {eastAsianWidth} from 'get-east-asian-width';

const codePoint = '⛣'.codePointAt(0);

console.log(eastAsianWidth(codePoint));
//=> 1

console.log(eastAsianWidth(codePoint, {ambiguousAsWide: true}));
//=> 2

Ambiguous characters behave like wide or narrow characters depending on the context (language tag, script identification, associated font, source of data, or explicit markup; all can provide the context). If the context cannot be established reliably, they should be treated as narrow characters by default.

  • http://www.unicode.org/reports/tr11/

eastAsianWidthType(codePoint: number): 'fullwidth' | 'halfwidth' | 'wide' | 'narrow' | 'neutral' | 'ambiguous'

Returns the type of “East Asian Width” for the given code point.

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code