@syncfusion/ej2-pdf-export 20.3.56 → 20.4.38

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