UNPKG

1.92 kBJavaScriptView Raw
1/* Sutton SignWriting Unicode 8 Module v1.2.0 (https://github.com/sutton-signwriting/unicode8), author: Steve Slevinski (https://SteveSlevinski.me), sponsor: https://patreon.com/signwriting, donate: https://donate.sutton-signwriting.io, license: MIT */
2!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).ssw=t.ssw||{},t.ssw.unicode8=t.ssw.unicode8||{},t.ssw.unicode8.convert={}))}(this,(function(t){"use strict";let e={base:"(?:\ud836[\udc00-\ude8b])",fill:"(?:\ud836[\ude9b-\ude9f])",rotation:"(?:\ud836[\udea1-\udeaf])"};e.full=`(${e.base})(${e.fill})?(${e.rotation})?`;const o=t=>{const o=`^${e.full}`,i=("string"==typeof t?t.match(new RegExp(o)):[])||[];return{base:i[1]?i[1]:void 0,fill:i[2]?i[2]:void 0,rotation:i[3]?i[3]:void 0}},i=t=>String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023));t.code2uni=i,t.fsw2uni=t=>{let e=parseInt(t.slice(1,4),16),o=parseInt(t.slice(4,5),16),n=parseInt(t.slice(5,6),16);return i(e+120576)+(o?i(o+121498):"")+(n?i(n+121504):"")},t.swu2uni=t=>{const e=t.codePointAt(0)-262145,o=parseInt(e/96),n=parseInt((e-96*o)/16),s=parseInt(e-96*o-16*n);return i(o+120832)+(n?i(n+121498):"")+(s?i(s+121504):"")},t.uni2code=t=>t.codePointAt(0),t.uni2fsw=t=>{let e=o(t);return e.base?(e.base=e.base.codePointAt(0)-120576,e.fill=e.fill?e.fill.codePointAt(0)-121498:0,e.rotation=e.rotation?e.rotation.codePointAt(0)-121504:0,"S"+e.base.toString(16)+e.fill.toString(16)+e.rotation.toString(16)):void 0},t.uni2hex=t=>t.codePointAt(0).toString(16).toUpperCase(),t.uni2swu=t=>{let e=o(t);return e.base?(e.base=e.base.codePointAt(0)-120832,e.fill=e.fill?e.fill.codePointAt(0)-121498:0,e.rotation=e.rotation?e.rotation.codePointAt(0)-121504:0,i(262145+96*e.base+16*e.fill+e.rotation)):void 0},Object.defineProperty(t,"__esModule",{value:!0})}));