palt-typesetting 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -20
- package/bundle/typesetter.min.js +1 -1
- package/dist/apply-style.d.ts.map +1 -1
- package/dist/apply-style.js +19 -7
- package/package.json +1 -1
- package/types/index.d.ts +1 -1
package/README.md
CHANGED
|
@@ -43,12 +43,12 @@ WordPress や jQuery などの環境で使用する場合
|
|
|
43
43
|
```html
|
|
44
44
|
<head>
|
|
45
45
|
<!-- head タグ内でスタイルの読み込み -->
|
|
46
|
-
<link rel="stylesheet" type="text/css" href="https://unpkg.com/palt-typesetting@0.9.
|
|
46
|
+
<link rel="stylesheet" type="text/css" href="https://unpkg.com/palt-typesetting@0.9.1/bundle/typesetter.min.css" />
|
|
47
47
|
</head>
|
|
48
48
|
|
|
49
49
|
<body>
|
|
50
50
|
<!-- body 閉じタグの前でスクリプトの読み込み -->
|
|
51
|
-
<script src="https://unpkg.com/palt-typesetting@0.9.
|
|
51
|
+
<script src="https://unpkg.com/palt-typesetting@0.9.1/bundle/typesetter.min.js"></script>
|
|
52
52
|
</body>
|
|
53
53
|
```
|
|
54
54
|
|
|
@@ -145,6 +145,13 @@ const options = {
|
|
|
145
145
|
// output: <span class="typesetting-char-」">」</span>
|
|
146
146
|
// label が未指定の場合は、char の値がそのまま label として使用されます。
|
|
147
147
|
},
|
|
148
|
+
{
|
|
149
|
+
char: ['(', ')'],
|
|
150
|
+
label: 'parenthesis',
|
|
151
|
+
// output: <span class="typesetting-char-parenthesis">()</span>
|
|
152
|
+
// 配列で複数の文字をまとめて指定できます。
|
|
153
|
+
// 配列の長さが2以上の場合は label の指定が必須です。
|
|
154
|
+
},
|
|
148
155
|
],
|
|
149
156
|
|
|
150
157
|
// 罫線などの分離禁則文字を `.typesetting-no-breaks` でラップし、文字間を 0 に設定します。
|
|
@@ -215,27 +222,27 @@ console.log('output: ' + typesetter.render(srcHtml))
|
|
|
215
222
|
|
|
216
223
|
### オプション
|
|
217
224
|
|
|
218
|
-
| オプション名 | 説明
|
|
219
|
-
| ------------------------ |
|
|
220
|
-
| `useWordBreak` | 単語や助詞など、単語区切りでの改行を行います。
|
|
221
|
-
| `wrapLatin` | 英数を `span.typesetting-latin` でラップします。
|
|
222
|
-
| `wrapChars` | 特例文字の設定です。指定された文字 `char` をラッピングし、`<span>` タグで囲みます。ラッピングされた文字には、`typesetting-char-[label]` の形式で CSS クラスが付与されます。<br>※
|
|
223
|
-
| `noSpaceBetweenNoBreaks` | 罫線などの分離禁則文字を `span.typesetting-no-breaks` でラップし、文字間を 0 に設定します。
|
|
224
|
-
| `insertThinSpaces` | 四分アキスペースを自動で挿入します。
|
|
225
|
-
| `thinSpaceWidth` | 四分アキスペースの幅を設定します。<br>※四分アキは本来 0.25em ですが、視覚上の補正としてデフォルト値を 0.2em に設定しています。
|
|
226
|
-
| `kerningRules` | 特定の文字間のカーニングルールを設定します。
|
|
225
|
+
| オプション名 | 説明 | オプションの型 | デフォルト値 |
|
|
226
|
+
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------- | ------------ |
|
|
227
|
+
| `useWordBreak` | 単語や助詞など、単語区切りでの改行を行います。 | `boolean` | `true` |
|
|
228
|
+
| `wrapLatin` | 英数を `span.typesetting-latin` でラップします。 | `boolean` | `true` |
|
|
229
|
+
| `wrapChars` | 特例文字の設定です。指定された文字 `char` をラッピングし、`<span>` タグで囲みます。ラッピングされた文字には、`span.typesetting-char-[label]` の形式で CSS クラスが付与されます。<br>※ 指定が 1 文字の場合は、`label` を省略できます。その際、`char` の値がそのままクラス名の一部に使用されます。 | `{char: string \| string[], label?: string}[]` | `[]` |
|
|
230
|
+
| `noSpaceBetweenNoBreaks` | 罫線などの分離禁則文字を `span.typesetting-no-breaks` でラップし、文字間を 0 に設定します。 | `boolean` | `true` |
|
|
231
|
+
| `insertThinSpaces` | 四分アキスペースを自動で挿入します。 | `boolean` | `true` |
|
|
232
|
+
| `thinSpaceWidth` | 四分アキスペースの幅を設定します。<br>※四分アキは本来 0.25em ですが、視覚上の補正としてデフォルト値を 0.2em に設定しています。 | `string` | `'0.2em'` |
|
|
233
|
+
| `kerningRules` | 特定の文字間のカーニングルールを設定します。 | `{between: [string, string], value: string \| number}[]` | `[]` |
|
|
227
234
|
|
|
228
235
|
### 生成される CSS クラス
|
|
229
236
|
|
|
230
|
-
| CSS クラス名 | 説明
|
|
231
|
-
| --------------------------- |
|
|
232
|
-
| `.typesetting-wrapper` | HTML 文字列中のテキストコンテンツをラップします。<br>オプションの指定に関わらず、常に生成されます。
|
|
233
|
-
| `.typesetting-word-break` | HTML 文字列中のテキストコンテンツをラップします。<br>`useWordBreak: true` のときに生成されます。
|
|
234
|
-
| `.typesetting-latin` | テキストコンテンツ中の英数をラップします。<br>`wrapLatin: true` のときに生成されます。
|
|
235
|
-
| `.typesetting-char-[label]` | `wrapChars`
|
|
236
|
-
| `.typesetting-no-breaks` | テキストコンテンツ中の分離禁則文字をラップします。<br>`noSpaceBetweenNoBreaks: true` のときに生成されます。
|
|
237
|
-
| `.typesetting-thin-space` | 挿入される四分アキスペースエレメントの CSS クラスです。<br>`insertThinSpaces: true` のときに生成されます。
|
|
238
|
-
| `.typesetting-kerning` | 挿入されるカーニングエレメントの CSS クラスです。<br>有効な `kerningRules` が存在するときに生成されます。
|
|
237
|
+
| CSS クラス名 | 説明 |
|
|
238
|
+
| --------------------------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
239
|
+
| `.typesetting-wrapper` | HTML 文字列中のテキストコンテンツをラップします。<br>オプションの指定に関わらず、常に生成されます。 |
|
|
240
|
+
| `.typesetting-word-break` | HTML 文字列中のテキストコンテンツをラップします。<br>`useWordBreak: true` のときに生成されます。 |
|
|
241
|
+
| `.typesetting-latin` | テキストコンテンツ中の英数をラップします。<br>`wrapLatin: true` のときに生成されます。 |
|
|
242
|
+
| `.typesetting-char-[label]` | `wrapChars` で指定された特例文字に付与される CSS クラスです。<br>指定した `label` がクラス名の一部に使用されます。 |
|
|
243
|
+
| `.typesetting-no-breaks` | テキストコンテンツ中の分離禁則文字をラップします。<br>`noSpaceBetweenNoBreaks: true` のときに生成されます。 |
|
|
244
|
+
| `.typesetting-thin-space` | 挿入される四分アキスペースエレメントの CSS クラスです。<br>`insertThinSpaces: true` のときに生成されます。 |
|
|
245
|
+
| `.typesetting-kerning` | 挿入されるカーニングエレメントの CSS クラスです。<br>有効な `kerningRules` が存在するときに生成されます。 |
|
|
239
246
|
|
|
240
247
|
---
|
|
241
248
|
|
|
@@ -255,6 +262,10 @@ const chars: WrapChar[] = [
|
|
|
255
262
|
char: 'あ',
|
|
256
263
|
label: 'hira-a',
|
|
257
264
|
},
|
|
265
|
+
{
|
|
266
|
+
char: ['(', ')'],
|
|
267
|
+
label: 'parenthesis',
|
|
268
|
+
},
|
|
258
269
|
]
|
|
259
270
|
|
|
260
271
|
const kerning: KerningRule[] = [
|
package/bundle/typesetter.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Typesetter=e():t.Typesetter=e()}(this,(()=>(()=>{var t={288:t=>{const e=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],r=(t,e,r)=>{let n=t[e];t[e]=t[r],t[r]=n};t.exports={swap32LE:t=>{e&&(t=>{const e=t.length;for(let n=0;n<e;n+=4)r(t,n,n+3),r(t,n+1,n+2)})(t)}}},667:(t,e,r)=>{const n=r(741),{swap32LE:o}=r(288);t.exports=class{constructor(t){const e="function"==typeof t.readUInt32BE&&"function"==typeof t.slice;if(e||t instanceof Uint8Array){let r;if(e)this.highStart=t.readUInt32LE(0),this.errorValue=t.readUInt32LE(4),r=t.readUInt32LE(8),t=t.slice(12);else{const e=new DataView(t.buffer);this.highStart=e.getUint32(0,!0),this.errorValue=e.getUint32(4,!0),r=e.getUint32(8,!0),t=t.subarray(12)}t=n(t,new Uint8Array(r)),t=n(t,new Uint8Array(r)),o(t),this.data=new Uint32Array(t.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=t)}get(t){let e;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(e=(this.data[t>>5]<<2)+(31&t),this.data[e]):t<=65535?(e=(this.data[2048+(t-55296>>5)]<<2)+(31&t),this.data[e]):t<this.highStart?(e=this.data[2080+(t>>11)],e=this.data[e+(t>>5&63)],e=(e<<2)+(31&t),this.data[e]):this.data[this.data.length-4]}}},741:t=>{function e(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function r(t,r){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=r,this.destLen=0,this.ltree=new e,this.dtree=new e}var n=new e,o=new e,a=new Uint8Array(30),u=new Uint16Array(30),i=new Uint8Array(30),s=new Uint16Array(30),c=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=new e,l=new Uint8Array(320);function h(t,e,r,n){var o,a;for(o=0;o<r;++o)t[o]=0;for(o=0;o<30-r;++o)t[o+r]=o/r|0;for(a=n,o=0;o<30;++o)e[o]=a,a+=1<<t[o]}var p=new Uint16Array(16);function b(t,e,r,n){var o,a;for(o=0;o<16;++o)t.table[o]=0;for(o=0;o<n;++o)t.table[e[r+o]]++;for(t.table[0]=0,a=0,o=0;o<16;++o)p[o]=a,a+=t.table[o];for(o=0;o<n;++o)e[r+o]&&(t.trans[p[e[r+o]]++]=o)}function d(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var e=1&t.tag;return t.tag>>>=1,e}function v(t,e,r){if(!e)return r;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var n=t.tag&65535>>>16-e;return t.tag>>>=e,t.bitcount-=e,n+r}function y(t,e){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var r=0,n=0,o=0,a=t.tag;do{n=2*n+(1&a),a>>>=1,++o,r+=e.table[o],n-=e.table[o]}while(n>=0);return t.tag=a,t.bitcount-=o,e.trans[r+n]}function g(t,e,r){var n,o,a,u,i,s;for(n=v(t,5,257),o=v(t,5,1),a=v(t,4,4),u=0;u<19;++u)l[u]=0;for(u=0;u<a;++u){var h=v(t,3,0);l[c[u]]=h}for(b(f,l,0,19),i=0;i<n+o;){var p=y(t,f);switch(p){case 16:var d=l[i-1];for(s=v(t,2,3);s;--s)l[i++]=d;break;case 17:for(s=v(t,3,3);s;--s)l[i++]=0;break;case 18:for(s=v(t,7,11);s;--s)l[i++]=0;break;default:l[i++]=p}}b(e,l,0,n),b(r,l,n,o)}function A(t,e,r){for(;;){var n,o,c,f,l=y(t,e);if(256===l)return 0;if(l<256)t.dest[t.destLen++]=l;else for(n=v(t,a[l-=257],u[l]),o=y(t,r),f=c=t.destLen-v(t,i[o],s[o]);f<c+n;++f)t.dest[t.destLen++]=t.dest[f]}}function w(t){for(var e,r;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if((e=256*(e=t.source[t.sourceIndex+1])+t.source[t.sourceIndex])!==(65535&~(256*t.source[t.sourceIndex+3]+t.source[t.sourceIndex+2])))return-3;for(t.sourceIndex+=4,r=e;r;--r)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,0}!function(t,e){var r;for(r=0;r<7;++r)t.table[r]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,r=0;r<24;++r)t.trans[r]=256+r;for(r=0;r<144;++r)t.trans[24+r]=r;for(r=0;r<8;++r)t.trans[168+r]=280+r;for(r=0;r<112;++r)t.trans[176+r]=144+r;for(r=0;r<5;++r)e.table[r]=0;for(e.table[5]=32,r=0;r<32;++r)e.trans[r]=r}(n,o),h(a,u,4,3),h(i,s,2,1),a[28]=0,u[28]=258,t.exports=function(t,e){var a,u,i=new r(t,e);do{switch(a=d(i),v(i,2,0)){case 0:u=w(i);break;case 1:u=A(i,n,o);break;case 2:g(i,i.ltree,i.dtree),u=A(i,i.ltree,i.dtree);break;default:u=-3}if(0!==u)throw new Error("Data error")}while(!a);return i.destLen<i.dest.length?"function"==typeof i.dest.slice?i.dest.slice(0,i.destLen):i.dest.subarray(0,i.destLen):i.dest}},954:(t,e)=>{!function(t){"use strict";var e="undefined"!=typeof Uint8Array?Uint8Array:Array,r="+".charCodeAt(0),n="/".charCodeAt(0),o="0".charCodeAt(0),a="a".charCodeAt(0),u="A".charCodeAt(0),i="-".charCodeAt(0),s="_".charCodeAt(0);function c(t){var e=t.charCodeAt(0);return e===r||e===i?62:e===n||e===s?63:e<o?-1:e<o+10?e-o+26+26:e<u+26?e-u:e<a+26?e-a+26:void 0}t.toByteArray=function(t){var r,n,o,a,u,i;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var s=t.length;u="="===t.charAt(s-2)?2:"="===t.charAt(s-1)?1:0,i=new e(3*t.length/4-u),o=u>0?t.length-4:t.length;var f=0;function l(t){i[f++]=t}for(r=0,n=0;r<o;r+=4,n+=3)l((16711680&(a=c(t.charAt(r))<<18|c(t.charAt(r+1))<<12|c(t.charAt(r+2))<<6|c(t.charAt(r+3))))>>16),l((65280&a)>>8),l(255&a);return 2===u?l(255&(a=c(t.charAt(r))<<2|c(t.charAt(r+1))>>4)):1===u&&(l((a=c(t.charAt(r))<<10|c(t.charAt(r+1))<<4|c(t.charAt(r+2))>>2)>>8&255),l(255&a)),i},t.fromByteArray=function(t){var e,r,n,o,a=t.length%3,u="";function i(t){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)}for(e=0,n=t.length-a;e<n;e+=3)u+=i((o=r=(t[e]<<16)+(t[e+1]<<8)+t[e+2])>>18&63)+i(o>>12&63)+i(o>>6&63)+i(63&o);switch(a){case 1:u+=i((r=t[t.length-1])>>2),u+=i(r<<4&63),u+="==";break;case 2:u+=i((r=(t[t.length-2]<<8)+t[t.length-1])>>10),u+=i(r>>4&63),u+=i(r<<2&63),u+="="}return u}}(e)}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var n={};return(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function o(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,a(n.key),n)}}function a(e){var r=function(e){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:r+""}r.d(n,{default:()=>Q});var u,i=function(){return t=function t(e,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.transformFunctions=e,this.options=r},(r=[{key:"processHtmlWithFunctions",value:function(t){if(""===t)return t;var r,n=t,o=function(t,r){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,r){if(t){if("string"==typeof t)return e(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}}(t))||r&&t&&"number"==typeof t.length){n&&(t=n);var o=0,a=function(){};return{s:a,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){s=!0,u=t},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw u}}}}(this.transformFunctions);try{for(o.s();!(r=o.n()).done;){var a=r.value;n=this.processHtml(n,a)}}catch(t){o.e(t)}finally{o.f()}return n}},{key:"processHtml",value:function(t,e){if(""===t)return t;for(var r,n=/(<[^>]+>)|([^<]+)/g,o=[];null!==(r=n.exec(t));)r[1]?o.push({type:"tag",value:r[1]}):r[2]&&o.push({type:"text",value:r[2]});for(var a=0;a<o.length;a++)if("text"===o[a].type){for(var u="",i=a+1;i<o.length;i++)if("text"===o[i].type){u=o[i].value;break}var s=o[a].value;s=e(s,u,this.options),o[a].value=s}return o.map((function(t){return t.value})).join("")}}])&&o(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r}(),s=r(667),c=r(954);const f=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]],l=new s(c.toByteArray("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")),h=function(t){switch(t){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return t}},p=function(t){switch(t){case 37:case 38:return 34;case 41:return 22;default:return t}};class b{constructor(t,e=!1){this.position=t,this.required=e}}u=class{nextCodePoint(){const t=this.string.charCodeAt(this.pos++),e=this.string.charCodeAt(this.pos);return 55296<=t&&t<=56319&&56320<=e&&e<=57343?(this.pos++,1024*(t-55296)+(e-56320)+65536):t}nextCharClass(){return h(l.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case 41:return!1;case 34:case 37:case 38:return this.curClass=34,!1;case 36:return this.curClass=36,!1}return null}getPairTableBreak(t){let e=!1;switch(f[this.curClass][this.nextClass]){case 0:e=!0;break;case 1:e=41===t;break;case 2:if(e=41===t,!e)return e=!1,e;break;case 3:if(41!==t)return e}return this.LB8a&&(e=!1),!this.LB21a||16!==this.curClass&&17!==this.curClass?this.LB21a=13===this.curClass:(e=!1,this.LB21a=!1),28===this.curClass?(this.LB30a++,2==this.LB30a&&28===this.nextClass&&(e=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,e}nextBreak(){if(null==this.curClass){let t=this.nextCharClass();this.curClass=p(t),this.nextClass=t,this.LB8a=31===t,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;const t=this.nextClass;if(this.nextClass=this.nextCharClass(),34===this.curClass||36===this.curClass&&37!==this.nextClass)return this.curClass=p(h(this.nextClass)),new b(this.lastPos,!0);let e=this.getSimpleBreak();if(null===e&&(e=this.getPairTableBreak(t)),this.LB8a=31===this.nextClass,e)return new b(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new b(this.string.length)):null}constructor(t){this.string=t,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}};var d=/(?:[\t-\r -~\xA0-\xA5\xAA\xAC\xB1-\xB3\xB7\xB9\xBA\xBF-\u02B8\u02BC\u02C7\u02C9-\u02CB\u02CD\u02D7\u02D9\u02E0-\u02E4\u0300-\u030E\u0310\u0311\u0313\u0320\u0323-\u0325\u032D\u032E\u0330\u0331\u0358\u035E\u0363-\u036F\u0485\u0486\u0951\u0952\u10FB\u1680\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1DF8\u1E00-\u1EFF\u2000-\u200A\u2018\u2019\u201C\u201D\u2028\u2029\u202F\u2030\u205F\u2070\u2071\u2074-\u208E\u2090-\u209C\u20AC\u20F0\u212A\u212B\u2132\u214E\u2160-\u2188\u2202\u2205\u220F\u2211\u2212\u221A\u221E\u222B\u2248\u2260\u2264\u2265\u2C60-\u2C7F\u2E17\u3000\uA700-\uA707\uA722-\uA787\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA7FF\uA92E\uAB30-\uAB5A\uAB5C-\uAB64\uAB66-\uAB69\uFB00-\uFB06\uFEFF\uFF21-\uFF3A\uFF41-\uFF5A]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A])+/g,v=/(|[|{|〔|〈|《|「|『|【|〘|〖|“|‘/,y=/)|]|}|〕|〉|》|」|』|】|〙|〗|”|’/,g=/・|:|;/,A=/、|,/,w=/。|./,m=new RegExp("[\\p{scx=Hiragana}\\p{scx=Katakana}|ヲ-゚\\p{scx=Han}".concat(v.source).concat(y.source).concat(g.source).concat(A.source).concat(w.source,"]+"),"u"),P=new RegExp("[".concat("—‥…_",String.fromCharCode(9472),"-").concat(String.fromCharCode(9599),"]+"),"g"),x=/[\s\u00A0]/,B=new RegExp("".concat(/,/.source,"|").concat(/\./.source,"|").concat(v.source,"|").concat(y.source,"|").concat(g.source,"|").concat(A.source,"|").concat(w.source),"u"),S={isLatin:function(t){return d.test(t)},isJapanese:function(t){return m.test(t)},hasLanguageTransition:function(t,e){return S.isJapanese(t)!==S.isJapanese(e)},shouldAddThinSpace:function(t,e){return S.hasLanguageTransition(t,e)}},O="typesetting",C=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=r?' style="'.concat(r,'"'):"";return'<span class="'.concat(e,'"').concat(o).concat(n,">").concat(t,"</span>")},j=function(t,e,r,n){var o="letter-spacing: ".concat(r,";"),a=' data-content="'.concat(n?" ":" ",'"');return C(t,e,o,a)},L=function(t){var e=new Intl.Segmenter("ja-JP",{granularity:"word"});return Array.from(e.segment(t),(function(t){return t.segment}))},D=function(t,e){return!x.test(t)&&!x.test(e)&&(function(t,e){return B.test(t)||B.test(e)}(t,e)?function(t,e){for(var r=new RegExp("(".concat(y.source,"|").concat(A.source,"|").concat(w.source,")")),n={spaceBefore:{regex:v,hasSpaceBefore:!0,hasSpaceAfter:!1},spaceAfter:{regex:r,hasSpaceBefore:!1,hasSpaceAfter:!0},spaceBoth:{regex:g,hasSpaceBefore:!0,hasSpaceAfter:!0}},o=0,a=Object.values(n);o<a.length;o++){var u=a[o],i=u.regex,s=u.hasSpaceBefore,c=u.hasSpaceAfter;if(s&&i.test(e)&&!i.test(t))return!0;if(c&&i.test(t)&&!i.test(e))return!0}return!1}(t,e):S.shouldAddThinSpace(t,e))},F=function(t,e){var r=t.slice(-1)+e.slice(0,1),n=new u(r).nextBreak();return!!n&&1===n.position},k=function(t,e,r){var n=L(t),o=L(e);return n.reduce((function(t,e,n,a){return t+function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2?arguments[2]:void 0;if(!e)return t;var n,o=r.insertThinSpaces&&D(t,e),a=F(t,e);return o?t+function(t,e){var r="".concat(O,"-thin-space");return j("",r,t,e)}(g.test(t)||g.test(e)?"calc(".concat(r.thinSpaceWidth," / 2.0)"):null!==(n=r.thinSpaceWidth)&&void 0!==n?n:"",a):r.useWordBreak&&a?t+"<wbr>":t}(e,a[n+1]||o[0],r)}),"")};function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var H=function(t,e,r){return" "===t?t:(n=t,o=r.useWordBreak,a="".concat(O,"-wrapper"),u="".concat(O,"-word-break"),i=o?"".concat(a," ").concat(u):a,C(n,i));var n,o,a,u,i},z=function(t,e,r){return" "===t?t:r.wrapLatin&&S.isLatin(t)?t.replace(d,(function(t){return e=t,r="".concat(O,"-latin"),C(e,r);var e,r})):r.noSpaceBetweenNoBreaks&&(n=t,P.test(n))?t.replace(P,(function(t){return e=t,r="".concat(O,"-no-breaks"),C(e,r);var e,r})):t;var n},W=function(t,e,r){var n,o=function(t){if(Array.isArray(t))return X(t)}(n=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(n)||function(t,e){if(t){if("string"==typeof t)return X(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?X(t,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();return o.map((function(t,n){var a,u=o[n+1]||e[0]||"",i=null===(a=r.kerningRules)||void 0===a?void 0:a.find((function(e){return e.between[0]===t&&e.between[1]===u}));if(i){var s="number"==typeof i.value?i.value:parseInt(i.value,10),c=!r.useWordBreak&&F(t,u);return t+function(t,e){if(0===t)return"";var r="".concat(O,"-kerning");if(t<0){var n="margin: ".concat(t/1e3/2+"em",";");return C("",r,n)}return j("",r,t/1e3+"em",e)}(s,c)}return t})).join("")},U=function(t,e,r){if(!r.wrapChars||0===r.wrapChars.length)return t;var n=t;return r.wrapChars.forEach((function(t){var e=t.char;if(1===Array.from(e).length){var r=t.label?t.label:e;if(/^[^"'<>\s]+$/.test(r)){var o="typesetting-char-".concat(r),a=e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),u=new RegExp("(".concat(a,"+)"),"gu");n=n.replace(u,(function(t){return'<span class="'.concat(o,'">').concat(t,"</span>")}))}else console.error("Invalid configuration in wrapChars: '".concat(e,"' is used. To be used as a CSS class, the 'label' property must not contain spaces, quotes, '<' or '>'. Skipping this wrapping rule."))}else console.error("Invalid configuration in wrapChars: '".concat(e,"' is not valid. 'char' must be a single character."))})),n},E=window;function T(t){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T(t)}function V(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function I(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?V(Object(r),!0).forEach((function(e){N(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function N(t,e,r){return(e=q(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Z(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,q(n.key),n)}}function q(t){var e=function(t){if("object"!=T(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=T(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==T(e)?e:e+""}function R(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(R=function(){return!!t})()}function K(t){return K=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},K(t)}function J(t,e){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},J(t,e)}var Q=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=void 0!==Intl.Segmenter;r||console.warn("Intl.Segmenter is not supported in this environment. \nTherefore, the options `useWordBreak` and `insertThinSpaces` will be ignored. \nFor more information about Intl.Segmenter, please visit:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter");var n=r?[H,k,z,W,U]:[z,W,U],o=e.validateOptions(t);return function(t,e,r){return e=K(e),function(t,e){if(e&&("object"==T(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,R()?Reflect.construct(e,r||[],K(t).constructor):e.apply(t,r))}(this,e,[n,o])}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&J(t,e)}(e,t),r=e,o=[{key:"getDefaultOptions",value:function(){return{useWordBreak:!0,wrapLatin:!0,wrapChars:[],noSpaceBetweenNoBreaks:!0,insertThinSpaces:!0,thinSpaceWidth:"0.2em",kerningRules:[]}}},{key:"validateOptions",value:function(t){return t.kerningRules&&(t.kerningRules=t.kerningRules.filter(e.isValidKerningRule)),I(I({},e.getDefaultOptions()),t)}},{key:"isValidKerningRule",value:function(t){return 1===t.between[0].length&&1===t.between[1].length||(console.warn("Kerning rule between '".concat(t.between[0],"' and '").concat(t.between[1],"' must be single characters.")),!1)}}],(n=[{key:"render",value:function(t){return t?this.processHtmlWithFunctions(t):""}},{key:"renderToElements",value:function(t){var e=this;t&&(Array.isArray(t)||(t=[t]),t.forEach((function(t){var r=e.render(t.innerHTML);t.innerHTML=r})))}},{key:"renderToSelector",value:function(t){if(t){var e=E.document.querySelectorAll(t);this.renderToElements(Array.from(e))}}}])&&Z(r.prototype,n),o&&Z(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(i)})(),n.default})()));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Typesetter=e():t.Typesetter=e()}(this,(()=>(()=>{var t={288:t=>{const e=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],r=(t,e,r)=>{let n=t[e];t[e]=t[r],t[r]=n};t.exports={swap32LE:t=>{e&&(t=>{const e=t.length;for(let n=0;n<e;n+=4)r(t,n,n+3),r(t,n+1,n+2)})(t)}}},667:(t,e,r)=>{const n=r(741),{swap32LE:o}=r(288);t.exports=class{constructor(t){const e="function"==typeof t.readUInt32BE&&"function"==typeof t.slice;if(e||t instanceof Uint8Array){let r;if(e)this.highStart=t.readUInt32LE(0),this.errorValue=t.readUInt32LE(4),r=t.readUInt32LE(8),t=t.slice(12);else{const e=new DataView(t.buffer);this.highStart=e.getUint32(0,!0),this.errorValue=e.getUint32(4,!0),r=e.getUint32(8,!0),t=t.subarray(12)}t=n(t,new Uint8Array(r)),t=n(t,new Uint8Array(r)),o(t),this.data=new Uint32Array(t.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=t)}get(t){let e;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(e=(this.data[t>>5]<<2)+(31&t),this.data[e]):t<=65535?(e=(this.data[2048+(t-55296>>5)]<<2)+(31&t),this.data[e]):t<this.highStart?(e=this.data[2080+(t>>11)],e=this.data[e+(t>>5&63)],e=(e<<2)+(31&t),this.data[e]):this.data[this.data.length-4]}}},741:t=>{function e(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function r(t,r){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=r,this.destLen=0,this.ltree=new e,this.dtree=new e}var n=new e,o=new e,a=new Uint8Array(30),u=new Uint16Array(30),i=new Uint8Array(30),s=new Uint16Array(30),c=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=new e,l=new Uint8Array(320);function h(t,e,r,n){var o,a;for(o=0;o<r;++o)t[o]=0;for(o=0;o<30-r;++o)t[o+r]=o/r|0;for(a=n,o=0;o<30;++o)e[o]=a,a+=1<<t[o]}var p=new Uint16Array(16);function b(t,e,r,n){var o,a;for(o=0;o<16;++o)t.table[o]=0;for(o=0;o<n;++o)t.table[e[r+o]]++;for(t.table[0]=0,a=0,o=0;o<16;++o)p[o]=a,a+=t.table[o];for(o=0;o<n;++o)e[r+o]&&(t.trans[p[e[r+o]]++]=o)}function d(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var e=1&t.tag;return t.tag>>>=1,e}function v(t,e,r){if(!e)return r;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var n=t.tag&65535>>>16-e;return t.tag>>>=e,t.bitcount-=e,n+r}function y(t,e){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var r=0,n=0,o=0,a=t.tag;do{n=2*n+(1&a),a>>>=1,++o,r+=e.table[o],n-=e.table[o]}while(n>=0);return t.tag=a,t.bitcount-=o,e.trans[r+n]}function g(t,e,r){var n,o,a,u,i,s;for(n=v(t,5,257),o=v(t,5,1),a=v(t,4,4),u=0;u<19;++u)l[u]=0;for(u=0;u<a;++u){var h=v(t,3,0);l[c[u]]=h}for(b(f,l,0,19),i=0;i<n+o;){var p=y(t,f);switch(p){case 16:var d=l[i-1];for(s=v(t,2,3);s;--s)l[i++]=d;break;case 17:for(s=v(t,3,3);s;--s)l[i++]=0;break;case 18:for(s=v(t,7,11);s;--s)l[i++]=0;break;default:l[i++]=p}}b(e,l,0,n),b(r,l,n,o)}function A(t,e,r){for(;;){var n,o,c,f,l=y(t,e);if(256===l)return 0;if(l<256)t.dest[t.destLen++]=l;else for(n=v(t,a[l-=257],u[l]),o=y(t,r),f=c=t.destLen-v(t,i[o],s[o]);f<c+n;++f)t.dest[t.destLen++]=t.dest[f]}}function w(t){for(var e,r;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if((e=256*(e=t.source[t.sourceIndex+1])+t.source[t.sourceIndex])!==(65535&~(256*t.source[t.sourceIndex+3]+t.source[t.sourceIndex+2])))return-3;for(t.sourceIndex+=4,r=e;r;--r)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,0}!function(t,e){var r;for(r=0;r<7;++r)t.table[r]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,r=0;r<24;++r)t.trans[r]=256+r;for(r=0;r<144;++r)t.trans[24+r]=r;for(r=0;r<8;++r)t.trans[168+r]=280+r;for(r=0;r<112;++r)t.trans[176+r]=144+r;for(r=0;r<5;++r)e.table[r]=0;for(e.table[5]=32,r=0;r<32;++r)e.trans[r]=r}(n,o),h(a,u,4,3),h(i,s,2,1),a[28]=0,u[28]=258,t.exports=function(t,e){var a,u,i=new r(t,e);do{switch(a=d(i),v(i,2,0)){case 0:u=w(i);break;case 1:u=A(i,n,o);break;case 2:g(i,i.ltree,i.dtree),u=A(i,i.ltree,i.dtree);break;default:u=-3}if(0!==u)throw new Error("Data error")}while(!a);return i.destLen<i.dest.length?"function"==typeof i.dest.slice?i.dest.slice(0,i.destLen):i.dest.subarray(0,i.destLen):i.dest}},954:(t,e)=>{!function(t){"use strict";var e="undefined"!=typeof Uint8Array?Uint8Array:Array,r="+".charCodeAt(0),n="/".charCodeAt(0),o="0".charCodeAt(0),a="a".charCodeAt(0),u="A".charCodeAt(0),i="-".charCodeAt(0),s="_".charCodeAt(0);function c(t){var e=t.charCodeAt(0);return e===r||e===i?62:e===n||e===s?63:e<o?-1:e<o+10?e-o+26+26:e<u+26?e-u:e<a+26?e-a+26:void 0}t.toByteArray=function(t){var r,n,o,a,u,i;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var s=t.length;u="="===t.charAt(s-2)?2:"="===t.charAt(s-1)?1:0,i=new e(3*t.length/4-u),o=u>0?t.length-4:t.length;var f=0;function l(t){i[f++]=t}for(r=0,n=0;r<o;r+=4,n+=3)l((16711680&(a=c(t.charAt(r))<<18|c(t.charAt(r+1))<<12|c(t.charAt(r+2))<<6|c(t.charAt(r+3))))>>16),l((65280&a)>>8),l(255&a);return 2===u?l(255&(a=c(t.charAt(r))<<2|c(t.charAt(r+1))>>4)):1===u&&(l((a=c(t.charAt(r))<<10|c(t.charAt(r+1))<<4|c(t.charAt(r+2))>>2)>>8&255),l(255&a)),i},t.fromByteArray=function(t){var e,r,n,o,a=t.length%3,u="";function i(t){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(t)}for(e=0,n=t.length-a;e<n;e+=3)u+=i((o=r=(t[e]<<16)+(t[e+1]<<8)+t[e+2])>>18&63)+i(o>>12&63)+i(o>>6&63)+i(63&o);switch(a){case 1:u+=i((r=t[t.length-1])>>2),u+=i(r<<4&63),u+="==";break;case 2:u+=i((r=(t[t.length-2]<<8)+t[t.length-1])>>10),u+=i(r>>4&63),u+=i(r<<2&63),u+="="}return u}}(e)}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var a=e[n]={exports:{}};return t[n](a,a.exports,r),a.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var n={};return(()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function o(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,a(n.key),n)}}function a(e){var r=function(e){if("object"!=t(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,"string");if("object"!=t(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:r+""}r.d(n,{default:()=>Q});var u,i=function(){return t=function t(e,r){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.transformFunctions=e,this.options=r},(r=[{key:"processHtmlWithFunctions",value:function(t){if(""===t)return t;var r,n=t,o=function(t,r){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=function(t,r){if(t){if("string"==typeof t)return e(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}}(t))||r&&t&&"number"==typeof t.length){n&&(t=n);var o=0,a=function(){};return{s:a,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var u,i=!0,s=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return i=t.done,t},e:function(t){s=!0,u=t},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw u}}}}(this.transformFunctions);try{for(o.s();!(r=o.n()).done;){var a=r.value;n=this.processHtml(n,a)}}catch(t){o.e(t)}finally{o.f()}return n}},{key:"processHtml",value:function(t,e){if(""===t)return t;for(var r,n=/(<[^>]+>)|([^<]+)/g,o=[];null!==(r=n.exec(t));)r[1]?o.push({type:"tag",value:r[1]}):r[2]&&o.push({type:"text",value:r[2]});for(var a=0;a<o.length;a++)if("text"===o[a].type){for(var u="",i=a+1;i<o.length;i++)if("text"===o[i].type){u=o[i].value;break}var s=o[a].value;s=e(s,u,this.options),o[a].value=s}return o.map((function(t){return t.value})).join("")}}])&&o(t.prototype,r),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,r}(),s=r(667),c=r(954);const f=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]],l=new s(c.toByteArray("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")),h=function(t){switch(t){case 33:case 39:case 40:case 42:return 12;case 35:return 5;default:return t}},p=function(t){switch(t){case 37:case 38:return 34;case 41:return 22;default:return t}};class b{constructor(t,e=!1){this.position=t,this.required=e}}u=class{nextCodePoint(){const t=this.string.charCodeAt(this.pos++),e=this.string.charCodeAt(this.pos);return 55296<=t&&t<=56319&&56320<=e&&e<=57343?(this.pos++,1024*(t-55296)+(e-56320)+65536):t}nextCharClass(){return h(l.get(this.nextCodePoint()))}getSimpleBreak(){switch(this.nextClass){case 41:return!1;case 34:case 37:case 38:return this.curClass=34,!1;case 36:return this.curClass=36,!1}return null}getPairTableBreak(t){let e=!1;switch(f[this.curClass][this.nextClass]){case 0:e=!0;break;case 1:e=41===t;break;case 2:if(e=41===t,!e)return e=!1,e;break;case 3:if(41!==t)return e}return this.LB8a&&(e=!1),!this.LB21a||16!==this.curClass&&17!==this.curClass?this.LB21a=13===this.curClass:(e=!1,this.LB21a=!1),28===this.curClass?(this.LB30a++,2==this.LB30a&&28===this.nextClass&&(e=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,e}nextBreak(){if(null==this.curClass){let t=this.nextCharClass();this.curClass=p(t),this.nextClass=t,this.LB8a=31===t,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;const t=this.nextClass;if(this.nextClass=this.nextCharClass(),34===this.curClass||36===this.curClass&&37!==this.nextClass)return this.curClass=p(h(this.nextClass)),new b(this.lastPos,!0);let e=this.getSimpleBreak();if(null===e&&(e=this.getPairTableBreak(t)),this.LB8a=31===this.nextClass,e)return new b(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new b(this.string.length)):null}constructor(t){this.string=t,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}};var d=/(?:[\t-\r -~\xA0-\xA5\xAA\xAC\xB1-\xB3\xB7\xB9\xBA\xBF-\u02B8\u02BC\u02C7\u02C9-\u02CB\u02CD\u02D7\u02D9\u02E0-\u02E4\u0300-\u030E\u0310\u0311\u0313\u0320\u0323-\u0325\u032D\u032E\u0330\u0331\u0358\u035E\u0363-\u036F\u0485\u0486\u0951\u0952\u10FB\u1680\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1DF8\u1E00-\u1EFF\u2000-\u200A\u2018\u2019\u201C\u201D\u2028\u2029\u202F\u2030\u205F\u2070\u2071\u2074-\u208E\u2090-\u209C\u20AC\u20F0\u212A\u212B\u2132\u214E\u2160-\u2188\u2202\u2205\u220F\u2211\u2212\u221A\u221E\u222B\u2248\u2260\u2264\u2265\u2C60-\u2C7F\u2E17\u3000\uA700-\uA707\uA722-\uA787\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA7FF\uA92E\uAB30-\uAB5A\uAB5C-\uAB64\uAB66-\uAB69\uFB00-\uFB06\uFEFF\uFF21-\uFF3A\uFF41-\uFF5A]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A])+/g,v=/(|[|{|〔|〈|《|「|『|【|〘|〖|“|‘/,y=/)|]|}|〕|〉|》|」|』|】|〙|〗|”|’/,g=/・|:|;/,A=/、|,/,w=/。|./,m=new RegExp("[\\p{scx=Hiragana}\\p{scx=Katakana}|ヲ-゚\\p{scx=Han}".concat(v.source).concat(y.source).concat(g.source).concat(A.source).concat(w.source,"]+"),"u"),P=new RegExp("[".concat("—‥…_",String.fromCharCode(9472),"-").concat(String.fromCharCode(9599),"]+"),"g"),x=/[\s\u00A0]/,B=new RegExp("".concat(/,/.source,"|").concat(/\./.source,"|").concat(v.source,"|").concat(y.source,"|").concat(g.source,"|").concat(A.source,"|").concat(w.source),"u"),S={isLatin:function(t){return d.test(t)},isJapanese:function(t){return m.test(t)},hasLanguageTransition:function(t,e){return S.isJapanese(t)!==S.isJapanese(e)},shouldAddThinSpace:function(t,e){return S.hasLanguageTransition(t,e)}},O="typesetting",C=function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",o=r?' style="'.concat(r,'"'):"";return'<span class="'.concat(e,'"').concat(o).concat(n,">").concat(t,"</span>")},j=function(t,e,r,n){var o="letter-spacing: ".concat(r,";"),a=' data-content="'.concat(n?" ":" ",'"');return C(t,e,o,a)},L=function(t){var e=new Intl.Segmenter("ja-JP",{granularity:"word"});return Array.from(e.segment(t),(function(t){return t.segment}))},D=function(t,e){return!x.test(t)&&!x.test(e)&&(function(t,e){return B.test(t)||B.test(e)}(t,e)?function(t,e){for(var r=new RegExp("(".concat(y.source,"|").concat(A.source,"|").concat(w.source,")")),n={spaceBefore:{regex:v,hasSpaceBefore:!0,hasSpaceAfter:!1},spaceAfter:{regex:r,hasSpaceBefore:!1,hasSpaceAfter:!0},spaceBoth:{regex:g,hasSpaceBefore:!0,hasSpaceAfter:!0}},o=0,a=Object.values(n);o<a.length;o++){var u=a[o],i=u.regex,s=u.hasSpaceBefore,c=u.hasSpaceAfter;if(s&&i.test(e)&&!i.test(t))return!0;if(c&&i.test(t)&&!i.test(e))return!0}return!1}(t,e):S.shouldAddThinSpace(t,e))},F=function(t,e){var r=t.slice(-1)+e.slice(0,1),n=new u(r).nextBreak();return!!n&&1===n.position},k=function(t,e,r){var n=L(t),o=L(e);return n.reduce((function(t,e,n,a){return t+function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2?arguments[2]:void 0;if(!e)return t;var n,o=r.insertThinSpaces&&D(t,e),a=F(t,e);return o?t+function(t,e){var r="".concat(O,"-thin-space");return j("",r,t,e)}(g.test(t)||g.test(e)?"calc(".concat(r.thinSpaceWidth," / 2.0)"):null!==(n=r.thinSpaceWidth)&&void 0!==n?n:"",a):r.useWordBreak&&a?t+"<wbr>":t}(e,a[n+1]||o[0],r)}),"")};function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var H=function(t,e,r){return" "===t?t:(n=t,o=r.useWordBreak,a="".concat(O,"-wrapper"),u="".concat(O,"-word-break"),i=o?"".concat(a," ").concat(u):a,C(n,i));var n,o,a,u,i},z=function(t,e,r){return" "===t?t:r.wrapLatin&&S.isLatin(t)?t.replace(d,(function(t){return e=t,r="".concat(O,"-latin"),C(e,r);var e,r})):r.noSpaceBetweenNoBreaks&&(n=t,P.test(n))?t.replace(P,(function(t){return e=t,r="".concat(O,"-no-breaks"),C(e,r);var e,r})):t;var n},W=function(t,e,r){var n,o=function(t){if(Array.isArray(t))return X(t)}(n=t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(n)||function(t,e){if(t){if("string"==typeof t)return X(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?X(t,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();return o.map((function(t,n){var a,u=o[n+1]||e[0]||"",i=null===(a=r.kerningRules)||void 0===a?void 0:a.find((function(e){return e.between[0]===t&&e.between[1]===u}));if(i){var s="number"==typeof i.value?i.value:parseInt(i.value,10),c=!r.useWordBreak&&F(t,u);return t+function(t,e){if(0===t)return"";var r="".concat(O,"-kerning");if(t<0){var n="margin: ".concat(t/1e3/2+"em",";");return C("",r,n)}return j("",r,t/1e3+"em",e)}(s,c)}return t})).join("")},U=function(t,e,r){if(!r.wrapChars||0===r.wrapChars.length)return t;var n=t;return r.wrapChars.forEach((function(t){var e=("string"==typeof t.char?[t.char]:t.char).filter((function(t){return 1===Array.from(t).length}));if(0!==e.length){var r;if(1===e.length)r=t.label?t.label:e[0];else{if(!t.label)return void console.error("Invalid configuration in wrapChars: when grouping multiple characters, a label must be provided.");r=t.label}if(/^[^"'<>\s]+$/.test(r)){var o="typesetting-char-".concat(r),a=e.map((function(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")})).join(""),u=new RegExp("([".concat(a,"]+)"),"gu");n=n.replace(u,(function(t){return'<span class="'.concat(o,'">').concat(t,"</span>")}))}else console.error("Invalid configuration in wrapChars: '".concat(e.join(","),"' is used. To be used as a CSS class, the 'label' property must not contain spaces, quotes, '<' or '>'. Skipping this wrapping rule."))}else console.error("Invalid configuration in wrapChars: rule.char does not contain any valid single character.")})),n},E=window;function T(t){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T(t)}function V(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function I(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?V(Object(r),!0).forEach((function(e){N(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):V(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function N(t,e,r){return(e=q(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Z(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,q(n.key),n)}}function q(t){var e=function(t){if("object"!=T(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,"string");if("object"!=T(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==T(e)?e:e+""}function R(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(R=function(){return!!t})()}function K(t){return K=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},K(t)}function J(t,e){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},J(t,e)}var Q=function(t){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e);var r=void 0!==Intl.Segmenter;r||console.warn("Intl.Segmenter is not supported in this environment. \nTherefore, the options `useWordBreak` and `insertThinSpaces` will be ignored. \nFor more information about Intl.Segmenter, please visit:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter");var n=r?[H,k,z,W,U]:[z,W,U],o=e.validateOptions(t);return function(t,e,r){return e=K(e),function(t,e){if(e&&("object"==T(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,R()?Reflect.construct(e,r||[],K(t).constructor):e.apply(t,r))}(this,e,[n,o])}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&J(t,e)}(e,t),r=e,o=[{key:"getDefaultOptions",value:function(){return{useWordBreak:!0,wrapLatin:!0,wrapChars:[],noSpaceBetweenNoBreaks:!0,insertThinSpaces:!0,thinSpaceWidth:"0.2em",kerningRules:[]}}},{key:"validateOptions",value:function(t){return t.kerningRules&&(t.kerningRules=t.kerningRules.filter(e.isValidKerningRule)),I(I({},e.getDefaultOptions()),t)}},{key:"isValidKerningRule",value:function(t){return 1===t.between[0].length&&1===t.between[1].length||(console.warn("Kerning rule between '".concat(t.between[0],"' and '").concat(t.between[1],"' must be single characters.")),!1)}}],(n=[{key:"render",value:function(t){return t?this.processHtmlWithFunctions(t):""}},{key:"renderToElements",value:function(t){var e=this;t&&(Array.isArray(t)||(t=[t]),t.forEach((function(t){var r=e.render(t.innerHTML);t.innerHTML=r})))}},{key:"renderToSelector",value:function(t){if(t){var e=E.document.querySelectorAll(t);this.renderToElements(Array.from(e))}}}])&&Z(r.prototype,n),o&&Z(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r;var r,n,o}(i)})(),n.default})()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-style.d.ts","sourceRoot":"","sources":["../src/apply-style.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAU7C,QAAA,MAAM,gBAAgB,qBAAsB,MAAM,iBAAiB,MAAM,WAAW,kBAAkB,KAAG,MAKxG,CAAA;AAWD,QAAA,MAAM,mBAAmB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAgBvG,CAAA;AAUD,QAAA,MAAM,qBAAqB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAmBzG,CAAA;AAkBD,QAAA,MAAM,gBAAgB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,
|
|
1
|
+
{"version":3,"file":"apply-style.d.ts","sourceRoot":"","sources":["../src/apply-style.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAU7C,QAAA,MAAM,gBAAgB,qBAAsB,MAAM,iBAAiB,MAAM,WAAW,kBAAkB,KAAG,MAKxG,CAAA;AAWD,QAAA,MAAM,mBAAmB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAgBvG,CAAA;AAUD,QAAA,MAAM,qBAAqB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAmBzG,CAAA;AAkBD,QAAA,MAAM,gBAAgB,mBAAoB,MAAM,eAAe,MAAM,WAAW,kBAAkB,KAAG,MAqDpG,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAA"}
|
package/dist/apply-style.js
CHANGED
|
@@ -43,22 +43,34 @@ const applyStyleToChar = (currentSegment, nextSegment, options) => {
|
|
|
43
43
|
}
|
|
44
44
|
let updatedSegment = currentSegment;
|
|
45
45
|
options.wrapChars.forEach((rule) => {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
const chars = typeof rule.char === "string" ? [rule.char] : rule.char;
|
|
47
|
+
const validChars = chars.filter((ch) => Array.from(ch).length === 1);
|
|
48
|
+
if (validChars.length === 0) {
|
|
49
|
+
console.error(`Invalid configuration in wrapChars: rule.char does not contain any valid single character.`);
|
|
49
50
|
return;
|
|
50
51
|
}
|
|
51
|
-
|
|
52
|
+
let label;
|
|
53
|
+
if (validChars.length === 1) {
|
|
54
|
+
label = rule.label ? rule.label : validChars[0];
|
|
55
|
+
} else {
|
|
56
|
+
if (!rule.label) {
|
|
57
|
+
console.error(
|
|
58
|
+
`Invalid configuration in wrapChars: when grouping multiple characters, a label must be provided.`
|
|
59
|
+
);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
label = rule.label;
|
|
63
|
+
}
|
|
52
64
|
const validClassRegex = /^[^"'<>\s]+$/;
|
|
53
65
|
if (!validClassRegex.test(label)) {
|
|
54
66
|
console.error(
|
|
55
|
-
`Invalid configuration in wrapChars: '${
|
|
67
|
+
`Invalid configuration in wrapChars: '${validChars.join(",")}' is used. To be used as a CSS class, the 'label' property must not contain spaces, quotes, '<' or '>'. Skipping this wrapping rule.`
|
|
56
68
|
);
|
|
57
69
|
return;
|
|
58
70
|
}
|
|
59
71
|
const className = `typesetting-char-${label}`;
|
|
60
|
-
const
|
|
61
|
-
const regex = new RegExp(`(${
|
|
72
|
+
const escapedChars = validChars.map((ch) => escapeRegExp(ch)).join("");
|
|
73
|
+
const regex = new RegExp(`([${escapedChars}]+)`, "gu");
|
|
62
74
|
updatedSegment = updatedSegment.replace(regex, (match) => `<span class="${className}">${match}</span>`);
|
|
63
75
|
});
|
|
64
76
|
return updatedSegment;
|
package/package.json
CHANGED