postext 1.20.3 → 1.21.0

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.
Files changed (144) hide show
  1. package/dist/__tests__/color.test.d.ts +2 -0
  2. package/dist/__tests__/color.test.d.ts.map +1 -0
  3. package/dist/__tests__/color.test.js +110 -0
  4. package/dist/__tests__/color.test.js.map +1 -0
  5. package/dist/__tests__/comics/build.test.js +4 -3
  6. package/dist/__tests__/comics/build.test.js.map +1 -1
  7. package/dist/__tests__/comics/canvas.test.js +2 -2
  8. package/dist/__tests__/comics/canvas.test.js.map +1 -1
  9. package/dist/__tests__/comics/geometry.test.js +9 -2
  10. package/dist/__tests__/comics/geometry.test.js.map +1 -1
  11. package/dist/__tests__/comics/readingDirection.test.d.ts +2 -0
  12. package/dist/__tests__/comics/readingDirection.test.d.ts.map +1 -0
  13. package/dist/__tests__/comics/readingDirection.test.js +95 -0
  14. package/dist/__tests__/comics/readingDirection.test.js.map +1 -0
  15. package/dist/__tests__/comics/skew.test.d.ts +2 -0
  16. package/dist/__tests__/comics/skew.test.d.ts.map +1 -0
  17. package/dist/__tests__/comics/skew.test.js +57 -0
  18. package/dist/__tests__/comics/skew.test.js.map +1 -0
  19. package/dist/__tests__/exports.test.js +39 -0
  20. package/dist/__tests__/exports.test.js.map +1 -1
  21. package/dist/__tests__/preflight.test.d.ts +2 -0
  22. package/dist/__tests__/preflight.test.d.ts.map +1 -0
  23. package/dist/__tests__/preflight.test.js +115 -0
  24. package/dist/__tests__/preflight.test.js.map +1 -0
  25. package/dist/__tests__/printConfig.test.d.ts +2 -0
  26. package/dist/__tests__/printConfig.test.d.ts.map +1 -0
  27. package/dist/__tests__/printConfig.test.js +44 -0
  28. package/dist/__tests__/printConfig.test.js.map +1 -0
  29. package/dist/canvas-backend/comic.d.ts +2 -1
  30. package/dist/canvas-backend/comic.d.ts.map +1 -1
  31. package/dist/canvas-backend/comic.js +6 -9
  32. package/dist/canvas-backend/comic.js.map +1 -1
  33. package/dist/color/authored.d.ts +9 -0
  34. package/dist/color/authored.d.ts.map +1 -0
  35. package/dist/color/authored.js +31 -0
  36. package/dist/color/authored.js.map +1 -0
  37. package/dist/color/catalogue.d.ts +29 -0
  38. package/dist/color/catalogue.d.ts.map +1 -0
  39. package/dist/color/catalogue.js +52 -0
  40. package/dist/color/catalogue.js.map +1 -0
  41. package/dist/color/icc.d.ts +68 -0
  42. package/dist/color/icc.d.ts.map +1 -0
  43. package/dist/color/icc.js +533 -0
  44. package/dist/color/icc.js.map +1 -0
  45. package/dist/color/index.d.ts +6 -0
  46. package/dist/color/index.d.ts.map +1 -0
  47. package/dist/color/index.js +6 -0
  48. package/dist/color/index.js.map +1 -0
  49. package/dist/color/srgbProfile.d.ts +8 -0
  50. package/dist/color/srgbProfile.d.ts.map +1 -0
  51. package/dist/color/srgbProfile.js +86 -0
  52. package/dist/color/srgbProfile.js.map +1 -0
  53. package/dist/color/transform.d.ts +73 -0
  54. package/dist/color/transform.d.ts.map +1 -0
  55. package/dist/color/transform.js +329 -0
  56. package/dist/color/transform.js.map +1 -0
  57. package/dist/comics/index.d.ts +1 -1
  58. package/dist/comics/index.d.ts.map +1 -1
  59. package/dist/comics/index.js +1 -1
  60. package/dist/comics/index.js.map +1 -1
  61. package/dist/comics/layoutPage.d.ts +8 -4
  62. package/dist/comics/layoutPage.d.ts.map +1 -1
  63. package/dist/comics/layoutPage.js +17 -9
  64. package/dist/comics/layoutPage.js.map +1 -1
  65. package/dist/comics/lettering/__tests__/letterPanel.test.js +19 -9
  66. package/dist/comics/lettering/__tests__/letterPanel.test.js.map +1 -1
  67. package/dist/comics/lettering/letter.js +13 -7
  68. package/dist/comics/lettering/letter.js.map +1 -1
  69. package/dist/comics/lettering/placement.d.ts +2 -0
  70. package/dist/comics/lettering/placement.d.ts.map +1 -1
  71. package/dist/comics/lettering/placement.js.map +1 -1
  72. package/dist/comics/lettering/types.d.ts +5 -0
  73. package/dist/comics/lettering/types.d.ts.map +1 -1
  74. package/dist/comics/paint.d.ts +6 -0
  75. package/dist/comics/paint.d.ts.map +1 -1
  76. package/dist/comics/paint.js +23 -0
  77. package/dist/comics/paint.js.map +1 -1
  78. package/dist/comics/script.d.ts.map +1 -1
  79. package/dist/comics/script.js +4 -1
  80. package/dist/comics/script.js.map +1 -1
  81. package/dist/comics/types.d.ts +3 -0
  82. package/dist/comics/types.d.ts.map +1 -1
  83. package/dist/configWarnings.d.ts.map +1 -1
  84. package/dist/configWarnings.js +28 -1
  85. package/dist/configWarnings.js.map +1 -1
  86. package/dist/defaults/comics.d.ts +23 -1
  87. package/dist/defaults/comics.d.ts.map +1 -1
  88. package/dist/defaults/comics.js +24 -1
  89. package/dist/defaults/comics.js.map +1 -1
  90. package/dist/defaults/index.d.ts +2 -1
  91. package/dist/defaults/index.d.ts.map +1 -1
  92. package/dist/defaults/index.js +10 -1
  93. package/dist/defaults/index.js.map +1 -1
  94. package/dist/defaults/page.d.ts +12 -6
  95. package/dist/defaults/page.d.ts.map +1 -1
  96. package/dist/defaults/page.js +15 -9
  97. package/dist/defaults/page.js.map +1 -1
  98. package/dist/defaults/print.d.ts +13 -0
  99. package/dist/defaults/print.d.ts.map +1 -0
  100. package/dist/defaults/print.js +147 -0
  101. package/dist/defaults/print.js.map +1 -0
  102. package/dist/htmlComic.d.ts.map +1 -1
  103. package/dist/htmlComic.js +8 -3
  104. package/dist/htmlComic.js.map +1 -1
  105. package/dist/index.d.ts +9 -4
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +6 -3
  108. package/dist/index.js.map +1 -1
  109. package/dist/locale.d.ts +9 -0
  110. package/dist/locale.d.ts.map +1 -1
  111. package/dist/locale.js +11 -0
  112. package/dist/locale.js.map +1 -1
  113. package/dist/pipeline/config.d.ts.map +1 -1
  114. package/dist/pipeline/config.js +13 -2
  115. package/dist/pipeline/config.js.map +1 -1
  116. package/dist/pipeline/crossRefs.d.ts.map +1 -1
  117. package/dist/pipeline/crossRefs.js +2 -1
  118. package/dist/pipeline/crossRefs.js.map +1 -1
  119. package/dist/preflight.d.ts +89 -0
  120. package/dist/preflight.d.ts.map +1 -0
  121. package/dist/preflight.js +314 -0
  122. package/dist/preflight.js.map +1 -0
  123. package/dist/types.d.ts +167 -9
  124. package/dist/types.d.ts.map +1 -1
  125. package/dist/vdt.d.ts +9 -1
  126. package/dist/vdt.d.ts.map +1 -1
  127. package/dist/vdt.js.map +1 -1
  128. package/icc/README.md +43 -0
  129. package/icc/fogra27.icc +0 -0
  130. package/icc/fogra28.icc +0 -0
  131. package/icc/fogra29.icc +0 -0
  132. package/icc/fogra30.icc +0 -0
  133. package/icc/fogra39.icc +0 -0
  134. package/icc/fogra40.icc +0 -0
  135. package/icc/fogra45.icc +0 -0
  136. package/icc/fogra47.icc +0 -0
  137. package/icc/fogra51.icc +0 -0
  138. package/icc/fogra52.icc +0 -0
  139. package/icc/gracol2006.icc +0 -0
  140. package/icc/ifra26.icc +0 -0
  141. package/icc/snap2007.icc +0 -0
  142. package/icc/swop3.icc +0 -0
  143. package/icc/swop5.icc +0 -0
  144. package/package.json +4 -2
