@syncfusion/ej2-pdf 1.0.23 → 23.1.36

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 (518) hide show
  1. package/.eslintrc.json +260 -0
  2. package/.gitleaksignore +1 -0
  3. package/CHANGELOG.md +17 -0
  4. package/README.md +17 -0
  5. package/dist/ej2-pdf.umd.min.js +4 -14
  6. package/dist/ej2-pdf.umd.min.js.map +1 -11
  7. package/dist/es6/ej2-pdf.es2015.js +48245 -0
  8. package/dist/es6/ej2-pdf.es2015.js.map +1 -0
  9. package/dist/es6/ej2-pdf.es5.js +50124 -0
  10. package/dist/es6/ej2-pdf.es5.js.map +1 -0
  11. package/dist/global/ej2-pdf.min.js +11 -0
  12. package/dist/global/ej2-pdf.min.js.map +1 -0
  13. package/dist/global/index.d.ts +14 -0
  14. package/index.js +4 -8
  15. package/license +10 -3
  16. package/package.json +58 -16
  17. package/pdf.d.ts +4 -0
  18. package/pdf.js +4 -0
  19. package/src/global.js +1 -0
  20. package/src/index.d.ts +45 -98
  21. package/src/index.js +45 -96
  22. package/src/pdf/core/annotations/annotation-collection.d.ts +289 -0
  23. package/src/pdf/core/annotations/annotation-collection.js +744 -0
  24. package/src/pdf/core/annotations/annotation.d.ts +5845 -0
  25. package/src/pdf/core/annotations/annotation.js +14195 -0
  26. package/src/pdf/core/annotations/index.d.ts +4 -0
  27. package/src/pdf/core/annotations/index.js +4 -0
  28. package/src/pdf/core/annotations/pdf-appearance.d.ts +102 -0
  29. package/src/pdf/core/annotations/pdf-appearance.js +124 -0
  30. package/src/pdf/core/annotations/pdf-paddings.d.ts +8 -0
  31. package/src/pdf/core/annotations/pdf-paddings.js +22 -0
  32. package/src/pdf/core/base-stream.d.ts +86 -0
  33. package/src/pdf/core/base-stream.js +332 -0
  34. package/src/pdf/core/content-parser.d.ts +38 -0
  35. package/src/pdf/core/content-parser.js +359 -0
  36. package/src/pdf/core/decode-stream.d.ts +21 -0
  37. package/src/pdf/core/decode-stream.js +120 -0
  38. package/src/pdf/core/decrypt-stream.d.ts +11 -0
  39. package/src/pdf/core/decrypt-stream.js +53 -0
  40. package/src/pdf/core/enumerator.d.ts +1668 -0
  41. package/src/pdf/core/enumerator.js +1717 -0
  42. package/src/pdf/core/flate-stream.d.ts +13 -0
  43. package/src/pdf/core/flate-stream.js +329 -0
  44. package/src/pdf/core/fonts/index.d.ts +7 -0
  45. package/{dist/es6/implementation/graphics → src/pdf/core}/fonts/index.js +3 -4
  46. package/src/pdf/core/fonts/pdf-font-metrics.d.ts +66 -0
  47. package/src/pdf/core/fonts/pdf-font-metrics.js +192 -0
  48. package/src/pdf/core/fonts/pdf-standard-font.d.ts +1023 -0
  49. package/src/pdf/core/fonts/pdf-standard-font.js +1682 -0
  50. package/src/pdf/core/fonts/pdf-string-format.d.ts +236 -0
  51. package/src/pdf/core/fonts/pdf-string-format.js +213 -0
  52. package/src/pdf/core/fonts/string-layouter.d.ts +68 -0
  53. package/src/pdf/core/fonts/string-layouter.js +437 -0
  54. package/src/pdf/core/fonts/ttf-reader.d.ts +167 -0
  55. package/src/pdf/core/fonts/ttf-reader.js +1150 -0
  56. package/src/pdf/core/fonts/ttf-table.d.ts +132 -0
  57. package/src/pdf/core/fonts/ttf-table.js +74 -0
  58. package/src/pdf/core/fonts/unicode-true-type-font.d.ts +50 -0
  59. package/src/pdf/core/fonts/unicode-true-type-font.js +289 -0
  60. package/src/pdf/core/form/field.d.ts +3011 -0
  61. package/src/pdf/core/form/field.js +6828 -0
  62. package/src/pdf/core/form/form.d.ts +279 -0
  63. package/src/pdf/core/form/form.js +782 -0
  64. package/src/pdf/core/form/index.d.ts +2 -0
  65. package/src/pdf/core/form/index.js +2 -0
  66. package/src/pdf/core/graphics/images/image-decoder.d.ts +31 -0
  67. package/src/pdf/core/graphics/images/image-decoder.js +130 -0
  68. package/src/{implementation → pdf/core}/graphics/images/index.d.ts +0 -5
  69. package/{dist/es6/implementation → src/pdf/core}/graphics/images/index.js +0 -1
  70. package/src/pdf/core/graphics/images/pdf-bitmap.d.ts +73 -0
  71. package/src/pdf/core/graphics/images/pdf-bitmap.js +68 -0
  72. package/src/pdf/core/graphics/images/pdf-image.d.ts +201 -0
  73. package/src/pdf/core/graphics/images/pdf-image.js +201 -0
  74. package/src/pdf/core/graphics/index.d.ts +10 -0
  75. package/src/pdf/core/graphics/index.js +10 -0
  76. package/src/pdf/core/graphics/pdf-graphics.d.ts +956 -0
  77. package/src/pdf/core/graphics/pdf-graphics.js +1860 -0
  78. package/src/pdf/core/graphics/pdf-path.d.ts +34 -0
  79. package/src/pdf/core/graphics/pdf-path.js +177 -0
  80. package/src/pdf/core/graphics/pdf-stream-writer.d.ts +56 -0
  81. package/src/pdf/core/graphics/pdf-stream-writer.js +231 -0
  82. package/src/pdf/core/graphics/pdf-template.d.ts +79 -0
  83. package/src/pdf/core/graphics/pdf-template.js +100 -0
  84. package/src/pdf/core/graphics/rightToLeft/bidirectional.d.ts +69 -0
  85. package/src/pdf/core/graphics/rightToLeft/bidirectional.js +831 -0
  86. package/src/pdf/core/graphics/rightToLeft/index.d.ts +3 -0
  87. package/src/pdf/core/graphics/rightToLeft/index.js +3 -0
  88. package/src/pdf/core/graphics/rightToLeft/text-renderer.d.ts +13 -0
  89. package/src/pdf/core/graphics/rightToLeft/text-renderer.js +116 -0
  90. package/src/pdf/core/graphics/rightToLeft/text-shape.d.ts +48 -0
  91. package/src/pdf/core/graphics/rightToLeft/text-shape.js +289 -0
  92. package/src/pdf/core/import-export/fdf-document.d.ts +37 -0
  93. package/src/pdf/core/import-export/fdf-document.js +667 -0
  94. package/src/pdf/core/import-export/index.d.ts +5 -0
  95. package/src/pdf/core/import-export/index.js +5 -0
  96. package/src/pdf/core/import-export/json-document.d.ts +47 -0
  97. package/src/pdf/core/import-export/json-document.js +1547 -0
  98. package/src/pdf/core/import-export/xfdf-document.d.ts +146 -0
  99. package/src/pdf/core/import-export/xfdf-document.js +2920 -0
  100. package/src/pdf/core/import-export/xml-document.d.ts +14 -0
  101. package/src/pdf/core/import-export/xml-document.js +166 -0
  102. package/src/pdf/core/import-export/xml-writer.d.ts +69 -0
  103. package/src/pdf/core/import-export/xml-writer.js +494 -0
  104. package/src/pdf/core/pdf-catalog.d.ts +18 -0
  105. package/src/pdf/core/pdf-catalog.js +166 -0
  106. package/src/pdf/core/pdf-cross-reference.d.ts +80 -0
  107. package/src/pdf/core/pdf-cross-reference.js +1049 -0
  108. package/src/pdf/core/pdf-document.d.ts +821 -0
  109. package/src/pdf/core/pdf-document.js +1022 -0
  110. package/src/pdf/core/pdf-file-structure.d.ts +54 -0
  111. package/src/pdf/core/pdf-file-structure.js +65 -0
  112. package/src/pdf/core/pdf-outline.d.ts +362 -0
  113. package/src/pdf/core/pdf-outline.js +860 -0
  114. package/src/pdf/core/pdf-page.d.ts +589 -0
  115. package/src/pdf/core/pdf-page.js +1049 -0
  116. package/src/pdf/core/pdf-parser.d.ts +62 -0
  117. package/src/pdf/core/pdf-parser.js +1035 -0
  118. package/src/pdf/core/pdf-primitives.d.ts +87 -0
  119. package/src/pdf/core/pdf-primitives.js +305 -0
  120. package/src/pdf/core/predictor-stream.d.ts +15 -0
  121. package/src/pdf/core/predictor-stream.js +214 -0
  122. package/src/pdf/core/security/encryptor.d.ts +140 -0
  123. package/src/pdf/core/security/encryptor.js +1616 -0
  124. package/src/pdf/core/security/index.d.ts +1 -0
  125. package/src/pdf/core/security/index.js +1 -0
  126. package/src/pdf/core/utils.d.ts +678 -0
  127. package/src/pdf/core/utils.js +3607 -0
  128. package/src/pdf/index.d.ts +44 -0
  129. package/src/pdf/index.js +44 -0
  130. package/tslint.json +111 -0
  131. package/ReadMe.md +0 -13
  132. package/dist/es6/implementation/actions/action.js +0 -44
  133. package/dist/es6/implementation/actions/index.js +0 -2
  134. package/dist/es6/implementation/actions/uri-action.js +0 -38
  135. package/dist/es6/implementation/annotations/action-link-annotation.js +0 -29
  136. package/dist/es6/implementation/annotations/annotation-collection.js +0 -93
  137. package/dist/es6/implementation/annotations/annotation.js +0 -156
  138. package/dist/es6/implementation/annotations/document-link-annotation.js +0 -48
  139. package/dist/es6/implementation/annotations/index.js +0 -7
  140. package/dist/es6/implementation/annotations/link-annotation.js +0 -31
  141. package/dist/es6/implementation/annotations/pdf-text-web-link.js +0 -178
  142. package/dist/es6/implementation/annotations/uri-annotation.js +0 -64
  143. package/dist/es6/implementation/collections/dictionary.js +0 -71
  144. package/dist/es6/implementation/collections/index.js +0 -3
  145. package/dist/es6/implementation/collections/object-object-pair/dictionary.js +0 -84
  146. package/dist/es6/implementation/collections/object-object-pair/index.js +0 -1
  147. package/dist/es6/implementation/collections/utils.js +0 -8
  148. package/dist/es6/implementation/document/automatic-fields/automatic-field-info-collection.js +0 -17
  149. package/dist/es6/implementation/document/automatic-fields/automatic-field-info.js +0 -68
  150. package/dist/es6/implementation/document/automatic-fields/automatic-field.js +0 -145
  151. package/dist/es6/implementation/document/automatic-fields/composite-field.js +0 -61
  152. package/dist/es6/implementation/document/automatic-fields/index.js +0 -7
  153. package/dist/es6/implementation/document/automatic-fields/multiple-value-field.js +0 -36
  154. package/dist/es6/implementation/document/automatic-fields/page-count-field.js +0 -53
  155. package/dist/es6/implementation/document/automatic-fields/pdf-numbers-convertor.js +0 -91
  156. package/dist/es6/implementation/document/automatic-fields/pdf-page-number-field.js +0 -56
  157. package/dist/es6/implementation/document/automatic-fields/pdf-template-value-pair.js +0 -34
  158. package/dist/es6/implementation/document/automatic-fields/single-value-field.js +0 -47
  159. package/dist/es6/implementation/document/index.js +0 -11
  160. package/dist/es6/implementation/document/pdf-catalog.js +0 -38
  161. package/dist/es6/implementation/document/pdf-document-base.js +0 -71
  162. package/dist/es6/implementation/document/pdf-document-template.js +0 -204
  163. package/dist/es6/implementation/document/pdf-document.js +0 -175
  164. package/dist/es6/implementation/drawing/index.js +0 -1
  165. package/dist/es6/implementation/drawing/pdf-drawing.js +0 -80
  166. package/dist/es6/implementation/general/enum.js +0 -6
  167. package/dist/es6/implementation/general/index.js +0 -3
  168. package/dist/es6/implementation/general/pdf-cache-collection.js +0 -24
  169. package/dist/es6/implementation/general/pdf-collection.js +0 -26
  170. package/dist/es6/implementation/general/pdf-destination.js +0 -107
  171. package/dist/es6/implementation/graphics/brushes/index.js +0 -2
  172. package/dist/es6/implementation/graphics/brushes/pdf-brush.js +0 -6
  173. package/dist/es6/implementation/graphics/brushes/pdf-solid-brush.js +0 -53
  174. package/dist/es6/implementation/graphics/constants.js +0 -11
  175. package/dist/es6/implementation/graphics/enum.js +0 -100
  176. package/dist/es6/implementation/graphics/figures/base/element-layouter.js +0 -154
  177. package/dist/es6/implementation/graphics/figures/base/graphics-element.js +0 -18
  178. package/dist/es6/implementation/graphics/figures/base/index.js +0 -3
  179. package/dist/es6/implementation/graphics/figures/base/pdf-shape-element.js +0 -32
  180. package/dist/es6/implementation/graphics/figures/base/shape-layouter.js +0 -55
  181. package/dist/es6/implementation/graphics/figures/base/text-layouter.js +0 -123
  182. package/dist/es6/implementation/graphics/figures/enum.js +0 -11
  183. package/dist/es6/implementation/graphics/figures/index.js +0 -5
  184. package/dist/es6/implementation/graphics/figures/layout-element.js +0 -41
  185. package/dist/es6/implementation/graphics/figures/pdf-template.js +0 -110
  186. package/dist/es6/implementation/graphics/figures/text-element.js +0 -298
  187. package/dist/es6/implementation/graphics/fonts/enum.js +0 -45
  188. package/dist/es6/implementation/graphics/fonts/pdf-font-metrics.js +0 -122
  189. package/dist/es6/implementation/graphics/fonts/pdf-font.js +0 -159
  190. package/dist/es6/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js +0 -357
  191. package/dist/es6/implementation/graphics/fonts/pdf-standard-font.js +0 -124
  192. package/dist/es6/implementation/graphics/fonts/pdf-string-format.js +0 -239
  193. package/dist/es6/implementation/graphics/fonts/string-layouter.js +0 -335
  194. package/dist/es6/implementation/graphics/fonts/string-tokenizer.js +0 -162
  195. package/dist/es6/implementation/graphics/images/byte-array.js +0 -82
  196. package/dist/es6/implementation/graphics/images/image-decoder.js +0 -167
  197. package/dist/es6/implementation/graphics/images/pdf-bitmap.js +0 -41
  198. package/dist/es6/implementation/graphics/images/pdf-image.js +0 -68
  199. package/dist/es6/implementation/graphics/index.js +0 -20
  200. package/dist/es6/implementation/graphics/pdf-color.js +0 -205
  201. package/dist/es6/implementation/graphics/pdf-graphics.js +0 -1034
  202. package/dist/es6/implementation/graphics/pdf-margins.js +0 -75
  203. package/dist/es6/implementation/graphics/pdf-pen.js +0 -180
  204. package/dist/es6/implementation/graphics/pdf-resources.js +0 -223
  205. package/dist/es6/implementation/graphics/pdf-transformation-matrix.js +0 -134
  206. package/dist/es6/implementation/graphics/pdf-transparency.js +0 -22
  207. package/dist/es6/implementation/graphics/unit-convertor.js +0 -33
  208. package/dist/es6/implementation/index.js +0 -85
  209. package/dist/es6/implementation/input-output/cross-table.js +0 -6
  210. package/dist/es6/implementation/input-output/enum.js +0 -5
  211. package/dist/es6/implementation/input-output/index.js +0 -8
  212. package/dist/es6/implementation/input-output/pdf-cross-table.js +0 -346
  213. package/dist/es6/implementation/input-output/pdf-dictionary-properties.js +0 -60
  214. package/dist/es6/implementation/input-output/pdf-main-object-collection.js +0 -115
  215. package/dist/es6/implementation/input-output/pdf-operators.js +0 -75
  216. package/dist/es6/implementation/input-output/pdf-stream-writer.js +0 -364
  217. package/dist/es6/implementation/input-output/pdf-writer.js +0 -44
  218. package/dist/es6/implementation/pages/enum.js +0 -51
  219. package/dist/es6/implementation/pages/index.js +0 -13
  220. package/dist/es6/implementation/pages/page-added-event-arguments.js +0 -19
  221. package/dist/es6/implementation/pages/pdf-document-page-collection.js +0 -120
  222. package/dist/es6/implementation/pages/pdf-page-base.js +0 -104
  223. package/dist/es6/implementation/pages/pdf-page-layer-collection.js +0 -115
  224. package/dist/es6/implementation/pages/pdf-page-layer.js +0 -160
  225. package/dist/es6/implementation/pages/pdf-page-settings.js +0 -126
  226. package/dist/es6/implementation/pages/pdf-page-size.js +0 -36
  227. package/dist/es6/implementation/pages/pdf-page-template-element.js +0 -510
  228. package/dist/es6/implementation/pages/pdf-page.js +0 -130
  229. package/dist/es6/implementation/pages/pdf-section-collection.js +0 -95
  230. package/dist/es6/implementation/pages/pdf-section-page-collection.js +0 -30
  231. package/dist/es6/implementation/pages/pdf-section-templates.js +0 -71
  232. package/dist/es6/implementation/pages/pdf-section.js +0 -388
  233. package/dist/es6/implementation/primitives/index.js +0 -8
  234. package/dist/es6/implementation/primitives/pdf-array.js +0 -199
  235. package/dist/es6/implementation/primitives/pdf-boolean.js +0 -66
  236. package/dist/es6/implementation/primitives/pdf-dictionary.js +0 -220
  237. package/dist/es6/implementation/primitives/pdf-name.js +0 -102
  238. package/dist/es6/implementation/primitives/pdf-number.js +0 -94
  239. package/dist/es6/implementation/primitives/pdf-reference.js +0 -195
  240. package/dist/es6/implementation/primitives/pdf-stream.js +0 -149
  241. package/dist/es6/implementation/primitives/pdf-string.js +0 -143
  242. package/dist/es6/implementation/structured-elements/grid/index.js +0 -1
  243. package/dist/es6/implementation/structured-elements/grid/pdf-grid-cell.js +0 -512
  244. package/dist/es6/implementation/structured-elements/grid/pdf-grid-column.js +0 -125
  245. package/dist/es6/implementation/structured-elements/grid/pdf-grid-row.js +0 -244
  246. package/dist/es6/implementation/structured-elements/grid/pdf-grid.js +0 -989
  247. package/dist/es6/implementation/structured-elements/grid/styles/index.js +0 -2
  248. package/dist/es6/implementation/structured-elements/grid/styles/pdf-borders.js +0 -145
  249. package/dist/es6/implementation/structured-elements/grid/styles/style.js +0 -267
  250. package/dist/es6/implementation/structured-elements/index.js +0 -1
  251. package/dist/es6/implementation/structured-elements/tables/light-tables/enum.js +0 -5
  252. package/dist/es6/index.js +0 -89
  253. package/dist/es6/interfaces/i-pdf-cache.js +0 -1
  254. package/dist/es6/interfaces/i-pdf-changable.js +0 -1
  255. package/dist/es6/interfaces/i-pdf-primitives.js +0 -1
  256. package/dist/es6/interfaces/i-pdf-wrapper.js +0 -1
  257. package/dist/es6/interfaces/i-pdf-writer.js +0 -1
  258. package/dist/es6/interfaces/index.js +0 -1
  259. package/dist/global/ej2-pdf-export.js +0 -15979
  260. package/implementation.d.ts +0 -4
  261. package/implementation.js +0 -8
  262. package/interfaces.d.ts +0 -4
  263. package/interfaces.js +0 -4
  264. package/src/implementation/actions/action.d.ts +0 -50
  265. package/src/implementation/actions/action.js +0 -44
  266. package/src/implementation/actions/index.d.ts +0 -6
  267. package/src/implementation/actions/index.js +0 -9
  268. package/src/implementation/actions/uri-action.d.ts +0 -33
  269. package/src/implementation/actions/uri-action.js +0 -39
  270. package/src/implementation/annotations/action-link-annotation.d.ts +0 -30
  271. package/src/implementation/annotations/action-link-annotation.js +0 -32
  272. package/src/implementation/annotations/annotation-collection.d.ts +0 -77
  273. package/src/implementation/annotations/annotation-collection.js +0 -91
  274. package/src/implementation/annotations/annotation.d.ts +0 -152
  275. package/src/implementation/annotations/annotation.js +0 -146
  276. package/src/implementation/annotations/document-link-annotation.d.ts +0 -89
  277. package/src/implementation/annotations/document-link-annotation.js +0 -51
  278. package/src/implementation/annotations/index.d.ts +0 -11
  279. package/src/implementation/annotations/index.js +0 -14
  280. package/src/implementation/annotations/link-annotation.d.ts +0 -23
  281. package/src/implementation/annotations/link-annotation.js +0 -33
  282. package/src/implementation/annotations/pdf-text-web-link.d.ts +0 -118
  283. package/src/implementation/annotations/pdf-text-web-link.js +0 -173
  284. package/src/implementation/annotations/uri-annotation.d.ts +0 -48
  285. package/src/implementation/annotations/uri-annotation.js +0 -65
  286. package/src/implementation/collections/dictionary.d.ts +0 -76
  287. package/src/implementation/collections/dictionary.js +0 -74
  288. package/src/implementation/collections/index.d.ts +0 -7
  289. package/src/implementation/collections/index.js +0 -10
  290. package/src/implementation/collections/object-object-pair/dictionary.d.ts +0 -62
  291. package/src/implementation/collections/object-object-pair/dictionary.js +0 -88
  292. package/src/implementation/collections/object-object-pair/index.d.ts +0 -5
  293. package/src/implementation/collections/object-object-pair/index.js +0 -8
  294. package/src/implementation/collections/utils.d.ts +0 -27
  295. package/src/implementation/collections/utils.js +0 -13
  296. package/src/implementation/document/automatic-fields/automatic-field-info-collection.d.ts +0 -31
  297. package/src/implementation/document/automatic-fields/automatic-field-info-collection.js +0 -21
  298. package/src/implementation/document/automatic-fields/automatic-field-info.d.ts +0 -67
  299. package/src/implementation/document/automatic-fields/automatic-field-info.js +0 -70
  300. package/src/implementation/document/automatic-fields/automatic-field.d.ts +0 -41
  301. package/src/implementation/document/automatic-fields/automatic-field.js +0 -143
  302. package/src/implementation/document/automatic-fields/composite-field.d.ts +0 -46
  303. package/src/implementation/document/automatic-fields/composite-field.js +0 -64
  304. package/src/implementation/document/automatic-fields/index.d.ts +0 -11
  305. package/src/implementation/document/automatic-fields/index.js +0 -14
  306. package/src/implementation/document/automatic-fields/multiple-value-field.d.ts +0 -18
  307. package/src/implementation/document/automatic-fields/multiple-value-field.js +0 -35
  308. package/src/implementation/document/automatic-fields/page-count-field.d.ts +0 -44
  309. package/src/implementation/document/automatic-fields/page-count-field.js +0 -53
  310. package/src/implementation/document/automatic-fields/pdf-numbers-convertor.d.ts +0 -53
  311. package/src/implementation/document/automatic-fields/pdf-numbers-convertor.js +0 -94
  312. package/src/implementation/document/automatic-fields/pdf-page-number-field.d.ts +0 -51
  313. package/src/implementation/document/automatic-fields/pdf-page-number-field.js +0 -56
  314. package/src/implementation/document/automatic-fields/pdf-template-value-pair.d.ts +0 -38
  315. package/src/implementation/document/automatic-fields/pdf-template-value-pair.js +0 -38
  316. package/src/implementation/document/automatic-fields/single-value-field.d.ts +0 -15
  317. package/src/implementation/document/automatic-fields/single-value-field.js +0 -46
  318. package/src/implementation/document/index.d.ts +0 -15
  319. package/src/implementation/document/index.js +0 -18
  320. package/src/implementation/document/pdf-catalog.d.ts +0 -32
  321. package/src/implementation/document/pdf-catalog.js +0 -38
  322. package/src/implementation/document/pdf-document-base.d.ts +0 -117
  323. package/src/implementation/document/pdf-document-base.js +0 -72
  324. package/src/implementation/document/pdf-document-template.d.ts +0 -166
  325. package/src/implementation/document/pdf-document-template.js +0 -207
  326. package/src/implementation/document/pdf-document.d.ts +0 -206
  327. package/src/implementation/document/pdf-document.js +0 -166
  328. package/src/implementation/drawing/index.d.ts +0 -5
  329. package/src/implementation/drawing/index.js +0 -8
  330. package/src/implementation/drawing/pdf-drawing.d.ts +0 -93
  331. package/src/implementation/drawing/pdf-drawing.js +0 -84
  332. package/src/implementation/general/enum.d.ts +0 -21
  333. package/src/implementation/general/enum.js +0 -10
  334. package/src/implementation/general/index.d.ts +0 -7
  335. package/src/implementation/general/index.js +0 -10
  336. package/src/implementation/general/pdf-cache-collection.d.ts +0 -33
  337. package/src/implementation/general/pdf-cache-collection.js +0 -27
  338. package/src/implementation/general/pdf-collection.d.ts +0 -26
  339. package/src/implementation/general/pdf-collection.js +0 -30
  340. package/src/implementation/general/pdf-destination.d.ts +0 -103
  341. package/src/implementation/general/pdf-destination.js +0 -103
  342. package/src/implementation/graphics/brushes/index.d.ts +0 -6
  343. package/src/implementation/graphics/brushes/index.js +0 -9
  344. package/src/implementation/graphics/brushes/pdf-brush.d.ts +0 -55
  345. package/src/implementation/graphics/brushes/pdf-brush.js +0 -10
  346. package/src/implementation/graphics/brushes/pdf-solid-brush.d.ts +0 -77
  347. package/src/implementation/graphics/brushes/pdf-solid-brush.js +0 -54
  348. package/src/implementation/graphics/constants.d.ts +0 -31
  349. package/src/implementation/graphics/constants.js +0 -15
  350. package/src/implementation/graphics/enum.d.ts +0 -392
  351. package/src/implementation/graphics/enum.js +0 -104
  352. package/src/implementation/graphics/figures/base/element-layouter.d.ts +0 -160
  353. package/src/implementation/graphics/figures/base/element-layouter.js +0 -156
  354. package/src/implementation/graphics/figures/base/graphics-element.d.ts +0 -16
  355. package/src/implementation/graphics/figures/base/graphics-element.js +0 -22
  356. package/src/implementation/graphics/figures/base/index.d.ts +0 -7
  357. package/src/implementation/graphics/figures/base/index.js +0 -10
  358. package/src/implementation/graphics/figures/base/pdf-shape-element.d.ts +0 -28
  359. package/src/implementation/graphics/figures/base/pdf-shape-element.js +0 -34
  360. package/src/implementation/graphics/figures/base/shape-layouter.d.ts +0 -80
  361. package/src/implementation/graphics/figures/base/shape-layouter.js +0 -57
  362. package/src/implementation/graphics/figures/base/text-layouter.d.ts +0 -107
  363. package/src/implementation/graphics/figures/base/text-layouter.js +0 -121
  364. package/src/implementation/graphics/figures/enum.d.ts +0 -37
  365. package/src/implementation/graphics/figures/enum.js +0 -15
  366. package/src/implementation/graphics/figures/index.d.ts +0 -9
  367. package/src/implementation/graphics/figures/index.js +0 -12
  368. package/src/implementation/graphics/figures/layout-element.d.ts +0 -57
  369. package/src/implementation/graphics/figures/layout-element.js +0 -43
  370. package/src/implementation/graphics/figures/pdf-template.d.ts +0 -113
  371. package/src/implementation/graphics/figures/pdf-template.js +0 -106
  372. package/src/implementation/graphics/figures/text-element.d.ts +0 -213
  373. package/src/implementation/graphics/figures/text-element.js +0 -289
  374. package/src/implementation/graphics/fonts/enum.d.ts +0 -179
  375. package/src/implementation/graphics/fonts/enum.js +0 -49
  376. package/src/implementation/graphics/fonts/index.d.ts +0 -12
  377. package/src/implementation/graphics/fonts/index.js +0 -15
  378. package/src/implementation/graphics/fonts/pdf-font-metrics.d.ts +0 -160
  379. package/src/implementation/graphics/fonts/pdf-font-metrics.js +0 -123
  380. package/src/implementation/graphics/fonts/pdf-font.d.ts +0 -187
  381. package/src/implementation/graphics/fonts/pdf-font.js +0 -158
  382. package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.d.ts +0 -301
  383. package/src/implementation/graphics/fonts/pdf-standard-font-metrics-factory.js +0 -359
  384. package/src/implementation/graphics/fonts/pdf-standard-font.d.ts +0 -143
  385. package/src/implementation/graphics/fonts/pdf-standard-font.js +0 -121
  386. package/src/implementation/graphics/fonts/pdf-string-format.d.ts +0 -319
  387. package/src/implementation/graphics/fonts/pdf-string-format.js +0 -241
  388. package/src/implementation/graphics/fonts/string-layouter.d.ts +0 -255
  389. package/src/implementation/graphics/fonts/string-layouter.js +0 -336
  390. package/src/implementation/graphics/fonts/string-tokenizer.d.ts +0 -107
  391. package/src/implementation/graphics/fonts/string-tokenizer.js +0 -166
  392. package/src/implementation/graphics/images/byte-array.d.ts +0 -68
  393. package/src/implementation/graphics/images/byte-array.js +0 -86
  394. package/src/implementation/graphics/images/image-decoder.d.ts +0 -227
  395. package/src/implementation/graphics/images/image-decoder.js +0 -164
  396. package/src/implementation/graphics/images/index.js +0 -11
  397. package/src/implementation/graphics/images/pdf-bitmap.d.ts +0 -90
  398. package/src/implementation/graphics/images/pdf-bitmap.js +0 -41
  399. package/src/implementation/graphics/images/pdf-image.d.ts +0 -88
  400. package/src/implementation/graphics/images/pdf-image.js +0 -69
  401. package/src/implementation/graphics/index.d.ts +0 -24
  402. package/src/implementation/graphics/index.js +0 -27
  403. package/src/implementation/graphics/pdf-color.d.ts +0 -170
  404. package/src/implementation/graphics/pdf-color.js +0 -204
  405. package/src/implementation/graphics/pdf-graphics.d.ts +0 -1085
  406. package/src/implementation/graphics/pdf-graphics.js +0 -1017
  407. package/src/implementation/graphics/pdf-margins.d.ts +0 -82
  408. package/src/implementation/graphics/pdf-margins.js +0 -79
  409. package/src/implementation/graphics/pdf-pen.d.ts +0 -237
  410. package/src/implementation/graphics/pdf-pen.js +0 -181
  411. package/src/implementation/graphics/pdf-resources.d.ts +0 -147
  412. package/src/implementation/graphics/pdf-resources.js +0 -215
  413. package/src/implementation/graphics/pdf-transformation-matrix.d.ts +0 -143
  414. package/src/implementation/graphics/pdf-transformation-matrix.js +0 -136
  415. package/src/implementation/graphics/pdf-transparency.d.ts +0 -34
  416. package/src/implementation/graphics/pdf-transparency.js +0 -22
  417. package/src/implementation/graphics/unit-convertor.d.ts +0 -72
  418. package/src/implementation/graphics/unit-convertor.js +0 -37
  419. package/src/implementation/index.d.ts +0 -89
  420. package/src/implementation/index.js +0 -92
  421. package/src/implementation/input-output/cross-table.d.ts +0 -21
  422. package/src/implementation/input-output/cross-table.js +0 -10
  423. package/src/implementation/input-output/enum.d.ts +0 -16
  424. package/src/implementation/input-output/enum.js +0 -9
  425. package/src/implementation/input-output/index.d.ts +0 -12
  426. package/src/implementation/input-output/index.js +0 -15
  427. package/src/implementation/input-output/pdf-cross-table.d.ts +0 -249
  428. package/src/implementation/input-output/pdf-cross-table.js +0 -340
  429. package/src/implementation/input-output/pdf-dictionary-properties.d.ts +0 -283
  430. package/src/implementation/input-output/pdf-dictionary-properties.js +0 -64
  431. package/src/implementation/input-output/pdf-main-object-collection.d.ts +0 -120
  432. package/src/implementation/input-output/pdf-main-object-collection.js +0 -117
  433. package/src/implementation/input-output/pdf-operators.d.ts +0 -352
  434. package/src/implementation/input-output/pdf-operators.js +0 -79
  435. package/src/implementation/input-output/pdf-stream-writer.d.ts +0 -314
  436. package/src/implementation/input-output/pdf-stream-writer.js +0 -363
  437. package/src/implementation/input-output/pdf-writer.d.ts +0 -68
  438. package/src/implementation/input-output/pdf-writer.js +0 -48
  439. package/src/implementation/pages/enum.d.ts +0 -201
  440. package/src/implementation/pages/enum.js +0 -55
  441. package/src/implementation/pages/index.d.ts +0 -17
  442. package/src/implementation/pages/index.js +0 -20
  443. package/src/implementation/pages/page-added-event-arguments.d.ts +0 -30
  444. package/src/implementation/pages/page-added-event-arguments.js +0 -23
  445. package/src/implementation/pages/pdf-document-page-collection.d.ts +0 -92
  446. package/src/implementation/pages/pdf-document-page-collection.js +0 -121
  447. package/src/implementation/pages/pdf-page-base.d.ts +0 -121
  448. package/src/implementation/pages/pdf-page-base.js +0 -104
  449. package/src/implementation/pages/pdf-page-layer-collection.d.ts +0 -99
  450. package/src/implementation/pages/pdf-page-layer-collection.js +0 -113
  451. package/src/implementation/pages/pdf-page-layer.d.ts +0 -160
  452. package/src/implementation/pages/pdf-page-layer.js +0 -159
  453. package/src/implementation/pages/pdf-page-settings.d.ts +0 -111
  454. package/src/implementation/pages/pdf-page-settings.js +0 -126
  455. package/src/implementation/pages/pdf-page-size.d.ts +0 -159
  456. package/src/implementation/pages/pdf-page-size.js +0 -39
  457. package/src/implementation/pages/pdf-page-template-element.d.ts +0 -230
  458. package/src/implementation/pages/pdf-page-template-element.js +0 -509
  459. package/src/implementation/pages/pdf-page.d.ts +0 -153
  460. package/src/implementation/pages/pdf-page.js +0 -127
  461. package/src/implementation/pages/pdf-section-collection.d.ts +0 -109
  462. package/src/implementation/pages/pdf-section-collection.js +0 -91
  463. package/src/implementation/pages/pdf-section-page-collection.d.ts +0 -41
  464. package/src/implementation/pages/pdf-section-page-collection.js +0 -34
  465. package/src/implementation/pages/pdf-section-templates.d.ts +0 -64
  466. package/src/implementation/pages/pdf-section-templates.js +0 -74
  467. package/src/implementation/pages/pdf-section.d.ts +0 -319
  468. package/src/implementation/pages/pdf-section.js +0 -379
  469. package/src/implementation/primitives/index.d.ts +0 -12
  470. package/src/implementation/primitives/index.js +0 -15
  471. package/src/implementation/primitives/pdf-array.d.ts +0 -186
  472. package/src/implementation/primitives/pdf-array.js +0 -201
  473. package/src/implementation/primitives/pdf-boolean.d.ts +0 -84
  474. package/src/implementation/primitives/pdf-boolean.js +0 -70
  475. package/src/implementation/primitives/pdf-dictionary.d.ts +0 -311
  476. package/src/implementation/primitives/pdf-dictionary.js +0 -220
  477. package/src/implementation/primitives/pdf-name.d.ts +0 -121
  478. package/src/implementation/primitives/pdf-name.js +0 -106
  479. package/src/implementation/primitives/pdf-number.d.ts +0 -104
  480. package/src/implementation/primitives/pdf-number.js +0 -98
  481. package/src/implementation/primitives/pdf-reference.d.ts +0 -222
  482. package/src/implementation/primitives/pdf-reference.js +0 -192
  483. package/src/implementation/primitives/pdf-stream.d.ts +0 -111
  484. package/src/implementation/primitives/pdf-stream.js +0 -146
  485. package/src/implementation/primitives/pdf-string.d.ts +0 -212
  486. package/src/implementation/primitives/pdf-string.js +0 -147
  487. package/src/implementation/structured-elements/grid/index.d.ts +0 -0
  488. package/src/implementation/structured-elements/grid/index.js +0 -1
  489. package/src/implementation/structured-elements/grid/pdf-grid-cell.d.ts +0 -248
  490. package/src/implementation/structured-elements/grid/pdf-grid-cell.js +0 -504
  491. package/src/implementation/structured-elements/grid/pdf-grid-column.d.ts +0 -108
  492. package/src/implementation/structured-elements/grid/pdf-grid-column.js +0 -127
  493. package/src/implementation/structured-elements/grid/pdf-grid-row.d.ts +0 -207
  494. package/src/implementation/structured-elements/grid/pdf-grid-row.js +0 -246
  495. package/src/implementation/structured-elements/grid/pdf-grid.d.ts +0 -678
  496. package/src/implementation/structured-elements/grid/pdf-grid.js +0 -982
  497. package/src/implementation/structured-elements/grid/styles/index.d.ts +0 -5
  498. package/src/implementation/structured-elements/grid/styles/index.js +0 -9
  499. package/src/implementation/structured-elements/grid/styles/pdf-borders.d.ts +0 -126
  500. package/src/implementation/structured-elements/grid/styles/pdf-borders.js +0 -146
  501. package/src/implementation/structured-elements/grid/styles/style.d.ts +0 -250
  502. package/src/implementation/structured-elements/grid/styles/style.js +0 -269
  503. package/src/implementation/structured-elements/index.d.ts +0 -0
  504. package/src/implementation/structured-elements/index.js +0 -1
  505. package/src/implementation/structured-elements/tables/light-tables/enum.d.ts +0 -16
  506. package/src/implementation/structured-elements/tables/light-tables/enum.js +0 -9
  507. package/src/interfaces/i-pdf-cache.d.ts +0 -23
  508. package/src/interfaces/i-pdf-cache.js +0 -4
  509. package/src/interfaces/i-pdf-changable.d.ts +0 -17
  510. package/src/interfaces/i-pdf-changable.js +0 -4
  511. package/src/interfaces/i-pdf-primitives.d.ts +0 -45
  512. package/src/interfaces/i-pdf-primitives.js +0 -4
  513. package/src/interfaces/i-pdf-wrapper.d.ts +0 -13
  514. package/src/interfaces/i-pdf-wrapper.js +0 -4
  515. package/src/interfaces/i-pdf-writer.d.ts +0 -29
  516. package/src/interfaces/i-pdf-writer.js +0 -4
  517. package/src/interfaces/index.d.ts +0 -9
  518. package/src/interfaces/index.js +0 -4
