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.
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');
This module exports a single function named matchLoosely
.
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' }
Mathias Bynens |
unicode-loose-match is available under the MIT license.