npm.io
1.1.22 • Published 1 month ago

cjke-strings

Licence
MIT
Version
1.1.22
Deps
3
Size
41 kB
Vulns
0
Weekly
0
Stars
12

string-width is active maintenance again! Use that package instead.
This package will mark as deprecated soon.

CJKE strings module

Tools for Chinese Japanese Korean Emoji string

The code is come from:

  • Write by myself
  • Codebase is copied from sindresorhus/string-width
  • Learn about emojis from tonytonyjan/string-width
  • Unicode tables copied from many wiki pages

Mostly you also need a module called stringz

describe('typescript', () => {
	it('is really great', () => {
		should(cleverMan).to.be('using it');
	});
});

APIs

  • isCombiningCharacters - detect a character is in Combining Characters table
  • readFirstCompleteChar - get first complete character at beginning of given string, prevent ￿ or ?
  • unicodeEscape - escape string as "\uxxxx\uxxxx\uxxxx" form
  • limitWidth - cut a limited display width of a string
  • stringWidth - calculate display width of a string

readFirstCompleteChar(str: string, windowsConsole = false): CodePointInfo

var desc
str any string
windowsConsole is used for windows console or not

CodePointInfo

var type desc
data string first complete char
width number display width of that char
length number string length of that char
visible boolean should the char visible?
function limitWidth(str: string, limit: number, windowsConsole = false): LimitResult
var desc
str any string
limit target display width to cut
windowsConsole is used for windows console or not

LimitResult

var type desc
result string cut result
width number real display width of result
function stringWidth(str: string, windowsConsole = false): number
var desc
str any string
windowsConsole is used for windows console or not
{return} the display width of str
function isCombiningCharacters(code: number): boolean
var desc
code return value of 'string'.charCodeAt()
{return} is in combine char list
function unicodeEscape(str: string): string
var desc
str any string
{return} escaped string

Windows console

Windows Console (the black window) is not fully support unicode, so there is some workaround. Default is false.

char default when true
1 2
̀ 2 3
À̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀ 1 25
2 2
2 4(+)

Keywords