@mlightcad/cad-pdf-plugin 1.8.0-preview.2 → 1.8.0-preview.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.
- package/LICENSE +21 -21
- package/README.md +280 -186
- package/dist/cad-pdf-plugin-register.js +29 -11
- package/dist/cad-pdf-plugin-register.umd.cjs +1 -1
- package/dist/cad-pdf-plugin.js +17568 -8428
- package/dist/cad-pdf-plugin.umd.cjs +847 -13
- package/lib/AcApConvertToPdfCmd.d.ts.map +1 -1
- package/lib/AcApConvertToPdfCmd.js +14 -3
- package/lib/AcApConvertToPdfCmd.js.map +1 -1
- package/lib/AcApImportPdfCmd.d.ts +5 -3
- package/lib/AcApImportPdfCmd.d.ts.map +1 -1
- package/lib/AcApImportPdfCmd.js +5 -3
- package/lib/AcApImportPdfCmd.js.map +1 -1
- package/lib/AcApImportPdfPromptCmd.d.ts +16 -0
- package/lib/AcApImportPdfPromptCmd.d.ts.map +1 -0
- package/lib/AcApImportPdfPromptCmd.js +89 -0
- package/lib/AcApImportPdfPromptCmd.js.map +1 -0
- package/lib/AcApPdfBlockCmd.d.ts +15 -0
- package/lib/AcApPdfBlockCmd.d.ts.map +1 -0
- package/lib/AcApPdfBlockCmd.js +75 -0
- package/lib/AcApPdfBlockCmd.js.map +1 -0
- package/lib/AcApPdfDimCmd.d.ts +20 -0
- package/lib/AcApPdfDimCmd.d.ts.map +1 -0
- package/lib/AcApPdfDimCmd.js +413 -0
- package/lib/AcApPdfDimCmd.js.map +1 -0
- package/lib/AcApPdfDimSession.d.ts +82 -0
- package/lib/AcApPdfDimSession.d.ts.map +1 -0
- package/lib/AcApPdfDimSession.js +252 -0
- package/lib/AcApPdfDimSession.js.map +1 -0
- package/lib/AcApPdfFontResolver.d.ts.map +1 -1
- package/lib/AcApPdfFontResolver.js +2 -5
- package/lib/AcApPdfFontResolver.js.map +1 -1
- package/lib/AcApPdfHatchCmd.d.ts +33 -0
- package/lib/AcApPdfHatchCmd.d.ts.map +1 -0
- package/lib/AcApPdfHatchCmd.js +411 -0
- package/lib/AcApPdfHatchCmd.js.map +1 -0
- package/lib/AcApPdfHatchSession.d.ts +122 -0
- package/lib/AcApPdfHatchSession.d.ts.map +1 -0
- package/lib/AcApPdfHatchSession.js +357 -0
- package/lib/AcApPdfHatchSession.js.map +1 -0
- package/lib/AcApPdfImportConvertor.d.ts +47 -5
- package/lib/AcApPdfImportConvertor.d.ts.map +1 -1
- package/lib/AcApPdfImportConvertor.js +999 -108
- package/lib/AcApPdfImportConvertor.js.map +1 -1
- package/lib/AcApPdfImportOptions.d.ts +116 -0
- package/lib/AcApPdfImportOptions.d.ts.map +1 -0
- package/lib/AcApPdfImportOptions.js +31 -0
- package/lib/AcApPdfImportOptions.js.map +1 -0
- package/lib/AcApPdfImportResources.d.ts +41 -0
- package/lib/AcApPdfImportResources.d.ts.map +1 -0
- package/lib/AcApPdfImportResources.js +52 -0
- package/lib/AcApPdfImportResources.js.map +1 -0
- package/lib/AcApPdfPlugin.d.ts +3 -3
- package/lib/AcApPdfPlugin.d.ts.map +1 -1
- package/lib/AcApPdfPlugin.js +23 -5
- package/lib/AcApPdfPlugin.js.map +1 -1
- package/lib/AcApPdfScaleCmd.d.ts +22 -0
- package/lib/AcApPdfScaleCmd.d.ts.map +1 -0
- package/lib/AcApPdfScaleCmd.js +185 -0
- package/lib/AcApPdfScaleCmd.js.map +1 -0
- package/lib/AcApPdfTextCmd.d.ts +73 -0
- package/lib/AcApPdfTextCmd.d.ts.map +1 -0
- package/lib/AcApPdfTextCmd.js +777 -0
- package/lib/AcApPdfTextCmd.js.map +1 -0
- package/lib/AcApPdfTextSession.d.ts +232 -0
- package/lib/AcApPdfTextSession.d.ts.map +1 -0
- package/lib/AcApPdfTextSession.js +826 -0
- package/lib/AcApPdfTextSession.js.map +1 -0
- package/lib/acapPdfI18n.d.ts +11 -0
- package/lib/acapPdfI18n.d.ts.map +1 -0
- package/lib/acapPdfI18n.js +57 -0
- package/lib/acapPdfI18n.js.map +1 -0
- package/lib/acapPdfPrompts.d.ts +12 -0
- package/lib/acapPdfPrompts.d.ts.map +1 -0
- package/lib/acapPdfPrompts.js +100 -0
- package/lib/acapPdfPrompts.js.map +1 -0
- package/lib/index.d.ts +28 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +28 -0
- package/lib/index.js.map +1 -1
- package/lib/pdfDeprecatedMatching.d.ts +27 -0
- package/lib/pdfDeprecatedMatching.d.ts.map +1 -0
- package/lib/pdfDeprecatedMatching.js +20 -0
- package/lib/pdfDeprecatedMatching.js.map +1 -0
- package/lib/pdfDimStrokeTexts.d.ts +55 -0
- package/lib/pdfDimStrokeTexts.d.ts.map +1 -0
- package/lib/pdfDimStrokeTexts.js +274 -0
- package/lib/pdfDimStrokeTexts.js.map +1 -0
- package/lib/pdfDimensionConvert.d.ts +80 -0
- package/lib/pdfDimensionConvert.d.ts.map +1 -0
- package/lib/pdfDimensionConvert.js +566 -0
- package/lib/pdfDimensionConvert.js.map +1 -0
- package/lib/pdfEntityStrokes.d.ts +13 -0
- package/lib/pdfEntityStrokes.d.ts.map +1 -0
- package/lib/pdfEntityStrokes.js +86 -0
- package/lib/pdfEntityStrokes.js.map +1 -0
- package/lib/pdfHatchRecover.d.ts +57 -0
- package/lib/pdfHatchRecover.d.ts.map +1 -0
- package/lib/pdfHatchRecover.js +315 -0
- package/lib/pdfHatchRecover.js.map +1 -0
- package/lib/pdfImportAppend.d.ts +24 -0
- package/lib/pdfImportAppend.d.ts.map +1 -0
- package/lib/pdfImportAppend.js +35 -0
- package/lib/pdfImportAppend.js.map +1 -0
- package/lib/pdfImportEntities.d.ts +63 -0
- package/lib/pdfImportEntities.d.ts.map +1 -0
- package/lib/pdfImportEntities.js +307 -0
- package/lib/pdfImportEntities.js.map +1 -0
- package/lib/pdfImportImages.d.ts +90 -0
- package/lib/pdfImportImages.d.ts.map +1 -0
- package/lib/pdfImportImages.js +294 -0
- package/lib/pdfImportImages.js.map +1 -0
- package/lib/pdfImportShapes.d.ts +63 -0
- package/lib/pdfImportShapes.d.ts.map +1 -0
- package/lib/pdfImportShapes.js +248 -0
- package/lib/pdfImportShapes.js.map +1 -0
- package/lib/pdfVectorImport.d.ts +218 -5
- package/lib/pdfVectorImport.d.ts.map +1 -1
- package/lib/pdfVectorImport.js +566 -98
- package/lib/pdfVectorImport.js.map +1 -1
- package/lib/recognition/pdfCurveRecognition.d.ts +91 -0
- package/lib/recognition/pdfCurveRecognition.d.ts.map +1 -0
- package/lib/recognition/pdfCurveRecognition.js +506 -0
- package/lib/recognition/pdfCurveRecognition.js.map +1 -0
- package/lib/recognition/pdfDimDigitRecognition.d.ts +18 -0
- package/lib/recognition/pdfDimDigitRecognition.d.ts.map +1 -0
- package/lib/recognition/pdfDimDigitRecognition.js +520 -0
- package/lib/recognition/pdfDimDigitRecognition.js.map +1 -0
- package/lib/recognition/pdfDimensionPattern.d.ts +173 -0
- package/lib/recognition/pdfDimensionPattern.d.ts.map +1 -0
- package/lib/recognition/pdfDimensionPattern.js +1023 -0
- package/lib/recognition/pdfDimensionPattern.js.map +1 -0
- package/lib/recognition/pdfFormBlocks.d.ts +58 -0
- package/lib/recognition/pdfFormBlocks.d.ts.map +1 -0
- package/lib/recognition/pdfFormBlocks.js +260 -0
- package/lib/recognition/pdfFormBlocks.js.map +1 -0
- package/lib/recognition/pdfGlyphClustering.d.ts +81 -0
- package/lib/recognition/pdfGlyphClustering.d.ts.map +1 -0
- package/lib/recognition/pdfGlyphClustering.js +1005 -0
- package/lib/recognition/pdfGlyphClustering.js.map +1 -0
- package/lib/recognition/pdfGlyphDictionary.d.ts +49 -0
- package/lib/recognition/pdfGlyphDictionary.d.ts.map +1 -0
- package/lib/recognition/pdfGlyphDictionary.js +188 -0
- package/lib/recognition/pdfGlyphDictionary.js.map +1 -0
- package/lib/recognition/pdfHatchFaces.d.ts +84 -0
- package/lib/recognition/pdfHatchFaces.d.ts.map +1 -0
- package/lib/recognition/pdfHatchFaces.js +1285 -0
- package/lib/recognition/pdfHatchFaces.js.map +1 -0
- package/lib/recognition/pdfHatchRecognition.d.ts +222 -0
- package/lib/recognition/pdfHatchRecognition.d.ts.map +1 -0
- package/lib/recognition/pdfHatchRecognition.js +3781 -0
- package/lib/recognition/pdfHatchRecognition.js.map +1 -0
- package/lib/recognition/pdfRecGeometry.d.ts +67 -0
- package/lib/recognition/pdfRecGeometry.d.ts.map +1 -0
- package/lib/recognition/pdfRecGeometry.js +365 -0
- package/lib/recognition/pdfRecGeometry.js.map +1 -0
- package/lib/recognition/pdfTextFontKind.d.ts +16 -0
- package/lib/recognition/pdfTextFontKind.d.ts.map +1 -0
- package/lib/recognition/pdfTextFontKind.js +51 -0
- package/lib/recognition/pdfTextFontKind.js.map +1 -0
- package/lib/recognition/pdfTextMerge.d.ts +71 -0
- package/lib/recognition/pdfTextMerge.d.ts.map +1 -0
- package/lib/recognition/pdfTextMerge.js +382 -0
- package/lib/recognition/pdfTextMerge.js.map +1 -0
- package/lib/recognition/pdfTextRunMerge.d.ts +28 -0
- package/lib/recognition/pdfTextRunMerge.d.ts.map +1 -0
- package/lib/recognition/pdfTextRunMerge.js +90 -0
- package/lib/recognition/pdfTextRunMerge.js.map +1 -0
- package/lib/register.d.ts +8 -2
- package/lib/register.d.ts.map +1 -1
- package/lib/register.js +29 -4
- package/lib/register.js.map +1 -1
- package/lib/ui/AcUiPdfDimPanel.d.ts +55 -0
- package/lib/ui/AcUiPdfDimPanel.d.ts.map +1 -0
- package/lib/ui/AcUiPdfDimPanel.js +347 -0
- package/lib/ui/AcUiPdfDimPanel.js.map +1 -0
- package/lib/ui/AcUiPdfHatchPanel.d.ts +57 -0
- package/lib/ui/AcUiPdfHatchPanel.d.ts.map +1 -0
- package/lib/ui/AcUiPdfHatchPanel.js +420 -0
- package/lib/ui/AcUiPdfHatchPanel.js.map +1 -0
- package/lib/ui/AcUiPdfImportDialog.d.ts +120 -0
- package/lib/ui/AcUiPdfImportDialog.d.ts.map +1 -0
- package/lib/ui/AcUiPdfImportDialog.js +673 -0
- package/lib/ui/AcUiPdfImportDialog.js.map +1 -0
- package/lib/ui/AcUiPdfTextPanel.d.ts +95 -0
- package/lib/ui/AcUiPdfTextPanel.d.ts.map +1 -0
- package/lib/ui/AcUiPdfTextPanel.js +775 -0
- package/lib/ui/AcUiPdfTextPanel.js.map +1 -0
- package/package.json +11 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfGlyphClustering.js","sourceRoot":"","sources":["../../src/recognition/pdfGlyphClustering.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Teach once, recognize everywhere" dictionary for exploded text.
|
|
3
|
+
*
|
|
4
|
+
* Within one drawing, an SHX or outlined font draws the same character with
|
|
5
|
+
* the same strokes every time. Once the user types the text of one line,
|
|
6
|
+
* each glyph's normalized geometry is stored with its character; later lines
|
|
7
|
+
* whose glyphs are all known are recognized without asking.
|
|
8
|
+
*/
|
|
9
|
+
import type { PdfTextGlyph, PdfTextLineCandidate } from './pdfGlyphClustering';
|
|
10
|
+
/**
|
|
11
|
+
* Computes a translation-, scale- and rotation-invariant signature of one
|
|
12
|
+
* glyph: its stroke segments in line-local coordinates, relative to the
|
|
13
|
+
* glyph's left edge and the line baseline, divided by the text height and
|
|
14
|
+
* quantized.
|
|
15
|
+
*/
|
|
16
|
+
export declare function pdfGlyphSignature(glyph: PdfTextGlyph, line: Pick<PdfTextLineCandidate, 'rotation' | 'position' | 'height'>): string;
|
|
17
|
+
/** Learns glyph signatures from confirmed lines and recognizes new lines. */
|
|
18
|
+
export declare class PdfGlyphDictionary {
|
|
19
|
+
private readonly glyphs;
|
|
20
|
+
/** Number of distinct glyph shapes learned. */
|
|
21
|
+
get size(): number;
|
|
22
|
+
/**
|
|
23
|
+
* Serializable form: `[signature, character]` pairs, newest last.
|
|
24
|
+
*
|
|
25
|
+
* @param limit - Keep at most this many entries (the most recent ones).
|
|
26
|
+
*/
|
|
27
|
+
toJSON(limit?: number): Array<[string, string]>;
|
|
28
|
+
/**
|
|
29
|
+
* Adds entries produced by {@link toJSON}; malformed entries are skipped.
|
|
30
|
+
*
|
|
31
|
+
* @returns Number of entries loaded.
|
|
32
|
+
*/
|
|
33
|
+
load(entries: unknown): number;
|
|
34
|
+
/**
|
|
35
|
+
* Records the characters of a confirmed line.
|
|
36
|
+
*
|
|
37
|
+
* Learning only happens when the typed text (spaces removed) has exactly
|
|
38
|
+
* one character per glyph box; otherwise the pairing is ambiguous.
|
|
39
|
+
*
|
|
40
|
+
* @returns Number of glyph shapes added or confirmed.
|
|
41
|
+
*/
|
|
42
|
+
learn(line: PdfTextLineCandidate, text: string): number;
|
|
43
|
+
/**
|
|
44
|
+
* Returns the line text when every glyph is known, inserting a space where
|
|
45
|
+
* two glyphs are further apart than half the text height.
|
|
46
|
+
*/
|
|
47
|
+
lookup(line: PdfTextLineCandidate): string | undefined;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=pdfGlyphDictionary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfGlyphDictionary.d.ts","sourceRoot":"","sources":["../../src/recognition/pdfGlyphDictionary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAQ9E;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,IAAI,CAAC,oBAAoB,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC,GACnE,MAAM,CAwBR;AAED,6EAA6E;AAC7E,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IAEnD,+CAA+C;IAC/C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,SAAW,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKjD;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAiB9B;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAYvD;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS;CAgBvD"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Teach once, recognize everywhere" dictionary for exploded text.
|
|
3
|
+
*
|
|
4
|
+
* Within one drawing, an SHX or outlined font draws the same character with
|
|
5
|
+
* the same strokes every time. Once the user types the text of one line,
|
|
6
|
+
* each glyph's normalized geometry is stored with its character; later lines
|
|
7
|
+
* whose glyphs are all known are recognized without asking.
|
|
8
|
+
*/
|
|
9
|
+
var __values = (this && this.__values) || function(o) {
|
|
10
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
11
|
+
if (m) return m.call(o);
|
|
12
|
+
if (o && typeof o.length === "number") return {
|
|
13
|
+
next: function () {
|
|
14
|
+
if (o && i >= o.length) o = void 0;
|
|
15
|
+
return { value: o && o[i++], done: !o };
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
19
|
+
};
|
|
20
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
21
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
22
|
+
if (!m) return o;
|
|
23
|
+
var i = m.call(o), r, ar = [], e;
|
|
24
|
+
try {
|
|
25
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
26
|
+
}
|
|
27
|
+
catch (error) { e = { error: error }; }
|
|
28
|
+
finally {
|
|
29
|
+
try {
|
|
30
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
31
|
+
}
|
|
32
|
+
finally { if (e) throw e.error; }
|
|
33
|
+
}
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
37
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
38
|
+
if (ar || !(i in from)) {
|
|
39
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
40
|
+
ar[i] = from[i];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
|
+
};
|
|
45
|
+
/** Grid used to quantize normalized glyph coordinates (1/GRID of height). */
|
|
46
|
+
var GRID = 16;
|
|
47
|
+
/** Gap between glyphs (fraction of height) that reads as a space. */
|
|
48
|
+
var SPACE_GAP = 0.5;
|
|
49
|
+
/**
|
|
50
|
+
* Computes a translation-, scale- and rotation-invariant signature of one
|
|
51
|
+
* glyph: its stroke segments in line-local coordinates, relative to the
|
|
52
|
+
* glyph's left edge and the line baseline, divided by the text height and
|
|
53
|
+
* quantized.
|
|
54
|
+
*/
|
|
55
|
+
export function pdfGlyphSignature(glyph, line) {
|
|
56
|
+
var e_1, _a;
|
|
57
|
+
var c = Math.cos(line.rotation);
|
|
58
|
+
var s = Math.sin(line.rotation);
|
|
59
|
+
var baseV = -line.position.x * s + line.position.y * c;
|
|
60
|
+
var q = function (value) { return Math.round(value * GRID); };
|
|
61
|
+
var keys = new Set();
|
|
62
|
+
try {
|
|
63
|
+
for (var _b = __values(glyph.strokes), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
64
|
+
var stroke = _c.value;
|
|
65
|
+
var pts = stroke.points.map(function (p) {
|
|
66
|
+
var u = p.x * c + p.y * s;
|
|
67
|
+
var v = -p.x * s + p.y * c;
|
|
68
|
+
return "".concat(q((u - glyph.minU) / line.height), ",").concat(q((v - baseV) / line.height));
|
|
69
|
+
});
|
|
70
|
+
if (pts.length === 1)
|
|
71
|
+
keys.add(pts[0]);
|
|
72
|
+
for (var i = 0; i < pts.length - 1; i++) {
|
|
73
|
+
if (pts[i] === pts[i + 1])
|
|
74
|
+
continue;
|
|
75
|
+
// Direction-free segment key: strokes may be drawn either way.
|
|
76
|
+
keys.add(pts[i] < pts[i + 1]
|
|
77
|
+
? "".concat(pts[i], "|").concat(pts[i + 1])
|
|
78
|
+
: "".concat(pts[i + 1], "|").concat(pts[i]));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
83
|
+
finally {
|
|
84
|
+
try {
|
|
85
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
86
|
+
}
|
|
87
|
+
finally { if (e_1) throw e_1.error; }
|
|
88
|
+
}
|
|
89
|
+
return __spreadArray([], __read(keys), false).sort().join(';');
|
|
90
|
+
}
|
|
91
|
+
/** Learns glyph signatures from confirmed lines and recognizes new lines. */
|
|
92
|
+
var PdfGlyphDictionary = /** @class */ (function () {
|
|
93
|
+
function PdfGlyphDictionary() {
|
|
94
|
+
this.glyphs = new Map();
|
|
95
|
+
}
|
|
96
|
+
Object.defineProperty(PdfGlyphDictionary.prototype, "size", {
|
|
97
|
+
/** Number of distinct glyph shapes learned. */
|
|
98
|
+
get: function () {
|
|
99
|
+
return this.glyphs.size;
|
|
100
|
+
},
|
|
101
|
+
enumerable: false,
|
|
102
|
+
configurable: true
|
|
103
|
+
});
|
|
104
|
+
/**
|
|
105
|
+
* Serializable form: `[signature, character]` pairs, newest last.
|
|
106
|
+
*
|
|
107
|
+
* @param limit - Keep at most this many entries (the most recent ones).
|
|
108
|
+
*/
|
|
109
|
+
PdfGlyphDictionary.prototype.toJSON = function (limit) {
|
|
110
|
+
if (limit === void 0) { limit = Infinity; }
|
|
111
|
+
var entries = __spreadArray([], __read(this.glyphs.entries()), false);
|
|
112
|
+
return entries.slice(Math.max(0, entries.length - limit));
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Adds entries produced by {@link toJSON}; malformed entries are skipped.
|
|
116
|
+
*
|
|
117
|
+
* @returns Number of entries loaded.
|
|
118
|
+
*/
|
|
119
|
+
PdfGlyphDictionary.prototype.load = function (entries) {
|
|
120
|
+
var e_2, _a;
|
|
121
|
+
if (!Array.isArray(entries))
|
|
122
|
+
return 0;
|
|
123
|
+
var count = 0;
|
|
124
|
+
try {
|
|
125
|
+
for (var entries_1 = __values(entries), entries_1_1 = entries_1.next(); !entries_1_1.done; entries_1_1 = entries_1.next()) {
|
|
126
|
+
var entry = entries_1_1.value;
|
|
127
|
+
if (Array.isArray(entry) &&
|
|
128
|
+
typeof entry[0] === 'string' &&
|
|
129
|
+
typeof entry[1] === 'string' &&
|
|
130
|
+
__spreadArray([], __read(entry[1]), false).length === 1) {
|
|
131
|
+
this.glyphs.set(entry[0], entry[1]);
|
|
132
|
+
count++;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
137
|
+
finally {
|
|
138
|
+
try {
|
|
139
|
+
if (entries_1_1 && !entries_1_1.done && (_a = entries_1.return)) _a.call(entries_1);
|
|
140
|
+
}
|
|
141
|
+
finally { if (e_2) throw e_2.error; }
|
|
142
|
+
}
|
|
143
|
+
return count;
|
|
144
|
+
};
|
|
145
|
+
/**
|
|
146
|
+
* Records the characters of a confirmed line.
|
|
147
|
+
*
|
|
148
|
+
* Learning only happens when the typed text (spaces removed) has exactly
|
|
149
|
+
* one character per glyph box; otherwise the pairing is ambiguous.
|
|
150
|
+
*
|
|
151
|
+
* @returns Number of glyph shapes added or confirmed.
|
|
152
|
+
*/
|
|
153
|
+
PdfGlyphDictionary.prototype.learn = function (line, text) {
|
|
154
|
+
var _this = this;
|
|
155
|
+
var chars = __spreadArray([], __read(text.replace(/\s+/g, '')), false);
|
|
156
|
+
if (chars.length === 0 || chars.length !== line.glyphs.length)
|
|
157
|
+
return 0;
|
|
158
|
+
line.glyphs.forEach(function (glyph, i) {
|
|
159
|
+
var signature = pdfGlyphSignature(glyph, line);
|
|
160
|
+
// Re-insert so the Map keeps recently confirmed shapes last.
|
|
161
|
+
_this.glyphs.delete(signature);
|
|
162
|
+
_this.glyphs.set(signature, chars[i]);
|
|
163
|
+
});
|
|
164
|
+
return chars.length;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Returns the line text when every glyph is known, inserting a space where
|
|
168
|
+
* two glyphs are further apart than half the text height.
|
|
169
|
+
*/
|
|
170
|
+
PdfGlyphDictionary.prototype.lookup = function (line) {
|
|
171
|
+
var text = '';
|
|
172
|
+
for (var i = 0; i < line.glyphs.length; i++) {
|
|
173
|
+
var glyph = line.glyphs[i];
|
|
174
|
+
var char = this.glyphs.get(pdfGlyphSignature(glyph, line));
|
|
175
|
+
if (char === undefined)
|
|
176
|
+
return undefined;
|
|
177
|
+
if (i > 0 &&
|
|
178
|
+
glyph.minU - line.glyphs[i - 1].maxU > SPACE_GAP * line.height) {
|
|
179
|
+
text += ' ';
|
|
180
|
+
}
|
|
181
|
+
text += char;
|
|
182
|
+
}
|
|
183
|
+
return text.length > 0 ? text : undefined;
|
|
184
|
+
};
|
|
185
|
+
return PdfGlyphDictionary;
|
|
186
|
+
}());
|
|
187
|
+
export { PdfGlyphDictionary };
|
|
188
|
+
//# sourceMappingURL=pdfGlyphDictionary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfGlyphDictionary.js","sourceRoot":"","sources":["../../src/recognition/pdfGlyphDictionary.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,6EAA6E;AAC7E,IAAM,IAAI,GAAG,EAAE,CAAA;AAEf,qEAAqE;AACrE,IAAM,SAAS,GAAG,GAAG,CAAA;AAErB;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAmB,EACnB,IAAoE;;IAEpE,IAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAM,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;IACxD,IAAM,CAAC,GAAG,UAAC,KAAa,IAAK,OAAA,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,EAAxB,CAAwB,CAAA;IACrD,IAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;;QAC9B,KAAqB,IAAA,KAAA,SAAA,KAAK,CAAC,OAAO,CAAA,gBAAA,4BAAE,CAAC;YAAhC,IAAM,MAAM,WAAA;YACf,IAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAA,CAAC;gBAC7B,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBAC3B,IAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBAC5B,OAAO,UAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,cAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAE,CAAA;YAC/E,CAAC,CAAC,CAAA;YACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBAAE,SAAQ;gBACnC,+DAA+D;gBAC/D,IAAI,CAAC,GAAG,CACN,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjB,CAAC,CAAC,UAAG,GAAG,CAAC,CAAC,CAAC,cAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE;oBAC3B,CAAC,CAAC,UAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,cAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAC9B,CAAA;YACH,CAAC;QACH,CAAC;;;;;;;;;IACD,OAAO,yBAAI,IAAI,UAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACnC,CAAC;AAED,6EAA6E;AAC7E;IAAA;QACmB,WAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IA+ErD,CAAC;IA5EC,sBAAI,oCAAI;QADR,+CAA+C;aAC/C;YACE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAA;QACzB,CAAC;;;OAAA;IAED;;;;OAIG;IACH,mCAAM,GAAN,UAAO,KAAgB;QAAhB,sBAAA,EAAA,gBAAgB;QACrB,IAAM,OAAO,4BAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAC,CAAA;QAC1C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED;;;;OAIG;IACH,iCAAI,GAAJ,UAAK,OAAgB;;QACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAA;QACrC,IAAI,KAAK,GAAG,CAAC,CAAA;;YACb,KAAoB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA,qDAAE,CAAC;gBAAzB,IAAM,KAAK,oBAAA;gBACd,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;oBAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;oBAC5B,yBAAI,KAAK,CAAC,CAAC,CAAC,UAAE,MAAM,KAAK,CAAC,EAC1B,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;oBACnC,KAAK,EAAE,CAAA;gBACT,CAAC;YACH,CAAC;;;;;;;;;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;OAOG;IACH,kCAAK,GAAL,UAAM,IAA0B,EAAE,IAAY;QAA9C,iBAUC;QATC,IAAM,KAAK,4BAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,SAAC,CAAA;QAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,CAAA;QACvE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,CAAC;YAC3B,IAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAChD,6DAA6D;YAC7D,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC7B,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,MAAM,CAAA;IACrB,CAAC;IAED;;;OAGG;IACH,mCAAM,GAAN,UAAO,IAA0B;QAC/B,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;YAC5D,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YACxC,IACE,CAAC,GAAG,CAAC;gBACL,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,EAC9D,CAAC;gBACD,IAAI,IAAI,GAAG,CAAA;YACb,CAAC;YACD,IAAI,IAAI,IAAI,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3C,CAAC;IACH,yBAAC;AAAD,CAAC,AAhFD,IAgFC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hatch boundaries from the faces of the surrounding line work.
|
|
3
|
+
*
|
|
4
|
+
* A hatch written to PDF keeps its strokes but loses its boundary object;
|
|
5
|
+
* the boundary usually survives as ordinary lines, arcs and polylines that
|
|
6
|
+
* cross each other, meet in T-junctions and run on past the hatch. This
|
|
7
|
+
* module splits those edges at every intersection (a planar arrangement),
|
|
8
|
+
* walks the faces of the resulting graph and returns the outline of the
|
|
9
|
+
* faces that hold hatch strokes, holes included.
|
|
10
|
+
*
|
|
11
|
+
* Pure data in, pure data out.
|
|
12
|
+
*/
|
|
13
|
+
import type { PdfRecognizedShape } from './pdfCurveRecognition';
|
|
14
|
+
import { type PdfRecPoint } from './pdfRecGeometry';
|
|
15
|
+
/** Tuning for {@link acapPdfFaceBoundary}. */
|
|
16
|
+
export interface PdfFaceBoundaryOptions {
|
|
17
|
+
/** Snap and intersection tolerance in drawing units. */
|
|
18
|
+
tolerance: number;
|
|
19
|
+
/**
|
|
20
|
+
* Share of the hit points the chosen faces must hold, in `[0, 1]`.
|
|
21
|
+
* Default `0.9`.
|
|
22
|
+
*/
|
|
23
|
+
minCoverage?: number;
|
|
24
|
+
/** Most edge segments considered (larger inputs are refused). */
|
|
25
|
+
maxSegments?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Planar arrangement of some line work: the faces its edges enclose, ready
|
|
29
|
+
* to be matched against several hit sets with
|
|
30
|
+
* {@link acapPdfFaceBoundaryIn}. Opaque to callers.
|
|
31
|
+
*/
|
|
32
|
+
export interface PdfFaceArrangement {
|
|
33
|
+
/** Brand; the contents are internal. */
|
|
34
|
+
readonly kind: 'pdfFaceArrangement';
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Splits `edges` at every crossing and near touch and walks the faces of
|
|
38
|
+
* the result. Returns `undefined` when they enclose nothing or hold more
|
|
39
|
+
* than `maxSegments` segments.
|
|
40
|
+
*
|
|
41
|
+
* @param edges - Open or closed polylines of the line work.
|
|
42
|
+
*/
|
|
43
|
+
export declare function acapPdfFaceArrangement(edges: readonly (readonly PdfRecPoint[])[], options: Omit<PdfFaceBoundaryOptions, 'minCoverage'>): PdfFaceArrangement | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Outline loops (outer and holes, to be filled even-odd) of the faces of
|
|
46
|
+
* `edges` that contain the `hits`, or `undefined` when the edges do not
|
|
47
|
+
* enclose them.
|
|
48
|
+
*
|
|
49
|
+
* @param edges - Open or closed polylines of the line work around the hatch.
|
|
50
|
+
* @param hits - Points known to lie inside the hatch (stroke midpoints).
|
|
51
|
+
*/
|
|
52
|
+
export declare function acapPdfFaceBoundary(edges: readonly (readonly PdfRecPoint[])[], hits: readonly PdfRecPoint[], options: PdfFaceBoundaryOptions): PdfRecPoint[][] | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* {@link acapPdfFaceBoundary} on an arrangement built once with
|
|
55
|
+
* {@link acapPdfFaceArrangement}, for callers that try several hit sets
|
|
56
|
+
* against the same line work.
|
|
57
|
+
*
|
|
58
|
+
* @param arrangement - Faces of the line work around the hatch.
|
|
59
|
+
* @param hits - Points known to lie inside the hatch (stroke midpoints).
|
|
60
|
+
*/
|
|
61
|
+
export declare function acapPdfFaceBoundaryIn(arrangement: PdfFaceArrangement, hits: readonly PdfRecPoint[], options?: Pick<PdfFaceBoundaryOptions, 'minCoverage'>): PdfRecPoint[][] | undefined;
|
|
62
|
+
/** A hatch stroke, for {@link acapPdfFaceBoundaryParts}. */
|
|
63
|
+
export type PdfFaceStroke = readonly [PdfRecPoint, PdfRecPoint];
|
|
64
|
+
/**
|
|
65
|
+
* Like {@link acapPdfFaceBoundaryIn}, but split into separate hatches.
|
|
66
|
+
*
|
|
67
|
+
* Without `strokes` every face holding hits joins one outline. With them,
|
|
68
|
+
* two such faces join only when strokes run across the edge between them
|
|
69
|
+
* (a line drawn over one hatch, such as an axis). When strokes stop on the
|
|
70
|
+
* edge from both sides instead, each side was clipped to its own boundary:
|
|
71
|
+
* two hatches of one pattern that touch, kept apart.
|
|
72
|
+
*
|
|
73
|
+
* @param strokes - The hatch strokes the hits came from.
|
|
74
|
+
* @returns Outline loops per hatch, the one with the most hits first.
|
|
75
|
+
*/
|
|
76
|
+
export declare function acapPdfFaceBoundaryParts(arrangement: PdfFaceArrangement, hits: readonly PdfRecPoint[], options?: Pick<PdfFaceBoundaryOptions, 'minCoverage'> & {
|
|
77
|
+
strokes?: readonly PdfFaceStroke[];
|
|
78
|
+
}): PdfRecPoint[][][] | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Polyline through a recognized shape, with curves sampled so no chord is
|
|
81
|
+
* further than `chordTolerance` from the curve.
|
|
82
|
+
*/
|
|
83
|
+
export declare function acapPdfShapePolyline(shape: PdfRecognizedShape, chordTolerance: number): PdfRecPoint[];
|
|
84
|
+
//# sourceMappingURL=pdfHatchFaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pdfHatchFaces.d.ts","sourceRoot":"","sources":["../../src/recognition/pdfHatchFaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE5D,8CAA8C;AAC9C,MAAM,WAAW,sBAAsB;IACrC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAA;CACpC;AAcD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,SAAS,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,EAC1C,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,GACnD,kBAAkB,GAAG,SAAS,CAwBhC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,EAC1C,IAAI,EAAE,SAAS,WAAW,EAAE,EAC5B,OAAO,EAAE,sBAAsB,GAC9B,WAAW,EAAE,EAAE,GAAG,SAAS,CAM7B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,SAAS,WAAW,EAAE,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,GACpD,WAAW,EAAE,EAAE,GAAG,SAAS,CAE7B;AAED,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAE/D;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,SAAS,WAAW,EAAE,EAC5B,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,GAAG;IACtD,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CACnC,GACA,WAAW,EAAE,EAAE,EAAE,GAAG,SAAS,CA0E/B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,MAAM,GACrB,WAAW,EAAE,CAsFf"}
|