@@ -0,0 +1,132 @@
1
+ import { _TrueTypeNameRecord } from './ttf-reader';
2
+ export declare class _TrueTypeTableInfo {
3
+ _offset: number;
4
+ _length: number;
5
+ _checksum: number;
6
+ readonly _empty: boolean;
7
+ }
8
+ export declare class _TrueTypeOS2Table {
9
+ _version: number;
10
+ _xAvgCharWidth: number;
11
+ _usWeightClass: number;
12
+ _usWidthClass: number;
13
+ _fsType: number;
14
+ _ySubscriptXSize: number;
15
+ _ySubscriptYSize: number;
16
+ _ySubscriptXOffset: number;
17
+ _ySubscriptYOffset: number;
18
+ _ySuperscriptXSize: number;
19
+ _ySuperscriptYSize: number;
20
+ _ySuperscriptXOffset: number;
21
+ _ySuperscriptYOffset: number;
22
+ _yStrikeoutSize: number;
23
+ _yStrikeoutPosition: number;
24
+ _sFamilyClass: number;
25
+ _panose: number[];
26
+ _ulUnicodeRange1: number;
27
+ _ulUnicodeRange2: number;
28
+ _ulUnicodeRange3: number;
29
+ _ulUnicodeRange4: number;
30
+ _vendorIdentifier: number[];
31
+ _fsSelection: number;
32
+ _usFirstCharIndex: number;
33
+ _usLastCharIndex: number;
34
+ _sTypoAscender: number;
35
+ _sTypoDescender: number;
36
+ _sTypoLineGap: number;
37
+ _usWinAscent: number;
38
+ _usWinDescent: number;
39
+ _ulCodePageRange1: number;
40
+ _ulCodePageRange2: number;
41
+ _sxHeight: number;
42
+ _sCapHeight: number;
43
+ _usDefaultChar: number;
44
+ _usBreakChar: number;
45
+ _usMaxContext: number;
46
+ }
47
+ export declare class _TrueTypePostTable {
48
+ _formatType: number;
49
+ _italicAngle: number;
50
+ _underlinePosition: number;
51
+ _underlineThickness: number;
52
+ _isFixedPitch: number;
53
+ _minType42: number;
54
+ _maxType42: number;
55
+ _minType1: number;
56
+ _maxType1: number;
57
+ }
58
+ export declare class _TrueTypeNameTable {
59
+ _formatSelector: number;
60
+ _recordsCount: number;
61
+ _offset: number;
62
+ _nameRecords: _TrueTypeNameRecord[];
63
+ }
64
+ export declare class _TrueTypeMicrosoftCmapSubTable {
65
+ _format: number;
66
+ _length: number;
67
+ _version: number;
68
+ _segCountX2: number;
69
+ _searchRange: number;
70
+ _entrySelector: number;
71
+ _rangeShift: number;
72
+ _endCount: number[];
73
+ _reservedPad: number;
74
+ _startCount: number[];
75
+ _idDelta: number[];
76
+ _idRangeOffset: number[];
77
+ _glyphID: number[];
78
+ }
79
+ export declare class _TrueTypeHorizontalHeaderTable {
80
+ _version: number;
81
+ _ascender: number;
82
+ _advanceWidthMax: number;
83
+ _descender: number;
84
+ _numberOfHMetrics: number;
85
+ _lineGap: number;
86
+ _minLeftSideBearing: number;
87
+ _minRightSideBearing: number;
88
+ _xMaxExtent: number;
89
+ _caretSlopeRise: number;
90
+ _caretSlopeRun: number;
91
+ _metricDataFormat: number;
92
+ }
93
+ export declare class _TrueTypeHeadTable {
94
+ _modified: number;
95
+ _created: number;
96
+ _magicNumber: number;
97
+ _checkSumAdjustment: number;
98
+ _fontRevision: number;
99
+ _version: number;
100
+ _xMin: number;
101
+ _yMin: number;
102
+ _unitsPerEm: number;
103
+ _yMax: number;
104
+ _xMax: number;
105
+ _macStyle: number;
106
+ _flags: number;
107
+ _lowestReadableSize: number;
108
+ _fontDirectionHint: number;
109
+ _indexToLocalFormat: number;
110
+ _glyphDataFormat: number;
111
+ }
112
+ export declare class _TrueTypeCmapTable {
113
+ _version: number;
114
+ _tablesCount: number;
115
+ }
116
+ export declare class _TrueTypeCmapSubTable {
117
+ _platformID: number;
118
+ _encodingID: number;
119
+ _offset: number;
120
+ }
121
+ export declare class _TrueTypeAppleCmapSubTable {
122
+ _format: number;
123
+ _length: number;
124
+ _version: number;
125
+ }
126
+ export declare class _TrueTypeTrimmedCmapSubTable {
127
+ _format: number;
128
+ _length: number;
129
+ _version: number;
130
+ _firstCode: number;
131
+ _entryCount: number;
132
+ }
@@ -0,0 +1,74 @@
1
+ var _TrueTypeTableInfo = /** @class */ (function () {
2
+ function _TrueTypeTableInfo() {
3
+ }
4
+ Object.defineProperty(_TrueTypeTableInfo.prototype, "_empty", {
5
+ get: function () {
6
+ var empty = (this._offset === this._length && this._length === this._checksum && this._checksum === 0);
7
+ return empty;
8
+ },
9
+ enumerable: true,
10
+ configurable: true
11
+ });
12
+ return _TrueTypeTableInfo;
13
+ }());
14
+ export { _TrueTypeTableInfo };
15
+ var _TrueTypeOS2Table = /** @class */ (function () {
16
+ function _TrueTypeOS2Table() {
17
+ }
18
+ return _TrueTypeOS2Table;
19
+ }());
20
+ export { _TrueTypeOS2Table };
21
+ var _TrueTypePostTable = /** @class */ (function () {
22
+ function _TrueTypePostTable() {
23
+ }
24
+ return _TrueTypePostTable;
25
+ }());
26
+ export { _TrueTypePostTable };
27
+ var _TrueTypeNameTable = /** @class */ (function () {
28
+ function _TrueTypeNameTable() {
29
+ }
30
+ return _TrueTypeNameTable;
31
+ }());
32
+ export { _TrueTypeNameTable };
33
+ var _TrueTypeMicrosoftCmapSubTable = /** @class */ (function () {
34
+ function _TrueTypeMicrosoftCmapSubTable() {
35
+ }
36
+ return _TrueTypeMicrosoftCmapSubTable;
37
+ }());
38
+ export { _TrueTypeMicrosoftCmapSubTable };
39
+ var _TrueTypeHorizontalHeaderTable = /** @class */ (function () {
40
+ function _TrueTypeHorizontalHeaderTable() {
41
+ }
42
+ return _TrueTypeHorizontalHeaderTable;
43
+ }());
44
+ export { _TrueTypeHorizontalHeaderTable };
45
+ var _TrueTypeHeadTable = /** @class */ (function () {
46
+ function _TrueTypeHeadTable() {
47
+ }
48
+ return _TrueTypeHeadTable;
49
+ }());
50
+ export { _TrueTypeHeadTable };
51
+ var _TrueTypeCmapTable = /** @class */ (function () {
52
+ function _TrueTypeCmapTable() {
53
+ }
54
+ return _TrueTypeCmapTable;
55
+ }());
56
+ export { _TrueTypeCmapTable };
57
+ var _TrueTypeCmapSubTable = /** @class */ (function () {
58
+ function _TrueTypeCmapSubTable() {
59
+ }
60
+ return _TrueTypeCmapSubTable;
61
+ }());
62
+ export { _TrueTypeCmapSubTable };
63
+ var _TrueTypeAppleCmapSubTable = /** @class */ (function () {
64
+ function _TrueTypeAppleCmapSubTable() {
65
+ }
66
+ return _TrueTypeAppleCmapSubTable;
67
+ }());
68
+ export { _TrueTypeAppleCmapSubTable };
69
+ var _TrueTypeTrimmedCmapSubTable = /** @class */ (function () {
70
+ function _TrueTypeTrimmedCmapSubTable() {
71
+ }
72
+ return _TrueTypeTrimmedCmapSubTable;
73
+ }());
74
+ export { _TrueTypeTrimmedCmapSubTable };
@@ -0,0 +1,50 @@
1
+ import { _TrueTypeReader, _TrueTypeMetrics } from './ttf-reader';
2
+ import { _PdfDictionary, Dictionary } from './../pdf-primitives';
3
+ import { _PdfFontMetrics } from './pdf-font-metrics';
4
+ import { _PdfStream } from './../base-stream';
5
+ export declare class _UnicodeTrueTypeFont {
6
+ readonly _nameString: string;
7
+ _subsetName: string;
8
+ _fontSize: number;
9
+ _fontString: string;
10
+ _fontData: Uint8Array;
11
+ _ttfReader: _TrueTypeReader;
12
+ _ttfMetrics: _TrueTypeMetrics;
13
+ _isEmbed: boolean;
14
+ _fontDictionary: _PdfDictionary;
15
+ _descendantFont: _PdfDictionary;
16
+ _fontDescriptor: _PdfDictionary;
17
+ _metrics: _PdfFontMetrics;
18
+ _usedChars: Dictionary<string, string>;
19
+ _isEmbedFont: boolean;
20
+ _cmap: _PdfStream;
21
+ _fontProgram: _PdfStream;
22
+ _cmapPrefix: string;
23
+ _cmapEndCodeSpaceRange: string;
24
+ _cmapBeginRange: string;
25
+ _cmapEndRange: string;
26
+ _cmapSuffix: string;
27
+ constructor(base64String: string, size: number);
28
+ _beginSave(): void;
29
+ _descendantFontBeginSave(): void;
30
+ _fontDictionaryBeginSave(): void;
31
+ _Initialize(): void;
32
+ _createInternals(): void;
33
+ _getInternals(): _PdfDictionary;
34
+ _initializeMetrics(): void;
35
+ _getFontName(): string;
36
+ _createDescendantFont(): void;
37
+ _createFontDescriptor(): _PdfDictionary;
38
+ _generateFontProgram(): void;
39
+ _getBoundBox(): number[];
40
+ _cmapBeginSave(): void;
41
+ _fontProgramBeginSave(): void;
42
+ _toHexString(n: number, isCaseChange: boolean): string;
43
+ _generateCmap(): void;
44
+ _createFontDictionary(): void;
45
+ _createSystemInfo(): _PdfDictionary;
46
+ _getDescriptorFlags(): number;
47
+ _getCharacterWidth(charCode: string): number;
48
+ _setSymbols(text: string): void;
49
+ _getDescendantWidth(): Array<any>;
50
+ }
@@ -0,0 +1,289 @@
1
+ import { _TrueTypeReader } from './ttf-reader';
2
+ import { _PdfDictionary, _PdfName, Dictionary } from './../pdf-primitives';
3
+ import { _PdfFontMetrics } from './pdf-font-metrics';
4
+ import { _StandardWidthTable } from './pdf-font-metrics';
5
+ import { _FontDescriptorFlag } from '../enumerator';
6
+ import { _decode } from '../utils';
7
+ import { _PdfStream } from './../base-stream';
8
+ var _UnicodeTrueTypeFont = /** @class */ (function () {
9
+ function _UnicodeTrueTypeFont(base64String, size) {
10
+ this._nameString = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
11
+ this._isEmbedFont = false;
12
+ this._cmapPrefix = '/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap' + '\r\n' + '/CIDSystemInfo << /Registry (Adobe)/Ordering (UCS)/Supplement 0>> def\n/CMapName ' + '/Adobe-Identity-UCS def\n/CMapType 2 def\n1 beginCodeSpacerange' + '\r\n';
13
+ this._cmapEndCodeSpaceRange = 'endCodeSpacerange' + '\r\n';
14
+ this._cmapBeginRange = 'beginbfrange' + '\r\n';
15
+ this._cmapEndRange = 'endbfrange' + '\r\n';
16
+ this._cmapSuffix = 'endbfrange\nendcmap\nCMapName currentdict ' + '/CMap defineresource pop\nend end' + '\r\n';
17
+ if (base64String === null || typeof base64String === 'undefined') {
18
+ throw new Error('ArgumentNullException:base64String');
19
+ }
20
+ this._fontSize = size;
21
+ this._fontString = base64String;
22
+ this._Initialize();
23
+ }
24
+ _UnicodeTrueTypeFont.prototype._beginSave = function () {
25
+ this._descendantFontBeginSave();
26
+ this._cmapBeginSave();
27
+ this._fontDictionaryBeginSave();
28
+ this._fontProgramBeginSave();
29
+ if (this._fontDescriptor) {
30
+ this._fontDescriptor.update('FontFile2', this._fontProgram);
31
+ this._fontDescriptor._updated = true;
32
+ this._fontDescriptor._isFont = true;
33
+ }
34
+ };
35
+ _UnicodeTrueTypeFont.prototype._descendantFontBeginSave = function () {
36
+ if (this._usedChars !== null && typeof this._usedChars !== 'undefined' && this._usedChars._size() > 0) {
37
+ var width = this._getDescendantWidth(); // eslint-disable-line
38
+ if (width !== null) {
39
+ this._descendantFont.set('W', width);
40
+ }
41
+ }
42
+ };
43
+ _UnicodeTrueTypeFont.prototype._fontDictionaryBeginSave = function () {
44
+ if (this._usedChars !== null && typeof this._usedChars !== 'undefined' && this._usedChars._size() > 0) {
45
+ this._fontDictionary.update('ToUnicode', this._cmap);
46
+ }
47
+ };
48
+ _UnicodeTrueTypeFont.prototype._Initialize = function () {
49
+ var byteArray = _decode(this._fontString);
50
+ this._fontData = byteArray;
51
+ this._ttfReader = new _TrueTypeReader(this._fontData);
52
+ this._ttfMetrics = this._ttfReader._metrics;
53
+ };
54
+ _UnicodeTrueTypeFont.prototype._createInternals = function () {
55
+ this._fontDictionary = new _PdfDictionary();
56
+ this._descendantFont = new _PdfDictionary();
57
+ this._metrics = new _PdfFontMetrics();
58
+ this._ttfReader._createInternals();
59
+ this._usedChars = null;
60
+ var data = []; // eslint-disable-line
61
+ this._fontProgram = new _PdfStream(data, new _PdfDictionary());
62
+ this._cmap = new _PdfStream(data, new _PdfDictionary());
63
+ this._ttfMetrics = this._ttfReader._metrics;
64
+ this._initializeMetrics();
65
+ this._subsetName = this._getFontName();
66
+ this._createDescendantFont();
67
+ this._createFontDictionary();
68
+ };
69
+ _UnicodeTrueTypeFont.prototype._getInternals = function () {
70
+ return this._fontDictionary;
71
+ };
72
+ _UnicodeTrueTypeFont.prototype._initializeMetrics = function () {
73
+ var ttfMetrics = this._ttfReader._metrics;
74
+ this._metrics._ascent = ttfMetrics._macAscent;
75
+ this._metrics._descent = ttfMetrics._macDescent;
76
+ this._metrics._height = ttfMetrics._macAscent - ttfMetrics._macDescent + ttfMetrics._lineGap;
77
+ this._metrics._name = ttfMetrics._fontFamily;
78
+ this._metrics._postScriptName = ttfMetrics._postScriptName;
79
+ this._metrics._size = this._fontSize;
80
+ this._metrics._widthTable = new _StandardWidthTable(ttfMetrics._widthTable);
81
+ this._metrics._lineGap = ttfMetrics._lineGap;
82
+ this._metrics._subScriptSizeFactor = ttfMetrics._subScriptSizeFactor;
83
+ this._metrics._superscriptSizeFactor = ttfMetrics._superscriptSizeFactor;
84
+ this._metrics._isBold = ttfMetrics._isBold;
85
+ };
86
+ _UnicodeTrueTypeFont.prototype._getFontName = function () {
87
+ var builder = '';
88
+ for (var i = 0; i < 6; i++) {
89
+ var index = Math.floor(Math.random() * (25 - 0 + 1)) + 0;
90
+ builder += this._nameString[Number.parseInt(index.toString(), 10)];
91
+ }
92
+ builder += '+';
93
+ builder += this._ttfReader._metrics._postScriptName;
94
+ return builder.toString();
95
+ };
96
+ _UnicodeTrueTypeFont.prototype._createDescendantFont = function () {
97
+ this._descendantFont = new _PdfDictionary();
98
+ this._descendantFont._updated = true;
99
+ this._descendantFont.set('Type', new _PdfName('Font'));
100
+ this._descendantFont.set('Subtype', new _PdfName('CIDFontType2'));
101
+ this._descendantFont.set('BaseFont', new _PdfName(this._subsetName));
102
+ this._descendantFont.set('CIDToGIDMap', new _PdfName('Identity'));
103
+ this._descendantFont.set('DW', 1000);
104
+ this._fontDescriptor = this._createFontDescriptor();
105
+ this._descendantFont.set('FontDescriptor', this._fontDescriptor);
106
+ var systemInfo = this._createSystemInfo();
107
+ this._descendantFont.set('CIDSystemInfo', systemInfo);
108
+ this._descendantFont._isFont = true;
109
+ };
110
+ _UnicodeTrueTypeFont.prototype._createFontDescriptor = function () {
111
+ var descriptor = new _PdfDictionary();
112
+ var metrics = this._ttfReader._metrics;
113
+ descriptor.set('Type', new _PdfName('FontDescriptor'));
114
+ descriptor.set('FontName', new _PdfName(this._subsetName));
115
+ descriptor.set('Flags', this._getDescriptorFlags());
116
+ descriptor.set('FontBBox', this._getBoundBox());
117
+ descriptor.set('MissingWidth', metrics._widthTable[32]);
118
+ descriptor.set('StemV', metrics._stemV);
119
+ descriptor.set('ItalicAngle', metrics._italicAngle);
120
+ descriptor.set('CapHeight', metrics._capHeight);
121
+ descriptor.set('Ascent', metrics._winAscent);
122
+ descriptor.set('Descent', metrics._winDescent);
123
+ descriptor.set('Leading', metrics._leading);
124
+ descriptor.set('AvgWidth', metrics._widthTable[32]);
125
+ descriptor.set('MaxWidth', metrics._widthTable[32]);
126
+ descriptor.set('XHeight', 0);
127
+ descriptor.set('StemH', 0);
128
+ descriptor._updated = true;
129
+ return descriptor;
130
+ };
131
+ _UnicodeTrueTypeFont.prototype._generateFontProgram = function () {
132
+ var fontProgram = [];
133
+ this._usedChars = (this._usedChars === null || typeof this._usedChars === 'undefined') ? new Dictionary()
134
+ : this._usedChars;
135
+ this._ttfReader._setOffset(0);
136
+ fontProgram = this._ttfReader._readFontProgram(this._usedChars);
137
+ this._fontProgram._clearStream();
138
+ this._fontProgram._writeBytes(fontProgram);
139
+ };
140
+ _UnicodeTrueTypeFont.prototype._getBoundBox = function () {
141
+ var rect = this._ttfReader._metrics._fontBox;
142
+ var width = Math.abs(rect[2] - rect[0]);
143
+ var height = Math.abs(rect[1] - rect[3]);
144
+ var rectangle = [rect[0], rect[3], width, height];
145
+ return rectangle;
146
+ };
147
+ _UnicodeTrueTypeFont.prototype._cmapBeginSave = function () {
148
+ this._generateCmap();
149
+ };
150
+ _UnicodeTrueTypeFont.prototype._fontProgramBeginSave = function () {
151
+ this._generateFontProgram();
152
+ };
153
+ _UnicodeTrueTypeFont.prototype._toHexString = function (n, isCaseChange) {
154
+ var s = n.toString(16);
155
+ if (isCaseChange) {
156
+ s = s.toUpperCase();
157
+ }
158
+ return '<0000'.substring(0, 5 - s.length) + s + '>';
159
+ };
160
+ _UnicodeTrueTypeFont.prototype._generateCmap = function () {
161
+ if (this._usedChars !== null && typeof this._usedChars !== 'undefined' && this._usedChars._size() > 0) {
162
+ var glyphChars = this._ttfReader._getGlyphChars(this._usedChars);
163
+ if (glyphChars._size() > 0) {
164
+ var keys = glyphChars.keys().sort();
165
+ var first = keys[0];
166
+ var last = keys[keys.length - 1];
167
+ var middlePart = this._toHexString(first, false) + this._toHexString(last, false) + '\r\n';
168
+ var builder = '';
169
+ builder += this._cmapPrefix;
170
+ builder += middlePart;
171
+ builder += this._cmapEndCodeSpaceRange;
172
+ var nextRange = 0;
173
+ for (var i = 0; i < keys.length; i++) {
174
+ if (nextRange === 0) {
175
+ if (i !== 0) {
176
+ builder += this._cmapEndRange;
177
+ }
178
+ nextRange = Math.min(100, keys.length - i);
179
+ builder += nextRange;
180
+ builder += ' ';
181
+ builder += this._cmapBeginRange;
182
+ }
183
+ nextRange -= 1;
184
+ var key = keys[Number.parseInt(i.toString(), 10)];
185
+ builder += this._toHexString(key, true) + this._toHexString(key, true);
186
+ builder += this._toHexString(glyphChars.getValue(key), true) + '\n';
187
+ }
188
+ builder += this._cmapSuffix;
189
+ this._cmap._clearStream();
190
+ this._cmap._write(builder);
191
+ }
192
+ }
193
+ };
194
+ _UnicodeTrueTypeFont.prototype._createFontDictionary = function () {
195
+ this._fontDictionary._updated = true;
196
+ this._fontDictionary.set('Type', _PdfName.get('Font'));
197
+ this._fontDictionary.set('Subtype', _PdfName.get('Type0'));
198
+ this._fontDictionary.set('BaseFont', new _PdfName(this._subsetName));
199
+ this._fontDictionary.set('Encoding', _PdfName.get('Identity-H'));
200
+ this._fontDictionary.set('DescendantFonts', this._descendantFont);
201
+ this._fontDictionary._isFont = true;
202
+ this._fontDictionary._currentObj = this;
203
+ };
204
+ _UnicodeTrueTypeFont.prototype._createSystemInfo = function () {
205
+ var systemInfo = new _PdfDictionary();
206
+ systemInfo._updated = true;
207
+ systemInfo.set('Registry', 'Adobe');
208
+ systemInfo.set('Ordering', 'Identity');
209
+ systemInfo.set('Supplement', 0);
210
+ return systemInfo;
211
+ };
212
+ _UnicodeTrueTypeFont.prototype._getDescriptorFlags = function () {
213
+ var flags = 0;
214
+ var metrics = this._ttfReader._metrics;
215
+ if (metrics._isFixedPitch) {
216
+ flags |= _FontDescriptorFlag.fixedPitch;
217
+ }
218
+ if (metrics._isSymbol) {
219
+ flags |= _FontDescriptorFlag.symbolic;
220
+ }
221
+ else {
222
+ flags |= _FontDescriptorFlag.nonSymbolic;
223
+ }
224
+ if (metrics._isItalic) {
225
+ flags |= _FontDescriptorFlag.italic;
226
+ }
227
+ if (metrics._isBold) {
228
+ flags |= _FontDescriptorFlag.forceBold;
229
+ }
230
+ return flags;
231
+ };
232
+ _UnicodeTrueTypeFont.prototype._getCharacterWidth = function (charCode) {
233
+ var codeWidth = this._ttfReader._getCharacterWidth(charCode);
234
+ return codeWidth;
235
+ };
236
+ _UnicodeTrueTypeFont.prototype._setSymbols = function (text) {
237
+ if (text !== null && typeof text !== 'undefined') {
238
+ if (this._usedChars === null || typeof this._usedChars === 'undefined') {
239
+ this._usedChars = new Dictionary();
240
+ }
241
+ for (var i = 0; i < text.length; i++) {
242
+ var ch = text[Number.parseInt(i.toString(), 10)];
243
+ this._usedChars.setValue(ch, String.fromCharCode(0));
244
+ }
245
+ }
246
+ };
247
+ _UnicodeTrueTypeFont.prototype._getDescendantWidth = function () {
248
+ var array = new Array(); // eslint-disable-line
249
+ if (this._usedChars !== null && typeof this._usedChars !== 'undefined' && this._usedChars._size() > 0) {
250
+ var glyphInfo = [];
251
+ var keys = this._usedChars.keys();
252
+ for (var i = 0; i < keys.length; i++) {
253
+ var chLen = keys[Number.parseInt(i.toString(), 10)];
254
+ var glyph = this._ttfReader._getGlyph(chLen);
255
+ glyphInfo.push(glyph);
256
+ }
257
+ glyphInfo.sort(function (a, b) { return a._index - b._index; });
258
+ var firstGlyphIndex = 0;
259
+ var lastGlyphIndex = 0;
260
+ var firstGlyphIndexWasSet = false;
261
+ var widthDetails = new Array(); // eslint-disable-line
262
+ for (var i = 0; i < glyphInfo.length; i++) {
263
+ var glyph = glyphInfo[Number.parseInt(i.toString(), 10)];
264
+ if (!firstGlyphIndexWasSet) {
265
+ firstGlyphIndexWasSet = true;
266
+ firstGlyphIndex = glyph._index;
267
+ lastGlyphIndex = glyph._index - 1;
268
+ }
269
+ if ((lastGlyphIndex + 1 !== glyph._index || (i + 1 === glyphInfo.length)) && glyphInfo.length > 1) {
270
+ array.push(Number(firstGlyphIndex));
271
+ if (i !== 0) {
272
+ array.push(widthDetails);
273
+ }
274
+ firstGlyphIndex = glyph._index;
275
+ widthDetails = new Array(); // eslint-disable-line
276
+ }
277
+ widthDetails.push(Number(glyph._width));
278
+ if ((i + 1) === glyphInfo.length) {
279
+ array.push(Number(firstGlyphIndex));
280
+ array.push(widthDetails);
281
+ }
282
+ lastGlyphIndex = glyph._index;
283
+ }
284
+ }
285
+ return array;
286
+ };
287
+ return _UnicodeTrueTypeFont;
288
+ }());
289
+ export { _UnicodeTrueTypeFont };