UNPKG

3.88 kBJavaScriptView Raw
1/* Sutton SignWriting TrueType Font Module v1.4.3 (https://github.com/sutton-signwriting/font-ttf), author: Steve Slevinski (https://SteveSlevinski.me), license: MIT */
2!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(((t="undefined"!=typeof globalThis?globalThis:t||self).ssw=t.ssw||{},t.ssw.ttf=t.ssw.ttf||{},t.ssw.ttf.font={}))}(this,(function(t){"use strict";let n={};const e=152;let i;const o=function(t){if(t in n)return[...n[t]];if(!i){const t=document.createElement("canvas");t.width=e,t.height=e,i=t.getContext("2d")}i.clearRect(0,0,e,e),i.font="60px 'SuttonSignWritingLine'",i.fillText(String.fromCodePoint(t+983040),0,0);const o=i.getImageData(0,0,e,e).data;let r,f,l,s;t:for(r=151;r>=0;r--)for(f=0;f<e;f+=1)for(s=0;s<4;s+=1)if(l=4*r+4*f*e+s,o[l])break t;var c=r;t:for(f=151;f>=0;f--)for(r=0;r<c;r+=1)for(s=0;s<4;s+=1)if(l=4*r+4*f*e+s,o[l])break t;var u=f+1;if(c=Math.ceil(c/2),u=Math.ceil(u/2),14394==t&&(c=19),[10468,10480,10496,10512,10500,10532,10548,10862,10878,10894,11058,11074,11476,11488,11492,11504,11508,11520,10516,10910,10926,11042,11082,10942].includes(t)&&(c=20),31921==t&&(c=22),38460==t&&(c=23),[20164,20212].includes(t)&&(c=25),31894==t&&(c=28),46698==t&&(c=29),29606==t&&(c=30),44855==t&&(c=40),32667==t&&(c=50),[11088,11474,11490,11506].includes(t)&&(u=20),6285==t&&(u=21),40804==t&&(u=31),41475==t&&(u=36),0==c&&0==u){const n={9:[15,30],10:[21,30],11:[30,15],12:[30,21],13:[15,30],14:[21,30]};t in n&&(c=n[t][0],u=n[t][1])}return 0!=c||0!=u?(n[t]=[c,u],[c,u]):void 0},r=function(t){return String.fromCodePoint(t+983040)},f=function(t){return String.fromCodePoint(t+1048576)},l=function(t){if(o(1))t();else{const n=setInterval((function(){o(1)&&(clearInterval(n),t())}),100)}},s=function(t){const n=function(){const t=document.createElement("canvas");t.width=15,t.height=30;const n=t.getContext("2d");n.font="30px 'SuttonSignWritingFill'",n.fillText(f(1),0,0);return!n.getImageData(0,0,15,30).data.every((t=>0===t))};if(n())t();else{const e=setInterval((function(){n()&&(clearInterval(e),t())}),100)}};t.cssAppend=function(t=""){if(!document.getElementById("SgnwFontCss")){const n=document.createElement("style");n.setAttribute("id","SgnwFontCss"),n.appendChild(document.createTextNode(`\n @font-face {\n font-family: "SuttonSignWritingLine";\n src: \n local('SuttonSignWritingLine'),\n ${t?`url('${t}SuttonSignWritingLine.ttf') format('truetype'),`:""}\n url('https://cdn.jsdelivr.net/npm/@sutton-signwriting/font-ttf@1.0.0/font/SuttonSignWritingLine.ttf') format('truetype');\n }\n @font-face {\n font-family: "SuttonSignWritingFill";\n src: \n local('SuttonSignWritingFill'),\n ${t?`url('${t}SuttonSignWritingFill.ttf') format('truetype'),`:""}\n url('https://cdn.jsdelivr.net/npm/@sutton-signwriting/font-ttf@1.0.0/font/SuttonSignWritingFill.ttf') format('truetype');\n }\n @font-face {\n font-family: "SuttonSignWritingOneD";\n src: \n local('SuttonSignWritingOneD'),\n ${t?`url('${t}SuttonSignWritingOneD.ttf') format('truetype'),`:""}\n url('https://cdn.jsdelivr.net/npm/@sutton-signwriting/font-ttf@1.0.0/font/SuttonSignWritingOneD.ttf') format('truetype');\n }\n `)),document.head.appendChild(n)}},t.cssLoaded=function(t){let n=!1,e=!1;l((()=>{n=!0})),s((()=>{e=!0}));const i=setInterval((function(){n&&e&&(clearInterval(i),t())}),100)},t.cssLoadedFill=s,t.cssLoadedLine=l,t.symbolFill=f,t.symbolLine=r,t.symbolSize=o,t.symbolText=function(t){return` <text class="sym-fill" fill="white" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;">${f(t)}</text>\n <text class="sym-line" fill="black" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;">${r(t)}</text>`},Object.defineProperty(t,"__esModule",{value:!0})}));