@syncfusion/ej2-pdf-export 22.1.34 → 22.1.39

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 (169) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/ej2-pdf-export.min.js +2 -2
  3. package/dist/ej2-pdf-export.umd.min.js +2 -2
  4. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-pdf-export.es2015.js +748 -93
  6. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  7. package/dist/es6/ej2-pdf-export.es5.js +933 -225
  8. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  9. package/dist/global/ej2-pdf-export.min.js +2 -2
  10. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +5 -5
  13. package/src/implementation/document/pdf-catalog.d.ts +7 -0
  14. package/src/implementation/document/pdf-catalog.js +16 -0
  15. package/src/implementation/document/pdf-document-base.d.ts +13 -0
  16. package/src/implementation/document/pdf-document-base.js +18 -0
  17. package/src/implementation/document/pdf-viewer-preferences.d.ts +467 -0
  18. package/src/implementation/document/pdf-viewer-preferences.js +624 -0
  19. package/src/implementation/input-output/pdf-dictionary-properties.d.ts +55 -0
  20. package/src/implementation/input-output/pdf-dictionary-properties.js +55 -0
  21. package/dist/ts/implementation/actions/action.ts +0 -76
  22. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  23. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  24. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  25. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  26. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  27. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  28. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  29. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  30. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  31. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  32. package/dist/ts/implementation/collections/utils.ts +0 -38
  33. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  34. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  35. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  36. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  37. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  38. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  39. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  40. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  41. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  42. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  43. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  44. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  45. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  46. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  47. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  48. package/dist/ts/implementation/general/enum.ts +0 -21
  49. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  50. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  51. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  52. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  53. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  54. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  55. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  56. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  57. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  58. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  59. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  60. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  61. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  62. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  63. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  64. package/dist/ts/implementation/graphics/constants.ts +0 -31
  65. package/dist/ts/implementation/graphics/enum.ts +0 -413
  66. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  67. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  68. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  69. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  70. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  71. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  72. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  73. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  74. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  75. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  76. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  77. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  78. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  79. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  80. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  81. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  82. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  83. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  84. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  85. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  86. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  87. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  88. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  89. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  90. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  91. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  92. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  93. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  94. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  95. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  96. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  97. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  98. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  99. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  100. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  101. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  102. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  103. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  104. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  105. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  106. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  107. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  108. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  109. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  110. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  111. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  112. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  113. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -439
  114. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  115. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  116. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  117. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  118. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  119. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  120. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  121. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  122. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  123. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  124. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  125. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  126. package/dist/ts/implementation/input-output/enum.ts +0 -16
  127. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  128. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  129. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  130. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  131. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  132. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  133. package/dist/ts/implementation/pages/enum.ts +0 -201
  134. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  135. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  136. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  137. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  138. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  139. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  140. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  141. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  142. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  143. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  144. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  145. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  146. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  147. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  148. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  149. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  150. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  151. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  152. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  153. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  154. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  155. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -2027
  156. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1193
  157. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  158. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -470
  159. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -853
  160. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  161. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  162. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  163. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  164. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  165. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  166. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  167. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  168. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  169. package/dist/ts/interfaces/i-pdf-writer.ts +0 -29
