pdf-parser.js 5.2.25 → 5.2.27
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/dist/afm-widths.cjs +1 -1
- package/dist/afm-widths.js +1 -1
- package/dist/annotations.d.cts +2 -2
- package/dist/annotations.d.ts +2 -2
- package/dist/attachments.d.cts +2 -2
- package/dist/attachments.d.ts +2 -2
- package/dist/builtin-encoding.cjs +1 -1
- package/dist/builtin-encoding.d.cts +2 -2
- package/dist/builtin-encoding.d.ts +2 -2
- package/dist/builtin-encoding.js +1 -1
- package/dist/cff-bounds.cjs +31 -21
- package/dist/cff-bounds.d.cts +1 -1
- package/dist/cff-bounds.d.ts +1 -1
- package/dist/cff-bounds.js +31 -21
- package/dist/cff.d.cts +1 -1
- package/dist/cff.d.ts +1 -1
- package/dist/cmap-table.d.cts +1 -1
- package/dist/cmap-table.d.ts +1 -1
- package/dist/cmap.d.cts +1 -1
- package/dist/cmap.d.ts +1 -1
- package/dist/content-read.d.cts +1 -1
- package/dist/content-read.d.ts +1 -1
- package/dist/content-write.cjs +19 -13
- package/dist/content-write.d.cts +3 -3
- package/dist/content-write.d.ts +3 -3
- package/dist/content-write.js +19 -13
- package/dist/document.cjs +17 -11
- package/dist/document.d.cts +5 -5
- package/dist/document.d.ts +5 -5
- package/dist/document.js +17 -11
- package/dist/{embedded-font-BRhZfEN2.d.ts → embedded-font-ByD7ZiQS.d.ts} +4 -4
- package/dist/{embedded-font-DJUn9kMH.d.cts → embedded-font-DgVBedw6.d.cts} +4 -4
- package/dist/embedded-font-write.d.cts +2 -2
- package/dist/embedded-font-write.d.ts +2 -2
- package/dist/embedded-font.cjs +1 -1
- package/dist/embedded-font.d.cts +1 -1
- package/dist/embedded-font.d.ts +1 -1
- package/dist/embedded-font.js +1 -1
- package/dist/encoding.cjs +1 -1
- package/dist/encoding.js +1 -1
- package/dist/encrypt-write.d.cts +3 -3
- package/dist/encrypt-write.d.ts +3 -3
- package/dist/encrypt.d.cts +3 -3
- package/dist/encrypt.d.ts +3 -3
- package/dist/filters.cjs +6 -6
- package/dist/filters.d.cts +1 -1
- package/dist/filters.d.ts +1 -1
- package/dist/filters.js +6 -6
- package/dist/font-read.cjs +1 -1
- package/dist/font-read.d.cts +3 -3
- package/dist/font-read.d.ts +3 -3
- package/dist/font-read.js +1 -1
- package/dist/font-registry.d.cts +3 -3
- package/dist/font-registry.d.ts +3 -3
- package/dist/form.cjs +13 -8
- package/dist/form.d.cts +2 -2
- package/dist/form.d.ts +2 -2
- package/dist/form.js +13 -8
- package/dist/gdef-table.d.cts +3 -3
- package/dist/gdef-table.d.ts +3 -3
- package/dist/{glyf-vMGtP1pb.d.ts → glyf-Bv1katwK.d.ts} +4 -4
- package/dist/{glyf-nXC-IDRW.d.cts → glyf-DFyknMrW.d.cts} +4 -4
- package/dist/{glyf-contours-OSdG6Edr.d.ts → glyf-contours-B1PsI9oA.d.ts} +2 -2
- package/dist/{glyf-contours-zRQbj-Yp.d.cts → glyf-contours-NHBpgks-.d.cts} +2 -2
- package/dist/glyf-contours.d.cts +1 -1
- package/dist/glyf-contours.d.ts +1 -1
- package/dist/glyf.d.cts +1 -1
- package/dist/glyf.d.ts +1 -1
- package/dist/gsub-table.cjs +13 -9
- package/dist/gsub-table.js +13 -9
- package/dist/hmtx-table.d.cts +1 -1
- package/dist/hmtx-table.d.ts +1 -1
- package/dist/image/jbig2-generic.cjs +2 -2
- package/dist/image/jbig2-generic.js +2 -2
- package/dist/image/jpeg2000-codestream.cjs +17 -8
- package/dist/image/jpeg2000-codestream.js +17 -8
- package/dist/image/jpeg2000-tagtree.cjs +1 -1
- package/dist/image/jpeg2000-tagtree.js +1 -1
- package/dist/images-read.d.cts +2 -2
- package/dist/images-read.d.ts +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/interpret.cjs +31 -18
- package/dist/interpret.d.cts +5 -5
- package/dist/interpret.d.ts +5 -5
- package/dist/interpret.js +31 -18
- package/dist/math-content-write.cjs +3 -3
- package/dist/math-content-write.js +3 -3
- package/dist/math-font-write.d.cts +1 -1
- package/dist/math-font-write.d.ts +1 -1
- package/dist/math-font.d.cts +4 -4
- package/dist/math-font.d.ts +4 -4
- package/dist/measure.cjs +1 -1
- package/dist/measure.js +1 -1
- package/dist/names.cjs +7 -7
- package/dist/names.d.cts +2 -2
- package/dist/names.d.ts +2 -2
- package/dist/names.js +7 -7
- package/dist/navigation.cjs +6 -7
- package/dist/navigation.d.cts +5 -5
- package/dist/navigation.d.ts +5 -5
- package/dist/navigation.js +6 -7
- package/dist/{objects-B7HdMeWS.d.ts → objects-e2RS3-yT.d.cts} +3 -3
- package/dist/{objects-B7HdMeWS.d.cts → objects-e2RS3-yT.d.ts} +3 -3
- package/dist/objects.d.cts +1 -1
- package/dist/objects.d.ts +1 -1
- package/dist/optional-content.d.cts +2 -2
- package/dist/optional-content.d.ts +2 -2
- package/dist/ot-layout-common.cjs +18 -13
- package/dist/ot-layout-common.d.cts +2 -2
- package/dist/ot-layout-common.d.ts +2 -2
- package/dist/ot-layout-common.js +18 -13
- package/dist/parse.cjs +5 -0
- package/dist/parse.d.cts +3 -2
- package/dist/parse.d.ts +3 -2
- package/dist/parse.js +5 -1
- package/dist/predictors.d.cts +1 -1
- package/dist/predictors.d.ts +1 -1
- package/dist/raster.cjs +10 -40
- package/dist/raster.d.cts +11 -11
- package/dist/raster.d.ts +11 -11
- package/dist/raster.js +10 -40
- package/dist/read.cjs +12 -8
- package/dist/read.js +12 -8
- package/dist/serialize.d.cts +1 -1
- package/dist/serialize.d.ts +1 -1
- package/dist/sfnt-subset.d.cts +1 -1
- package/dist/sfnt-subset.d.ts +1 -1
- package/dist/structure.cjs +4 -4
- package/dist/structure.d.cts +2 -2
- package/dist/structure.d.ts +2 -2
- package/dist/structure.js +4 -4
- package/dist/text-layout.d.cts +1 -1
- package/dist/text-layout.d.ts +1 -1
- package/dist/tounicode.d.cts +1 -1
- package/dist/tounicode.d.ts +1 -1
- package/dist/winansi.cjs +1 -1
- package/dist/winansi.js +1 -1
- package/dist/write.cjs +4 -4
- package/dist/write.d.cts +1 -1
- package/dist/write.d.ts +1 -1
- package/dist/write.js +4 -4
- package/dist/xref.d.cts +1 -1
- package/dist/xref.d.ts +1 -1
- package/package.json +2 -2
- package/dist/{afm-widths-BTu0IDp2.cjs → afm-widths-BYiX2L9D.cjs} +1 -1
- package/dist/{afm-widths-De_QMWgC.js → afm-widths-blUDDjlI.js} +1 -1
package/dist/document.js
CHANGED
|
@@ -153,19 +153,22 @@ function openPdfDocument(bytes, sink) {
|
|
|
153
153
|
function pages() {
|
|
154
154
|
const pagesRoot = resolveDict(dictGet(catalog, "Pages"));
|
|
155
155
|
if (pagesRoot === void 0) return [];
|
|
156
|
-
const result = [];
|
|
157
156
|
originalLeaves.clear();
|
|
158
|
-
|
|
157
|
+
const result = [];
|
|
158
|
+
for (const leaf of walkPageTree(pagesRoot, {}, /* @__PURE__ */ new Set())) {
|
|
159
|
+
originalLeaves.set(leaf.node, result.length);
|
|
160
|
+
result.push(leaf.page);
|
|
161
|
+
}
|
|
159
162
|
return result;
|
|
160
163
|
}
|
|
161
|
-
function walkPageTree(node, inherited, visited
|
|
164
|
+
function walkPageTree(node, inherited, visited) {
|
|
162
165
|
if (visited.has(node)) {
|
|
163
166
|
sink({
|
|
164
167
|
code: "pdf/page-tree-cycle",
|
|
165
168
|
severity: "warning",
|
|
166
169
|
message: "the page tree contains a cycle; stopping descent at the repeated node"
|
|
167
170
|
});
|
|
168
|
-
return;
|
|
171
|
+
return [];
|
|
169
172
|
}
|
|
170
173
|
visited.add(node);
|
|
171
174
|
const merged = { ...inherited };
|
|
@@ -177,17 +180,20 @@ function openPdfDocument(bytes, sink) {
|
|
|
177
180
|
if (kids === void 0) {
|
|
178
181
|
const entries = new Map(node.entries);
|
|
179
182
|
for (const key of INHERITABLE_PAGE_KEYS) if (!entries.has(key) && merged[key] !== void 0) entries.set(key, merged[key]);
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
183
|
+
return [{
|
|
184
|
+
node,
|
|
185
|
+
page: {
|
|
186
|
+
kind: "dict",
|
|
187
|
+
entries
|
|
188
|
+
}
|
|
189
|
+
}];
|
|
186
190
|
}
|
|
191
|
+
const leaves = [];
|
|
187
192
|
for (const kid of kids) {
|
|
188
193
|
const kidDict = resolveDict(kid);
|
|
189
|
-
if (kidDict !== void 0) walkPageTree(kidDict, merged, visited
|
|
194
|
+
if (kidDict !== void 0) for (const leaf of walkPageTree(kidDict, merged, visited)) leaves.push(leaf);
|
|
190
195
|
}
|
|
196
|
+
return leaves;
|
|
191
197
|
}
|
|
192
198
|
function pageIndex(obj) {
|
|
193
199
|
const dict = asDict(resolve(obj));
|
|
@@ -25,9 +25,9 @@ interface EmbeddedFace {
|
|
|
25
25
|
readonly postScriptName: string;
|
|
26
26
|
readonly numGlyphs: number;
|
|
27
27
|
readonly metrics: EmbeddedFaceMetrics;
|
|
28
|
-
glyphId(codePoint: number)
|
|
29
|
-
glyphSpaceWidth(glyphId: number)
|
|
30
|
-
kernGlyphSpace(leftGlyphId: number, rightGlyphId: number)
|
|
28
|
+
glyphId: (codePoint: number) => number | undefined;
|
|
29
|
+
glyphSpaceWidth: (glyphId: number) => number;
|
|
30
|
+
kernGlyphSpace: (leftGlyphId: number, rightGlyphId: number) => number;
|
|
31
31
|
readonly gsubShaper: GsubShaper | undefined;
|
|
32
32
|
}
|
|
33
33
|
declare function loadEmbeddedFace(font: SfntFont): EmbeddedFace | undefined;
|
|
@@ -45,6 +45,6 @@ interface EmbeddedShow {
|
|
|
45
45
|
readonly kerns: readonly EmbeddedKern[];
|
|
46
46
|
}
|
|
47
47
|
declare function encodeForShowEmbedded(text: string, face: EmbeddedFace): EmbeddedShow;
|
|
48
|
-
declare function collectEmbeddedGlyphs(texts: Iterable<string
|
|
48
|
+
declare function collectEmbeddedGlyphs(texts: Readonly<Iterable<string>>, face: EmbeddedFace): ReadonlyMap<number, readonly number[]>;
|
|
49
49
|
//#endregion
|
|
50
50
|
export { EmbeddedShow as a, encodeForShowEmbedded as c, EmbeddedKern as i, loadEmbeddedFace as l, EmbeddedFaceMetrics as n, NOTDEF_GLYPH_ID as o, EmbeddedFaceSubstitution as r, collectEmbeddedGlyphs as s, EmbeddedFace as t };
|
|
@@ -25,9 +25,9 @@ interface EmbeddedFace {
|
|
|
25
25
|
readonly postScriptName: string;
|
|
26
26
|
readonly numGlyphs: number;
|
|
27
27
|
readonly metrics: EmbeddedFaceMetrics;
|
|
28
|
-
glyphId(codePoint: number)
|
|
29
|
-
glyphSpaceWidth(glyphId: number)
|
|
30
|
-
kernGlyphSpace(leftGlyphId: number, rightGlyphId: number)
|
|
28
|
+
glyphId: (codePoint: number) => number | undefined;
|
|
29
|
+
glyphSpaceWidth: (glyphId: number) => number;
|
|
30
|
+
kernGlyphSpace: (leftGlyphId: number, rightGlyphId: number) => number;
|
|
31
31
|
readonly gsubShaper: GsubShaper | undefined;
|
|
32
32
|
}
|
|
33
33
|
declare function loadEmbeddedFace(font: SfntFont): EmbeddedFace | undefined;
|
|
@@ -45,6 +45,6 @@ interface EmbeddedShow {
|
|
|
45
45
|
readonly kerns: readonly EmbeddedKern[];
|
|
46
46
|
}
|
|
47
47
|
declare function encodeForShowEmbedded(text: string, face: EmbeddedFace): EmbeddedShow;
|
|
48
|
-
declare function collectEmbeddedGlyphs(texts: Iterable<string
|
|
48
|
+
declare function collectEmbeddedGlyphs(texts: Readonly<Iterable<string>>, face: EmbeddedFace): ReadonlyMap<number, readonly number[]>;
|
|
49
49
|
//#endregion
|
|
50
50
|
export { EmbeddedShow as a, encodeForShowEmbedded as c, EmbeddedKern as i, loadEmbeddedFace as l, EmbeddedFaceMetrics as n, NOTDEF_GLYPH_ID as o, EmbeddedFaceSubstitution as r, collectEmbeddedGlyphs as s, EmbeddedFace as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as PdfDict, r as PdfObject } from "./objects-
|
|
2
|
-
import { t as EmbeddedFace } from "./embedded-font-
|
|
1
|
+
import { n as PdfDict, r as PdfObject } from "./objects-e2RS3-yT.cjs";
|
|
2
|
+
import { t as EmbeddedFace } from "./embedded-font-DgVBedw6.cjs";
|
|
3
3
|
import { SfntSubsetResult } from "./sfnt-subset.cjs";
|
|
4
4
|
//#region src/embedded-font-write.d.ts
|
|
5
5
|
declare function embeddedSubsetTag(postScriptName: string, glyphIds: readonly number[]): string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as PdfDict, r as PdfObject } from "./objects-
|
|
2
|
-
import { t as EmbeddedFace } from "./embedded-font-
|
|
1
|
+
import { n as PdfDict, r as PdfObject } from "./objects-e2RS3-yT.js";
|
|
2
|
+
import { t as EmbeddedFace } from "./embedded-font-ByD7ZiQS.js";
|
|
3
3
|
import { SfntSubsetResult } from "./sfnt-subset.js";
|
|
4
4
|
//#region src/embedded-font-write.d.ts
|
|
5
5
|
declare function embeddedSubsetTag(postScriptName: string, glyphIds: readonly number[]): string;
|
package/dist/embedded-font.cjs
CHANGED
|
@@ -7,6 +7,7 @@ const require_gpos_table = require("./gpos-table.cjs");
|
|
|
7
7
|
const require_gsub_table = require("./gsub-table.cjs");
|
|
8
8
|
const require_hmtx_table = require("./hmtx-table.cjs");
|
|
9
9
|
//#region src/embedded-font.ts
|
|
10
|
+
const LONG_HOR_METRIC_SIZE = 4;
|
|
10
11
|
const GLYPH_SPACE_UNITS_PER_EM = 1e3;
|
|
11
12
|
const NOTDEF_GLYPH_ID = 0;
|
|
12
13
|
const CAP_HEIGHT_REFERENCE_CODE_POINT = 72;
|
|
@@ -97,7 +98,6 @@ const HHEA_ASCENDER_OFFSET = 4;
|
|
|
97
98
|
const HHEA_DESCENDER_OFFSET = 6;
|
|
98
99
|
const HHEA_LINE_GAP_OFFSET = 8;
|
|
99
100
|
const HHEA_NUMBER_OF_HMETRICS_OFFSET = 34;
|
|
100
|
-
const LONG_HOR_METRIC_SIZE = 4;
|
|
101
101
|
function parseHhea(font) {
|
|
102
102
|
const bytes = require_sfnt.sfntTableBytes(font, "hhea");
|
|
103
103
|
if (bytes === void 0 || !require_sfnt.hasBytes(bytes, 0, HHEA_TABLE_SIZE)) return;
|
package/dist/embedded-font.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as EmbeddedShow, c as encodeForShowEmbedded, i as EmbeddedKern, l as loadEmbeddedFace, n as EmbeddedFaceMetrics, o as NOTDEF_GLYPH_ID, r as EmbeddedFaceSubstitution, s as collectEmbeddedGlyphs, t as EmbeddedFace } from "./embedded-font-
|
|
1
|
+
import { a as EmbeddedShow, c as encodeForShowEmbedded, i as EmbeddedKern, l as loadEmbeddedFace, n as EmbeddedFaceMetrics, o as NOTDEF_GLYPH_ID, r as EmbeddedFaceSubstitution, s as collectEmbeddedGlyphs, t as EmbeddedFace } from "./embedded-font-DgVBedw6.cjs";
|
|
2
2
|
export { EmbeddedFace, EmbeddedFaceMetrics, EmbeddedFaceSubstitution, EmbeddedKern, EmbeddedShow, NOTDEF_GLYPH_ID, collectEmbeddedGlyphs, encodeForShowEmbedded, loadEmbeddedFace };
|
package/dist/embedded-font.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as EmbeddedShow, c as encodeForShowEmbedded, i as EmbeddedKern, l as loadEmbeddedFace, n as EmbeddedFaceMetrics, o as NOTDEF_GLYPH_ID, r as EmbeddedFaceSubstitution, s as collectEmbeddedGlyphs, t as EmbeddedFace } from "./embedded-font-
|
|
1
|
+
import { a as EmbeddedShow, c as encodeForShowEmbedded, i as EmbeddedKern, l as loadEmbeddedFace, n as EmbeddedFaceMetrics, o as NOTDEF_GLYPH_ID, r as EmbeddedFaceSubstitution, s as collectEmbeddedGlyphs, t as EmbeddedFace } from "./embedded-font-ByD7ZiQS.js";
|
|
2
2
|
export { EmbeddedFace, EmbeddedFaceMetrics, EmbeddedFaceSubstitution, EmbeddedKern, EmbeddedShow, NOTDEF_GLYPH_ID, collectEmbeddedGlyphs, encodeForShowEmbedded, loadEmbeddedFace };
|
package/dist/embedded-font.js
CHANGED
|
@@ -6,6 +6,7 @@ import { buildGposKernLookup } from "./gpos-table.js";
|
|
|
6
6
|
import { buildGsubShaper } from "./gsub-table.js";
|
|
7
7
|
import { parseHmtx } from "./hmtx-table.js";
|
|
8
8
|
//#region src/embedded-font.ts
|
|
9
|
+
const LONG_HOR_METRIC_SIZE = 4;
|
|
9
10
|
const GLYPH_SPACE_UNITS_PER_EM = 1e3;
|
|
10
11
|
const NOTDEF_GLYPH_ID = 0;
|
|
11
12
|
const CAP_HEIGHT_REFERENCE_CODE_POINT = 72;
|
|
@@ -96,7 +97,6 @@ const HHEA_ASCENDER_OFFSET = 4;
|
|
|
96
97
|
const HHEA_DESCENDER_OFFSET = 6;
|
|
97
98
|
const HHEA_LINE_GAP_OFFSET = 8;
|
|
98
99
|
const HHEA_NUMBER_OF_HMETRICS_OFFSET = 34;
|
|
99
|
-
const LONG_HOR_METRIC_SIZE = 4;
|
|
100
100
|
function parseHhea(font) {
|
|
101
101
|
const bytes = sfntTableBytes(font, "hhea");
|
|
102
102
|
if (bytes === void 0 || !hasBytes(bytes, 0, HHEA_TABLE_SIZE)) return;
|
package/dist/encoding.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_afm_widths = require("./afm-widths-
|
|
2
|
+
const require_afm_widths = require("./afm-widths-BYiX2L9D.cjs");
|
|
3
3
|
exports.MACROMAN_GLYPH_NAMES = require_afm_widths.MACROMAN_GLYPH_NAMES;
|
|
4
4
|
exports.STANDARD_GLYPH_NAMES = require_afm_widths.STANDARD_GLYPH_NAMES;
|
|
5
5
|
exports.SYMBOL_GLYPH_NAMES = require_afm_widths.SYMBOL_GLYPH_NAMES;
|
package/dist/encoding.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as SYMBOL_GLYPH_NAMES, c as glyphNameToUnicode, d as standardGlyphName, f as symbolGlyphName, i as STANDARD_GLYPH_NAMES, l as macRomanGlyphName, m as zapfDingbatsGlyphName, o as WINANSI_GLYPH_NAMES, p as winAnsiGlyphName, r as MACROMAN_GLYPH_NAMES, s as ZAPFDINGBATS_GLYPH_NAMES, u as namedEncodingGlyphName } from "./afm-widths-
|
|
1
|
+
import { a as SYMBOL_GLYPH_NAMES, c as glyphNameToUnicode, d as standardGlyphName, f as symbolGlyphName, i as STANDARD_GLYPH_NAMES, l as macRomanGlyphName, m as zapfDingbatsGlyphName, o as WINANSI_GLYPH_NAMES, p as winAnsiGlyphName, r as MACROMAN_GLYPH_NAMES, s as ZAPFDINGBATS_GLYPH_NAMES, u as namedEncodingGlyphName } from "./afm-widths-blUDDjlI.js";
|
|
2
2
|
export { MACROMAN_GLYPH_NAMES, STANDARD_GLYPH_NAMES, SYMBOL_GLYPH_NAMES, WINANSI_GLYPH_NAMES, ZAPFDINGBATS_GLYPH_NAMES, glyphNameToUnicode, macRomanGlyphName, namedEncodingGlyphName, standardGlyphName, symbolGlyphName, winAnsiGlyphName, zapfDingbatsGlyphName };
|
package/dist/encrypt-write.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as PdfDict, r as PdfObject } from "./objects-
|
|
1
|
+
import { n as PdfDict, r as PdfObject } from "./objects-e2RS3-yT.cjs";
|
|
2
2
|
//#region src/encrypt-write.d.ts
|
|
3
3
|
declare class PdfEncryptionError extends Error {
|
|
4
4
|
constructor(message: string);
|
|
@@ -22,8 +22,8 @@ interface PdfEncryptionOptions {
|
|
|
22
22
|
}
|
|
23
23
|
interface PdfEncryptor {
|
|
24
24
|
readonly encryptDict: PdfDict;
|
|
25
|
-
encryptString(bytes: Uint8Array<ArrayBuffer>, num: number, gen: number)
|
|
26
|
-
encryptStream(bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number)
|
|
25
|
+
encryptString: (bytes: Uint8Array<ArrayBuffer>, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
26
|
+
encryptStream: (bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
27
27
|
}
|
|
28
28
|
declare function createStandardEncryptor(options: PdfEncryptionOptions, fileId: Uint8Array<ArrayBuffer>): PdfEncryptor;
|
|
29
29
|
declare function encryptIndirectObject(value: PdfObject, num: number, gen: number, encryptor: PdfEncryptor): PdfObject;
|
package/dist/encrypt-write.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as PdfDict, r as PdfObject } from "./objects-
|
|
1
|
+
import { n as PdfDict, r as PdfObject } from "./objects-e2RS3-yT.js";
|
|
2
2
|
//#region src/encrypt-write.d.ts
|
|
3
3
|
declare class PdfEncryptionError extends Error {
|
|
4
4
|
constructor(message: string);
|
|
@@ -22,8 +22,8 @@ interface PdfEncryptionOptions {
|
|
|
22
22
|
}
|
|
23
23
|
interface PdfEncryptor {
|
|
24
24
|
readonly encryptDict: PdfDict;
|
|
25
|
-
encryptString(bytes: Uint8Array<ArrayBuffer>, num: number, gen: number)
|
|
26
|
-
encryptStream(bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number)
|
|
25
|
+
encryptString: (bytes: Uint8Array<ArrayBuffer>, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
26
|
+
encryptStream: (bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
27
27
|
}
|
|
28
28
|
declare function createStandardEncryptor(options: PdfEncryptionOptions, fileId: Uint8Array<ArrayBuffer>): PdfEncryptor;
|
|
29
29
|
declare function encryptIndirectObject(value: PdfObject, num: number, gen: number, encryptor: PdfEncryptor): PdfObject;
|
package/dist/encrypt.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.cjs";
|
|
2
|
-
import { n as PdfDict } from "./objects-
|
|
2
|
+
import { n as PdfDict } from "./objects-e2RS3-yT.cjs";
|
|
3
3
|
//#region src/encrypt.d.ts
|
|
4
4
|
type CipherMethod = "identity" | "rc4" | "aes";
|
|
5
5
|
interface PdfDecryptor {
|
|
6
|
-
decryptString(bytes: Uint8Array<ArrayBuffer>, num: number, gen: number)
|
|
7
|
-
decryptStream(bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number)
|
|
6
|
+
decryptString: (bytes: Uint8Array<ArrayBuffer>, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
7
|
+
decryptStream: (bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
8
8
|
}
|
|
9
9
|
declare const PASSWORD_PADDING: Uint8Array<ArrayBuffer>;
|
|
10
10
|
declare const AES_OBJECT_KEY_SALT: Uint8Array<ArrayBuffer>;
|
package/dist/encrypt.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.js";
|
|
2
|
-
import { n as PdfDict } from "./objects-
|
|
2
|
+
import { n as PdfDict } from "./objects-e2RS3-yT.js";
|
|
3
3
|
//#region src/encrypt.d.ts
|
|
4
4
|
type CipherMethod = "identity" | "rc4" | "aes";
|
|
5
5
|
interface PdfDecryptor {
|
|
6
|
-
decryptString(bytes: Uint8Array<ArrayBuffer>, num: number, gen: number)
|
|
7
|
-
decryptStream(bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number)
|
|
6
|
+
decryptString: (bytes: Uint8Array<ArrayBuffer>, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
7
|
+
decryptStream: (bytes: Uint8Array<ArrayBuffer>, dict: PdfDict, num: number, gen: number) => Uint8Array<ArrayBuffer>;
|
|
8
8
|
}
|
|
9
9
|
declare const PASSWORD_PADDING: Uint8Array<ArrayBuffer>;
|
|
10
10
|
declare const AES_OBJECT_KEY_SALT: Uint8Array<ArrayBuffer>;
|
package/dist/filters.cjs
CHANGED
|
@@ -211,21 +211,21 @@ function lzwDecode(data, earlyChange, sink) {
|
|
|
211
211
|
}
|
|
212
212
|
return Uint8Array.from(out);
|
|
213
213
|
}
|
|
214
|
+
const ASCII85_GROUP_BYTES = 4;
|
|
214
215
|
const ASCII85_ZERO_GROUP_MARKER = 122;
|
|
215
216
|
const ASCII85_END_MARKER = 126;
|
|
216
217
|
const ASCII85_MIN_DIGIT = 33;
|
|
217
218
|
const ASCII85_MAX_DIGIT = 117;
|
|
218
219
|
const ASCII85_MAX_DIGIT_VALUE = 84;
|
|
219
|
-
function
|
|
220
|
+
function ascii85GroupBytes(digits, byteCount) {
|
|
220
221
|
let value = 0;
|
|
221
222
|
for (const digit of digits) value = value * 85 + digit;
|
|
222
|
-
|
|
223
|
+
return [
|
|
223
224
|
value >>> 24 & 255,
|
|
224
225
|
value >>> 16 & 255,
|
|
225
226
|
value >>> 8 & 255,
|
|
226
227
|
value & 255
|
|
227
|
-
];
|
|
228
|
-
for (let i = 0; i < byteCount; i++) out.push(bytes[i]);
|
|
228
|
+
].slice(0, byteCount);
|
|
229
229
|
}
|
|
230
230
|
function ascii85Decode(data) {
|
|
231
231
|
const out = [];
|
|
@@ -243,14 +243,14 @@ function ascii85Decode(data) {
|
|
|
243
243
|
if (byte < ASCII85_MIN_DIGIT || byte > ASCII85_MAX_DIGIT) continue;
|
|
244
244
|
tuple.push(byte - ASCII85_MIN_DIGIT);
|
|
245
245
|
if (tuple.length === 5) {
|
|
246
|
-
|
|
246
|
+
out.push(...ascii85GroupBytes(tuple, ASCII85_GROUP_BYTES));
|
|
247
247
|
tuple = [];
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
if (tuple.length > 1) {
|
|
251
251
|
const padded = tuple.slice();
|
|
252
252
|
while (padded.length < 5) padded.push(ASCII85_MAX_DIGIT_VALUE);
|
|
253
|
-
|
|
253
|
+
out.push(...ascii85GroupBytes(padded, tuple.length - 1));
|
|
254
254
|
}
|
|
255
255
|
return Uint8Array.from(out);
|
|
256
256
|
}
|
package/dist/filters.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.cjs";
|
|
2
|
-
import { n as PdfDict, r as PdfObject } from "./objects-
|
|
2
|
+
import { n as PdfDict, r as PdfObject } from "./objects-e2RS3-yT.cjs";
|
|
3
3
|
//#region src/filters.d.ts
|
|
4
4
|
interface DecodedStream {
|
|
5
5
|
readonly bytes: Uint8Array<ArrayBuffer>;
|
package/dist/filters.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.js";
|
|
2
|
-
import { n as PdfDict, r as PdfObject } from "./objects-
|
|
2
|
+
import { n as PdfDict, r as PdfObject } from "./objects-e2RS3-yT.js";
|
|
3
3
|
//#region src/filters.d.ts
|
|
4
4
|
interface DecodedStream {
|
|
5
5
|
readonly bytes: Uint8Array<ArrayBuffer>;
|
package/dist/filters.js
CHANGED
|
@@ -210,21 +210,21 @@ function lzwDecode(data, earlyChange, sink) {
|
|
|
210
210
|
}
|
|
211
211
|
return Uint8Array.from(out);
|
|
212
212
|
}
|
|
213
|
+
const ASCII85_GROUP_BYTES = 4;
|
|
213
214
|
const ASCII85_ZERO_GROUP_MARKER = 122;
|
|
214
215
|
const ASCII85_END_MARKER = 126;
|
|
215
216
|
const ASCII85_MIN_DIGIT = 33;
|
|
216
217
|
const ASCII85_MAX_DIGIT = 117;
|
|
217
218
|
const ASCII85_MAX_DIGIT_VALUE = 84;
|
|
218
|
-
function
|
|
219
|
+
function ascii85GroupBytes(digits, byteCount) {
|
|
219
220
|
let value = 0;
|
|
220
221
|
for (const digit of digits) value = value * 85 + digit;
|
|
221
|
-
|
|
222
|
+
return [
|
|
222
223
|
value >>> 24 & 255,
|
|
223
224
|
value >>> 16 & 255,
|
|
224
225
|
value >>> 8 & 255,
|
|
225
226
|
value & 255
|
|
226
|
-
];
|
|
227
|
-
for (let i = 0; i < byteCount; i++) out.push(bytes[i]);
|
|
227
|
+
].slice(0, byteCount);
|
|
228
228
|
}
|
|
229
229
|
function ascii85Decode(data) {
|
|
230
230
|
const out = [];
|
|
@@ -242,14 +242,14 @@ function ascii85Decode(data) {
|
|
|
242
242
|
if (byte < ASCII85_MIN_DIGIT || byte > ASCII85_MAX_DIGIT) continue;
|
|
243
243
|
tuple.push(byte - ASCII85_MIN_DIGIT);
|
|
244
244
|
if (tuple.length === 5) {
|
|
245
|
-
|
|
245
|
+
out.push(...ascii85GroupBytes(tuple, ASCII85_GROUP_BYTES));
|
|
246
246
|
tuple = [];
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
if (tuple.length > 1) {
|
|
250
250
|
const padded = tuple.slice();
|
|
251
251
|
while (padded.length < 5) padded.push(ASCII85_MAX_DIGIT_VALUE);
|
|
252
|
-
|
|
252
|
+
out.push(...ascii85GroupBytes(padded, tuple.length - 1));
|
|
253
253
|
}
|
|
254
254
|
return Uint8Array.from(out);
|
|
255
255
|
}
|
package/dist/font-read.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_afm_widths = require("./afm-widths-
|
|
2
|
+
const require_afm_widths = require("./afm-widths-BYiX2L9D.cjs");
|
|
3
3
|
const require_objects = require("./objects.cjs");
|
|
4
4
|
const require_filters = require("./filters.cjs");
|
|
5
5
|
const require_builtin_encoding = require("./builtin-encoding.cjs");
|
package/dist/font-read.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.cjs";
|
|
2
|
-
import { n as PdfDict } from "./objects-
|
|
2
|
+
import { n as PdfDict } from "./objects-e2RS3-yT.cjs";
|
|
3
3
|
import { FontMetricsPort, PdfObjectResolver } from "./interpret.cjs";
|
|
4
4
|
//#region src/font-read.d.ts
|
|
5
5
|
interface VerticalGlyphMetrics {
|
|
@@ -12,8 +12,8 @@ interface PdfFont {
|
|
|
12
12
|
readonly family: string;
|
|
13
13
|
readonly bold: boolean;
|
|
14
14
|
readonly italic: boolean;
|
|
15
|
-
widthOf(code: number)
|
|
16
|
-
decodeToUnicode(codes: Uint8Array<ArrayBuffer>)
|
|
15
|
+
widthOf: (code: number) => number;
|
|
16
|
+
decodeToUnicode: (codes: Uint8Array<ArrayBuffer>) => string;
|
|
17
17
|
readonly verticalMetricsOf?: (code: number) => VerticalGlyphMetrics;
|
|
18
18
|
}
|
|
19
19
|
interface FontReadContext {
|
package/dist/font-read.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.js";
|
|
2
|
-
import { n as PdfDict } from "./objects-
|
|
2
|
+
import { n as PdfDict } from "./objects-e2RS3-yT.js";
|
|
3
3
|
import { FontMetricsPort, PdfObjectResolver } from "./interpret.js";
|
|
4
4
|
//#region src/font-read.d.ts
|
|
5
5
|
interface VerticalGlyphMetrics {
|
|
@@ -12,8 +12,8 @@ interface PdfFont {
|
|
|
12
12
|
readonly family: string;
|
|
13
13
|
readonly bold: boolean;
|
|
14
14
|
readonly italic: boolean;
|
|
15
|
-
widthOf(code: number)
|
|
16
|
-
decodeToUnicode(codes: Uint8Array<ArrayBuffer>)
|
|
15
|
+
widthOf: (code: number) => number;
|
|
16
|
+
decodeToUnicode: (codes: Uint8Array<ArrayBuffer>) => string;
|
|
17
17
|
readonly verticalMetricsOf?: (code: number) => VerticalGlyphMetrics;
|
|
18
18
|
}
|
|
19
19
|
interface FontReadContext {
|
package/dist/font-read.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as glyphNameToUnicode, f as symbolGlyphName, m as zapfDingbatsGlyphName, n as widthOfCode, p as winAnsiGlyphName, u as namedEncodingGlyphName } from "./afm-widths-
|
|
1
|
+
import { c as glyphNameToUnicode, f as symbolGlyphName, m as zapfDingbatsGlyphName, n as widthOfCode, p as winAnsiGlyphName, u as namedEncodingGlyphName } from "./afm-widths-blUDDjlI.js";
|
|
2
2
|
import { asArray, asName, asNumber, dictGet, isName } from "./objects.js";
|
|
3
3
|
import { decodeStream } from "./filters.js";
|
|
4
4
|
import { readFontProgramEncoding } from "./builtin-encoding.js";
|
package/dist/font-registry.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as StandardFontName } from "./afm-widths-CneRyu5l.cjs";
|
|
2
|
-
import { t as EmbeddedFace } from "./embedded-font-
|
|
2
|
+
import { t as EmbeddedFace } from "./embedded-font-DgVBedw6.cjs";
|
|
3
3
|
import { FontRegistryOptions, LayoutFont } from "document-schema.js";
|
|
4
4
|
//#region src/font-registry.d.ts
|
|
5
5
|
type ResolvedFace = {
|
|
@@ -11,9 +11,9 @@ type ResolvedFace = {
|
|
|
11
11
|
readonly matched: boolean;
|
|
12
12
|
};
|
|
13
13
|
interface FontRegistry {
|
|
14
|
-
resolve(font: LayoutFont)
|
|
14
|
+
resolve: (font: Readonly<LayoutFont>) => ResolvedFace;
|
|
15
15
|
}
|
|
16
16
|
declare function createFontRegistry(options?: FontRegistryOptions): FontRegistry;
|
|
17
|
-
declare function resolveFaceWithRegistry(registry: FontRegistry | undefined, font: LayoutFont): ResolvedFace;
|
|
17
|
+
declare function resolveFaceWithRegistry(registry: FontRegistry | undefined, font: Readonly<LayoutFont>): ResolvedFace;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { FontRegistry, ResolvedFace, createFontRegistry, resolveFaceWithRegistry };
|
package/dist/font-registry.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as StandardFontName } from "./afm-widths-CneRyu5l.js";
|
|
2
|
-
import { t as EmbeddedFace } from "./embedded-font-
|
|
2
|
+
import { t as EmbeddedFace } from "./embedded-font-ByD7ZiQS.js";
|
|
3
3
|
import { FontRegistryOptions, LayoutFont } from "document-schema.js";
|
|
4
4
|
//#region src/font-registry.d.ts
|
|
5
5
|
type ResolvedFace = {
|
|
@@ -11,9 +11,9 @@ type ResolvedFace = {
|
|
|
11
11
|
readonly matched: boolean;
|
|
12
12
|
};
|
|
13
13
|
interface FontRegistry {
|
|
14
|
-
resolve(font: LayoutFont)
|
|
14
|
+
resolve: (font: Readonly<LayoutFont>) => ResolvedFace;
|
|
15
15
|
}
|
|
16
16
|
declare function createFontRegistry(options?: FontRegistryOptions): FontRegistry;
|
|
17
|
-
declare function resolveFaceWithRegistry(registry: FontRegistry | undefined, font: LayoutFont): ResolvedFace;
|
|
17
|
+
declare function resolveFaceWithRegistry(registry: FontRegistry | undefined, font: Readonly<LayoutFont>): ResolvedFace;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { FontRegistry, ResolvedFace, createFontRegistry, resolveFaceWithRegistry };
|
package/dist/form.cjs
CHANGED
|
@@ -13,11 +13,14 @@ function readAcroForm(catalog, resolver, pageIndex, sink) {
|
|
|
13
13
|
const visited = /* @__PURE__ */ new Set();
|
|
14
14
|
for (const fieldRef of require_objects.asArray(resolver.resolve(require_objects.dictGet(acroForm, "Fields"))) ?? []) {
|
|
15
15
|
const fieldDict = resolver.resolveDict(fieldRef);
|
|
16
|
-
if (fieldDict !== void 0)
|
|
16
|
+
if (fieldDict !== void 0) {
|
|
17
|
+
const field = readField(fieldDict, "", resolver, pageIndex, sink, visited);
|
|
18
|
+
if (field !== void 0) fields.push(field);
|
|
19
|
+
}
|
|
17
20
|
}
|
|
18
21
|
return fields;
|
|
19
22
|
}
|
|
20
|
-
function readField(node, parentName, resolver, pageIndex, sink,
|
|
23
|
+
function readField(node, parentName, resolver, pageIndex, sink, visited) {
|
|
21
24
|
if (visited.has(node)) {
|
|
22
25
|
sink({
|
|
23
26
|
code: "pdf/form-field-cycle",
|
|
@@ -35,15 +38,17 @@ function readField(node, parentName, resolver, pageIndex, sink, out, visited) {
|
|
|
35
38
|
const children = [];
|
|
36
39
|
for (const kidRef of require_objects.asArray(resolver.resolve(require_objects.dictGet(node, "Kids"))) ?? []) {
|
|
37
40
|
const kid = resolver.resolveDict(kidRef);
|
|
38
|
-
if (kid !== void 0)
|
|
41
|
+
if (kid !== void 0) {
|
|
42
|
+
const child = readField(kid, name, resolver, pageIndex, sink, visited);
|
|
43
|
+
if (child !== void 0) children.push(child);
|
|
44
|
+
}
|
|
39
45
|
}
|
|
40
|
-
|
|
46
|
+
return {
|
|
41
47
|
name,
|
|
42
48
|
fieldType: "group",
|
|
43
49
|
widgets: [],
|
|
44
50
|
children
|
|
45
|
-
}
|
|
46
|
-
return;
|
|
51
|
+
};
|
|
47
52
|
}
|
|
48
53
|
const flags = require_objects.asNumber(resolver.resolve(require_objects.dictGet(node, "Ff"))) ?? 0;
|
|
49
54
|
const value = fieldValue(node, resolver);
|
|
@@ -60,7 +65,7 @@ function readField(node, parentName, resolver, pageIndex, sink, out, visited) {
|
|
|
60
65
|
const widget = widgetPlacement(node, pageIndex);
|
|
61
66
|
if (widget !== void 0) widgets.push(widget);
|
|
62
67
|
}
|
|
63
|
-
|
|
68
|
+
return {
|
|
64
69
|
name,
|
|
65
70
|
fieldType: mapFieldType(fieldType, flags),
|
|
66
71
|
...valueFields(fieldType, value),
|
|
@@ -69,7 +74,7 @@ function readField(node, parentName, resolver, pageIndex, sink, out, visited) {
|
|
|
69
74
|
...(flags & FLAG_READ_ONLY) !== 0 ? { readOnly: true } : {},
|
|
70
75
|
widgets,
|
|
71
76
|
children: []
|
|
72
|
-
}
|
|
77
|
+
};
|
|
73
78
|
}
|
|
74
79
|
function mapFieldType(fieldType, flags) {
|
|
75
80
|
if (fieldType === "Tx") return "text";
|
package/dist/form.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.cjs";
|
|
2
|
-
import { n as PdfDict } from "./objects-
|
|
2
|
+
import { n as PdfDict } from "./objects-e2RS3-yT.cjs";
|
|
3
3
|
import { PdfObjectResolver } from "./interpret.cjs";
|
|
4
4
|
import { LayoutFormField } from "./layout.cjs";
|
|
5
5
|
import { PageIndexLookup } from "./navigation.cjs";
|
|
6
6
|
//#region src/form.d.ts
|
|
7
|
-
declare function readAcroForm(catalog: PdfDict, resolver: PdfObjectResolver
|
|
7
|
+
declare function readAcroForm(catalog: PdfDict, resolver: Readonly<PdfObjectResolver>, pageIndex: PageIndexLookup, sink: PdfDiagnosticSink): LayoutFormField[];
|
|
8
8
|
//#endregion
|
|
9
9
|
export { readAcroForm };
|
package/dist/form.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PdfDiagnosticSink } from "./diagnostics.js";
|
|
2
|
-
import { n as PdfDict } from "./objects-
|
|
2
|
+
import { n as PdfDict } from "./objects-e2RS3-yT.js";
|
|
3
3
|
import { PdfObjectResolver } from "./interpret.js";
|
|
4
4
|
import { LayoutFormField } from "./layout.js";
|
|
5
5
|
import { PageIndexLookup } from "./navigation.js";
|
|
6
6
|
//#region src/form.d.ts
|
|
7
|
-
declare function readAcroForm(catalog: PdfDict, resolver: PdfObjectResolver
|
|
7
|
+
declare function readAcroForm(catalog: PdfDict, resolver: Readonly<PdfObjectResolver>, pageIndex: PageIndexLookup, sink: PdfDiagnosticSink): LayoutFormField[];
|
|
8
8
|
//#endregion
|
|
9
9
|
export { readAcroForm };
|
package/dist/form.js
CHANGED
|
@@ -12,11 +12,14 @@ function readAcroForm(catalog, resolver, pageIndex, sink) {
|
|
|
12
12
|
const visited = /* @__PURE__ */ new Set();
|
|
13
13
|
for (const fieldRef of asArray(resolver.resolve(dictGet(acroForm, "Fields"))) ?? []) {
|
|
14
14
|
const fieldDict = resolver.resolveDict(fieldRef);
|
|
15
|
-
if (fieldDict !== void 0)
|
|
15
|
+
if (fieldDict !== void 0) {
|
|
16
|
+
const field = readField(fieldDict, "", resolver, pageIndex, sink, visited);
|
|
17
|
+
if (field !== void 0) fields.push(field);
|
|
18
|
+
}
|
|
16
19
|
}
|
|
17
20
|
return fields;
|
|
18
21
|
}
|
|
19
|
-
function readField(node, parentName, resolver, pageIndex, sink,
|
|
22
|
+
function readField(node, parentName, resolver, pageIndex, sink, visited) {
|
|
20
23
|
if (visited.has(node)) {
|
|
21
24
|
sink({
|
|
22
25
|
code: "pdf/form-field-cycle",
|
|
@@ -34,15 +37,17 @@ function readField(node, parentName, resolver, pageIndex, sink, out, visited) {
|
|
|
34
37
|
const children = [];
|
|
35
38
|
for (const kidRef of asArray(resolver.resolve(dictGet(node, "Kids"))) ?? []) {
|
|
36
39
|
const kid = resolver.resolveDict(kidRef);
|
|
37
|
-
if (kid !== void 0)
|
|
40
|
+
if (kid !== void 0) {
|
|
41
|
+
const child = readField(kid, name, resolver, pageIndex, sink, visited);
|
|
42
|
+
if (child !== void 0) children.push(child);
|
|
43
|
+
}
|
|
38
44
|
}
|
|
39
|
-
|
|
45
|
+
return {
|
|
40
46
|
name,
|
|
41
47
|
fieldType: "group",
|
|
42
48
|
widgets: [],
|
|
43
49
|
children
|
|
44
|
-
}
|
|
45
|
-
return;
|
|
50
|
+
};
|
|
46
51
|
}
|
|
47
52
|
const flags = asNumber(resolver.resolve(dictGet(node, "Ff"))) ?? 0;
|
|
48
53
|
const value = fieldValue(node, resolver);
|
|
@@ -59,7 +64,7 @@ function readField(node, parentName, resolver, pageIndex, sink, out, visited) {
|
|
|
59
64
|
const widget = widgetPlacement(node, pageIndex);
|
|
60
65
|
if (widget !== void 0) widgets.push(widget);
|
|
61
66
|
}
|
|
62
|
-
|
|
67
|
+
return {
|
|
63
68
|
name,
|
|
64
69
|
fieldType: mapFieldType(fieldType, flags),
|
|
65
70
|
...valueFields(fieldType, value),
|
|
@@ -68,7 +73,7 @@ function readField(node, parentName, resolver, pageIndex, sink, out, visited) {
|
|
|
68
73
|
...(flags & FLAG_READ_ONLY) !== 0 ? { readOnly: true } : {},
|
|
69
74
|
widgets,
|
|
70
75
|
children: []
|
|
71
|
-
}
|
|
76
|
+
};
|
|
72
77
|
}
|
|
73
78
|
function mapFieldType(fieldType, flags) {
|
|
74
79
|
if (fieldType === "Tx") return "text";
|
package/dist/gdef-table.d.cts
CHANGED
|
@@ -6,9 +6,9 @@ declare const GLYPH_CLASS_LIGATURE = 2;
|
|
|
6
6
|
declare const GLYPH_CLASS_MARK = 3;
|
|
7
7
|
declare const GLYPH_CLASS_COMPONENT = 4;
|
|
8
8
|
interface GdefTable {
|
|
9
|
-
glyphClass(glyphId: number)
|
|
10
|
-
markAttachClass(glyphId: number)
|
|
11
|
-
markFilteringSetCovers(setIndex: number, glyphId: number)
|
|
9
|
+
glyphClass: (glyphId: number) => number;
|
|
10
|
+
markAttachClass: (glyphId: number) => number;
|
|
11
|
+
markFilteringSetCovers: (setIndex: number, glyphId: number) => boolean;
|
|
12
12
|
}
|
|
13
13
|
declare function parseGdefTable(font: SfntFont): GdefTable | undefined;
|
|
14
14
|
//#endregion
|
package/dist/gdef-table.d.ts
CHANGED
|
@@ -6,9 +6,9 @@ declare const GLYPH_CLASS_LIGATURE = 2;
|
|
|
6
6
|
declare const GLYPH_CLASS_MARK = 3;
|
|
7
7
|
declare const GLYPH_CLASS_COMPONENT = 4;
|
|
8
8
|
interface GdefTable {
|
|
9
|
-
glyphClass(glyphId: number)
|
|
10
|
-
markAttachClass(glyphId: number)
|
|
11
|
-
markFilteringSetCovers(setIndex: number, glyphId: number)
|
|
9
|
+
glyphClass: (glyphId: number) => number;
|
|
10
|
+
markAttachClass: (glyphId: number) => number;
|
|
11
|
+
markFilteringSetCovers: (setIndex: number, glyphId: number) => boolean;
|
|
12
12
|
}
|
|
13
13
|
declare function parseGdefTable(font: SfntFont): GdefTable | undefined;
|
|
14
14
|
//#endregion
|
|
@@ -18,10 +18,10 @@ interface CompositeComponent {
|
|
|
18
18
|
}
|
|
19
19
|
interface GlyfTable {
|
|
20
20
|
readonly numGlyphs: number;
|
|
21
|
-
glyphBytes(glyphId: number)
|
|
22
|
-
glyphHeader(glyphId: number)
|
|
23
|
-
compositeComponents(glyphId: number)
|
|
24
|
-
glyphInkBounds(glyphId: number)
|
|
21
|
+
glyphBytes: (glyphId: number) => Uint8Array<ArrayBuffer> | undefined;
|
|
22
|
+
glyphHeader: (glyphId: number) => GlyphHeader | undefined;
|
|
23
|
+
compositeComponents: (glyphId: number) => readonly CompositeComponent[] | undefined;
|
|
24
|
+
glyphInkBounds: (glyphId: number) => GlyphInkBounds | undefined;
|
|
25
25
|
}
|
|
26
26
|
interface GlyfOptions {
|
|
27
27
|
readonly numGlyphs: number;
|