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