@@ -1,385 +0,0 @@
1
- /**
2
- * public Enum for `PdfFontStyle`.
3
- * @private
4
- */
5
- export enum PdfFontStyle {
6
- /**
7
- * Specifies the type of `Regular`.
8
- * @private
9
- */
10
- Regular = 0,
11
- /**
12
- * Specifies the type of `Bold`.
13
- * @private
14
- */
15
- Bold = 1,
16
- /**
17
- * Specifies the type of `Italic`.
18
- * @private
19
- */
20
- Italic = 2,
21
- /**
22
- * Specifies the type of `Underline`.
23
- * @private
24
- */
25
- Underline = 4,
26
- /**
27
- * Specifies the type of `Strikeout`.
28
- * @private
29
- */
30
- Strikeout = 8
31
- }
32
- /**
33
- * Specifies the font family from the standard font.
34
- * ```typescript
35
- * // create a new PDF document
36
- * let document : PdfDocument = new PdfDocument();
37
- * // add a new page to the document
38
- * let page1 : PdfPage = document.pages.add();
39
- * // create new standard font
40
- * let font : PdfStandardFont = new PdfStandardFont(PdfFontFamily.Helvetica, 20);
41
- * // create black brush
42
- * let blackBrush : PdfSolidBrush = new PdfSolidBrush(new PdfColor(0, 0, 0));
43
- * // draw the text
44
- * page1.graphics.drawString('Hello World', font, blackBrush, new PointF(0, 0));
45
- * // save the document
46
- * document.save('output.pdf');
47
- * ```
48
- */
49
- export enum PdfFontFamily {
50
- /**
51
- * Specifies the `Helvetica` font.
52
- */
53
- Helvetica,
54
- /**
55
- * Specifies the `Courier` font.
56
- */
57
- Courier,
58
- /**
59
- * Specifies the `TimesRoman` font.
60
- */
61
- TimesRoman,
62
- /**
63
- * Specifies the `Symbol` font.
64
- */
65
- Symbol,
66
- /**
67
- * Specifies the `ZapfDingbats` font.
68
- */
69
- ZapfDingbats,
70
- }
71
- /**
72
- * public Enum for `PdfFontType`.
73
- * @private
74
- */
75
- export enum PdfFontType {
76
- /**
77
- * Specifies the type of `Standard`.
78
- * @private
79
- */
80
- Standard,
81
- /**
82
- * Specifies the type of `TrueType`.
83
- * @private
84
- */
85
- TrueType,
86
- /**
87
- * Specifies the type of `TrueTypeEmbedded`.
88
- * @private
89
- */
90
- TrueTypeEmbedded
91
- }
92
- /**
93
- * public Enum for `PdfWordWrapType`.
94
- * @private
95
- */
96
- export enum PdfWordWrapType {
97
- /**
98
- * Specifies the type of `None`.
99
- * @private
100
- */
101
- None,
102
- /**
103
- * Specifies the type of `Word`.
104
- * @private
105
- */
106
- Word,
107
- /**
108
- * Specifies the type of `WordOnly`.
109
- * @private
110
- */
111
- WordOnly,
112
- /**
113
- * Specifies the type of `Character`.
114
- * @private
115
- */
116
- Character
117
- }
118
- /**
119
- * public Enum for `PdfSubSuperScript`.
120
- * @private
121
- */
122
- export enum PdfSubSuperScript {
123
- /**
124
- * Specifies the type of `None`.
125
- * @private
126
- */
127
- None = 0,
128
- /**
129
- * Specifies the type of `SuperScript`.
130
- * @private
131
- */
132
- SuperScript = 1,
133
- /**
134
- * Specifies the type of `SubScript`.
135
- * @private
136
- */
137
- SubScript = 2
138
- }
139
- /**
140
- * public Enum for `FontEncoding`.
141
- * @private
142
- */
143
- export enum FontEncoding {
144
- /**
145
- * Specifies the type of `Unknown`.
146
- * @private
147
- */
148
- Unknown = 0,
149
- /**
150
- * Specifies the type of `StandardEncoding`.
151
- * @private
152
- */
153
- StandardEncoding,
154
- /**
155
- * Specifies the type of `MacRomanEncoding`.
156
- * @private
157
- */
158
- MacRomanEncoding,
159
- /**
160
- * Specifies the type of `MacExpertEncoding`.
161
- * @private
162
- */
163
- MacExpertEncoding,
164
- /**
165
- * Specifies the type of `WinAnsiEncoding`.
166
- * @private
167
- */
168
- WinAnsiEncoding,
169
- /**
170
- * Specifies the type of `PdfDocEncoding`.
171
- * @private
172
- */
173
- PdfDocEncoding,
174
- /**
175
- * Specifies the type of `IdentityH`.
176
- * @private
177
- */
178
- IdentityH
179
- }
180
- /**
181
- * public Enum for `TtfCmapFormat`.
182
- * @private
183
- */
184
- export enum TtfCmapFormat {
185
- /**
186
- * This is the Apple standard character to glyph index mapping table.
187
- * @private
188
- */
189
- Apple = 0,
190
- /**
191
- * This is the Microsoft standard character to glyph index mapping table.
192
- * @private
193
- */
194
- Microsoft = 4,
195
- /**
196
- * Format 6: Trimmed table mapping.
197
- * @private
198
- */
199
- Trimmed = 6
200
- }
201
- /**
202
- * Enumerator that implements CMAP encodings.
203
- * @private
204
- */
205
- export enum TtfCmapEncoding {
206
- /**
207
- * Unknown encoding.
208
- * @private
209
- */
210
- Unknown = 0,
211
- /**
212
- * When building a symbol font for Windows.
213
- * @private
214
- */
215
- Symbol = 1,
216
- /**
217
- * When building a Unicode font for Windows.
218
- * @private
219
- */
220
- Unicode = 2,
221
- /**
222
- * For font that will be used on a Macintosh.
223
- * @private
224
- */
225
- Macintosh = 3
226
- }
227
- /**
228
- * Ttf platform ID.
229
- * @private
230
- */
231
- export enum TtfPlatformID {
232
- /**
233
- * Apple platform.
234
- * @private
235
- */
236
- AppleUnicode = 0,
237
- /**
238
- * Macintosh platform.
239
- * @private
240
- */
241
- Macintosh = 1,
242
- /**
243
- * Iso platform.
244
- * @private
245
- */
246
- Iso = 2,
247
- /**
248
- * Microsoft platform.
249
- * @private
250
- */
251
- Microsoft = 3
252
- }
253
- /**
254
- * Microsoft encoding ID.
255
- * @private
256
- */
257
- export enum TtfMicrosoftEncodingID {
258
- /**
259
- * Undefined encoding.
260
- * @private
261
- */
262
- Undefined = 0,
263
- /**
264
- * Unicode encoding.
265
- * @private
266
- */
267
- Unicode = 1,
268
- }
269
- /**
270
- * Macintosh encoding ID.
271
- * @private
272
- */
273
- export enum TtfMacintoshEncodingID {
274
- /**
275
- * Roman encoding.
276
- * @private
277
- */
278
- Roman = 0,
279
- /**
280
- * Japanese encoding.
281
- * @private
282
- */
283
- Japanese = 1,
284
- /**
285
- * Chinese encoding.
286
- * @private
287
- */
288
- Chinese = 2
289
- }
290
- /**
291
- * Enumerator that implements font descriptor flags.
292
- * @private
293
- */
294
- export enum FontDescriptorFlags {
295
- /**
296
- * All glyphs have the same width (as opposed to proportional or variable-pitch fonts, which have different widths).
297
- * @private
298
- */
299
- FixedPitch = 1,
300
- /**
301
- * Glyphs have serifs, which are short strokes drawn at an angle on the top and
302
- * bottom of glyph stems (as opposed to sans serif fonts, which do not).
303
- * @private
304
- */
305
- Serif = 2,
306
- /**
307
- * Font contains glyphs outside the Adobe standard Latin character set. The
308
- * flag and the nonsymbolic flag cannot both be set or both be clear.
309
- * @private
310
- */
311
- Symbolic = 4,
312
- /**
313
- * Glyphs resemble cursive handwriting.
314
- * @private
315
- */
316
- Script = 8,
317
- /**
318
- * Font uses the Adobe standard Latin character set or a subset of it.
319
- * @private
320
- */
321
- Nonsymbolic = 32,
322
- /**
323
- * Glyphs have dominant vertical strokes that are slanted.
324
- * @private
325
- */
326
- Italic = 64,
327
- /**
328
- * Bold font.
329
- * @private
330
- */
331
- ForceBold = 0x40000,
332
- }
333
- /**
334
- * true type font composite glyph flags.
335
- * @private
336
- */
337
- export enum TtfCompositeGlyphFlags {
338
- /**
339
- * The Arg1And2AreWords.
340
- * @private
341
- */
342
- Arg1And2AreWords = 0x0001,
343
- /**
344
- * The ArgsAreXyValues.
345
- * @private
346
- */
347
- ArgsAreXyValues = 0x0002,
348
- /**
349
- * The RoundXyToGrid.
350
- * @private
351
- */
352
- RoundXyToGrid = 0x0004,
353
- /**
354
- * The WeHaveScale.
355
- * @private
356
- */
357
- WeHaveScale = 0x0008,
358
- /**
359
- * The Reserved.
360
- * @private
361
- */
362
- Reserved = 0x0010,
363
- /**
364
- * The MoreComponents.
365
- * @private
366
- */
367
- MoreComponents = 0x0020,
368
- /**
369
- * The WeHaveAnXyScale.
370
- * @private
371
- */
372
- WeHaveAnXyScale = 0x0040,
373
- /**
374
- * The WeHaveTwoByTwo
375
- */
376
- WeHaveTwoByTwo = 0x0080,
377
- /**
378
- * The WeHaveInstructions.
379
- */
380
- WeHaveInstructions = 0x0100,
381
- /**
382
- * The UseMyMetrics.
383
- */
384
- UseMyMetrics = 0x0200,
385
- }
@@ -1,248 +0,0 @@
1
- /**
2
- * PdfFontMetrics.ts class for EJ2-PDF
3
- */
4
- import { PdfStringFormat } from './pdf-string-format';
5
- import { PdfFont } from './pdf-font';
6
- import { PdfSubSuperScript } from './enum';
7
- import { PdfArray } from './../../primitives/pdf-array';
8
- /**
9
- * `Metrics` of the font.
10
- * @private
11
- */
12
- export class PdfFontMetrics {
13
- // Fields
14
- /**
15
- * Gets `ascent` of the font.
16
- * @private
17
- */
18
- public ascent : number;
19
- /**
20
- * Gets `descent` of the font.
21
- * @private
22
- */
23
- public descent : number;
24
- /**
25
- * `Name` of the font.
26
- * @private
27
- */
28
- public name : string;
29
- /**
30
- * Gets `PostScript` Name of the font.
31
- * @private
32
- */
33
- public postScriptName : string;
34
- /**
35
- * Gets `size` of the font.
36
- * @private
37
- */
38
- public size : number;
39
- /**
40
- * Gets `height` of the font.
41
- * @private
42
- */
43
- public height : number;
44
- /**
45
- * `First char` of the font.
46
- * @private
47
- */
48
- public firstChar : number;
49
- /**
50
- * `Last char` of the font.
51
- * @private
52
- */
53
- public lastChar : number;
54
- /**
55
- * `Line gap`.
56
- * @private
57
- */
58
- public lineGap : number = 0;
59
- /**
60
- * `Subscript` size factor.
61
- * @private
62
- */
63
- public subScriptSizeFactor : number;
64
- /**
65
- * `Superscript` size factor.
66
- * @private
67
- */
68
- public superscriptSizeFactor : number;
69
- /**
70
- * Gets `table` of glyphs` width.
71
- * @private
72
- */
73
- public internalWidthTable : WidthTable;
74
- /**
75
- * Checks whether is it `unicode font` or not.
76
- * @private
77
- */
78
- public isUnicodeFont : boolean;
79
- /**
80
- * Indicate whether the true type font reader font has bold style.
81
- */
82
- public isBold : boolean;
83
- // Public methods
84
- /**
85
- * Returns `ascent` taking into consideration font`s size.
86
- * @private
87
- */
88
- public getAscent(format : PdfStringFormat) : number {
89
- let returnValue : number = this.ascent * PdfFont.charSizeMultiplier * this.getSize(format);
90
- return returnValue;
91
- }
92
- /**
93
- * Returns `descent` taking into consideration font`s size.
94
- * @private
95
- */
96
- public getDescent(format : PdfStringFormat) : number {
97
- let returnValue : number = this.descent * PdfFont.charSizeMultiplier * this.getSize(format);
98
- return returnValue;
99
- }
100
- /**
101
- * Returns `Line gap` taking into consideration font`s size.
102
- * @private
103
- */
104
- public getLineGap(format : PdfStringFormat) : number {
105
- let returnValue : number = this.lineGap * PdfFont.charSizeMultiplier * this.getSize(format);
106
- return returnValue;
107
- }
108
- /**
109
- * Returns `height` taking into consideration font`s size.
110
- * @private
111
- */
112
- public getHeight(format : PdfStringFormat) : number {
113
- let height : number;
114
- let clearTypeFonts : string[] = [ 'cambria', 'candara', 'constantia', 'corbel', 'cariadings' ];
115
- let clearTypeFontCollection : string[] = [];
116
- for (let index : number = 0; index < clearTypeFonts.length; index++) {
117
- let font : string = clearTypeFonts[index];
118
- clearTypeFontCollection.push(font);
119
- }
120
- if (this.getDescent(format) < 0) {
121
- // if ((clearTypeFontCollection.indexOf(this.name.toLowerCase()) !== -1) && !this.isUnicodeFont) {
122
- // height = (this.GetAscent(format) - this.GetDescent(format) - this.GetLineGap(format));
123
- // } else {
124
- height = (this.getAscent(format) - this.getDescent(format) + this.getLineGap(format));
125
- // }
126
- } else {
127
- height = (this.getAscent(format) + this.getDescent(format) + this.getLineGap(format));
128
- }
129
- return height;
130
- }
131
- /**
132
- * Calculates `size` of the font depending on the subscript/superscript value.
133
- * @private
134
- */
135
- public getSize(format : PdfStringFormat) : number {
136
- let size : number = this.size;
137
- if (format != null) {
138
- switch (format.subSuperScript) {
139
- case PdfSubSuperScript.SubScript:
140
- size /= this.subScriptSizeFactor;
141
- break;
142
-
143
- case PdfSubSuperScript.SuperScript:
144
- size /= this.superscriptSizeFactor;
145
- break;
146
- }
147
- }
148
- return size;
149
- }
150
- /**
151
- * `Clones` the metrics.
152
- * @private
153
- */
154
- public clone() : PdfFontMetrics {
155
- let metrics : PdfFontMetrics = this;
156
- metrics.widthTable = WidthTable.clone() as WidthTable;
157
- return metrics;
158
- }
159
- // Properies
160
- /**
161
- * Gets or sets the `width table`.
162
- * @private
163
- */
164
- public get widthTable() : WidthTable {
165
- return this.internalWidthTable;
166
- }
167
- public set widthTable(value : WidthTable) {
168
- this.internalWidthTable = value;
169
- }
170
- }
171
- export abstract class WidthTable {
172
- // // Properties
173
- /**
174
- * Returns the `width` of the specific index.
175
- * @private
176
- */
177
- public abstract items(index : number) : number;
178
- // // ICloneable Members
179
- /**
180
- * `Clones` this instance of the WidthTable class.
181
- * @private
182
- */
183
- public abstract clone() : WidthTable;
184
- /**
185
- * Static `clones` this instance of the WidthTable class.
186
- * @private
187
- */
188
- public static clone() : WidthTable {
189
- return null;
190
- }
191
- }
192
- export class StandardWidthTable extends WidthTable {
193
- // Fields
194
- /**
195
- * The `widths` of the supported characters.
196
- * @private
197
- */
198
- private widths : number[];
199
- //Properties
200
- /**
201
- * Gets the `32 bit number` at the specified index.
202
- * @private
203
- */
204
- public items(index : number) : number {
205
- if (index < 0 || index >= this.widths.length) {
206
- throw new Error('ArgumentOutOfRangeException:index, The character is not supported by the font.');
207
- }
208
- let result : number = this.widths[index];
209
- return result;
210
- }
211
- /**
212
- * Gets the `length` of the internal array.
213
- * @private
214
- */
215
- public get length() : number {
216
- return this.widths.length;
217
- }
218
- // Constructors
219
- /**
220
- * Initializes a new instance of the `StandardWidthTable` class.
221
- * @private
222
- */
223
- public constructor(widths : number[]) {
224
- super();
225
- if (widths == null) {
226
- throw new Error('ArgumentNullException:widths');
227
- }
228
- this.widths = widths;
229
- }
230
- //Overrides
231
- /**
232
- * `Clones` this instance of the WidthTable class.
233
- * @private
234
- */
235
- public clone() : WidthTable {
236
- let swt : StandardWidthTable = this;
237
- swt.widths = this.widths;
238
- return swt;
239
- }
240
- /**
241
- * Converts width table to a `PDF array`.
242
- * @private
243
- */
244
- public toArray() : PdfArray {
245
- let arr : PdfArray = new PdfArray(this.widths);
246
- return arr;
247
- }
248
- }