@sutton-signwriting/sgnw-components
Version:
a javascript package of web components for use with the SignWriting script.
464 lines (446 loc) • 28.2 kB
JavaScript
/*!
* The Sutton SignWriting Web Components
*/
import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers.js';
var font = createCommonjsModule(function (module, exports) {
/**
* Sutton SignWriting TrueType Font Module v1.4.2 (https://github.com/sutton-signwriting/font-ttf)
* Author: Steve Slevinski (https://SteveSlevinski.me)
* font.js is released under the MIT License.
*/
(function (global, factory) {
factory(exports) ;
})(commonjsGlobal, (function (exports) {
/**
* Function that appends font-face CSS for the Sutton SignWriting fonts for system installed fonts, relative directory fonts, or content delivery network
* @function font.cssAppend
* @param {string} dir - an optional relative directory for font location
* @example
* font.cssAppend('./font/')
*/
const cssAppend = function (dir = '') {
const id = "SgnwFontCss";
if (!document.getElementById(id)) {
const style = document.createElement('style');
style.setAttribute("id", "SgnwFontCss");
style.appendChild(document.createTextNode(`
@font-face {
font-family: "SuttonSignWritingLine";
src:
local('SuttonSignWritingLine'),
${dir ? `url('${dir}SuttonSignWritingLine.ttf') format('truetype'),` : ""}
url('https://cdn.jsdelivr.net/npm/@sutton-signwriting/font-ttf@1.0.0/font/SuttonSignWritingLine.ttf') format('truetype');
}
@font-face {
font-family: "SuttonSignWritingFill";
src:
local('SuttonSignWritingFill'),
${dir ? `url('${dir}SuttonSignWritingFill.ttf') format('truetype'),` : ""}
url('https://cdn.jsdelivr.net/npm/@sutton-signwriting/font-ttf@1.0.0/font/SuttonSignWritingFill.ttf') format('truetype');
}
@font-face {
font-family: "SuttonSignWritingOneD";
src:
local('SuttonSignWritingOneD'),
${dir ? `url('${dir}SuttonSignWritingOneD.ttf') format('truetype'),` : ""}
url('https://cdn.jsdelivr.net/npm/@sutton-signwriting/font-ttf@1.0.0/font/SuttonSignWritingOneD.ttf') format('truetype');
}
`));
document.head.appendChild(style);
}
};
let sizes = {};
const zoom = 2;
const bound = 76 * zoom;
let context;
/**
* Function that returns the size of a symbol using an id
* @function font.symbolSize
* @param {number} id - a 16-bit number of a symbol
* @returns {number[]} width and height of symbol
* @example
* font.symbolSize(1)
*
* return [15,30]
*/
const symbolSize = function (id) {
if (id in sizes) {
return [...sizes[id]];
}
if (!context) {
const canvaser = document.createElement("canvas");
canvaser.width = bound;
canvaser.height = bound;
context = canvaser.getContext("2d");
}
context.clearRect(0, 0, bound, bound);
context.font = 30 * zoom + "px 'SuttonSignWritingLine'";
context.fillText(String.fromCodePoint(id + 0xF0000), 0, 0);
const imgData = context.getImageData(0, 0, bound, bound).data;
let w, h, i, s;
wloop: for (w = bound - 1; w >= 0; w--) {
for (h = 0; h < bound; h += 1) {
for (s = 0; s < 4; s += 1) {
i = w * 4 + h * 4 * bound + s;
if (imgData[i]) {
break wloop;
}
}
}
}
var width = w;
hloop: for (h = bound - 1; h >= 0; h--) {
for (w = 0; w < width; w += 1) {
for (s = 0; s < 4; s += 1) {
i = w * 4 + h * 4 * bound + s;
if (imgData[i]) {
break hloop;
}
}
}
}
var height = h + 1;
width = Math.ceil(width / zoom);
height = Math.ceil(height / zoom);
// Rounding error in chrome. Manual fixes.
if (14394 == id) {
width = 19;
}
if ([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(id)) {
width = 20;
}
if (31921 == id) {
width = 22;
}
if (38460 == id) {
width = 23;
}
if ([20164, 20212].includes(id)) {
width = 25;
}
if (31894 == id) {
width = 28;
}
if (46698 == id) {
width = 29;
}
if (29606 == id) {
width = 30;
}
if (44855 == id) {
width = 40;
}
if (32667 == id) {
width = 50;
}
if ([11088, 11474, 11490, 11506].includes(id)) {
height = 20;
}
if (6285 == id) {
height = 21;
}
if (40804 == id) {
height = 31;
}
if (41475 == id) {
height = 36;
}
// Error in chrome. Manual fix.
// if (width==0 && height==0) {
if (width == 0 && height == 0) {
const sizefix = {
9: [15, 30],
10: [21, 30],
11: [30, 15],
12: [30, 21],
13: [15, 30],
14: [21, 30]
};
if (id in sizefix) {
width = sizefix[id][0];
height = sizefix[id][1];
}
}
if (width == 0 && height == 0) {
return undefined;
}
sizes[id] = [width, height];
return [width, height];
};
/**
* Function that returns a plane 15 character for a symbol line using an id
* @function font.symbolLine
* @param {number} id - a 16-bit number of a symbol
* @returns {string} character for symbol line
* @example
* font.symbolLine(1)
*
* return ''
*/
const symbolLine = function (id) {
return String.fromCodePoint(id + 0xF0000);
};
/**
* Function that returns a plane 16 character for a symbol fill using an id
* @function font.symbolFill
* @param {number} id - a 16-bit number of a symbol
* @returns {string} character for symbol fill
* @example
* font.symbolFill(1)
*
* return ''
*/
const symbolFill = function (id) {
return String.fromCodePoint(id + 0x100000);
};
/**
* Function that creates two text elements for a symbol using an id
* @function font.symbolText
* @param {number} id - a 16-bit number of a symbol
* @returns {string} SVG segment for line and fill
* @example
* font.symbolText(1)
*
* return ` <text class="sym-fill" fill="white" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;"></text>
* <text class="sym-line" fill="black" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;"></text>`
*/
const symbolText = function (id) {
return ` <text class="sym-fill" fill="white" style="pointer-events:none;font-family:'SuttonSignWritingFill';font-size:30px;">${symbolFill(id)}</text>
<text class="sym-line" fill="black" style="pointer-events:none;font-family:'SuttonSignWritingLine';font-size:30px;">${symbolLine(id)}</text>`;
};
/**
* Function that executes a callback function once the Sutton SignWriiting Line and Fill fonts are ready to use
* @function font.cssLoaded
* @param {function} callback - a callback function to execute when fonts are ready
* @example
* const callback = () => {
* console.log("Sutton SignWriting Line and Fill fonts are ready to use")
* }
*
* font.cssLoaded( callback )
*/
const cssLoaded = function (callback) {
let lineReady = false;
let fillReady = false;
cssLoadedLine(() => {
lineReady = true;
});
cssLoadedFill(() => {
fillReady = true;
});
const cssCheck = setInterval(function () {
if (lineReady && fillReady) {
clearInterval(cssCheck);
callback();
}
}, 100);
};
/**
* Function that executes a callback function once the Sutton SignWriiting Line font is ready to use
* @function font.cssLoadedLine
* @param {function} callback - a callback function to execute when line font is ready
* @example
* const callback = () => {
* console.log("Sutton SignWriting Line font is ready to use")
* }
*
* font.cssLoadedLine( callback )
*/
const cssLoadedLine = function (callback) {
if (!symbolSize(1)) {
const cssCheck = setInterval(function () {
if (symbolSize(1)) {
clearInterval(cssCheck);
callback();
}
}, 100);
} else {
callback();
}
};
/**
* Function that executes a callback function once the Sutton SignWriiting Fill font is ready to use
* @function font.cssLoadedFill
* @param {function} callback - a callback function to execute when fill font is ready
* @example
* const callback = () => {
* console.log("Sutton SignWriting Fill font is ready to use")
* }
*
* font.cssLoadedFill( callback )
*/
const cssLoadedFill = function (callback) {
const fillReady = function () {
const canvaser = document.createElement("canvas");
canvaser.width = 15;
canvaser.height = 30;
const context = canvaser.getContext("2d");
context.font = "30px 'SuttonSignWritingFill'";
context.fillText(symbolFill(1), 0, 0);
const imgData = context.getImageData(0, 0, 15, 30).data;
return !imgData.every(item => item === 0);
};
if (!fillReady()) {
const cssCheck = setInterval(function () {
if (fillReady()) {
clearInterval(cssCheck);
callback();
}
}, 100);
} else {
callback();
}
};
exports.cssAppend = cssAppend;
exports.cssLoaded = cssLoaded;
exports.cssLoadedFill = cssLoadedFill;
exports.cssLoadedLine = cssLoadedLine;
exports.symbolFill = symbolFill;
exports.symbolLine = symbolLine;
exports.symbolSize = symbolSize;
exports.symbolText = symbolText;
Object.defineProperty(exports, '__esModule', { value: true });
}));
/* support ongoing development on https://patreon.com/signwriting */
});
var style_min = createCommonjsModule(function (module, exports) {
/* Sutton SignWriting Core Module v1.5.4 (https://github.com/sutton-signwriting/core), author: Steve Slevinski (https://SteveSlevinski.me), license: MIT */
!function(e,o){o(exports);}(commonjsGlobal,(function(e){let o={colorize:"C",colorhex:"(?:[0-9a-fA-F]{3}){1,2}",colorname:"[a-zA-Z]+",padding:"P[0-9]{2}",zoom:"Z(?:[0-9]+(?:\\.[0-9]+)?|x)",classbase:"-?[_a-zA-Z][_a-zA-Z0-9-]{0,100}",id:"[a-zA-Z][_a-zA-Z0-9-]{0,100}"};o.colorbase=`(?:${o.colorhex}|${o.colorname})`,o.color=`_${o.colorbase}_`,o.colors=`_${o.colorbase}(?:,${o.colorbase})?_`,o.background=`G${o.color}`,o.detail=`D${o.colors}`,o.detailsym=`D[0-9]{2}${o.colors}`,o.classes=`${o.classbase}(?: ${o.classbase})*`,o.full=`-(${o.colorize})?(${o.padding})?(${o.background})?(${o.detail})?(${o.zoom})?(?:-((?:${o.detailsym})*))?(?:-(${o.classes})?!(?:(${o.id})!)?)?`;const t=e=>(new RegExp(`^${o.colorhex}$`).test(e)?"#":"")+e,s=e=>"string"!=typeof e?[0,0,0]:e.replace(/rgba?\((.+?)\)/gi,((e,o)=>o)).split(",").map(Number),a=e=>e.slice(0,3).map((e=>e.toString(16).padStart(2,"0"))).join("");e.compose=e=>{if("object"!=typeof e||null===e)return;let t="-";t+=e.colorize?"C":"";const s=parseInt(e.padding);t+=!s||s<=0||s>99?"":"P"+(s>9?s:"0"+s);const a=e.background&&"string"==typeof e.background?e.background.match(o.colorbase)[0]:void 0;t+=a?"G_"+a+"_":"";const i=e.detail&&e.detail[0]&&"string"==typeof e.detail[0]?e.detail[0].match(o.colorbase)[0]:void 0,l=e.detail&&e.detail[1]&&"string"==typeof e.detail[1]?e.detail[1].match(o.colorbase)[0]:void 0;i&&(t+="D_"+i,l&&(t+=","+l),t+="_");const r="x"===e.zoom?"x":parseFloat(e.zoom);t+=!r||r<=0?"":"Z"+r;let c="";const n=e.detailsym&&Array.isArray(e.detailsym)?e.detailsym.map((e=>{const t=parseInt(e.index);if(!t||t<=0||t>99)return "";let s="D"+(t>9?t:"0"+t);const a=e.detail&&e.detail[0]?e.detail[0].match(o.colorbase)[0]:void 0,i=e.detail&&e.detail[1]?e.detail[1].match(o.colorbase)[0]:void 0;return a&&(s+="_"+a,i&&(s+=","+i),s+="_"),s})):[];c+=n.join("");let d="";const p=e.classes&&"string"==typeof e.classes?e.classes.match(o.classes)[0]:void 0;d+=p||"";const m=e.id&&"string"==typeof e.id?e.id.match(o.id)[0]:void 0;return d+=p||m?"!":"",d+=m?m+"!":"",t+(c||d?"-"+c:"")+(d?"-"+d:"")},e.merge=(e,o)=>{"object"!=typeof e&&(e={}),"object"!=typeof o&&(o={});const t="zoom"in e?e.zoom:1,s="zoom"in o?o.zoom:1;return {...e,...o,zoom:t*s}},e.parse=e=>{const s=`^${o.full}`,a=("string"==typeof e?e.match(new RegExp(s)):[])||[];return i={colorize:a[1]?!!a[1]:void 0,padding:a[2]?parseInt(a[2].slice(1)):void 0,background:a[3]?t(a[3].slice(2,-1)):void 0,detail:a[4]?a[4].slice(2,-1).split(",").map(t):void 0,zoom:a[5]?"Zx"===a[5]?"x":parseFloat(a[5].slice(1)):void 0,detailsym:a[6]?a[6].match(new RegExp(o.detailsym,"g")).map((e=>{const o=e.split("_"),s=o[1].split(",").map(t);return {index:parseInt(o[0].slice(1)),detail:s}})):void 0,classes:a[7]?a[7]:void 0,id:a[8]?a[8]:void 0},Object.fromEntries(Object.entries(i).filter((([e,o])=>void 0!==o)));var i;},e.re=o,e.rgb2hex=(e,o=0)=>{const t=s(e);return 4==t.length&&t[3]<=o?"transparent":a(t)},e.rgba2hex=(e,o)=>{const t=s(o),i=s(e),l=4==i.length?i[3]:1;return 0==l?"transparent":a(i.map(((e,o)=>parseInt((1-l)*t[o]+l*e))))},Object.defineProperty(e,"__esModule",{value:!0});}));
});
window['sgnw'] = false;
const event = new Event('sgnw');
const cssValues = function (el) {
let css = window.getComputedStyle(el, null);
let styleObj = {
"background": style_min.rgb2hex(css.getPropertyValue("background-color")),
"detail": [
style_min.rgb2hex(css.getPropertyValue("color")),
style_min.rgb2hex(css.getPropertyValue("background-color"))
],
"zoom": parseInt(css.getPropertyValue("font-size").slice(0, -2)) / 30
};
let elem = el;
while (styleObj.detail[1] == "transparent") {
elem = elem.parentElement;
if (elem == null) {
elem = document.body;
}
css = window.getComputedStyle(elem, null);
styleObj.detail[1] = style_min.rgb2hex(css.getPropertyValue("background-color"));
}
return styleObj;
};
const padArray = function (arr, len) {
if (len < arr.length) {
len = len * 2;
}
return arr.concat(Array(len - arr.length).fill(null));
};
const padArrayInner = function (arr, segment, len) {
let padded = [];
let slice;
const chunks = Math.ceil(arr.length / segment);
for (let i = 0; i < chunks; i += 1) {
slice = arr.slice(i * segment, (i + 1) * segment);
padded = padArray(padded.concat(slice), len * (i + 1));
}
return padded;
};
const hasSize = function (symbolId) {
const size = font.symbolSize(symbolId);
return size != undefined;
};
const getOffset = function (el) {
const offset = el ? el.getBoundingClientRect() : { top: 0, left: 0 };
return { top: offset.top + (window.pageYOffset || window.document.documentElement.scrollTop), left: offset.left + (window.pageXOffset || window.document.documentElement.scrollLeft) };
};
const overlap = function (el1, el2) {
if (!el2)
return false;
const el1a = el1.firstElementChild;
const box = el1a.getBoundingClientRect();
const offset1 = getOffset(el1);
const width1 = box.width;
const height1 = box.height;
const offset2 = getOffset(el2);
const width2 = el2.offsetWidth;
const height2 = el2.offsetHeight;
if (!(offset2.left > offset1.left + width1 - width1 / 2 || offset2.left + width2 < offset1.left + width1 / 2 || offset2.top > offset1.top + height1 - height1 / 2 || offset2.top + height2 < offset1.top + height1 / 2)) {
return true;
}
else {
return false;
}
};
const iswa2010FSW = {
"S10000": ["S10000", "S10110", "S10210", "S10310", "S10410", "S10510", "S10610", "S10710", "S10810", "S10910", "S10a10", "S10b10", "S10c10", "S10d10"],
"S10e00": ["S10e00", "S10f10", "S11010", "S11110", "S11210", "S11310", "S11410", "S11510", "S11610", "S11710", "S11810", "S11910", "S11a10", "S11b10", "S11c10", "S11d10"],
"S11e00": ["S11e00", "S11f10", "S12010", "S12110", "S12210", "S12310", "S12410", "S12510", "S12610", "S12710", "S12810", "S12910", "S12a10", "S12b10", "S12c10", "S12d10", "S12e10", "S12f10", "S13010", "S13110", "S13210", "S13310", "S13410", "S13510", "S13610", "S13710", "S13810", "S13910", "S13a10", "S13b10", "S13c10", "S13d10", "S13e10", "S13f10", "S14010", "S14110", "S14210", "S14310"],
"S14400": ["S14400", "S14510", "S14610", "S14710", "S14810", "S14910", "S14a10", "S14b10"],
"S14c00": ["S14c00", "S14d10", "S14e10", "S14f10", "S15010", "S15110", "S15210", "S15310", "S15410", "S15510", "S15610", "S15710", "S15810", "S15910", "S15a10", "S15b10", "S15c10", "S15d10", "S15e10", "S15f10", "S16010", "S16110", "S16210", "S16310", "S16410", "S16510", "S16610", "S16710", "S16810", "S16910", "S16a10", "S16b10", "S16c10", "S16d10", "S16e10", "S16f10", "S17010", "S17110", "S17210", "S17310", "S17410", "S17510", "S17610", "S17710", "S17810", "S17910", "S17a10", "S17b10", "S17c10", "S17d10", "S17e10", "S17f10", "S18010", "S18110", "S18210", "S18310", "S18410", "S18510"],
"S18600": ["S18600", "S18710", "S18810", "S18910", "S18a10", "S18b10", "S18c10", "S18d10", "S18e10", "S18f10", "S19010", "S19110", "S19210", "S19310", "S19410", "S19510", "S19610", "S19710", "S19810", "S19910", "S19a10", "S19b10", "S19c10", "S19d10", "S19e10", "S19f10", "S1a010", "S1a110", "S1a210", "S1a310"],
"S1a400": ["S1a400", "S1a510", "S1a610", "S1a710", "S1a810", "S1a910", "S1aa10", "S1ab10", "S1ac10", "S1ad10", "S1ae10", "S1af10", "S1b010", "S1b110", "S1b210", "S1b310", "S1b410", "S1b510", "S1b610", "S1b710", "S1b810", "S1b910"],
"S1ba00": ["S1ba00", "S1bb10", "S1bc10", "S1bd10", "S1be10", "S1bf10", "S1c010", "S1c110", "S1c210", "S1c310", "S1c410", "S1c510", "S1c610", "S1c710", "S1c810", "S1c910", "S1ca10", "S1cb10", "S1cc10"],
"S1cd00": ["S1cd00", "S1ce10", "S1cf10", "S1d010", "S1d110", "S1d210", "S1d310", "S1d410", "S1d510", "S1d610", "S1d710", "S1d810", "S1d910", "S1da10", "S1db10", "S1dc10", "S1dd10", "S1de10", "S1df10", "S1e010", "S1e110", "S1e200", "S1e310", "S1e410", "S1e510", "S1e610", "S1e710", "S1e810", "S1e910", "S1ea10", "S1eb10", "S1ec10", "S1ed10", "S1ee10", "S1ef10", "S1f010", "S1f110", "S1f210", "S1f310", "S1f410"],
"S1f500": ["S1f500", "S1f610", "S1f710", "S1f810", "S1f910", "S1fa10", "S1fb10", "S1fc10", "S1fd10", "S1fe10", "S1ff10", "S20010", "S20110", "S20210", "S20310", "S20410"],
"S20500": ["S20500", "S20600", "S20700", "S20800", "S20900", "S20a00", "S20b00", "S20c00", "S20d00", "S20e00", "S20f00", "S21000", "S21100", "S21200", "S21300", "S21400", "S21500"],
"S21600": ["S21600", "S21700", "S21800", "S21900", "S21a00", "S21b00", "S21c00", "S21d00", "S21e00", "S21f00", "S22000", "S22100", "S22200", "S22300", "S22400", "S22500", "S22600", "S22700", "S22800", "S22900"],
"S22a00": ["S22a00", "S22b00", "S22c00", "S22d00", "S22e00", "S22f00", "S23000", "S23100", "S23200", "S23300", "S23400", "S23500", "S23600", "S23700", "S23800", "S23900", "S23a00", "S23b00", "S23c00", "S23d00", "S23e00", "S23f00", "S24000", "S24100", "S24200", "S24300", "S24400", "S24500", "S24600", "S24700", "S24800", "S24900", "S24a00", "S24b00", "S24c00", "S24d00", "S24e00", "S24f00", "S25000", "S25100", "S25200", "S25300", "S25400"],
"S25500": ["S25500", "S25600", "S25700", "S25800", "S25900", "S25a00", "S25b00", "S25c00", "S25d00", "S25e00", "S25f00", "S26000", "S26100", "S26200", "S26300", "S26400"],
"S26500": ["S26500", "S26600", "S26700", "S26800", "S26900", "S26a00", "S26b00", "S26c00", "S26d00", "S26e00", "S26f00", "S27000", "S27100", "S27200", "S27300", "S27400", "S27500", "S27600", "S27700", "S27800", "S27900", "S27a00", "S27b00", "S27c00", "S27d00", "S27e00", "S27f00", "S28000", "S28100", "S28200", "S28300", "S28400", "S28500", "S28600", "S28700"],
"S28800": ["S28800", "S28900", "S28a00", "S28b00", "S28c00", "S28d00", "S28e00", "S28f00", "S29000", "S29100", "S29200", "S29300", "S29400", "S29500", "S29600", "S29700", "S29800", "S29900", "S29a00", "S29b00", "S29c00", "S29d00", "S29e00", "S29f00", "S2a000", "S2a100", "S2a200", "S2a300", "S2a400", "S2a500"],
"S2a600": ["S2a600", "S2a700", "S2a800", "S2a900", "S2aa00", "S2ab00", "S2ac00", "S2ad00", "S2ae00", "S2af00", "S2b000", "S2b100", "S2b200", "S2b300", "S2b400", "S2b500", "S2b600"],
"S2b700": ["S2b700", "S2b800", "S2b900", "S2ba00", "S2bb00", "S2bc00", "S2bd00", "S2be00", "S2bf00", "S2c000", "S2c100", "S2c200", "S2c300", "S2c400", "S2c500", "S2c600", "S2c700", "S2c800", "S2c900", "S2ca00", "S2cb00", "S2cc00", "S2cd00", "S2ce00", "S2cf00", "S2d000", "S2d100", "S2d200", "S2d300", "S2d400"],
"S2d500": ["S2d500", "S2d600", "S2d700", "S2d800", "S2d900", "S2da00", "S2db00", "S2dc00", "S2dd00", "S2de00", "S2df00", "S2e000", "S2e100", "S2e200"],
"S2e300": ["S2e300", "S2e400", "S2e500", "S2e600", "S2e700", "S2e800", "S2e900", "S2ea00", "S2eb00", "S2ec00", "S2ed00", "S2ee00", "S2ef00", "S2f000", "S2f100", "S2f200", "S2f300", "S2f400", "S2f500", "S2f600"],
"S2f700": ["S2f700", "S2f800", "S2f900", "S2fa00", "S2fb00", "S2fc00", "S2fd00", "S2fe00"],
"S2ff00": ["S2ff00", "S30000", "S30100", "S30200", "S30300", "S30400", "S30500", "S30600", "S30700", "S30800", "S30900"],
"S30a00": ["S30a00", "S30b00", "S30c00", "S30d00", "S30e00", "S30f00", "S31000", "S31100", "S31200", "S31300", "S31400", "S31500", "S31600", "S31700", "S31800", "S31900", "S31a00", "S31b00", "S31c00", "S31d00", "S31e00", "S31f00", "S32000", "S32100", "S32200", "S32300", "S32400", "S32500", "S32600", "S32700", "S32800", "S32900"],
"S32a00": ["S32a00", "S32b00", "S32c00", "S32d00", "S32e00", "S32f00", "S33000", "S33100", "S33200", "S33300", "S33400", "S33500", "S33600", "S33700", "S33800", "S33900", "S33a00"],
"S33b00": ["S33b00", "S33c00", "S33d00", "S33e00", "S33f00", "S34000", "S34100", "S34200", "S34300", "S34400", "S34500", "S34600", "S34700", "S34800", "S34900", "S34a00", "S34b00", "S34c00", "S34d00", "S34e00", "S34f00", "S35000", "S35100", "S35200", "S35300", "S35400", "S35500", "S35600", "S35700", "S35800"],
"S35900": ["S35900", "S35a00", "S35b00", "S35c00", "S35d00", "S35e00", "S35f00", "S36000", "S36100", "S36200", "S36300", "S36400", "S36500", "S36600", "S36700", "S36800", "S36900", "S36a00", "S36b00", "S36c00"],
"S36d00": ["S36d00", "S36e00", "S36f00", "S37000", "S37100", "S37200", "S37300", "S37400", "S37500"],
"S37600": ["S37600", "S37700", "S37800", "S37900", "S37a00", "S37b00", "S37c00", "S37d00", "S37e00"],
"S37f00": ["S37f00", "S38000", "S38100", "S38200", "S38300", "S38400", "S38500", "S38600"],
"S38700": ["S38700", "S38800", "S38900", "S38a00", "S38b00"]
};
const iswa2010SWU = {
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", "", ""],
"": ["", "", "", "", "", "", "", ""],
"": ["", "", "", "", ""]
};
function appGlobalScript () {
font.cssAppend();
font.cssLoaded(() => {
window['sgnw'] = true;
window.dispatchEvent(event);
});
}
export { appGlobalScript as a, padArray as b, cssValues as c, iswa2010SWU as d, hasSize as h, iswa2010FSW as i, overlap as o, padArrayInner as p };