@@ -82,6 +82,7 @@ describe("package exports", () => {
82
82
  "footnoteRuleSegments",
83
83
  "pageColumnRule",
84
84
  "cropMarkSegments",
85
+ "preflightDocument",
85
86
  "columnClipRect",
86
87
  "designOverlayOverhang",
87
88
  "headingDesignOverhangAbove",
@@ -130,6 +131,7 @@ describe("package exports", () => {
130
131
  "renderLangOf",
131
132
  "stringsFor",
132
133
  "directionOf",
134
+ "comicsLocaleDirection",
133
135
  "defaultNumeralsFor",
134
136
  "parseMarkdown",
135
137
  "addRow",
@@ -216,6 +218,7 @@ describe("package exports", () => {
216
218
  "presetLetteringStyles",
217
219
  "comicBalloonKind",
218
220
  "comicBalloonText",
221
+ "comicBalloonMatrix",
219
222
  "comicSpeakerName",
220
223
  "comicBalloonGroups",
221
224
  "comicPanelPathData",
@@ -240,6 +243,7 @@ describe("package exports", () => {
240
243
  "defaultComicSfxFont",
241
244
  "resolveComicsConfig",
242
245
  "resolvedComics",
246
+ "comicReadingDirection",
243
247
  "pickPanelStyle",
244
248
  "pickBalloonStyle",
245
249
  "stripComicsDefaults",
@@ -405,6 +409,15 @@ describe("package exports", () => {
405
409
  "defaultCjkParagraphStartBracket",
406
410
  "defaultCjkRubyOverhang",
407
411
  "defaultCjkRubyAlign",
412
+ "DEFAULT_PRINT_CONFIG",
413
+ "DEFAULT_PRINT_BLACK_CONFIG",
414
+ "DEFAULT_PRINT_PREFLIGHT_CONFIG",
415
+ "DEFAULT_RICH_BLACK",
416
+ "resolvePrintConfig",
417
+ "resolvePrintBlackConfig",
418
+ "resolvePrintPreflightConfig",
419
+ "stripPrintDefaults",
420
+ "profileInkLimit",
408
421
  "resolvePlaceholders",
409
422
  "computeChapterTitles",
410
423
  "computeChapterTitlesAtTop",
@@ -537,6 +550,32 @@ describe("package exports", () => {
537
550
  "processCitations",
538
551
  "citationLocale",
539
552
  "defaultBibliographyTitle",
553
+ "parseIccProfile",
554
+ "deviceChannels",
555
+ "IccParseError",
556
+ "D50",
557
+ "xyzToLab",
558
+ "labToXyz",
559
+ "deltaE",
560
+ "srgbToLab",
561
+ "labToSrgb",
562
+ "srgbToXyz",
563
+ "xyzToSrgb",
564
+ "srgbToLinear",
565
+ "linearToSrgb",
566
+ "cmykToLab",
567
+ "labToCmyk",
568
+ "totalAreaCoverage",
569
+ "outputTransform",
570
+ "buildRgbLut",
571
+ "sampleRgbLut",
572
+ "OUTPUT_PROFILES",
573
+ "DEFAULT_OUTPUT_PROFILE_ID",
574
+ "DEFAULT_PROFILE_BASE_URL",
575
+ "outputProfileInfo",
576
+ "loadOutputProfile",
577
+ "srgbProfileBytes",
578
+ "authoredCmykColors",
540
579
  ]);
541
580
  });
542
581
  });
@@ -1 +1 @@
1
- {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exports.test.js","sourceRoot":"","sources":["../../src/__tests__/exports.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=preflight.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/preflight.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,115 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ // @ts-expect-error -- a Node built-in: the package compiles without @types/node.
3
+ import { readFileSync as readFile } from 'node:fs';
4
+ import { buildDocument } from '../pipeline';
5
+ import { preflightDocument } from '../preflight';
6
+ import { resolvePrintConfig } from '../defaults/print';
7
+ import { outputTransform, parseIccProfile } from '../color';
8
+ class StubCtx {
9
+ font = '';
10
+ measureText(s) {
11
+ return { width: s.length * 7 };
12
+ }
13
+ }
14
+ globalThis.OffscreenCanvas = class {
15
+ getContext() {
16
+ return new StubCtx();
17
+ }
18
+ };
19
+ const pt = (value) => ({ value, unit: 'pt' });
20
+ const mm = (value) => ({ value, unit: 'mm' });
21
+ const hex = (h) => ({ hex: h, model: 'hex' });
22
+ const readFileSync = readFile;
23
+ const fogra39 = outputTransform(parseIccProfile(readFileSync(new URL('../../icc/fogra39.icc', import.meta.url))));
24
+ function config(extra = {}) {
25
+ return {
26
+ page: { width: mm(150), height: mm(200), dpi: 300, margins: { top: mm(15), bottom: mm(15), left: mm(15), right: mm(15) } },
27
+ layout: { layoutType: 'single' },
28
+ header: { elements: [] },
29
+ footer: { elements: [] },
30
+ ...extra,
31
+ };
32
+ }
33
+ /** A 600 × 400 px picture. Set at its own pixels, a bitmap prints at the
34
+ * layout's px per inch (`page.dpi`): 150 ppi on a 150 dpi page. */
35
+ const picture = {
36
+ id: 'pic',
37
+ typeId: 'figure',
38
+ kind: 'bitmap',
39
+ createdAt: 0,
40
+ updatedAt: 0,
41
+ bitmap: { fileId: 'pic.jpg', format: 'jpeg', width: 600, height: 400 },
42
+ placement: { position: 'here' },
43
+ };
44
+ const kinds = (issues) => issues.map((i) => i.kind);
45
+ describe('preflightDocument', () => {
46
+ it('reports a picture under the resolution thresholds, critical below the critical one', () => {
47
+ const doc = buildDocument({ markdown: 'Text.\n\n::resource{id="pic"}', resources: [picture] }, config({
48
+ page: { width: mm(150), height: mm(200), dpi: 150, margins: { top: mm(15), bottom: mm(15), left: mm(15), right: mm(15) } },
49
+ }));
50
+ const low = preflightDocument(doc).find((i) => i.kind === 'lowImageResolution');
51
+ expect(low).toBeDefined();
52
+ expect(low.severity).toBe('warning');
53
+ if (low.kind === 'lowImageResolution')
54
+ expect(low.ppi).toBe(150);
55
+ const critical = preflightDocument(doc, { print: resolvePrintConfig({ preflight: { criticalImageResolution: 200 } }) });
56
+ expect(critical.find((i) => i.kind === 'lowImageResolution').severity).toBe('critical');
57
+ expect(preflightDocument(doc, { print: resolvePrintConfig({ preflight: { minImageResolution: 120 } }) }).some((i) => i.kind === 'lowImageResolution')).toBe(false);
58
+ // At 300 dpi the same picture prints at 300 ppi.
59
+ const sharp = buildDocument({ markdown: '::resource{id="pic"}', resources: [picture] }, config());
60
+ expect(kinds(preflightDocument(sharp))).not.toContain('lowImageResolution');
61
+ });
62
+ it('flags RGB pictures in a CMYK job only', () => {
63
+ const doc = buildDocument({ markdown: '::resource{id="pic"}', resources: [picture] }, config());
64
+ const imageColor = () => 'rgb';
65
+ expect(kinds(preflightDocument(doc, { imageColor }))).not.toContain('rgbImage');
66
+ const x4 = preflightDocument(doc, { imageColor, print: resolvePrintConfig({ standard: 'pdfx4', convertImages: false }) });
67
+ expect(x4.find((i) => i.kind === 'rgbImage')?.severity).toBe('warning');
68
+ });
69
+ it('flags small text set in more than one ink, not small black text', () => {
70
+ const colored = buildDocument({ markdown: 'Small blue text.' }, config({ bodyText: { fontSize: pt(7), color: hex('#2060c0') } }));
71
+ const issue = preflightDocument(colored, { transform: fogra39 }).find((i) => i.kind === 'smallProcessText');
72
+ expect(issue).toBeDefined();
73
+ if (issue?.kind === 'smallProcessText')
74
+ expect(issue.inks).toBeGreaterThan(1);
75
+ const black = buildDocument({ markdown: 'Small black text.' }, config({ bodyText: { fontSize: pt(7), color: hex('#000000') } }));
76
+ expect(kinds(preflightDocument(black, { transform: fogra39 }))).not.toContain('smallProcessText');
77
+ });
78
+ it('flags hairline rules', () => {
79
+ const doc = buildDocument({ markdown: 'Text.' }, config({
80
+ header: { elements: [{ kind: 'rule', id: 'r', placement: { anchor: { to: 'container', edge: 'top-left' }, size: { width: mm(50) } }, thickness: pt(0.1), color: hex('#000000') }] },
81
+ }));
82
+ const rule = preflightDocument(doc).find((i) => i.kind === 'thinRule');
83
+ expect(rule).toBeDefined();
84
+ if (rule?.kind === 'thinRule')
85
+ expect(rule.widthPt).toBeCloseTo(0.1, 1);
86
+ });
87
+ it('flags text in the safe zone and boxes stopping just short of the trim', () => {
88
+ const doc = buildDocument({ markdown: 'Text close to the edge.' }, config({
89
+ page: { width: mm(150), height: mm(200), dpi: 300, margins: { top: mm(2), bottom: mm(15), left: mm(15), right: mm(15) } },
90
+ header: {
91
+ elements: [{ kind: 'box', id: 'b', placement: { anchor: { to: 'page', edge: 'top-left' }, offset: { x: mm(1), y: mm(30) }, size: { width: mm(40), height: mm(20) } }, style: { backgroundColor: hex('#336699') } }],
92
+ },
93
+ }));
94
+ const issues = preflightDocument(doc);
95
+ expect(kinds(issues)).toContain('safeZone');
96
+ const near = issues.find((i) => i.kind === 'nearTrim');
97
+ expect(near).toBeDefined();
98
+ if (near?.kind === 'nearTrim')
99
+ expect(near.edge).toBe('left');
100
+ });
101
+ it('checks authored CMYK colours against the ink limit', () => {
102
+ const doc = buildDocument({ markdown: 'Heavy ink.' }, config({
103
+ bodyText: { color: { hex: '#101010', model: 'cmyk', cmyk: { c: 90, m: 90, y: 90, k: 100 } } },
104
+ }));
105
+ const issue = preflightDocument(doc, { cmyk: true }).find((i) => i.kind === 'inkLimit');
106
+ expect(issue).toBeDefined();
107
+ if (issue?.kind === 'inkLimit')
108
+ expect(issue.coverage).toBe(370);
109
+ });
110
+ it('does nothing when disabled', () => {
111
+ const doc = buildDocument({ markdown: '::resource{id="pic"}', resources: [picture] }, config());
112
+ expect(preflightDocument(doc, { print: resolvePrintConfig({ preflight: { enabled: false } }) })).toEqual([]);
113
+ });
114
+ });
115
+ //# sourceMappingURL=preflight.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight.test.js","sourceRoot":"","sources":["../../src/__tests__/preflight.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=printConfig.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printConfig.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/printConfig.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { resolvePrintConfig, stripPrintDefaults, DEFAULT_PRINT_CONFIG } from '../defaults/print';
3
+ import { stripConfigDefaults } from '../defaults';
4
+ import { collectConfigWarnings } from '../configWarnings';
5
+ import { resolveAllConfig } from '../pipeline/config';
6
+ describe('print config', () => {
7
+ it('resolves to the defaults: no PDF/X, FOGRA39, relative with BPC', () => {
8
+ const r = resolvePrintConfig();
9
+ expect(r.standard).toBe('none');
10
+ expect(r.outputProfile).toBe('fogra39');
11
+ expect(r.renderingIntent).toBe('relative');
12
+ expect(r.inkLimit).toBe(300);
13
+ expect(r.black.richBlackColor).toEqual({ c: 60, m: 40, y: 40, k: 100 });
14
+ expect(r.preflight.minImageResolution).toBe(300);
15
+ });
16
+ it('takes the ink limit from the profile unless overridden', () => {
17
+ expect(resolvePrintConfig({ outputProfile: 'ifra26' }).inkLimit).toBe(230);
18
+ expect(resolvePrintConfig({ outputProfile: 'ifra26', inkLimit: 240 }).inkLimit).toBe(240);
19
+ expect(resolvePrintConfig({ outputProfile: 'custom', customProfile: { name: 'x', fileId: 'f', inkLimit: 320 } }).inkLimit).toBe(320);
20
+ });
21
+ it('falls back to the default profile for unknown ids and a custom choice without a file', () => {
22
+ expect(resolvePrintConfig({ outputProfile: 'nope' }).outputProfile).toBe('fogra39');
23
+ expect(resolvePrintConfig({ outputProfile: 'custom' }).outputProfile).toBe('fogra39');
24
+ });
25
+ it('keeps critical image resolution at or under the warning threshold', () => {
26
+ expect(resolvePrintConfig({ preflight: { minImageResolution: 120 } }).preflight.criticalImageResolution).toBe(120);
27
+ });
28
+ it('strips defaults, keeping only overrides', () => {
29
+ expect(stripPrintDefaults({ standard: 'none', outputProfile: 'fogra39', inkLimit: 300 })).toBeUndefined();
30
+ expect(stripPrintDefaults({ outputProfile: 'ifra26', inkLimit: 230 })).toEqual({ outputProfile: 'ifra26' });
31
+ expect(stripPrintDefaults({ standard: 'pdfx4', black: { richBlackMinSize: { value: 6, unit: 'mm' }, overprint: false } })).toEqual({ standard: 'pdfx4', black: { overprint: false } });
32
+ expect(stripConfigDefaults({ print: { standard: 'none' } }).print).toBeUndefined();
33
+ });
34
+ it('is carried, resolved, in the VDT config', () => {
35
+ expect(resolveAllConfig({ print: { standard: 'pdfx1a' } }).print?.standard).toBe('pdfx1a');
36
+ expect(resolveAllConfig({}).print).toBeUndefined();
37
+ expect(DEFAULT_PRINT_CONFIG.convertImages).toBe(true);
38
+ });
39
+ it('warns about unknown words', () => {
40
+ const w = collectConfigWarnings({ print: { standard: 'pdfx3', outputProfile: 'iso-coated', renderingIntent: 'absolute' } });
41
+ expect(w.map((x) => 'path' in x && x.path)).toEqual(['print.standard', 'print.outputProfile', 'print.renderingIntent']);
42
+ });
43
+ });
44
+ //# sourceMappingURL=printConfig.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"printConfig.test.js","sourceRoot":"","sources":["../../src/__tests__/printConfig.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,GAAG,kBAAkB,EAAE,CAAC;QAC/B,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACxE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3E,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1F,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvI,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,GAAG,EAAE;QAC9F,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpF,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC1G,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5G,MAAM,CACJ,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CACnH,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3F,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACnD,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,qBAAqB,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,UAAmB,EAAE,EAAE,CAAC,CAAC;QAC9I,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC1H,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -21,7 +21,8 @@ export declare function renderComicPanels(ctx: CanvasRenderingContext2D, comic:
21
21
  * lettering writes them) as the current path. */
22
22
  export declare function traceComicPath(ctx: CanvasRenderingContext2D, d: string): void;
23
23
  /** Paint one balloon: its outline (when it carries its group's), then its
24
- * halo and its text, turned by `rotate` degrees about its box's centre. */
24
+ * halo and its text, leaned by `skew` and turned by `rotate` degrees
25
+ * about its box's centre. */
25
26
  export declare function renderComicBalloon(ctx: CanvasRenderingContext2D, balloon: VDTComicBalloon): void;
26
27
  /** Paint the lettering of a comic page: balloons, captions and notes in
27
28
  * reading order (each join group's outline, then its text), then the
@@ -1 +1 @@
1
- {"version":3,"file":"comic.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/comic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,aAAa,EAAsB,MAAM,QAAQ,CAAC;AAK5G,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEjE;sCACsC;AACtC,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAsB7H;AAaD,uBAAuB;AACvB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAkCxH;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAExH;AAED;kDACkD;AAClD,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAuB7E;AAqDD;4EAC4E;AAC5E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAiBhG;AAED;;qCAEqC;AACrC,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAG5F;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAGtH"}
1
+ {"version":3,"file":"comic.d.ts","sourceRoot":"","sources":["../../src/canvas-backend/comic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,aAAa,EAAsB,MAAM,QAAQ,CAAC;AAK5G,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEjE;sCACsC;AACtC,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,IAAI,CAsB7H;AAaD,uBAAuB;AACvB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAkCxH;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAExH;AAED;kDACkD;AAClD,wBAAgB,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAuB7E;AAqDD;;8BAE8B;AAC9B,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAYhG;AAED;;qCAEqC;AACrC,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAG5F;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAGtH"}
@@ -10,7 +10,7 @@
10
10
  */
11
11
  import { drawResourceImage } from './renderResourceBlock';
12
12
  import { renderTextBlock } from './headerFooter';
13
- import { comicRoughBorder } from '../comics/paint';
13
+ import { comicBalloonMatrix, comicRoughBorder } from '../comics/paint';
14
14
  export { roughOutline, comicRoughBorder } from '../comics/paint';
15
15
  /** Trace a panel's outline as the current path: its polygon, or a rounded
16
16
  * rectangle when it has a radius. */
@@ -175,16 +175,13 @@ function haloOf(block, halo) {
175
175
  return { ...block, color: halo.color, stroke: { widthPx: 2 * halo.width, color: halo.color } };
176
176
  }
177
177
  /** Paint one balloon: its outline (when it carries its group's), then its
178
- * halo and its text, turned by `rotate` degrees about its box's centre. */
178
+ * halo and its text, leaned by `skew` and turned by `rotate` degrees
179
+ * about its box's centre. */
179
180
  export function renderComicBalloon(ctx, balloon) {
180
181
  ctx.save();
181
- if (balloon.rotate) {
182
- const cx = balloon.bbox.x + balloon.bbox.width / 2;
183
- const cy = balloon.bbox.y + balloon.bbox.height / 2;
184
- ctx.translate(cx, cy);
185
- ctx.rotate((balloon.rotate * Math.PI) / 180);
186
- ctx.translate(-cx, -cy);
187
- }
182
+ const m = comicBalloonMatrix(balloon);
183
+ if (m)
184
+ ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);
188
185
  if (balloon.shape)
189
186
  paintBalloonShape(ctx, balloon.shape);
190
187
  if (balloon.halo && balloon.halo.width > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"comic.js","sourceRoot":"","sources":["../../src/canvas-backend/comic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comic.js","sourceRoot":"","sources":["../../src/canvas-backend/comic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CmykPercent } from '../types';
2
+ /**
3
+ * The colours of a configuration authored in CMYK (`ColorValue.cmyk`),
4
+ * keyed by their screen hex (`#rrggbb`, lower case): a print render sets
5
+ * these values as they are. A colour that follows a palette entry shares
6
+ * that entry's hex, so the palette's own CMYK covers every use of it.
7
+ */
8
+ export declare function authoredCmykColors(config: unknown, into?: Map<string, CmykPercent>): Map<string, CmykPercent>;
9
+ //# sourceMappingURL=authored.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored.d.ts","sourceRoot":"","sources":["../../src/color/authored.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAQ5C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,GAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAa,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAcxH"}
@@ -0,0 +1,31 @@
1
+ function isAuthoredCmyk(v) {
2
+ if (!v || typeof v !== 'object')
3
+ return false;
4
+ const o = v;
5
+ return o.model === 'cmyk' && typeof o.hex === 'string' && !!o.cmyk && typeof o.cmyk === 'object';
6
+ }
7
+ /**
8
+ * The colours of a configuration authored in CMYK (`ColorValue.cmyk`),
9
+ * keyed by their screen hex (`#rrggbb`, lower case): a print render sets
10
+ * these values as they are. A colour that follows a palette entry shares
11
+ * that entry's hex, so the palette's own CMYK covers every use of it.
12
+ */
13
+ export function authoredCmykColors(config, into = new Map()) {
14
+ const seen = new Set();
15
+ const walk = (v) => {
16
+ if (!v || typeof v !== 'object' || seen.has(v))
17
+ return;
18
+ seen.add(v);
19
+ if (isAuthoredCmyk(v)) {
20
+ const key = v.hex.slice(0, 7).toLowerCase();
21
+ if (/^#[0-9a-f]{6}$/.test(key) && !into.has(key))
22
+ into.set(key, { ...v.cmyk });
23
+ return;
24
+ }
25
+ for (const child of Array.isArray(v) ? v : Object.values(v))
26
+ walk(child);
27
+ };
28
+ walk(config);
29
+ return into;
30
+ }
31
+ //# sourceMappingURL=authored.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authored.js","sourceRoot":"","sources":["../../src/color/authored.ts"],"names":[],"mappings":"AAEA,SAAS,cAAc,CAAC,CAAU;IAChC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAuD,CAAC;IAClE,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;AACnG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe,EAAE,OAAiC,IAAI,GAAG,EAAE;IAC5F,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,CAAU,EAAQ,EAAE;QAChC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO;QACvD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * The output profiles postext ships (`packages/postext/icc`, served by the
3
+ * site at `/icc/<id>.icc` and by any npm CDN at `postext/icc/<id>.icc`).
4
+ * All are CC0; see `icc/README.md` for provenance.
5
+ */
6
+ import { type IccProfile } from './icc';
7
+ export interface OutputProfileInfo {
8
+ id: string;
9
+ /** Human name, as print buyers know the condition. */
10
+ name: string;
11
+ /** ICC characterization registry name: the PDF/X OutputConditionIdentifier. */
12
+ registryName: string;
13
+ /** The printing condition, for the PDF/X OutputCondition string. */
14
+ condition: string;
15
+ /** Paper family, for the Sandbox list. */
16
+ paper: 'coated' | 'uncoated' | 'web-coated' | 'newsprint' | 'sc';
17
+ /** Total ink limit the profile separates to, percent. */
18
+ inkLimit: number;
19
+ }
20
+ export declare const OUTPUT_PROFILES: readonly OutputProfileInfo[];
21
+ export declare const DEFAULT_OUTPUT_PROFILE_ID = "fogra39";
22
+ export declare function outputProfileInfo(id: string): OutputProfileInfo | undefined;
23
+ /** Where the catalogue's files are fetched from when the caller does not
24
+ * say: the npm CDN copy of this package's `icc/` folder. The Sandbox
25
+ * passes its own origin (`/icc/`). */
26
+ export declare const DEFAULT_PROFILE_BASE_URL = "https://cdn.jsdelivr.net/npm/postext/icc/";
27
+ /** Fetch and parse a catalogue profile (memoized per URL). */
28
+ export declare function loadOutputProfile(id: string, baseUrl?: string): Promise<IccProfile>;
29
+ //# sourceMappingURL=catalogue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../../src/color/catalogue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,OAAO,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC;IACjE,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,iBAAiB,EAgBvD,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE3E;AAED;;uCAEuC;AACvC,eAAO,MAAM,wBAAwB,8CAA8C,CAAC;AAIpF,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAAiC,GAAG,OAAO,CAAC,UAAU,CAAC,CAe7G"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * The output profiles postext ships (`packages/postext/icc`, served by the
3
+ * site at `/icc/<id>.icc` and by any npm CDN at `postext/icc/<id>.icc`).
4
+ * All are CC0; see `icc/README.md` for provenance.
5
+ */
6
+ import { parseIccProfile } from './icc';
7
+ export const OUTPUT_PROFILES = [
8
+ { id: 'fogra39', name: 'Coated FOGRA39 (ISO Coated v2)', registryName: 'FOGRA39', condition: 'Offset commercial and specialty printing according to ISO 12647-2:2004 / Amd 1, OFCOM, paper type 1 or 2 = gloss or matt coated offset, 115 g/m2, screen ruling 60/cm', paper: 'coated', inkLimit: 300 },
9
+ { id: 'fogra51', name: 'PSO Coated v3 (FOGRA51)', registryName: 'FOGRA51', condition: 'Offset printing according to ISO 12647-2:2013, OFCOM, print substrate 1 = premium coated, 115 g/m2, tone value increase curves A (CMYK)', paper: 'coated', inkLimit: 300 },
10
+ { id: 'fogra52', name: 'PSO Uncoated v3 (FOGRA52)', registryName: 'FOGRA52', condition: 'Offset printing according to ISO 12647-2:2013, OFCOM, print substrate 5 = wood-free uncoated, 120 g/m2, tone value increase curves C (CMYK)', paper: 'uncoated', inkLimit: 300 },
11
+ { id: 'fogra47', name: 'PSO Uncoated ISO 12647 (FOGRA47)', registryName: 'FOGRA47', condition: 'Offset printing according to ISO 12647-2:2004 / Amd 1, paper type 5 = uncoated white offset, 120 g/m2, screen ruling 60/cm', paper: 'uncoated', inkLimit: 300 },
12
+ { id: 'fogra29', name: 'Uncoated FOGRA29', registryName: 'FOGRA29', condition: 'Offset printing according to ISO 12647-2:2004 / Amd 1, paper type 4 = uncoated white offset, 120 g/m2, screen ruling 60/cm', paper: 'uncoated', inkLimit: 300 },
13
+ { id: 'fogra30', name: 'Uncoated yellowish FOGRA30', registryName: 'FOGRA30', condition: 'Offset printing according to ISO 12647-2:2004, paper type 5 = uncoated yellowish offset, 115 g/m2, screen ruling 60/cm', paper: 'uncoated', inkLimit: 340 },
14
+ { id: 'fogra27', name: 'Coated FOGRA27', registryName: 'FOGRA27', condition: 'Offset printing according to ISO 12647-2:1996, paper type 1 or 2 = gloss or matt coated, 115 g/m2, screen ruling 60/cm', paper: 'coated', inkLimit: 300 },
15
+ { id: 'fogra28', name: 'Web coated FOGRA28', registryName: 'FOGRA28', condition: 'Heatset web offset printing according to ISO 12647-2:2004, paper type 3 = glossy LWC, 65 g/m2, screen ruling 60/cm', paper: 'web-coated', inkLimit: 300 },
16
+ { id: 'fogra45', name: 'Improved LWC FOGRA45', registryName: 'FOGRA45', condition: 'Heatset web offset printing according to ISO 12647-2:2004 / Amd 1, improved LWC, screen ruling 60/cm', paper: 'web-coated', inkLimit: 300 },
17
+ { id: 'fogra40', name: 'SC paper FOGRA40', registryName: 'FOGRA40', condition: 'Heatset web offset printing according to ISO 12647-2:2004 / Amd 1, SC paper, screen ruling 60/cm', paper: 'sc', inkLimit: 340 },
18
+ { id: 'gracol2006', name: 'GRACoL 2006 Coated 1 (CGATS TR 006)', registryName: 'CGATS TR 006', condition: 'Commercial offset lithography, grade 1 coated paper, GRACoL 2006', paper: 'coated', inkLimit: 300 },
19
+ { id: 'swop3', name: 'SWOP 2006 Coated 3 (CGATS TR 003)', registryName: 'CGATS TR 003', condition: 'Publication web offset lithography, grade 3 coated paper, SWOP 2006', paper: 'web-coated', inkLimit: 300 },
20
+ { id: 'swop5', name: 'SWOP 2006 Coated 5 (CGATS TR 005)', registryName: 'CGATS TR 005', condition: 'Publication web offset lithography, grade 5 coated paper, SWOP 2006', paper: 'web-coated', inkLimit: 300 },
21
+ { id: 'ifra26', name: 'ISO Newspaper 26 (IFRA26)', registryName: 'IFRA26', condition: 'Coldset offset printing according to ISO 12647-3:2004, newsprint', paper: 'newsprint', inkLimit: 230 },
22
+ { id: 'snap2007', name: 'SNAP 2007 Newsprint (CGATS TR 002)', registryName: 'CGATS TR 002', condition: 'Coldset offset newspaper printing, SNAP 2007', paper: 'newsprint', inkLimit: 320 },
23
+ ];
24
+ export const DEFAULT_OUTPUT_PROFILE_ID = 'fogra39';
25
+ export function outputProfileInfo(id) {
26
+ return OUTPUT_PROFILES.find((p) => p.id === id);
27
+ }
28
+ /** Where the catalogue's files are fetched from when the caller does not
29
+ * say: the npm CDN copy of this package's `icc/` folder. The Sandbox
30
+ * passes its own origin (`/icc/`). */
31
+ export const DEFAULT_PROFILE_BASE_URL = 'https://cdn.jsdelivr.net/npm/postext/icc/';
32
+ const loads = new Map();
33
+ /** Fetch and parse a catalogue profile (memoized per URL). */
34
+ export function loadOutputProfile(id, baseUrl = DEFAULT_PROFILE_BASE_URL) {
35
+ if (!outputProfileInfo(id))
36
+ return Promise.reject(new Error(`unknown output profile "${id}"`));
37
+ const url = `${baseUrl.replace(/\/?$/, '/')}${id}.icc`;
38
+ let p = loads.get(url);
39
+ if (!p) {
40
+ p = fetch(url)
41
+ .then((r) => {
42
+ if (!r.ok)
43
+ throw new Error(`could not fetch ${url} (${r.status})`);
44
+ return r.arrayBuffer();
45
+ })
46
+ .then((buf) => parseIccProfile(new Uint8Array(buf)));
47
+ p.catch(() => loads.delete(url));
48
+ loads.set(url, p);
49
+ }
50
+ return p;
51
+ }
52
+ //# sourceMappingURL=catalogue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalogue.js","sourceRoot":"","sources":["../../src/color/catalogue.ts"],"names":[],"mappings":"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"}