@syncfusion/ej2-pdf-export 19.3.43 → 19.3.53

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 (166) hide show
  1. package/.eslintrc.json +1 -1
  2. package/CHANGELOG.md +167 -0
  3. package/README.md +1 -10
  4. package/dist/ej2-pdf-export.umd.min.js +1 -1
  5. package/dist/ej2-pdf-export.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-pdf-export.es2015.js +1 -2
  7. package/dist/es6/ej2-pdf-export.es2015.js.map +1 -1
  8. package/dist/es6/ej2-pdf-export.es5.js +1 -2
  9. package/dist/es6/ej2-pdf-export.es5.js.map +1 -1
  10. package/dist/global/ej2-pdf-export.min.js +1 -1
  11. package/dist/global/ej2-pdf-export.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/license +3 -0
  14. package/package.json +15 -7
  15. package/src/implementation/pages/pdf-section.d.ts +0 -1
  16. package/src/implementation/pages/pdf-section.js +0 -1
  17. package/src/implementation/structured-elements/grid/pdf-grid-cell.js +1 -1
  18. package/dist/ts/implementation/actions/action.ts +0 -76
  19. package/dist/ts/implementation/actions/uri-action.ts +0 -52
  20. package/dist/ts/implementation/annotations/action-link-annotation.ts +0 -43
  21. package/dist/ts/implementation/annotations/annotation-collection.ts +0 -159
  22. package/dist/ts/implementation/annotations/annotation.ts +0 -241
  23. package/dist/ts/implementation/annotations/document-link-annotation.ts +0 -118
  24. package/dist/ts/implementation/annotations/link-annotation.ts +0 -32
  25. package/dist/ts/implementation/annotations/pdf-text-web-link.ts +0 -265
  26. package/dist/ts/implementation/annotations/uri-annotation.ts +0 -86
  27. package/dist/ts/implementation/collections/dictionary.ts +0 -150
  28. package/dist/ts/implementation/collections/object-object-pair/dictionary.ts +0 -125
  29. package/dist/ts/implementation/collections/utils.ts +0 -38
  30. package/dist/ts/implementation/document/automatic-fields/automatic-field-info-collection.ts +0 -39
  31. package/dist/ts/implementation/document/automatic-fields/automatic-field-info.ts +0 -108
  32. package/dist/ts/implementation/document/automatic-fields/automatic-field.ts +0 -127
  33. package/dist/ts/implementation/document/automatic-fields/composite-field.ts +0 -76
  34. package/dist/ts/implementation/document/automatic-fields/multiple-value-field.ts +0 -37
  35. package/dist/ts/implementation/document/automatic-fields/page-count-field.ts +0 -75
  36. package/dist/ts/implementation/document/automatic-fields/pdf-numbers-convertor.ts +0 -157
  37. package/dist/ts/implementation/document/automatic-fields/pdf-page-number-field.ts +0 -82
  38. package/dist/ts/implementation/document/automatic-fields/pdf-template-value-pair.ts +0 -60
  39. package/dist/ts/implementation/document/automatic-fields/single-value-field.ts +0 -48
  40. package/dist/ts/implementation/document/pdf-catalog.ts +0 -52
  41. package/dist/ts/implementation/document/pdf-document-base.ts +0 -166
  42. package/dist/ts/implementation/document/pdf-document-template.ts +0 -310
  43. package/dist/ts/implementation/document/pdf-document.ts +0 -342
  44. package/dist/ts/implementation/drawing/pdf-drawing.ts +0 -218
  45. package/dist/ts/implementation/general/enum.ts +0 -21
  46. package/dist/ts/implementation/general/functions/pdf-function.ts +0 -66
  47. package/dist/ts/implementation/general/functions/pdf-sampled-function.ts +0 -62
  48. package/dist/ts/implementation/general/pdf-cache-collection.ts +0 -97
  49. package/dist/ts/implementation/general/pdf-collection.ts +0 -41
  50. package/dist/ts/implementation/general/pdf-destination.ts +0 -170
  51. package/dist/ts/implementation/graphics/brushes/enum.ts +0 -237
  52. package/dist/ts/implementation/graphics/brushes/pdf-blend.ts +0 -294
  53. package/dist/ts/implementation/graphics/brushes/pdf-brush.ts +0 -68
  54. package/dist/ts/implementation/graphics/brushes/pdf-brushes.ts +0 -2438
  55. package/dist/ts/implementation/graphics/brushes/pdf-color-blend.ts +0 -295
  56. package/dist/ts/implementation/graphics/brushes/pdf-gradient-brush.ts +0 -311
  57. package/dist/ts/implementation/graphics/brushes/pdf-linear-gradient-brush.ts +0 -406
  58. package/dist/ts/implementation/graphics/brushes/pdf-radial-gradient-brush.ts +0 -290
  59. package/dist/ts/implementation/graphics/brushes/pdf-solid-brush.ts +0 -107
  60. package/dist/ts/implementation/graphics/brushes/pdf-tiling-brush.ts +0 -304
  61. package/dist/ts/implementation/graphics/constants.ts +0 -31
  62. package/dist/ts/implementation/graphics/enum.ts +0 -413
  63. package/dist/ts/implementation/graphics/figures/arc.ts +0 -133
  64. package/dist/ts/implementation/graphics/figures/base/draw-element.ts +0 -59
  65. package/dist/ts/implementation/graphics/figures/base/element-layouter.ts +0 -260
  66. package/dist/ts/implementation/graphics/figures/base/fill-element.ts +0 -72
  67. package/dist/ts/implementation/graphics/figures/base/graphics-element.ts +0 -34
  68. package/dist/ts/implementation/graphics/figures/base/pdf-shape-element.ts +0 -69
  69. package/dist/ts/implementation/graphics/figures/base/shape-layouter.ts +0 -276
  70. package/dist/ts/implementation/graphics/figures/base/text-layouter.ts +0 -205
  71. package/dist/ts/implementation/graphics/figures/ellipse-part.ts +0 -76
  72. package/dist/ts/implementation/graphics/figures/enum.ts +0 -80
  73. package/dist/ts/implementation/graphics/figures/layout-element.ts +0 -132
  74. package/dist/ts/implementation/graphics/figures/path.ts +0 -646
  75. package/dist/ts/implementation/graphics/figures/pdf-template.ts +0 -205
  76. package/dist/ts/implementation/graphics/figures/rectangle-area.ts +0 -108
  77. package/dist/ts/implementation/graphics/figures/text-element.ts +0 -445
  78. package/dist/ts/implementation/graphics/fonts/enum.ts +0 -385
  79. package/dist/ts/implementation/graphics/fonts/pdf-font-metrics.ts +0 -248
  80. package/dist/ts/implementation/graphics/fonts/pdf-font.ts +0 -316
  81. package/dist/ts/implementation/graphics/fonts/pdf-standard-font-metrics-factory.ts +0 -606
  82. package/dist/ts/implementation/graphics/fonts/pdf-standard-font.ts +0 -243
  83. package/dist/ts/implementation/graphics/fonts/pdf-string-format.ts +0 -474
  84. package/dist/ts/implementation/graphics/fonts/pdf-true-type-font.ts +0 -165
  85. package/dist/ts/implementation/graphics/fonts/rtl/rtl-bidirectional.ts +0 -958
  86. package/dist/ts/implementation/graphics/fonts/rtl/rtl-text-shape.ts +0 -374
  87. package/dist/ts/implementation/graphics/fonts/rtl-renderer.ts +0 -255
  88. package/dist/ts/implementation/graphics/fonts/string-layouter.ts +0 -617
  89. package/dist/ts/implementation/graphics/fonts/string-tokenizer.ts +0 -275
  90. package/dist/ts/implementation/graphics/fonts/ttf-OS2-Table.ts +0 -206
  91. package/dist/ts/implementation/graphics/fonts/ttf-apple-cmap-sub-table.ts +0 -18
  92. package/dist/ts/implementation/graphics/fonts/ttf-cmap-sub-table.ts +0 -18
  93. package/dist/ts/implementation/graphics/fonts/ttf-cmap-table.ts +0 -14
  94. package/dist/ts/implementation/graphics/fonts/ttf-glyph-header.ts +0 -26
  95. package/dist/ts/implementation/graphics/fonts/ttf-glyph-info.ts +0 -35
  96. package/dist/ts/implementation/graphics/fonts/ttf-head-table.ts +0 -94
  97. package/dist/ts/implementation/graphics/fonts/ttf-horizontal-header-table.ts +0 -56
  98. package/dist/ts/implementation/graphics/fonts/ttf-loca-table.ts +0 -10
  99. package/dist/ts/implementation/graphics/fonts/ttf-long-hor-metric.ts +0 -14
  100. package/dist/ts/implementation/graphics/fonts/ttf-metrics.ts +0 -106
  101. package/dist/ts/implementation/graphics/fonts/ttf-microsoft-cmap-sub-table.ts +0 -58
  102. package/dist/ts/implementation/graphics/fonts/ttf-name-record.ts +0 -33
  103. package/dist/ts/implementation/graphics/fonts/ttf-name-table.ts +0 -22
  104. package/dist/ts/implementation/graphics/fonts/ttf-post-table.ts +0 -42
  105. package/dist/ts/implementation/graphics/fonts/ttf-reader.ts +0 -1254
  106. package/dist/ts/implementation/graphics/fonts/ttf-table-info.ts +0 -26
  107. package/dist/ts/implementation/graphics/fonts/ttf-trimmed-cmap-sub-table.ts +0 -26
  108. package/dist/ts/implementation/graphics/fonts/unicode-true-type-font.ts +0 -577
  109. package/dist/ts/implementation/graphics/images/byte-array.ts +0 -137
  110. package/dist/ts/implementation/graphics/images/image-decoder.ts +0 -437
  111. package/dist/ts/implementation/graphics/images/pdf-bitmap.ts +0 -110
  112. package/dist/ts/implementation/graphics/images/pdf-image.ts +0 -132
  113. package/dist/ts/implementation/graphics/pdf-color.ts +0 -478
  114. package/dist/ts/implementation/graphics/pdf-graphics.ts +0 -2424
  115. package/dist/ts/implementation/graphics/pdf-margins.ts +0 -124
  116. package/dist/ts/implementation/graphics/pdf-pen.ts +0 -370
  117. package/dist/ts/implementation/graphics/pdf-resources.ts +0 -300
  118. package/dist/ts/implementation/graphics/pdf-transformation-matrix.ts +0 -246
  119. package/dist/ts/implementation/graphics/pdf-transparency.ts +0 -93
  120. package/dist/ts/implementation/graphics/unit-convertor.ts +0 -96
  121. package/dist/ts/implementation/input-output/big-endian-writer.ts +0 -121
  122. package/dist/ts/implementation/input-output/cross-table.ts +0 -21
  123. package/dist/ts/implementation/input-output/enum.ts +0 -16
  124. package/dist/ts/implementation/input-output/pdf-cross-table.ts +0 -524
  125. package/dist/ts/implementation/input-output/pdf-dictionary-properties.ts +0 -515
  126. package/dist/ts/implementation/input-output/pdf-main-object-collection.ts +0 -194
  127. package/dist/ts/implementation/input-output/pdf-operators.ts +0 -363
  128. package/dist/ts/implementation/input-output/pdf-stream-writer.ts +0 -681
  129. package/dist/ts/implementation/input-output/pdf-writer.ts +0 -88
  130. package/dist/ts/implementation/pages/enum.ts +0 -201
  131. package/dist/ts/implementation/pages/page-added-event-arguments.ts +0 -39
  132. package/dist/ts/implementation/pages/pdf-document-page-collection.ts +0 -180
  133. package/dist/ts/implementation/pages/pdf-page-base.ts +0 -181
  134. package/dist/ts/implementation/pages/pdf-page-layer-collection.ts +0 -348
  135. package/dist/ts/implementation/pages/pdf-page-layer.ts +0 -271
  136. package/dist/ts/implementation/pages/pdf-page-settings.ts +0 -192
  137. package/dist/ts/implementation/pages/pdf-page-size.ts +0 -162
  138. package/dist/ts/implementation/pages/pdf-page-template-element.ts +0 -659
  139. package/dist/ts/implementation/pages/pdf-page.ts +0 -235
  140. package/dist/ts/implementation/pages/pdf-section-collection.ts +0 -187
  141. package/dist/ts/implementation/pages/pdf-section-page-collection.ts +0 -61
  142. package/dist/ts/implementation/pages/pdf-section-templates.ts +0 -96
  143. package/dist/ts/implementation/pages/pdf-section.ts +0 -644
  144. package/dist/ts/implementation/primitives/pdf-array.ts +0 -386
  145. package/dist/ts/implementation/primitives/pdf-boolean.ts +0 -119
  146. package/dist/ts/implementation/primitives/pdf-dictionary.ts +0 -513
  147. package/dist/ts/implementation/primitives/pdf-name.ts +0 -218
  148. package/dist/ts/implementation/primitives/pdf-number.ts +0 -165
  149. package/dist/ts/implementation/primitives/pdf-reference.ts +0 -430
  150. package/dist/ts/implementation/primitives/pdf-stream.ts +0 -336
  151. package/dist/ts/implementation/primitives/pdf-string.ts +0 -397
  152. package/dist/ts/implementation/structured-elements/grid/layout/grid-layouter.ts +0 -1998
  153. package/dist/ts/implementation/structured-elements/grid/pdf-grid-cell.ts +0 -1189
  154. package/dist/ts/implementation/structured-elements/grid/pdf-grid-column.ts +0 -206
  155. package/dist/ts/implementation/structured-elements/grid/pdf-grid-row.ts +0 -468
  156. package/dist/ts/implementation/structured-elements/grid/pdf-grid.ts +0 -839
  157. package/dist/ts/implementation/structured-elements/grid/styles/pdf-borders.ts +0 -240
  158. package/dist/ts/implementation/structured-elements/grid/styles/style.ts +0 -424
  159. package/dist/ts/implementation/structured-elements/tables/light-tables/enum.ts +0 -16
  160. package/dist/ts/interfaces/i-pdf-cache.ts +0 -23
  161. package/dist/ts/interfaces/i-pdf-changable.ts +0 -17
  162. package/dist/ts/interfaces/i-pdf-clonable.ts +0 -12
  163. package/dist/ts/interfaces/i-pdf-primitives.ts +0 -45
  164. package/dist/ts/interfaces/i-pdf-true-type-font.ts +0 -48
  165. package/dist/ts/interfaces/i-pdf-wrapper.ts +0 -13
  166. 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
- }