Add support for variation selectors.

This commit is contained in:
John-David Dalton
2015-09-19 01:42:19 -07:00
parent 53bf94ce78
commit f029d7c943

View File

@@ -151,22 +151,24 @@
rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
rsUpper = '[A-Z\\xc0-\\xd6\\xd8-\\xde]',
rsVS = '\\ufe0e\\ufe0f',
rsZWJ = '\\u200d',
rsJoiner = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + '))*',
rsOptVS = '[' + rsVS + ']?',
rsJoiner = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVS + ')*',
rsSymbol = '(?:' + [rsNonAstral, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
/** Used to match [zero-width joiners and code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
var reAdvSymbol = RegExp('[' + rsZWJ + rsAstralRange + ']');
var reAdvSymbol = RegExp('[' + rsZWJ + rsVS + rsAstralRange + ']');
/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
var reStrSymbol = RegExp(rsSymbol + rsJoiner, 'g');
var reStrSymbol = RegExp(rsSymbol + rsOptVS + rsJoiner, 'g');
/** Used to match words to create compound words. */
var reWord = RegExp([
rsUpper + '+(?=' + rsUpper + rsLowers + ')',
rsUpper + '?' + rsLowers,
rsUpper + '+',
'(?:' + rsRegional + '|' + rsSurrPair + ')' + rsJoiner,
'(?:' + rsRegional + '|' + rsSurrPair + ')' + rsOptVS + rsJoiner,
rsDigits
].join('|'), 'g');