What is unicode-properties?
The unicode-properties npm package provides utilities for querying properties of Unicode characters. It allows developers to determine various attributes of Unicode characters, such as their general category, script, and whether they are whitespace, punctuation, etc.
What are unicode-properties's main functionalities?
Get General Category
This feature allows you to get the general category of a Unicode character. In the example, the character 'A' is queried, and the output is 'Lu', which stands for 'Letter, Uppercase'.
const unicode = require('unicode-properties');
const category = unicode.getCategory('A');
console.log(category); // Output: 'Lu'
Check if Character is Alphabetic
This feature checks if a given Unicode character is alphabetic. In the example, the character 'A' is checked, and the output is true.
const unicode = require('unicode-properties');
const isAlphabetic = unicode.isAlphabetic('A');
console.log(isAlphabetic); // Output: true
Get Script of Character
This feature allows you to get the script of a Unicode character. In the example, the character 'あ' is queried, and the output is 'Hiragana'.
const unicode = require('unicode-properties');
const script = unicode.getScript('あ');
console.log(script); // Output: 'Hiragana'
Check if Character is Whitespace
This feature checks if a given Unicode character is a whitespace character. In the example, the space character is checked, and the output is true.
const unicode = require('unicode-properties');
const isWhitespace = unicode.isWhitespace(' ');
console.log(isWhitespace); // Output: true
Other packages similar to unicode-properties
unicode-trie
The unicode-trie package is used for efficient storage and lookup of Unicode character properties using a trie data structure. It is more specialized for performance and may be used in conjunction with other packages for full Unicode property querying.
unicode-12.1.0
The unicode-12.1.0 package provides Unicode data for version 12.1.0 of the Unicode standard. It includes data files and utilities for working with Unicode properties, but it may not be as user-friendly or feature-rich as unicode-properties.
unicode-properties
Provides fast access to unicode character properties. Uses unicode-trie to compress the
properties for all code points into just 9.5KB. Currently, unicode-properties supports Unicode version 12.
Usage
npm install unicode-properties
var unicode = require('unicode-properties');
unicode.getCategory('2'.charCodeAt())
unicode.getNumericValue('2'.charCodeAt())
API
getCategory(codePoint)
Returns the unicode general category for the given code point.
getScript(codePoint)
Returns the script for the given code point.
getCombiningClass(codePoint)
Returns the canonical combining class for the given code point.
getEastAsianWidth(codePoint)
Returns the East Asian width for the given code point.
getNumericValue(codePoint)
Returns the numeric value for the given code point, or null if there is no numeric value for that code point.
isAlphabetic(codePoint)
Returns whether the code point is an alphabetic character.
isDigit(codePoint)
Returns whether the code point is a digit.
isPunctuation(codePoint)
Returns whether the code point is a punctuation character.
isLowerCase(codePoint)
Returns whether the code point is lower case.
isUpperCase(codePoint)
Returns whether the code point is upper case.
isTitleCase(codePoint)
Returns whether the code point is title case.
isWhiteSpace(codePoint)
Returns whether the code point is whitespace: specifically, whether the category is one of Zs, Zl, or Zp.
isBaseForm(codePoint)
Returns whether the code point is a base form. A code point of base form does not graphically combine with preceding
characters.
isMark(codePoint)
Returns whether the code point is a mark character (e.g. accent).
License
MIT