docxmlater 8.1.0 → 8.3.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 (63) hide show
  1. package/dist/elements/Paragraph.d.ts.map +1 -1
  2. package/dist/elements/Paragraph.js +91 -0
  3. package/dist/elements/Paragraph.js.map +1 -1
  4. package/dist/elements/Table.d.ts.map +1 -1
  5. package/dist/elements/Table.js +9 -10
  6. package/dist/elements/Table.js.map +1 -1
  7. package/dist/ms-doc/cfb/CFBReader.d.ts +35 -0
  8. package/dist/ms-doc/cfb/CFBReader.d.ts.map +1 -0
  9. package/dist/ms-doc/cfb/CFBReader.js +360 -0
  10. package/dist/ms-doc/cfb/CFBReader.js.map +1 -0
  11. package/dist/ms-doc/converter/DocToDocxConverter.d.ts +55 -0
  12. package/dist/ms-doc/converter/DocToDocxConverter.d.ts.map +1 -0
  13. package/dist/ms-doc/converter/DocToDocxConverter.js +316 -0
  14. package/dist/ms-doc/converter/DocToDocxConverter.js.map +1 -0
  15. package/dist/ms-doc/fib/FIB.d.ts +18 -0
  16. package/dist/ms-doc/fib/FIB.d.ts.map +1 -0
  17. package/dist/ms-doc/fib/FIB.js +342 -0
  18. package/dist/ms-doc/fib/FIB.js.map +1 -0
  19. package/dist/ms-doc/fields/FieldParser.d.ts +31 -0
  20. package/dist/ms-doc/fields/FieldParser.d.ts.map +1 -0
  21. package/dist/ms-doc/fields/FieldParser.js +266 -0
  22. package/dist/ms-doc/fields/FieldParser.js.map +1 -0
  23. package/dist/ms-doc/images/PictureExtractor.d.ts +22 -0
  24. package/dist/ms-doc/images/PictureExtractor.d.ts.map +1 -0
  25. package/dist/ms-doc/images/PictureExtractor.js +231 -0
  26. package/dist/ms-doc/images/PictureExtractor.js.map +1 -0
  27. package/dist/ms-doc/index.d.ts +20 -0
  28. package/dist/ms-doc/index.d.ts.map +1 -0
  29. package/dist/ms-doc/index.js +59 -0
  30. package/dist/ms-doc/index.js.map +1 -0
  31. package/dist/ms-doc/properties/SPRM.d.ts +210 -0
  32. package/dist/ms-doc/properties/SPRM.d.ts.map +1 -0
  33. package/dist/ms-doc/properties/SPRM.js +632 -0
  34. package/dist/ms-doc/properties/SPRM.js.map +1 -0
  35. package/dist/ms-doc/sections/SectionParser.d.ts +25 -0
  36. package/dist/ms-doc/sections/SectionParser.d.ts.map +1 -0
  37. package/dist/ms-doc/sections/SectionParser.js +214 -0
  38. package/dist/ms-doc/sections/SectionParser.js.map +1 -0
  39. package/dist/ms-doc/styles/StyleSheet.d.ts +23 -0
  40. package/dist/ms-doc/styles/StyleSheet.d.ts.map +1 -0
  41. package/dist/ms-doc/styles/StyleSheet.js +265 -0
  42. package/dist/ms-doc/styles/StyleSheet.js.map +1 -0
  43. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts +61 -0
  44. package/dist/ms-doc/subdocuments/SubdocumentParser.d.ts.map +1 -0
  45. package/dist/ms-doc/subdocuments/SubdocumentParser.js +208 -0
  46. package/dist/ms-doc/subdocuments/SubdocumentParser.js.map +1 -0
  47. package/dist/ms-doc/tables/TableParser.d.ts +29 -0
  48. package/dist/ms-doc/tables/TableParser.d.ts.map +1 -0
  49. package/dist/ms-doc/tables/TableParser.js +176 -0
  50. package/dist/ms-doc/tables/TableParser.js.map +1 -0
  51. package/dist/ms-doc/text/PieceTable.d.ts +21 -0
  52. package/dist/ms-doc/text/PieceTable.d.ts.map +1 -0
  53. package/dist/ms-doc/text/PieceTable.js +171 -0
  54. package/dist/ms-doc/text/PieceTable.js.map +1 -0
  55. package/dist/ms-doc/types/Constants.d.ts +99 -0
  56. package/dist/ms-doc/types/Constants.d.ts.map +1 -0
  57. package/dist/ms-doc/types/Constants.js +102 -0
  58. package/dist/ms-doc/types/Constants.js.map +1 -0
  59. package/dist/ms-doc/types/DocTypes.d.ts +368 -0
  60. package/dist/ms-doc/types/DocTypes.d.ts.map +1 -0
  61. package/dist/ms-doc/types/DocTypes.js +3 -0
  62. package/dist/ms-doc/types/DocTypes.js.map +1 -0
  63. package/package.json +1 -1
