Skip to content

mathiasbynens/unicode-loose-match

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unicode-loose-match

unicode-loose-match is a JavaScript implementation of UAX44-LM3, i.e. the loose matching algorithm for symbolic values as defined in the Unicode Standard.

It’s based on Unicode data and recognizes property aliases and property value aliases.

Installation

To use unicode-loose-match programmatically, install it as a dependency via npm:

$ npm install unicode-loose-match

Then, require it:

const matchLoosely = require('unicode-loose-match');

API

This module exports a single function named matchLoosely.

matchLoosely(propertyInput, [valueInput])

This function takes two strings propertyInput and valueInput and applies loose matching on the property-value pair within the list of all Unicode property values. valueInput is optional.

The return value is an object containing containing the canonical property name property and the canonical property value name value. If an unknown propertyInput is given, an exception is thrown.

// Find the canonical property name and property value name:
matchLoosely('blk', 'Arabic_PF_B')
// → { 'property': 'Block', 'value': 'Arabic_Presentation_Forms_B' }

// Find the canonical property name:
matchLoosely('compex')
// → { 'property': 'Full_Composition_Exclusion' }

Author

twitter/mathias
Mathias Bynens

License

unicode-loose-match is available under the MIT license.

About

A JavaScript implementation of Unicode loose matching.

Resources

License

Stars

Watchers

Forks

Packages

No packages published