UNPKG

1.6 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 */
2let t={base:"(?:\ud836[\udc00-\ude8b])",fill:"(?:\ud836[\ude9b-\ude9f])",rotation:"(?:\ud836[\udea1-\udeaf])"};t.full=`(${t.base})(${t.fill})?(${t.rotation})?`;const o=o=>{const e=`^${t.full}`,i=("string"==typeof o?o.match(new RegExp(e)):[])||[];return{base:i[1]?i[1]:void 0,fill:i[2]?i[2]:void 0,rotation:i[3]?i[3]:void 0}},e=t=>String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023)),i=t=>t.codePointAt(0),n=t=>t.codePointAt(0).toString(16).toUpperCase(),r=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},a=t=>{let i=o(t);return i.base?(i.base=i.base.codePointAt(0)-120832,i.fill=i.fill?i.fill.codePointAt(0)-121498:0,i.rotation=i.rotation?i.rotation.codePointAt(0)-121504:0,e(262145+96*i.base+16*i.fill+i.rotation)):void 0},l=t=>{let o=parseInt(t.slice(1,4),16),i=parseInt(t.slice(4,5),16),n=parseInt(t.slice(5,6),16);return e(o+120576)+(i?e(i+121498):"")+(n?e(n+121504):"")},s=t=>{const o=t.codePointAt(0)-262145,i=parseInt(o/96),n=parseInt((o-96*i)/16),r=parseInt(o-96*i-16*n);return e(i+120832)+(n?e(n+121498):"")+(r?e(r+121504):"")};export{e as code2uni,l as fsw2uni,s as swu2uni,i as uni2code,r as uni2fsw,n as uni2hex,a as uni2swu};