@@ -0,0 +1,632 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SPRMParser = exports.SPRM_PARAGRAPH = exports.SPRM_CHARACTER = exports.SPRM_CATEGORIES = exports.SPRM_TYPES = void 0;
4
+ exports.SPRM_TYPES = {
5
+ BYTE: 0,
6
+ TOGGLE: 1,
7
+ WORD: 2,
8
+ DWORD: 3,
9
+ VARIABLE: 4,
10
+ TRIBYTE: 5,
11
+ COMPLEX: 6,
12
+ SPECIAL: 7,
13
+ };
14
+ exports.SPRM_CATEGORIES = {
15
+ PARAGRAPH: 1,
16
+ CHARACTER: 2,
17
+ PICTURE: 3,
18
+ SECTION: 4,
19
+ TABLE: 5,
20
+ };
21
+ exports.SPRM_CHARACTER = {
22
+ sprmCFRMarkDel: 0x0800,
23
+ sprmCFRMarkIns: 0x0801,
24
+ sprmCFFldVanish: 0x0802,
25
+ sprmCPicLocation: 0x6a03,
26
+ sprmCIbstRMark: 0x4804,
27
+ sprmCDttmRMark: 0x6805,
28
+ sprmCFData: 0x0806,
29
+ sprmCIdslRMark: 0x4807,
30
+ sprmCSymbol: 0x6a09,
31
+ sprmCFOle2: 0x080a,
32
+ sprmCHighlight: 0x2a0c,
33
+ sprmCFWebHidden: 0x0811,
34
+ sprmCRsidProp: 0x6815,
35
+ sprmCRsidText: 0x6816,
36
+ sprmCRsidRMDel: 0x6817,
37
+ sprmCFSpecVanish: 0x0818,
38
+ sprmCFMathPr: 0xc81a,
39
+ sprmCIstd: 0x4a30,
40
+ sprmCIstdPermute: 0xca31,
41
+ sprmCPlain: 0x2a33,
42
+ sprmCKcd: 0x2a34,
43
+ sprmCFBold: 0x0835,
44
+ sprmCFItalic: 0x0836,
45
+ sprmCFStrike: 0x0837,
46
+ sprmCFOutline: 0x0838,
47
+ sprmCFShadow: 0x0839,
48
+ sprmCFSmallCaps: 0x083a,
49
+ sprmCFCaps: 0x083b,
50
+ sprmCFVanish: 0x083c,
51
+ sprmCKul: 0x2a3e,
52
+ sprmCDxaSpace: 0x8840,
53
+ sprmCIco: 0x2a42,
54
+ sprmCHps: 0x4a43,
55
+ sprmCHpsPos: 0x4845,
56
+ sprmCMajority: 0xca47,
57
+ sprmCIss: 0x2a48,
58
+ sprmCHpsKern: 0x484b,
59
+ sprmCHresi: 0x484e,
60
+ sprmCRgFtc0: 0x4a4f,
61
+ sprmCRgFtc1: 0x4a50,
62
+ sprmCRgFtc2: 0x4a51,
63
+ sprmCCharScale: 0x4852,
64
+ sprmCFDStrike: 0x2a53,
65
+ sprmCFImprint: 0x0854,
66
+ sprmCFSpec: 0x0855,
67
+ sprmCFObj: 0x0856,
68
+ sprmCPropRMark90: 0xca57,
69
+ sprmCFEmboss: 0x0858,
70
+ sprmCSfxText: 0x2859,
71
+ sprmCFBiDi: 0x085a,
72
+ sprmCFBoldBi: 0x085c,
73
+ sprmCFItalicBi: 0x085d,
74
+ sprmCFtcBi: 0x4a5e,
75
+ sprmCLidBi: 0x485f,
76
+ sprmCIcoBi: 0x4a60,
77
+ sprmCHpsBi: 0x4a61,
78
+ sprmCDispFldRMark: 0xca62,
79
+ sprmCIbstRMarkDel: 0x4863,
80
+ sprmCDttmRMarkDel: 0x6864,
81
+ sprmCBrc80: 0x6865,
82
+ sprmCShd80: 0x4866,
83
+ sprmCIdslRMarkDel: 0x4867,
84
+ sprmCFUsePgsuSettings: 0x0868,
85
+ sprmCRgLid0_80: 0x486d,
86
+ sprmCRgLid1_80: 0x486e,
87
+ sprmCIdctHint: 0x286f,
88
+ sprmCCv: 0x6870,
89
+ sprmCShd: 0xca71,
90
+ sprmCBrc: 0xca72,
91
+ sprmCRgLid0: 0x4873,
92
+ sprmCRgLid1: 0x4874,
93
+ sprmCFNoProof: 0x0875,
94
+ sprmCFitText: 0xca76,
95
+ sprmCCvUl: 0x6877,
96
+ sprmCFELayout: 0xca78,
97
+ sprmCLbcCRJ: 0x2879,
98
+ sprmCFComplexScripts: 0x0882,
99
+ sprmCWall: 0x2a83,
100
+ sprmCCnf: 0xca85,
101
+ sprmCNeedFontFixup: 0x2a86,
102
+ sprmCPbiIBullet: 0x6887,
103
+ sprmCPbiGrf: 0x4888,
104
+ sprmCPropRMark: 0xca89,
105
+ sprmCFSdtVanish: 0x0890,
106
+ };
107
+ exports.SPRM_PARAGRAPH = {
108
+ sprmPIstd: 0x4600,
109
+ sprmPIstdPermute: 0xc601,
110
+ sprmPIncLvl: 0x2602,
111
+ sprmPJc80: 0x2403,
112
+ sprmPFKeep: 0x2405,
113
+ sprmPFKeepFollow: 0x2406,
114
+ sprmPFPageBreakBefore: 0x2407,
115
+ sprmPIlvl: 0x260a,
116
+ sprmPIlfo: 0x460b,
117
+ sprmPFNoLineNumb: 0x240c,
118
+ sprmPChgTabsPapx: 0xc60d,
119
+ sprmPDxaRight80: 0x840e,
120
+ sprmPDxaLeft80: 0x840f,
121
+ sprmPNest80: 0x4610,
122
+ sprmPDxaLeft180: 0x8411,
123
+ sprmPDyaLine: 0x6412,
124
+ sprmPDyaBefore: 0xa413,
125
+ sprmPDyaAfter: 0xa414,
126
+ sprmPChgTabs: 0xc615,
127
+ sprmPFInTable: 0x2416,
128
+ sprmPFTtp: 0x2417,
129
+ sprmPDxaAbs: 0x8418,
130
+ sprmPDyaAbs: 0x8419,
131
+ sprmPDxaWidth: 0x841a,
132
+ sprmPPc: 0x261b,
133
+ sprmPWr: 0x2423,
134
+ sprmPBrcTop80: 0x6424,
135
+ sprmPBrcLeft80: 0x6425,
136
+ sprmPBrcBottom80: 0x6426,
137
+ sprmPBrcRight80: 0x6427,
138
+ sprmPBrcBetween80: 0x6428,
139
+ sprmPBrcBar80: 0x6629,
140
+ sprmPFNoAutoHyph: 0x242a,
141
+ sprmPWHeightAbs: 0x442b,
142
+ sprmPDcs: 0x442c,
143
+ sprmPShd80: 0x442d,
144
+ sprmPDyaFromText: 0x842e,
145
+ sprmPDxaFromText: 0x842f,
146
+ sprmPFLocked: 0x2430,
147
+ sprmPFWidowControl: 0x2431,
148
+ sprmPFKinsoku: 0x2433,
149
+ sprmPFWordWrap: 0x2434,
150
+ sprmPFOverflowPunct: 0x2435,
151
+ sprmPFTopLinePunct: 0x2436,
152
+ sprmPFAutoSpaceDE: 0x2437,
153
+ sprmPFAutoSpaceDN: 0x2438,
154
+ sprmPWAlignFont: 0x4439,
155
+ sprmPFrameTextFlow: 0x443a,
156
+ sprmPOutLvl: 0x2640,
157
+ sprmPFBiDi: 0x2441,
158
+ sprmPFNumRMIns: 0x2443,
159
+ sprmPNumRM: 0xc645,
160
+ sprmPHugePapx: 0x6646,
161
+ sprmPFUsePgsuSettings: 0x2447,
162
+ sprmPFAdjustRight: 0x2448,
163
+ sprmPItap: 0x6649,
164
+ sprmPDtap: 0x664a,
165
+ sprmPFInnerTableCell: 0x244b,
166
+ sprmPFInnerTtp: 0x244c,
167
+ sprmPShd: 0xc64d,
168
+ sprmPBrcTop: 0xc64e,
169
+ sprmPBrcLeft: 0xc64f,
170
+ sprmPBrcBottom: 0xc650,
171
+ sprmPBrcRight: 0xc651,
172
+ sprmPBrcBetween: 0xc652,
173
+ sprmPBrcBar: 0xc653,
174
+ sprmPDxaRight: 0x845d,
175
+ sprmPDxaLeft: 0x845e,
176
+ sprmPNest: 0x465f,
177
+ sprmPDxaLeft1: 0x8460,
178
+ sprmPJc: 0x2461,
179
+ sprmPFNoAllowOverlap: 0x2462,
180
+ sprmPWall: 0x2664,
181
+ sprmPIpgp: 0x6465,
182
+ sprmPCnf: 0xc666,
183
+ sprmPRsid: 0x6467,
184
+ sprmPIstdListPermute: 0xc669,
185
+ sprmPTableProps: 0x646b,
186
+ sprmPTIstdInfo: 0xc66c,
187
+ sprmPFContextualSpacing: 0x246d,
188
+ sprmPPropRMark: 0xc66f,
189
+ sprmPFMirrorIndents: 0x2470,
190
+ sprmPTtwo: 0x2471,
191
+ };
192
+ function getSprmOperandSize(sprm) {
193
+ const spra = (sprm >> 13) & 0x07;
194
+ switch (spra) {
195
+ case exports.SPRM_TYPES.BYTE:
196
+ case exports.SPRM_TYPES.TOGGLE:
197
+ return 1;
198
+ case exports.SPRM_TYPES.WORD:
199
+ return 2;
200
+ case exports.SPRM_TYPES.DWORD:
201
+ return 4;
202
+ case exports.SPRM_TYPES.TRIBYTE:
203
+ return 3;
204
+ case exports.SPRM_TYPES.VARIABLE:
205
+ case exports.SPRM_TYPES.COMPLEX:
206
+ case exports.SPRM_TYPES.SPECIAL:
207
+ return -1;
208
+ default:
209
+ return 1;
210
+ }
211
+ }
212
+ class SPRMParser {
213
+ data;
214
+ view;
215
+ offset;
216
+ constructor(data, offset = 0) {
217
+ this.data = data;
218
+ this.view = new DataView(data.buffer, data.byteOffset, data.byteLength);
219
+ this.offset = offset;
220
+ }
221
+ parseCharacterProperties(baseProps = {}) {
222
+ const props = { ...baseProps };
223
+ while (this.offset < this.data.length - 1) {
224
+ const sprm = this.view.getUint16(this.offset, true);
225
+ this.offset += 2;
226
+ const operand = this.readOperand(sprm);
227
+ if (operand === null)
228
+ break;
229
+ this.applyCharacterSprm(props, sprm, operand);
230
+ }
231
+ return props;
232
+ }
233
+ parseParagraphProperties(baseProps = {}) {
234
+ const props = { ...baseProps };
235
+ while (this.offset < this.data.length - 1) {
236
+ const sprm = this.view.getUint16(this.offset, true);
237
+ this.offset += 2;
238
+ const operand = this.readOperand(sprm);
239
+ if (operand === null)
240
+ break;
241
+ this.applyParagraphSprm(props, sprm, operand);
242
+ }
243
+ return props;
244
+ }
245
+ readOperand(sprm) {
246
+ const size = getSprmOperandSize(sprm);
247
+ if (size === -1) {
248
+ if (this.offset >= this.data.length)
249
+ return null;
250
+ const len = this.data[this.offset] ?? 0;
251
+ this.offset++;
252
+ if (this.offset + len > this.data.length)
253
+ return null;
254
+ const operand = this.data.slice(this.offset, this.offset + len);
255
+ this.offset += len;
256
+ return operand;
257
+ }
258
+ else {
259
+ if (this.offset + size > this.data.length)
260
+ return null;
261
+ const operand = this.data.slice(this.offset, this.offset + size);
262
+ this.offset += size;
263
+ return operand;
264
+ }
265
+ }
266
+ applyCharacterSprm(props, sprm, operand) {
267
+ const operandView = new DataView(operand.buffer, operand.byteOffset, operand.byteLength);
268
+ const byte0 = operand[0] ?? 0;
269
+ switch (sprm) {
270
+ case exports.SPRM_CHARACTER.sprmCFBold:
271
+ props.bold = byte0 !== 0;
272
+ break;
273
+ case exports.SPRM_CHARACTER.sprmCFItalic:
274
+ props.italic = byte0 !== 0;
275
+ break;
276
+ case exports.SPRM_CHARACTER.sprmCFStrike:
277
+ props.strikethrough = byte0 !== 0;
278
+ break;
279
+ case exports.SPRM_CHARACTER.sprmCFDStrike:
280
+ props.doubleStrikethrough = byte0 !== 0;
281
+ break;
282
+ case exports.SPRM_CHARACTER.sprmCFSmallCaps:
283
+ props.smallCaps = byte0 !== 0;
284
+ break;
285
+ case exports.SPRM_CHARACTER.sprmCFCaps:
286
+ props.allCaps = byte0 !== 0;
287
+ break;
288
+ case exports.SPRM_CHARACTER.sprmCFVanish:
289
+ props.hidden = byte0 !== 0;
290
+ break;
291
+ case exports.SPRM_CHARACTER.sprmCKul:
292
+ props.underline = this.getUnderlineType(byte0);
293
+ break;
294
+ case exports.SPRM_CHARACTER.sprmCHps:
295
+ if (operand.length >= 2) {
296
+ props.fontSize = operandView.getUint16(0, true);
297
+ }
298
+ break;
299
+ case exports.SPRM_CHARACTER.sprmCIss:
300
+ if (byte0 === 1) {
301
+ props.superscript = true;
302
+ props.subscript = false;
303
+ }
304
+ else if (byte0 === 2) {
305
+ props.subscript = true;
306
+ props.superscript = false;
307
+ }
308
+ else {
309
+ props.superscript = false;
310
+ props.subscript = false;
311
+ }
312
+ break;
313
+ case exports.SPRM_CHARACTER.sprmCIco:
314
+ props.color = this.getColorFromIndex(byte0);
315
+ break;
316
+ case exports.SPRM_CHARACTER.sprmCCv:
317
+ if (operand.length >= 4) {
318
+ const r = operand[0] ?? 0;
319
+ const g = operand[1] ?? 0;
320
+ const b = operand[2] ?? 0;
321
+ props.color = this.rgbToHex(r, g, b);
322
+ }
323
+ break;
324
+ case exports.SPRM_CHARACTER.sprmCHighlight:
325
+ props.highlight = this.getHighlightColor(byte0);
326
+ break;
327
+ case exports.SPRM_CHARACTER.sprmCDxaSpace:
328
+ if (operand.length >= 2) {
329
+ props.spacing = operandView.getInt16(0, true);
330
+ }
331
+ break;
332
+ case exports.SPRM_CHARACTER.sprmCHpsPos:
333
+ if (operand.length >= 2) {
334
+ props.position = operandView.getInt16(0, true);
335
+ }
336
+ break;
337
+ case exports.SPRM_CHARACTER.sprmCIstd:
338
+ if (operand.length >= 2) {
339
+ props.styleIndex = operandView.getUint16(0, true);
340
+ }
341
+ break;
342
+ case exports.SPRM_CHARACTER.sprmCFEmboss:
343
+ break;
344
+ case exports.SPRM_CHARACTER.sprmCFImprint:
345
+ break;
346
+ }
347
+ }
348
+ applyParagraphSprm(props, sprm, operand) {
349
+ const operandView = new DataView(operand.buffer, operand.byteOffset, operand.byteLength);
350
+ const byte0 = operand[0] ?? 0;
351
+ switch (sprm) {
352
+ case exports.SPRM_PARAGRAPH.sprmPIstd:
353
+ if (operand.length >= 2) {
354
+ props.styleIndex = operandView.getUint16(0, true);
355
+ }
356
+ break;
357
+ case exports.SPRM_PARAGRAPH.sprmPJc:
358
+ case exports.SPRM_PARAGRAPH.sprmPJc80:
359
+ props.justification = this.getJustification(byte0);
360
+ break;
361
+ case exports.SPRM_PARAGRAPH.sprmPFKeep:
362
+ props.keepTogether = byte0 !== 0;
363
+ break;
364
+ case exports.SPRM_PARAGRAPH.sprmPFKeepFollow:
365
+ props.keepWithNext = byte0 !== 0;
366
+ break;
367
+ case exports.SPRM_PARAGRAPH.sprmPFPageBreakBefore:
368
+ props.pageBreakBefore = byte0 !== 0;
369
+ break;
370
+ case exports.SPRM_PARAGRAPH.sprmPFWidowControl:
371
+ props.widowControl = byte0 !== 0;
372
+ break;
373
+ case exports.SPRM_PARAGRAPH.sprmPDxaLeft:
374
+ case exports.SPRM_PARAGRAPH.sprmPDxaLeft80:
375
+ if (operand.length >= 2) {
376
+ props.indentLeft = operandView.getInt16(0, true);
377
+ }
378
+ break;
379
+ case exports.SPRM_PARAGRAPH.sprmPDxaRight:
380
+ case exports.SPRM_PARAGRAPH.sprmPDxaRight80:
381
+ if (operand.length >= 2) {
382
+ props.indentRight = operandView.getInt16(0, true);
383
+ }
384
+ break;
385
+ case exports.SPRM_PARAGRAPH.sprmPDxaLeft1:
386
+ case exports.SPRM_PARAGRAPH.sprmPDxaLeft180:
387
+ if (operand.length >= 2) {
388
+ props.indentFirstLine = operandView.getInt16(0, true);
389
+ }
390
+ break;
391
+ case exports.SPRM_PARAGRAPH.sprmPDyaBefore:
392
+ if (operand.length >= 2) {
393
+ props.spaceBefore = operandView.getUint16(0, true);
394
+ }
395
+ break;
396
+ case exports.SPRM_PARAGRAPH.sprmPDyaAfter:
397
+ if (operand.length >= 2) {
398
+ props.spaceAfter = operandView.getUint16(0, true);
399
+ }
400
+ break;
401
+ case exports.SPRM_PARAGRAPH.sprmPDyaLine:
402
+ if (operand.length >= 4) {
403
+ const dyaLine = operandView.getInt16(0, true);
404
+ const fMultLinespace = operandView.getInt16(2, true);
405
+ props.lineSpacing = Math.abs(dyaLine);
406
+ if (dyaLine < 0) {
407
+ props.lineSpacingType = 'exact';
408
+ }
409
+ else if (fMultLinespace === 1) {
410
+ props.lineSpacingType = 'auto';
411
+ }
412
+ else {
413
+ props.lineSpacingType = 'atLeast';
414
+ }
415
+ }
416
+ break;
417
+ case exports.SPRM_PARAGRAPH.sprmPIlvl:
418
+ if (!props.listInfo)
419
+ props.listInfo = {};
420
+ props.listInfo.ilvl = byte0;
421
+ break;
422
+ case exports.SPRM_PARAGRAPH.sprmPIlfo:
423
+ if (operand.length >= 2) {
424
+ if (!props.listInfo)
425
+ props.listInfo = {};
426
+ props.listInfo.ilfo = operandView.getUint16(0, true);
427
+ }
428
+ break;
429
+ case exports.SPRM_PARAGRAPH.sprmPOutLvl:
430
+ props.outlineLevel = byte0;
431
+ break;
432
+ case exports.SPRM_PARAGRAPH.sprmPFContextualSpacing:
433
+ break;
434
+ case exports.SPRM_PARAGRAPH.sprmPShd:
435
+ case exports.SPRM_PARAGRAPH.sprmPShd80:
436
+ props.shading = this.parseShading(operand);
437
+ break;
438
+ case exports.SPRM_PARAGRAPH.sprmPBrcTop:
439
+ case exports.SPRM_PARAGRAPH.sprmPBrcTop80:
440
+ props.borderTop = this.parseBorder(operand);
441
+ break;
442
+ case exports.SPRM_PARAGRAPH.sprmPBrcBottom:
443
+ case exports.SPRM_PARAGRAPH.sprmPBrcBottom80:
444
+ props.borderBottom = this.parseBorder(operand);
445
+ break;
446
+ case exports.SPRM_PARAGRAPH.sprmPBrcLeft:
447
+ case exports.SPRM_PARAGRAPH.sprmPBrcLeft80:
448
+ props.borderLeft = this.parseBorder(operand);
449
+ break;
450
+ case exports.SPRM_PARAGRAPH.sprmPBrcRight:
451
+ case exports.SPRM_PARAGRAPH.sprmPBrcRight80:
452
+ props.borderRight = this.parseBorder(operand);
453
+ break;
454
+ }
455
+ }
456
+ getUnderlineType(code) {
457
+ const types = {
458
+ 0: 'none',
459
+ 1: 'single',
460
+ 2: 'words',
461
+ 3: 'double',
462
+ 4: 'dotted',
463
+ 6: 'thick',
464
+ 7: 'dash',
465
+ 9: 'dotDash',
466
+ 10: 'dotDotDash',
467
+ 11: 'wave',
468
+ 20: 'dottedHeavy',
469
+ 23: 'dashedHeavy',
470
+ 25: 'dashDotHeavy',
471
+ 26: 'dashDotDotHeavy',
472
+ 27: 'wavyHeavy',
473
+ 39: 'dashLong',
474
+ 43: 'wavyDouble',
475
+ 55: 'dashLongHeavy',
476
+ };
477
+ return types[code] ?? 'single';
478
+ }
479
+ getColorFromIndex(index) {
480
+ const colors = {
481
+ 0: '000000',
482
+ 1: '0000FF',
483
+ 2: '00FFFF',
484
+ 3: '00FF00',
485
+ 4: 'FF00FF',
486
+ 5: 'FF0000',
487
+ 6: 'FFFF00',
488
+ 7: 'FFFFFF',
489
+ 8: '000080',
490
+ 9: '008080',
491
+ 10: '008000',
492
+ 11: '800080',
493
+ 12: '800000',
494
+ 13: '808000',
495
+ 14: '808080',
496
+ 15: 'C0C0C0',
497
+ };
498
+ return colors[index] ?? '000000';
499
+ }
500
+ getHighlightColor(code) {
501
+ const colors = {
502
+ 0: 'none',
503
+ 1: 'black',
504
+ 2: 'blue',
505
+ 3: 'cyan',
506
+ 4: 'green',
507
+ 5: 'magenta',
508
+ 6: 'red',
509
+ 7: 'yellow',
510
+ 8: 'white',
511
+ 9: 'darkBlue',
512
+ 10: 'darkCyan',
513
+ 11: 'darkGreen',
514
+ 12: 'darkMagenta',
515
+ 13: 'darkRed',
516
+ 14: 'darkYellow',
517
+ 15: 'darkGray',
518
+ 16: 'lightGray',
519
+ };
520
+ return colors[code] ?? 'none';
521
+ }
522
+ getJustification(code) {
523
+ switch (code) {
524
+ case 0:
525
+ return 'left';
526
+ case 1:
527
+ return 'center';
528
+ case 2:
529
+ return 'right';
530
+ case 3:
531
+ return 'both';
532
+ default:
533
+ return 'left';
534
+ }
535
+ }
536
+ rgbToHex(r, g, b) {
537
+ return [r, g, b].map((x) => x.toString(16).padStart(2, '0').toUpperCase()).join('');
538
+ }
539
+ parseBorder(operand) {
540
+ if (operand.length < 4)
541
+ return {};
542
+ const view = new DataView(operand.buffer, operand.byteOffset, operand.byteLength);
543
+ const dptLineWidth = operand[0] ?? 0;
544
+ const brcType = operand[1] ?? 0;
545
+ const ico = operand[2] ?? 0;
546
+ const dptSpace = operand[3] ?? 0;
547
+ return {
548
+ width: dptLineWidth,
549
+ style: this.getBorderStyle(brcType),
550
+ color: this.getColorFromIndex(ico),
551
+ space: dptSpace * 20,
552
+ };
553
+ }
554
+ getBorderStyle(code) {
555
+ const styles = {
556
+ 0: 'none',
557
+ 1: 'single',
558
+ 2: 'thick',
559
+ 3: 'double',
560
+ 5: 'hairline',
561
+ 6: 'dotted',
562
+ 7: 'dashed',
563
+ 8: 'dotDash',
564
+ 9: 'dotDotDash',
565
+ 10: 'triple',
566
+ 11: 'thinThickSmallGap',
567
+ 12: 'thickThinSmallGap',
568
+ 13: 'thinThickThinSmallGap',
569
+ 14: 'thinThickMediumGap',
570
+ 15: 'thickThinMediumGap',
571
+ 16: 'thinThickThinMediumGap',
572
+ 17: 'thinThickLargeGap',
573
+ 18: 'thickThinLargeGap',
574
+ 19: 'thinThickThinLargeGap',
575
+ 20: 'wave',
576
+ 21: 'doubleWave',
577
+ 22: 'dashSmallGap',
578
+ 23: 'dashDotStroked',
579
+ 24: 'threeDEmboss',
580
+ 25: 'threeDEngrave',
581
+ 26: 'outset',
582
+ 27: 'inset',
583
+ };
584
+ return styles[code] ?? 'single';
585
+ }
586
+ parseShading(operand) {
587
+ if (operand.length < 2)
588
+ return {};
589
+ const pattern = operand[0] ?? 0;
590
+ const colors = operand[1] ?? 0;
591
+ const foreColor = colors & 0x0f;
592
+ const backColor = (colors >> 4) & 0x0f;
593
+ return {
594
+ pattern: this.getShadingPattern(pattern),
595
+ foregroundColor: this.getColorFromIndex(foreColor),
596
+ backgroundColor: this.getColorFromIndex(backColor),
597
+ };
598
+ }
599
+ getShadingPattern(code) {
600
+ const patterns = {
601
+ 0: 'clear',
602
+ 1: 'solid',
603
+ 2: 'pct5',
604
+ 3: 'pct10',
605
+ 4: 'pct20',
606
+ 5: 'pct25',
607
+ 6: 'pct30',
608
+ 7: 'pct40',
609
+ 8: 'pct50',
610
+ 9: 'pct60',
611
+ 10: 'pct70',
612
+ 11: 'pct75',
613
+ 12: 'pct80',
614
+ 13: 'pct90',
615
+ 14: 'horzStripe',
616
+ 15: 'vertStripe',
617
+ 16: 'reverseDiagStripe',
618
+ 17: 'diagStripe',
619
+ 18: 'horzCross',
620
+ 19: 'diagCross',
621
+ 20: 'thinHorzStripe',
622
+ 21: 'thinVertStripe',
623
+ 22: 'thinReverseDiagStripe',
624
+ 23: 'thinDiagStripe',
625
+ 24: 'thinHorzCross',
626
+ 25: 'thinDiagCross',
627
+ };
628
+ return patterns[code] ?? 'clear';
629
+ }
630
+ }
631
+ exports.SPRMParser = SPRMParser;
632
+ //# sourceMappingURL=SPRM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SPRM.js","sourceRoot":"","sources":["../../../src/ms-doc/properties/SPRM.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { SectionProperties } from '../types/DocTypes';
2
+ export declare class SectionParseError extends Error {
3
+ constructor(message: string);
4
+ }
5
+ export interface ParsedSection {
6
+ index: number;
7
+ cpStart: number;
8
+ cpEnd: number;
9
+ properties: SectionProperties;
10
+ }
11
+ export declare class SectionParser {
12
+ private plcfSedData;
13
+ private view;
14
+ private wordDocumentStream;
15
+ private tableStream;
16
+ constructor(plcfSedData: Uint8Array, wordDocumentStream: Uint8Array, tableStream: Uint8Array);
17
+ parse(): ParsedSection[];
18
+ private parsePlcfSed;
19
+ private parseSEP;
20
+ private parseSectionSPRMs;
21
+ private applySectionSPRM;
22
+ static findSectionBreaks(text: string): number[];
23
+ static parse(plcfSedData: Uint8Array, wordDocumentStream: Uint8Array, tableStream: Uint8Array): ParsedSection[];
24
+ }
25
+ //# sourceMappingURL=SectionParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SectionParser.d.ts","sourceRoot":"","sources":["../../../src/ms-doc/sections/SectionParser.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAmBD,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,WAAW,CAAa;gBAEpB,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU;IAU5F,KAAK,IAAI,aAAa,EAAE;IAsBxB,OAAO,CAAC,YAAY;IAiDpB,OAAO,CAAC,QAAQ;IA8ChB,OAAO,CAAC,iBAAiB;IAmDzB,OAAO,CAAC,gBAAgB;IAyGxB,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAkBhD,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,GAAG,aAAa,EAAE;CAIhH"}