palt-typesetting 0.1.2 → 0.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"html-processor.d.ts","sourceRoot":"","sources":["../src/html-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAOrE,cAAM,aAAa;IACjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAqB;gBAExB,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,mBAAmB;IAajF,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBjD,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,WAAW,CASlB;CACF;AAQD,QAAA,MAAM,eAAe,SAAU,MAAM,aAEpC,CAAA;AAQD,QAAA,MAAM,YAAY,YAAa,WAAW,KAAG,IAAI,EAahD,CAAA;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"html-processor.d.ts","sourceRoot":"","sources":["../src/html-processor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAOpE,cAAM,aAAa;IACjB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,OAAO,CAAoB;gBAEvB,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,kBAAkB;IAahF,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAmBjD,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,WAAW,CASlB;CACF;AAQD,QAAA,MAAM,eAAe,SAAU,MAAM,aAEpC,CAAA;AAQD,QAAA,MAAM,YAAY,YAAa,WAAW,KAAG,IAAI,EAahD,CAAA;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"html-processor.js","sourceRoot":"","sources":["../src/html-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-processor.js","sourceRoot":"","sources":["../src/html-processor.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAQvB,MAAM,aAAa;IAIjB,YAAY,kBAAuC,EAAE,OAA2B;QAwExE,gBAAW,GAAG,CAAC,IAAU,EAAE,eAAuB,EAAQ,EAAE;YAClE,MAAM,KAAK,GAAG,aAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;YACxC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAA;YAEhE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBAC5C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC;QACH,CAAC,CAAA;QAhFC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAUD,wBAAwB,CAAC,OAAe;QACtC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACnB,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACnC,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,iBAAiB,CAAC,EACpF,OAAO,CACR,CAAA;IACH,CAAC;IAUO,WAAW,CAAC,IAAY,EAAE,iBAAoC;QACpE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAExC,SAAS,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAA;YAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;YACzF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,eAAe,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAA;IAC3B,CAAC;IAUO,kBAAkB,CAAC,WAAiB,EAAE,QAAqB,EAAE,iBAAoC;QACvG,MAAM,eAAe,GAAG,iBAAiB,CACvC,WAAW,CAAC,SAAS,IAAI,EAAE,EAC3B,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EACxC,IAAI,CAAC,OAAO,CACb,CAAA;QACD,OAAO,eAAe,CAAA;IACxB,CAAC;CAkBF;AAQD,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE;IACvC,OAAO,IAAI,aAAG,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;AAC/D,CAAC,CAAA;AAwBQ,0CAAe;AAhBxB,MAAM,YAAY,GAAG,CAAC,OAAoB,EAAU,EAAE;IACpD,MAAM,IAAI,GAAG,aAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAC7E,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAiB,CAAA;IAC7C,MAAM,SAAS,GAAW,EAAE,CAAA;IAE5B,OAAO,QAAQ,EAAE,CAAC;QAChB,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3D,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC5B,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAGyB,oCAAY;AADtC,kBAAe,aAAa,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import HTMLProcessor from './html-processor';
2
- import type { TypeSetttingOptions } from './types';
3
- declare class TypeSet extends HTMLProcessor {
4
- private isSupported;
5
- constructor(options?: Partial<TypeSetttingOptions>);
2
+ import type { TypesettingOptions } from './types';
3
+ declare class Typesetter extends HTMLProcessor {
4
+ static defaultOptions: TypesettingOptions;
5
+ private isIntlSegmenterSupported;
6
+ constructor(options?: Partial<TypesettingOptions>);
6
7
  private static validateOptions;
7
8
  private static isValidKerningRule;
8
9
  render(srcHtml: string): string;
9
- renderFromElements(elements: Element | Element[] | null): void;
10
- renderFromSelector(selector: string | null): void;
10
+ renderToElements(elements: Element | Element[] | null): void;
11
+ renderToSelector(selector: string | null): void;
11
12
  }
12
- declare const createTypeSetting: (srcHtml: string, options?: Partial<TypeSetttingOptions>) => string;
13
- export { TypeSet, createTypeSetting };
13
+ export default Typesetter;
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAI5C,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,SAAS,CAAA;AAM/D,cAAM,OAAQ,SAAQ,aAAa;IACjC,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IA2BtD,OAAO,CAAC,MAAM,CAAC,eAAe;IAqB9B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAejC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAc/B,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI;IAqB9D,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAQlD;AAQD,QAAA,MAAM,iBAAiB,YAAa,MAAM,YAAW,QAAQ,mBAAmB,CAAC,KAAQ,MAGxF,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,kBAAkB,CAAA;AAI5C,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAA;AAM9D,cAAM,UAAW,SAAQ,aAAa;IAIpC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAQxC;IAKD,OAAO,CAAC,wBAAwB,CAAS;gBAE7B,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM;IA2BrD,OAAO,CAAC,MAAM,CAAC,eAAe;IAkB9B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAiBjC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAc/B,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,IAAI,GAAG,IAAI;IAqB5D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAQhD;AAED,eAAe,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -3,18 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createTypeSetting = exports.TypeSet = void 0;
7
6
  const html_processor_1 = __importDefault(require("./html-processor"));
8
7
  const insert_separators_1 = __importDefault(require("./insert-separators"));
9
8
  const apply_style_1 = require("./apply-style");
10
9
  const win_1 = __importDefault(require("./win"));
11
- class TypeSet extends html_processor_1.default {
10
+ class Typesetter extends html_processor_1.default {
12
11
  constructor(options = {}) {
13
- const validatedOptions = TypeSet.validateOptions(options);
14
12
  const transformFunctions = [apply_style_1.applyStyleToText, insert_separators_1.default, apply_style_1.applyStyleToSegment];
13
+ const validatedOptions = Typesetter.validateOptions(options);
15
14
  super(transformFunctions, validatedOptions);
16
- this.isSupported = typeof Intl.Segmenter !== 'undefined';
17
- if (!this.isSupported) {
15
+ this.isIntlSegmenterSupported = typeof Intl.Segmenter !== 'undefined';
16
+ if (!this.isIntlSegmenterSupported) {
18
17
  console.warn(`
19
18
  Intl.Segmenter is not supported in this environment.
20
19
  The original HTML string will be returned.
@@ -23,26 +22,26 @@ class TypeSet extends html_processor_1.default {
23
22
  }
24
23
  }
25
24
  static validateOptions(options) {
26
- if (options.kerning) {
27
- options.kerning = options.kerning.filter(TypeSet.isValidKerningRule);
25
+ if (options.kerningRules) {
26
+ options.kerningRules = options.kerningRules.filter(Typesetter.isValidKerningRule);
28
27
  }
29
- return Object.assign({ addWbrToHtml: true, addThinSpaceToHtml: true, thinSpaceWidth: '50%', kerning: [] }, options);
28
+ return Object.assign(Object.assign({}, Typesetter.defaultOptions), options);
30
29
  }
31
- static isValidKerningRule(rule) {
32
- if (rule.between[0].length !== 1 || rule.between[1].length !== 1) {
33
- console.warn(`Kerning rule between '${rule.between[0]}' and '${rule.between[1]}' must be single characters.`);
30
+ static isValidKerningRule(kerningRule) {
31
+ if (kerningRule.between[0].length !== 1 || kerningRule.between[1].length !== 1) {
32
+ console.warn(`Kerning rule between '${kerningRule.between[0]}' and '${kerningRule.between[1]}' must be single characters.`);
34
33
  return false;
35
34
  }
36
35
  return true;
37
36
  }
38
37
  render(srcHtml) {
39
- if (!this.isSupported || !srcHtml) {
38
+ if (!this.isIntlSegmenterSupported || !srcHtml) {
40
39
  return srcHtml;
41
40
  }
42
41
  return this.processHtmlWithFunctions(srcHtml);
43
42
  }
44
- renderFromElements(elements) {
45
- if (!this.isSupported || !elements) {
43
+ renderToElements(elements) {
44
+ if (!this.isIntlSegmenterSupported || !elements) {
46
45
  return;
47
46
  }
48
47
  if (!Array.isArray(elements)) {
@@ -53,18 +52,22 @@ class TypeSet extends html_processor_1.default {
53
52
  element.innerHTML = processedHtml;
54
53
  });
55
54
  }
56
- renderFromSelector(selector) {
57
- if (!this.isSupported || !selector) {
55
+ renderToSelector(selector) {
56
+ if (!this.isIntlSegmenterSupported || !selector) {
58
57
  return;
59
58
  }
60
59
  const elements = win_1.default.document.querySelectorAll(selector);
61
- this.renderFromElements(Array.from(elements));
60
+ this.renderToElements(Array.from(elements));
62
61
  }
63
62
  }
64
- exports.TypeSet = TypeSet;
65
- const createTypeSetting = (srcHtml, options = {}) => {
66
- const typeset = new TypeSet(options);
67
- return typeset.render(srcHtml);
63
+ Typesetter.defaultOptions = {
64
+ classNamePrefix: 'typeset',
65
+ useWordBreak: true,
66
+ wrapLatin: true,
67
+ noSpaceBetweenNoBreaks: true,
68
+ addThinSpaces: true,
69
+ thinSpaceWidth: '50%',
70
+ kerningRules: [],
68
71
  };
69
- exports.createTypeSetting = createTypeSetting;
72
+ exports.default = Typesetter;
70
73
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,sEAA4C;AAC5C,4EAAwD;AACxD,+CAAqE;AACrE,gDAAuB;AAOvB,MAAM,UAAW,SAAQ,wBAAa;IAmBpC,YAAY,UAAuC,EAAE;QACnD,MAAM,kBAAkB,GAAG,CAAC,8BAAgB,EAAE,2BAAsB,EAAE,iCAAmB,CAAC,CAAA;QAC1F,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAE5D,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAA;QAO3C,IAAI,CAAC,wBAAwB,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,CAAA;QACrE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC;;;;SAIV,CAAC,CAAA;QACN,CAAC;IACH,CAAC;IAQO,MAAM,CAAC,eAAe,CAAC,OAAoC;QACjE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;QACnF,CAAC;QAGD,uCACK,UAAU,CAAC,cAAc,GACzB,OAAO,EACX;IACH,CAAC;IAQO,MAAM,CAAC,kBAAkB,CAAC,WAAwB;QACxD,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/E,OAAO,CAAC,IAAI,CACV,yBAAyB,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAC9G,CAAA;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAQD,MAAM,CAAC,OAAe;QACpB,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAQD,gBAAgB,CAAC,QAAoC;QACnD,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;QAED,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YACpD,OAAO,CAAC,SAAS,GAAG,aAAa,CAAA;QACnC,CAAC,CAAC,CAAA;IACJ,CAAC;IAQD,gBAAgB,CAAC,QAAuB;QACtC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,aAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7C,CAAC;;AAvHM,yBAAc,GAAuB;IAC1C,eAAe,EAAE,SAAS;IAC1B,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,sBAAsB,EAAE,IAAI;IAC5B,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,EAAE;CACjB,CAAA;AAkHH,kBAAe,UAAU,CAAA"}
@@ -1,7 +1,7 @@
1
- import { TypeSetttingOptions } from './types';
2
- declare const insertSeparatorsToText: (currentText: string, nextText: string, options: TypeSetttingOptions) => string;
1
+ import { TypesettingOptions } from './types';
2
+ declare const insertSeparatorsToText: (currentText: string, nextText: string, options: TypesettingOptions) => string;
3
3
  declare const generateSegments: (src: string) => string[];
4
- declare const addSeparatorsToSegment: (current: string, next: string | undefined, options: TypeSetttingOptions) => string;
4
+ declare const addSeparatorsToSegment: (current: string, next: string | undefined, options: TypesettingOptions) => string;
5
5
  declare const shouldAddWbr: (current: string, next: string) => boolean | null;
6
6
  declare const shouldAddThinSpace: (current: string, next: string) => boolean;
7
7
  export default insertSeparatorsToText;
@@ -1 +1 @@
1
- {"version":3,"file":"insert-separators.d.ts","sourceRoot":"","sources":["../src/insert-separators.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAQ7C,QAAA,MAAM,sBAAsB,gBAAiB,MAAM,YAAY,MAAM,WAAW,mBAAmB,KAAG,MAWrG,CAAA;AAOD,QAAA,MAAM,gBAAgB,QAAS,MAAM,KAAG,MAAM,EAG7C,CAAA;AAQD,QAAA,MAAM,sBAAsB,YAAa,MAAM,qCAAsB,mBAAmB,KAAG,MAM1F,CAAA;AAQD,QAAA,MAAM,YAAY,YAAa,MAAM,QAAQ,MAAM,KAAG,OAAO,GAAG,IAK/D,CAAA;AAQD,QAAA,MAAM,kBAAkB,YAAa,MAAM,QAAQ,MAAM,KAAG,OAE3D,CAAA;AAED,eAAe,sBAAsB,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"insert-separators.d.ts","sourceRoot":"","sources":["../src/insert-separators.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAQ5C,QAAA,MAAM,sBAAsB,gBAAiB,MAAM,YAAY,MAAM,WAAW,kBAAkB,KAAG,MAWpG,CAAA;AAOD,QAAA,MAAM,gBAAgB,QAAS,MAAM,KAAG,MAAM,EAG7C,CAAA;AAQD,QAAA,MAAM,sBAAsB,YAAa,MAAM,qCAAsB,kBAAkB,KAAG,MAMzF,CAAA;AAQD,QAAA,MAAM,YAAY,YAAa,MAAM,QAAQ,MAAM,KAAG,OAAO,GAAG,IAK/D,CAAA;AAQD,QAAA,MAAM,kBAAkB,YAAa,MAAM,QAAQ,MAAM,KAAG,OAE3D,CAAA;AAED,eAAe,sBAAsB,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
@@ -25,9 +25,9 @@ exports.generateSegments = generateSegments;
25
25
  const addSeparatorsToSegment = (current, next = '', options) => {
26
26
  if (!next)
27
27
  return current;
28
- const addWbr = options.addWbrToHtml && shouldAddWbr(current, next);
29
- const addSpace = options.addThinSpaceToHtml && shouldAddThinSpace(current, next);
30
- return current + (addSpace ? (0, utils_tags_1.thinSpace)(options.thinSpaceWidth) : '') + (addWbr ? utils_tags_1.wbr : '');
28
+ const addWbr = options.useWordBreak && shouldAddWbr(current, next);
29
+ const addSpace = options.addThinSpaces && shouldAddThinSpace(current, next);
30
+ return current + (addSpace ? (0, utils_tags_1.thinSpace)(options.thinSpaceWidth, options.classNamePrefix) : '') + (addWbr ? utils_tags_1.wbr : '');
31
31
  };
32
32
  exports.addSeparatorsToSegment = addSeparatorsToSegment;
33
33
  const shouldAddWbr = (current, next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"insert-separators.js","sourceRoot":"","sources":["../src/insert-separators.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAmC;AACnC,6DAA+D;AAC/D,6CAA6C;AAS7C,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,OAA4B,EAAU,EAAE;IAC7G,MAAM,eAAe,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE/C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACtF,MAAM,OAAO,GAAG,OAAO,CAAA;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,eAAe,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAOD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAY,EAAE;IACjD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;AACrE,CAAC,CAAA;AAwCQ,4CAAgB;AAhCzB,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,EAAE,EAAE,OAA4B,EAAU,EAAE;IAClG,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAA;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAChF,OAAO,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAS,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC5F,CAAC,CAAA;AA0B0B,wDAAsB;AAlBjD,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,IAAY,EAAkB,EAAE;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzD,MAAM,EAAE,GAAG,IAAI,mBAAW,CAAC,YAAY,CAAC,CAAA;IACxC,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;IACvC,OAAO,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,KAAK,CAAC,CAAA;AAC5D,CAAC,CAAA;AAakD,oCAAY;AAL/D,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;IACpE,OAAO,kCAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,8BAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACvG,CAAC,CAAA;AAGgE,gDAAkB;AADnF,kBAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"insert-separators.js","sourceRoot":"","sources":["../src/insert-separators.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAmC;AACnC,6DAA+D;AAC/D,6CAA6C;AAS7C,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,QAAgB,EAAE,OAA2B,EAAU,EAAE;IAC5G,MAAM,eAAe,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACrD,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAE/C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACtF,MAAM,OAAO,GAAG,OAAO,CAAA;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAA;QAChD,OAAO,eAAe,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAOD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAY,EAAE;IACjD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;IACtE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;AACrE,CAAC,CAAA;AAwCQ,4CAAgB;AAhCzB,MAAM,sBAAsB,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,EAAE,EAAE,OAA2B,EAAU,EAAE;IACjG,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAA;IAEzB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IAC3E,OAAO,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,sBAAS,EAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACrH,CAAC,CAAA;AA0B0B,wDAAsB;AAlBjD,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,IAAY,EAAkB,EAAE;IACrE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzD,MAAM,EAAE,GAAG,IAAI,mBAAW,CAAC,YAAY,CAAC,CAAA;IACxC,MAAM,gBAAgB,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;IACvC,OAAO,gBAAgB,IAAI,gBAAgB,CAAC,QAAQ,KAAK,CAAC,CAAA;AAC5D,CAAC,CAAA;AAakD,oCAAY;AAL/D,MAAM,kBAAkB,GAAG,CAAC,OAAe,EAAE,IAAY,EAAW,EAAE;IACpE,OAAO,kCAAa,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,8BAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACvG,CAAC,CAAA;AAGgE,gDAAkB;AADnF,kBAAe,sBAAsB,CAAA"}
@@ -6,31 +6,40 @@
6
6
  * @param nextNodeValue - 次のノードの値(存在する場合)。存在しない場合は空文字列を想定。
7
7
  * @return 変換後の文字列。
8
8
  */
9
- export type TransformFunction = (
10
- currentNodeValue: string,
11
- nextNodeValue: string,
12
- options: TypeSetttingOptions
13
- ) => string
9
+ export type TransformFunction = (currentNodeValue: string, nextNodeValue: string, options: TypesettingOptions) => string
14
10
 
15
11
  /**
16
12
  * 組版処理に関する設定オプションの型定義です。
17
13
  */
18
- export interface TypeSetttingOptions {
14
+ export interface TypesettingOptions {
19
15
  /**
20
16
  * HTML内のテキストにWBRタグを自動的に追加するかどうかを指定します。
21
17
  * WBRタグは、必要に応じて改行の挿入を許可するために使用されます。
22
18
  */
23
- addWbrToHtml: boolean
19
+ useWordBreak: boolean
20
+
21
+ /**
22
+ * 英数を .typeset-latin でラップします。
23
+ * useWordBreak が true の場合にのみ有効です。
24
+ */
25
+ wrapLatin: boolean
26
+
27
+ /**
28
+ * 分離禁則文字を .typeset-nobreaks でラップし、文字間を 0 に設定します。
29
+ * useWordBreak が true の場合にのみ有効です。
30
+ */
31
+ noSpaceBetweenNoBreaks: boolean
24
32
 
25
33
  /**
26
34
  * HTML内のテキストにTHIN SPACEを自動的に追加するかどうかを指定します。
27
35
  * THIN SPACEは、視覚的なスペースを微調整するために使用されます。
28
36
  */
29
- addThinSpaceToHtml: boolean
37
+ addThinSpaces: boolean
30
38
 
31
39
  /**
32
40
  * THIN SPACEの幅を指定します。
33
41
  * 例えば'20%'と指定すると、THIN SPACEは通常のスペースの20%の幅になります。
42
+ * addThinSpaces が true の場合のみ有効です。
34
43
  */
35
44
  thinSpaceWidth: string
36
45
 
@@ -38,7 +47,12 @@ export interface TypeSetttingOptions {
38
47
  * カーニングを適用するためのルールのリスト。
39
48
  * 各ルールは、特定の文字ペア間に適用されるカーニング値を指定します。
40
49
  */
41
- kerning: KerningRule[]
50
+ kerningRules: KerningRule[]
51
+
52
+ /**
53
+ * ライブラリで使用されるCSSクラス名のプレフィックスを指定します。
54
+ */
55
+ classNamePrefix: string
42
56
  }
43
57
 
44
58
  /**
@@ -1,8 +1,8 @@
1
1
  declare const wbr = "<wbr>";
2
- declare const thinSpace: (width: string) => string;
3
- declare const applyKerning: (char: string, value: number) => string;
4
- declare const applyWbrStyle: (text: string) => string;
5
- declare const applyLatinClass: (segment: string) => string;
6
- declare const applyNoBreakStyle: (segment: string) => string;
7
- export { wbr, thinSpace, applyKerning, applyWbrStyle, applyLatinClass, applyNoBreakStyle };
2
+ declare const thinSpace: (thisSpaceWidth: string, classNamePrefix: string) => string;
3
+ declare const applyKerning: (char: string, kerningValue: number, classNamePrefix: string) => string;
4
+ declare const applyWrapperStyle: (text: string, classNamePrefix: string, useWordBreak: boolean) => string;
5
+ declare const applyLatinStyle: (segment: string, classNamePrefix: string) => string;
6
+ declare const applyNoBreakStyle: (segment: string, classNamePrefix: string) => string;
7
+ export { wbr, thinSpace, applyKerning, applyWrapperStyle, applyLatinStyle, applyNoBreakStyle };
8
8
  //# sourceMappingURL=utils-tags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-tags.d.ts","sourceRoot":"","sources":["../src/utils-tags.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,GAAG,UAAU,CAAA;AAOnB,QAAA,MAAM,SAAS,UAAW,MAAM,KAAG,MAIlC,CAAA;AASD,QAAA,MAAM,YAAY,SAAU,MAAM,SAAS,MAAM,KAAG,MAInD,CAAA;AAOD,QAAA,MAAM,aAAa,SAAU,MAAM,KAAG,MAErC,CAAA;AAQD,QAAA,MAAM,eAAe,YAAa,MAAM,KAAG,MAG1C,CAAA;AAQD,QAAA,MAAM,iBAAiB,YAAa,MAAM,KAAG,MAG5C,CAAA;AAED,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"utils-tags.d.ts","sourceRoot":"","sources":["../src/utils-tags.ts"],"names":[],"mappings":"AAeA,QAAA,MAAM,GAAG,UAAU,CAAA;AAQnB,QAAA,MAAM,SAAS,mBAAoB,MAAM,mBAAmB,MAAM,KAAG,MAKpE,CAAA;AAUD,QAAA,MAAM,YAAY,SAAU,MAAM,gBAAgB,MAAM,mBAAmB,MAAM,KAAG,MAKnF,CAAA;AASD,QAAA,MAAM,iBAAiB,SAAU,MAAM,mBAAmB,MAAM,gBAAgB,OAAO,KAAG,MAIzF,CAAA;AAQD,QAAA,MAAM,eAAe,YAAa,MAAM,mBAAmB,MAAM,KAAG,MAGnE,CAAA;AAQD,QAAA,MAAM,iBAAiB,YAAa,MAAM,mBAAmB,MAAM,KAAG,MAGrE,CAAA;AAED,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,34 +1,40 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyNoBreakStyle = exports.applyLatinClass = exports.applyWbrStyle = exports.applyKerning = exports.thinSpace = exports.wbr = void 0;
4
- const classnamePrefix = 'typeset';
5
- const uiIgnore = 'user-select:none;" aria-hidden="true" data-nosnippet=""';
3
+ exports.applyNoBreakStyle = exports.applyLatinStyle = exports.applyWrapperStyle = exports.applyKerning = exports.thinSpace = exports.wbr = void 0;
4
+ const uiIgnoreSettings = {
5
+ preventSelectStyle: 'user-select:none;',
6
+ hiddenFromReader: 'aria-hidden="true"',
7
+ noIndex: 'data-nosnippet=""',
8
+ };
6
9
  const wbr = '<wbr>';
7
10
  exports.wbr = wbr;
8
- const thinSpace = (width) => {
11
+ const thinSpace = (thisSpaceWidth, classNamePrefix) => {
9
12
  const THIN_SPACE = String.fromCharCode(0x2009);
10
- const classname = classnamePrefix + '-thin-space';
11
- return `<span class="${classname}" style="font-size: ${width}; ${uiIgnore}>${THIN_SPACE}</span>`;
13
+ const className = classNamePrefix + '-thin-space';
14
+ const style = `font-size: ${thisSpaceWidth}; ${uiIgnoreSettings.preventSelectStyle}`;
15
+ return `<span class="${className}" style="${style}" ${uiIgnoreSettings.hiddenFromReader} ${uiIgnoreSettings.noIndex}>${THIN_SPACE}</span>`;
12
16
  };
13
17
  exports.thinSpace = thinSpace;
14
- const applyKerning = (char, value) => {
15
- const emValue = value / 1000 / 2 + 'em';
16
- const classname = classnamePrefix + '-kerning';
17
- return `${char}<span class="${classname}" style="margin: ${emValue}; ${uiIgnore}></span>`;
18
+ const applyKerning = (char, kerningValue, classNamePrefix) => {
19
+ const emValue = kerningValue / 1000 / 2 + 'em';
20
+ const className = classNamePrefix + '-kerning';
21
+ const style = `margin: ${emValue}; ${uiIgnoreSettings.preventSelectStyle}`;
22
+ return `${char}<span class="${className}" style="${style}" ${uiIgnoreSettings.hiddenFromReader} ${uiIgnoreSettings.noIndex}></span>`;
18
23
  };
19
24
  exports.applyKerning = applyKerning;
20
- const applyWbrStyle = (text) => {
21
- return `<span style="word-break: keep-all; overflow-wrap: anywhere;">${text}</span>`;
25
+ const applyWrapperStyle = (text, classNamePrefix, useWordBreak) => {
26
+ const style = useWordBreak ? 'word-break: keep-all; overflow-wrap: anywhere;' : '';
27
+ return `<span class="${classNamePrefix}" style="${style}">${text}</span>`;
22
28
  };
23
- exports.applyWbrStyle = applyWbrStyle;
24
- const applyLatinClass = (segment) => {
25
- const classname = classnamePrefix + '-latin';
26
- return `<span class="${classname}">${segment}</span>`;
29
+ exports.applyWrapperStyle = applyWrapperStyle;
30
+ const applyLatinStyle = (segment, classNamePrefix) => {
31
+ const className = classNamePrefix + '-latin';
32
+ return `<span class="${className}">${segment}</span>`;
27
33
  };
28
- exports.applyLatinClass = applyLatinClass;
29
- const applyNoBreakStyle = (segment) => {
30
- const classname = classnamePrefix + '-no-breaks';
31
- return `<span class="${classname}" style="letter-spacing: 0">${segment}</span>`;
34
+ exports.applyLatinStyle = applyLatinStyle;
35
+ const applyNoBreakStyle = (segment, classNamePrefix) => {
36
+ const className = classNamePrefix + '-no-breaks';
37
+ return `<span class="${className}" style="letter-spacing: 0">${segment}</span>`;
32
38
  };
33
39
  exports.applyNoBreakStyle = applyNoBreakStyle;
34
40
  //# sourceMappingURL=utils-tags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils-tags.js","sourceRoot":"","sources":["../src/utils-tags.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,SAAS,CAAA;AACjC,MAAM,QAAQ,GAAG,yDAAyD,CAAA;AAK1E,MAAM,GAAG,GAAG,OAAO,CAAA;AAyDV,kBAAG;AAlDZ,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAW,eAAe,GAAG,aAAa,CAAA;IACzD,OAAO,gBAAgB,SAAS,uBAAuB,KAAK,KAAK,QAAQ,IAAI,UAAU,SAAS,CAAA;AAClG,CAAC,CAAA;AA8Ca,8BAAS;AArCvB,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IAC3D,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAA;IACvC,MAAM,SAAS,GAAW,eAAe,GAAG,UAAU,CAAA;IACtD,OAAO,GAAG,IAAI,gBAAgB,SAAS,oBAAoB,OAAO,KAAK,QAAQ,UAAU,CAAA;AAC3F,CAAC,CAAA;AAiCwB,oCAAY;AA1BrC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE;IAC7C,OAAO,gEAAgE,IAAI,SAAS,CAAA;AACtF,CAAC,CAAA;AAwBsC,sCAAa;AAhBpD,MAAM,eAAe,GAAG,CAAC,OAAe,EAAU,EAAE;IAClD,MAAM,SAAS,GAAW,eAAe,GAAG,QAAQ,CAAA;IACpD,OAAO,gBAAgB,SAAS,KAAK,OAAO,SAAS,CAAA;AACvD,CAAC,CAAA;AAaqD,0CAAe;AALrE,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAU,EAAE;IACpD,MAAM,SAAS,GAAW,eAAe,GAAG,YAAY,CAAA;IACxD,OAAO,gBAAgB,SAAS,+BAA+B,OAAO,SAAS,CAAA;AACjF,CAAC,CAAA;AAEsE,8CAAiB"}
1
+ {"version":3,"file":"utils-tags.js","sourceRoot":"","sources":["../src/utils-tags.ts"],"names":[],"mappings":";;;AAMA,MAAM,gBAAgB,GAAG;IACvB,kBAAkB,EAAE,mBAAmB;IACvC,gBAAgB,EAAE,oBAAoB;IACtC,OAAO,EAAE,mBAAmB;CAC7B,CAAA;AAKD,MAAM,GAAG,GAAG,OAAO,CAAA;AAiEV,kBAAG;AAzDZ,MAAM,SAAS,GAAG,CAAC,cAAsB,EAAE,eAAuB,EAAU,EAAE;IAC5E,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,eAAe,GAAG,aAAa,CAAA;IACjD,MAAM,KAAK,GAAG,cAAc,cAAc,KAAK,gBAAgB,CAAC,kBAAkB,EAAE,CAAA;IACpF,OAAO,gBAAgB,SAAS,YAAY,KAAK,KAAK,gBAAgB,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,IAAI,UAAU,SAAS,CAAA;AAC5I,CAAC,CAAA;AAoDa,8BAAS;AA1CvB,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,YAAoB,EAAE,eAAuB,EAAU,EAAE;IAC3F,MAAM,OAAO,GAAG,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAA;IAC9C,MAAM,SAAS,GAAG,eAAe,GAAG,UAAU,CAAA;IAC9C,MAAM,KAAK,GAAG,WAAW,OAAO,KAAK,gBAAgB,CAAC,kBAAkB,EAAE,CAAA;IAC1E,OAAO,GAAG,IAAI,gBAAgB,SAAS,YAAY,KAAK,KAAK,gBAAgB,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,UAAU,CAAA;AACtI,CAAC,CAAA;AAqCwB,oCAAY;AA5BrC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,eAAuB,EAAE,YAAqB,EAAU,EAAE;IAEjG,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,CAAA;IAClF,OAAO,gBAAgB,eAAe,YAAY,KAAK,KAAK,IAAI,SAAS,CAAA;AAC3E,CAAC,CAAA;AAwBsC,8CAAiB;AAhBxD,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,eAAuB,EAAU,EAAE;IAC3E,MAAM,SAAS,GAAG,eAAe,GAAG,QAAQ,CAAA;IAC5C,OAAO,gBAAgB,SAAS,KAAK,OAAO,SAAS,CAAA;AACvD,CAAC,CAAA;AAayD,0CAAe;AALzE,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,eAAuB,EAAU,EAAE;IAC7E,MAAM,SAAS,GAAG,eAAe,GAAG,YAAY,CAAA;IAChD,OAAO,gBAAgB,SAAS,+BAA+B,OAAO,SAAS,CAAA;AACjF,CAAC,CAAA;AAE0E,8CAAiB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "palt-typesetting",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "A Japanese typesetting library, primarily focused on proportional spacing (font-feature-settings: 'palt').",
5
5
  "main": "./dist/index.js",
6
6
  "files": [