pdfrb 0.1.0

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 (822) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/.rubocop.yml +22 -0
  4. data/.rubocop_todo.yml +819 -0
  5. data/.yardopts +4 -0
  6. data/CHANGELOG.md +226 -0
  7. data/CLAUDE.md +110 -0
  8. data/Gemfile +13 -0
  9. data/LICENSE +25 -0
  10. data/README.adoc +88 -0
  11. data/Rakefile +45 -0
  12. data/benchmarks/bench.rb +49 -0
  13. data/data/pdfrb/afm/Courier-Bold.afm +342 -0
  14. data/data/pdfrb/afm/Courier-BoldOblique.afm +342 -0
  15. data/data/pdfrb/afm/Courier-Oblique.afm +342 -0
  16. data/data/pdfrb/afm/Courier.afm +342 -0
  17. data/data/pdfrb/afm/Helvetica-Bold.afm +2827 -0
  18. data/data/pdfrb/afm/Helvetica-BoldOblique.afm +2827 -0
  19. data/data/pdfrb/afm/Helvetica-Oblique.afm +3051 -0
  20. data/data/pdfrb/afm/Helvetica.afm +3051 -0
  21. data/data/pdfrb/afm/Symbol.afm +213 -0
  22. data/data/pdfrb/afm/Times-Bold.afm +2588 -0
  23. data/data/pdfrb/afm/Times-BoldItalic.afm +2384 -0
  24. data/data/pdfrb/afm/Times-Italic.afm +2667 -0
  25. data/data/pdfrb/afm/Times-Roman.afm +2419 -0
  26. data/data/pdfrb/afm/ZapfDingbats.afm +225 -0
  27. data/data/pdfrb/arlington/latest/3DActivation.tsv +10 -0
  28. data/data/pdfrb/arlington/latest/3DAnimationStyle.tsv +5 -0
  29. data/data/pdfrb/arlington/latest/3DBackground.tsv +6 -0
  30. data/data/pdfrb/arlington/latest/3DCrossSection.tsv +11 -0
  31. data/data/pdfrb/arlington/latest/3DLightingScheme.tsv +3 -0
  32. data/data/pdfrb/arlington/latest/3DMeasure3DC.tsv +12 -0
  33. data/data/pdfrb/arlington/latest/3DMeasureAD3.tsv +21 -0
  34. data/data/pdfrb/arlington/latest/3DMeasureLD3.tsv +18 -0
  35. data/data/pdfrb/arlington/latest/3DMeasurePD3.tsv +19 -0
  36. data/data/pdfrb/arlington/latest/3DMeasureRD3.tsv +23 -0
  37. data/data/pdfrb/arlington/latest/3DNode.tsv +9 -0
  38. data/data/pdfrb/arlington/latest/3DReference.tsv +3 -0
  39. data/data/pdfrb/arlington/latest/3DRenderMode.tsv +7 -0
  40. data/data/pdfrb/arlington/latest/3DStream.tsv +16 -0
  41. data/data/pdfrb/arlington/latest/3DUnits.tsv +10 -0
  42. data/data/pdfrb/arlington/latest/3DView.tsv +17 -0
  43. data/data/pdfrb/arlington/latest/3DViewAddEntries.tsv +19 -0
  44. data/data/pdfrb/arlington/latest/AAPL_ST.tsv +7 -0
  45. data/data/pdfrb/arlington/latest/AFEmbeddedFileParameter.tsv +6 -0
  46. data/data/pdfrb/arlington/latest/AFEmbeddedFileStream.tsv +12 -0
  47. data/data/pdfrb/arlington/latest/AFFileSpecEF.tsv +3 -0
  48. data/data/pdfrb/arlington/latest/AFFileSpecification.tsv +17 -0
  49. data/data/pdfrb/arlington/latest/ActionECMAScript.tsv +5 -0
  50. data/data/pdfrb/arlington/latest/ActionGoTo.tsv +6 -0
  51. data/data/pdfrb/arlington/latest/ActionGoTo3DView.tsv +6 -0
  52. data/data/pdfrb/arlington/latest/ActionGoToDp.tsv +5 -0
  53. data/data/pdfrb/arlington/latest/ActionGoToE.tsv +8 -0
  54. data/data/pdfrb/arlington/latest/ActionGoToR.tsv +8 -0
  55. data/data/pdfrb/arlington/latest/ActionHide.tsv +6 -0
  56. data/data/pdfrb/arlington/latest/ActionImportData.tsv +5 -0
  57. data/data/pdfrb/arlington/latest/ActionLaunch.tsv +9 -0
  58. data/data/pdfrb/arlington/latest/ActionMovie.tsv +7 -0
  59. data/data/pdfrb/arlington/latest/ActionNOP.tsv +4 -0
  60. data/data/pdfrb/arlington/latest/ActionNamed.tsv +5 -0
  61. data/data/pdfrb/arlington/latest/ActionRendition.tsv +8 -0
  62. data/data/pdfrb/arlington/latest/ActionResetForm.tsv +6 -0
  63. data/data/pdfrb/arlington/latest/ActionRichMediaExecute.tsv +7 -0
  64. data/data/pdfrb/arlington/latest/ActionSetOCGState.tsv +6 -0
  65. data/data/pdfrb/arlington/latest/ActionSetState.tsv +6 -0
  66. data/data/pdfrb/arlington/latest/ActionSound.tsv +9 -0
  67. data/data/pdfrb/arlington/latest/ActionSubmitForm.tsv +8 -0
  68. data/data/pdfrb/arlington/latest/ActionThread.tsv +7 -0
  69. data/data/pdfrb/arlington/latest/ActionTransition.tsv +5 -0
  70. data/data/pdfrb/arlington/latest/ActionURI.tsv +6 -0
  71. data/data/pdfrb/arlington/latest/AddActionCatalog.tsv +6 -0
  72. data/data/pdfrb/arlington/latest/AddActionFormField.tsv +5 -0
  73. data/data/pdfrb/arlington/latest/AddActionPageObject.tsv +3 -0
  74. data/data/pdfrb/arlington/latest/AddActionScreenAnnotation.tsv +9 -0
  75. data/data/pdfrb/arlington/latest/AddActionWidgetAnnotation.tsv +11 -0
  76. data/data/pdfrb/arlington/latest/AlternateImage.tsv +4 -0
  77. data/data/pdfrb/arlington/latest/Annot3D.tsv +27 -0
  78. data/data/pdfrb/arlington/latest/AnnotCaret.tsv +31 -0
  79. data/data/pdfrb/arlington/latest/AnnotCircle.tsv +33 -0
  80. data/data/pdfrb/arlington/latest/AnnotFileAttachment.tsv +31 -0
  81. data/data/pdfrb/arlington/latest/AnnotFreeText.tsv +37 -0
  82. data/data/pdfrb/arlington/latest/AnnotHighlight.tsv +30 -0
  83. data/data/pdfrb/arlington/latest/AnnotInk.tsv +32 -0
  84. data/data/pdfrb/arlington/latest/AnnotLine.tsv +40 -0
  85. data/data/pdfrb/arlington/latest/AnnotLink.tsv +27 -0
  86. data/data/pdfrb/arlington/latest/AnnotMovie.tsv +23 -0
  87. data/data/pdfrb/arlington/latest/AnnotPolyLine.tsv +36 -0
  88. data/data/pdfrb/arlington/latest/AnnotPolygon.tsv +36 -0
  89. data/data/pdfrb/arlington/latest/AnnotPopup.tsv +22 -0
  90. data/data/pdfrb/arlington/latest/AnnotPrinterMark.tsv +21 -0
  91. data/data/pdfrb/arlington/latest/AnnotProjection.tsv +29 -0
  92. data/data/pdfrb/arlington/latest/AnnotRedact.tsv +36 -0
  93. data/data/pdfrb/arlington/latest/AnnotRichMedia.tsv +22 -0
  94. data/data/pdfrb/arlington/latest/AnnotScreen.tsv +24 -0
  95. data/data/pdfrb/arlington/latest/AnnotSound.tsv +31 -0
  96. data/data/pdfrb/arlington/latest/AnnotSquare.tsv +33 -0
  97. data/data/pdfrb/arlington/latest/AnnotSquiggly.tsv +30 -0
  98. data/data/pdfrb/arlington/latest/AnnotStamp.tsv +30 -0
  99. data/data/pdfrb/arlington/latest/AnnotStrikeOut.tsv +30 -0
  100. data/data/pdfrb/arlington/latest/AnnotText.tsv +33 -0
  101. data/data/pdfrb/arlington/latest/AnnotTrapNetwork.tsv +24 -0
  102. data/data/pdfrb/arlington/latest/AnnotUnderline.tsv +30 -0
  103. data/data/pdfrb/arlington/latest/AnnotWatermark.tsv +21 -0
  104. data/data/pdfrb/arlington/latest/AnnotWidget.tsv +32 -0
  105. data/data/pdfrb/arlington/latest/Appearance.tsv +4 -0
  106. data/data/pdfrb/arlington/latest/AppearanceCharacteristics.tsv +12 -0
  107. data/data/pdfrb/arlington/latest/AppearancePrinterMark.tsv +4 -0
  108. data/data/pdfrb/arlington/latest/AppearancePrinterMarkSubDict.tsv +2 -0
  109. data/data/pdfrb/arlington/latest/AppearanceSubDict.tsv +2 -0
  110. data/data/pdfrb/arlington/latest/AppearanceTrapNet.tsv +4 -0
  111. data/data/pdfrb/arlington/latest/AppearanceTrapNetSubDict.tsv +2 -0
  112. data/data/pdfrb/arlington/latest/ArrayOf3DCrossSection.tsv +2 -0
  113. data/data/pdfrb/arlington/latest/ArrayOf3DMeasure.tsv +2 -0
  114. data/data/pdfrb/arlington/latest/ArrayOf3DNode.tsv +2 -0
  115. data/data/pdfrb/arlington/latest/ArrayOf3DTransMatrix.tsv +13 -0
  116. data/data/pdfrb/arlington/latest/ArrayOf3DView.tsv +2 -0
  117. data/data/pdfrb/arlington/latest/ArrayOf3DViewAddEntries.tsv +2 -0
  118. data/data/pdfrb/arlington/latest/ArrayOf3PDUNames.tsv +4 -0
  119. data/data/pdfrb/arlington/latest/ArrayOf4Functions.tsv +5 -0
  120. data/data/pdfrb/arlington/latest/ArrayOfAFFileSpecifications.tsv +3 -0
  121. data/data/pdfrb/arlington/latest/ArrayOfActionHideAnnots.tsv +2 -0
  122. data/data/pdfrb/arlington/latest/ArrayOfActions.tsv +2 -0
  123. data/data/pdfrb/arlington/latest/ArrayOfAnnotStates.tsv +2 -0
  124. data/data/pdfrb/arlington/latest/ArrayOfAnnots.tsv +2 -0
  125. data/data/pdfrb/arlington/latest/ArrayOfArraysInkList.tsv +2 -0
  126. data/data/pdfrb/arlington/latest/ArrayOfArraysPaths.tsv +3 -0
  127. data/data/pdfrb/arlington/latest/ArrayOfArraysRBGroups.tsv +2 -0
  128. data/data/pdfrb/arlington/latest/ArrayOfArraysURLStrings.tsv +2 -0
  129. data/data/pdfrb/arlington/latest/ArrayOfArraysXPTSValues.tsv +2 -0
  130. data/data/pdfrb/arlington/latest/ArrayOfAttributeObjects.tsv +2 -0
  131. data/data/pdfrb/arlington/latest/ArrayOfAttributeRevisions.tsv +3 -0
  132. data/data/pdfrb/arlington/latest/ArrayOfBeads.tsv +2 -0
  133. data/data/pdfrb/arlington/latest/ArrayOfBlendModes.tsv +2 -0
  134. data/data/pdfrb/arlington/latest/ArrayOfBooleansGeneral.tsv +2 -0
  135. data/data/pdfrb/arlington/latest/ArrayOfCIDGlyphMetricsW.tsv +2 -0
  136. data/data/pdfrb/arlington/latest/ArrayOfCIDGlyphMetricsW2.tsv +2 -0
  137. data/data/pdfrb/arlington/latest/ArrayOfCIP4_AssemblingIntent.tsv +2 -0
  138. data/data/pdfrb/arlington/latest/ArrayOfCIP4_AssemblyItem.tsv +2 -0
  139. data/data/pdfrb/arlington/latest/ArrayOfCIP4_BindIn.tsv +2 -0
  140. data/data/pdfrb/arlington/latest/ArrayOfCIP4_BindingIntent.tsv +2 -0
  141. data/data/pdfrb/arlington/latest/ArrayOfCIP4_BlowIn.tsv +2 -0
  142. data/data/pdfrb/arlington/latest/ArrayOfCIP4_ChannelUsage.tsv +2 -0
  143. data/data/pdfrb/arlington/latest/ArrayOfCIP4_Coatings.tsv +2 -0
  144. data/data/pdfrb/arlington/latest/ArrayOfCIP4_ColorIntent.tsv +2 -0
  145. data/data/pdfrb/arlington/latest/ArrayOfCIP4_ComChannel.tsv +2 -0
  146. data/data/pdfrb/arlington/latest/ArrayOfCIP4_ContactTypes.tsv +2 -0
  147. data/data/pdfrb/arlington/latest/ArrayOfCIP4_FinishedDimensions.tsv +4 -0
  148. data/data/pdfrb/arlington/latest/ArrayOfCIP4_FoldingIntent.tsv +2 -0
  149. data/data/pdfrb/arlington/latest/ArrayOfCIP4_HoleMakingIntent.tsv +2 -0
  150. data/data/pdfrb/arlington/latest/ArrayOfCIP4_HolePattern.tsv +2 -0
  151. data/data/pdfrb/arlington/latest/ArrayOfCIP4_LABColorValue.tsv +4 -0
  152. data/data/pdfrb/arlington/latest/ArrayOfCIP4_LayoutIntent.tsv +2 -0
  153. data/data/pdfrb/arlington/latest/ArrayOfCIP4_MediaIntent.tsv +2 -0
  154. data/data/pdfrb/arlington/latest/ArrayOfCIP4_PrintProcess.tsv +2 -0
  155. data/data/pdfrb/arlington/latest/ArrayOfCIP4_ProductionIntent.tsv +2 -0
  156. data/data/pdfrb/arlington/latest/ArrayOfCIP4_Resource.tsv +2 -0
  157. data/data/pdfrb/arlington/latest/ArrayOfCIP4_StickOn.tsv +2 -0
  158. data/data/pdfrb/arlington/latest/ArrayOfClassNamesRevisions.tsv +3 -0
  159. data/data/pdfrb/arlington/latest/ArrayOfCompressionFilterNames.tsv +2 -0
  160. data/data/pdfrb/arlington/latest/ArrayOfDPartArrays.tsv +2 -0
  161. data/data/pdfrb/arlington/latest/ArrayOfDParts.tsv +2 -0
  162. data/data/pdfrb/arlington/latest/ArrayOfDashPatterns.tsv +2 -0
  163. data/data/pdfrb/arlington/latest/ArrayOfDecodeParams.tsv +2 -0
  164. data/data/pdfrb/arlington/latest/ArrayOfDescendantFonts.tsv +2 -0
  165. data/data/pdfrb/arlington/latest/ArrayOfDevExtensions.tsv +2 -0
  166. data/data/pdfrb/arlington/latest/ArrayOfDifferences.tsv +2 -0
  167. data/data/pdfrb/arlington/latest/ArrayOfDigestMethod.tsv +2 -0
  168. data/data/pdfrb/arlington/latest/ArrayOfDuration.tsv +3 -0
  169. data/data/pdfrb/arlington/latest/ArrayOfFieldChoiceOpt.tsv +2 -0
  170. data/data/pdfrb/arlington/latest/ArrayOfFieldID.tsv +2 -0
  171. data/data/pdfrb/arlington/latest/ArrayOfFields.tsv +2 -0
  172. data/data/pdfrb/arlington/latest/ArrayOfFileSpecifications.tsv +3 -0
  173. data/data/pdfrb/arlington/latest/ArrayOfFilterNames.tsv +2 -0
  174. data/data/pdfrb/arlington/latest/ArrayOfFontAndSize.tsv +3 -0
  175. data/data/pdfrb/arlington/latest/ArrayOfFonts.tsv +2 -0
  176. data/data/pdfrb/arlington/latest/ArrayOfFunctions.tsv +2 -0
  177. data/data/pdfrb/arlington/latest/ArrayOfGSPDashPatterns.tsv +3 -0
  178. data/data/pdfrb/arlington/latest/ArrayOfImageAlternates.tsv +2 -0
  179. data/data/pdfrb/arlington/latest/ArrayOfIndirectFileSpecifications.tsv +2 -0
  180. data/data/pdfrb/arlington/latest/ArrayOfIntegersGeneral.tsv +2 -0
  181. data/data/pdfrb/arlington/latest/ArrayOfIntegersGreaterThanZero.tsv +2 -0
  182. data/data/pdfrb/arlington/latest/ArrayOfMediaPlayerInfo.tsv +2 -0
  183. data/data/pdfrb/arlington/latest/ArrayOfNamesForEnforce.tsv +2 -0
  184. data/data/pdfrb/arlington/latest/ArrayOfNamesForPrintingOrder.tsv +2 -0
  185. data/data/pdfrb/arlington/latest/ArrayOfNamesForProcSet.tsv +2 -0
  186. data/data/pdfrb/arlington/latest/ArrayOfNamesGeneral.tsv +2 -0
  187. data/data/pdfrb/arlington/latest/ArrayOfNamesInPtData.tsv +2 -0
  188. data/data/pdfrb/arlington/latest/ArrayOfNamespace.tsv +2 -0
  189. data/data/pdfrb/arlington/latest/ArrayOfNavigatorLayoutNames.tsv +2 -0
  190. data/data/pdfrb/arlington/latest/ArrayOfNonNegativeIntegersGeneral.tsv +2 -0
  191. data/data/pdfrb/arlington/latest/ArrayOfNumberFormats.tsv +2 -0
  192. data/data/pdfrb/arlington/latest/ArrayOfNumbersGeneral.tsv +2 -0
  193. data/data/pdfrb/arlington/latest/ArrayOfOCConfig.tsv +2 -0
  194. data/data/pdfrb/arlington/latest/ArrayOfOCG.tsv +2 -0
  195. data/data/pdfrb/arlington/latest/ArrayOfOCGState.tsv +2 -0
  196. data/data/pdfrb/arlington/latest/ArrayOfOCGindirect.tsv +2 -0
  197. data/data/pdfrb/arlington/latest/ArrayOfOCUsage.tsv +2 -0
  198. data/data/pdfrb/arlington/latest/ArrayOfOPI13Color.tsv +6 -0
  199. data/data/pdfrb/arlington/latest/ArrayOfOPI2Inks.tsv +4 -0
  200. data/data/pdfrb/arlington/latest/ArrayOfOptContentGroups.tsv +2 -0
  201. data/data/pdfrb/arlington/latest/ArrayOfOptContentOrderElements.tsv +2 -0
  202. data/data/pdfrb/arlington/latest/ArrayOfOptContentOrders.tsv +3 -0
  203. data/data/pdfrb/arlington/latest/ArrayOfOutputIntents.tsv +2 -0
  204. data/data/pdfrb/arlington/latest/ArrayOfPageTreeNodeKids.tsv +2 -0
  205. data/data/pdfrb/arlington/latest/ArrayOfPages.tsv +2 -0
  206. data/data/pdfrb/arlington/latest/ArrayOfPaths.tsv +7 -0
  207. data/data/pdfrb/arlington/latest/ArrayOfQuadPoints.tsv +9 -0
  208. data/data/pdfrb/arlington/latest/ArrayOfRenditions.tsv +2 -0
  209. data/data/pdfrb/arlington/latest/ArrayOfRequirements.tsv +2 -0
  210. data/data/pdfrb/arlington/latest/ArrayOfRequirementsHandlers.tsv +2 -0
  211. data/data/pdfrb/arlington/latest/ArrayOfRichMediaConfiguration.tsv +2 -0
  212. data/data/pdfrb/arlington/latest/ArrayOfRichMediaCuePoints.tsv +2 -0
  213. data/data/pdfrb/arlington/latest/ArrayOfRichMediaInstances.tsv +2 -0
  214. data/data/pdfrb/arlington/latest/ArrayOfSignatureReferences.tsv +2 -0
  215. data/data/pdfrb/arlington/latest/ArrayOfSignatureSubFilterNames.tsv +2 -0
  216. data/data/pdfrb/arlington/latest/ArrayOfSoftwareIdentifiers.tsv +2 -0
  217. data/data/pdfrb/arlington/latest/ArrayOfSoftwareVersions.tsv +2 -0
  218. data/data/pdfrb/arlington/latest/ArrayOfSourceInformation.tsv +2 -0
  219. data/data/pdfrb/arlington/latest/ArrayOfStreamsGeneral.tsv +2 -0
  220. data/data/pdfrb/arlington/latest/ArrayOfStringsASCII.tsv +2 -0
  221. data/data/pdfrb/arlington/latest/ArrayOfStringsByte.tsv +2 -0
  222. data/data/pdfrb/arlington/latest/ArrayOfStringsText.tsv +2 -0
  223. data/data/pdfrb/arlington/latest/ArrayOfStringsTextOrNames.tsv +2 -0
  224. data/data/pdfrb/arlington/latest/ArrayOfStructElem.tsv +2 -0
  225. data/data/pdfrb/arlington/latest/ArrayOfStructElemKids.tsv +2 -0
  226. data/data/pdfrb/arlington/latest/ArrayOfStructElemParentTree.tsv +2 -0
  227. data/data/pdfrb/arlington/latest/ArrayOfSubjectDN.tsv +2 -0
  228. data/data/pdfrb/arlington/latest/ArrayOfTags.tsv +3 -0
  229. data/data/pdfrb/arlington/latest/ArrayOfThreads.tsv +2 -0
  230. data/data/pdfrb/arlington/latest/ArrayOfTrapNetVersionObjects.tsv +2 -0
  231. data/data/pdfrb/arlington/latest/ArrayOfTrapRegions.tsv +2 -0
  232. data/data/pdfrb/arlington/latest/ArrayOfURLStrings.tsv +2 -0
  233. data/data/pdfrb/arlington/latest/ArrayOfURLs.tsv +2 -0
  234. data/data/pdfrb/arlington/latest/ArrayOfUserProperty.tsv +2 -0
  235. data/data/pdfrb/arlington/latest/ArrayOfViewParams.tsv +2 -0
  236. data/data/pdfrb/arlington/latest/ArrayOfViewports.tsv +2 -0
  237. data/data/pdfrb/arlington/latest/ArrayOfWebCaptureCommands.tsv +2 -0
  238. data/data/pdfrb/arlington/latest/ArrayOfWebCaptureImages.tsv +2 -0
  239. data/data/pdfrb/arlington/latest/ArrayOfWebCapturePages.tsv +2 -0
  240. data/data/pdfrb/arlington/latest/ArrayOfXFA.tsv +3 -0
  241. data/data/pdfrb/arlington/latest/ArrayOfXPTSValues.tsv +2 -0
  242. data/data/pdfrb/arlington/latest/ArrayOfXRefIndexIntegers.tsv +3 -0
  243. data/data/pdfrb/arlington/latest/ArrayOfXRefWIntegers.tsv +4 -0
  244. data/data/pdfrb/arlington/latest/ArrayOf_2Booleans.tsv +3 -0
  245. data/data/pdfrb/arlington/latest/ArrayOf_2DashNumbers.tsv +3 -0
  246. data/data/pdfrb/arlington/latest/ArrayOf_2Integers.tsv +3 -0
  247. data/data/pdfrb/arlington/latest/ArrayOf_2LineEndingsNames.tsv +3 -0
  248. data/data/pdfrb/arlington/latest/ArrayOf_2NonNegativeIntegers.tsv +3 -0
  249. data/data/pdfrb/arlington/latest/ArrayOf_2Numbers.tsv +3 -0
  250. data/data/pdfrb/arlington/latest/ArrayOf_2StringsByte.tsv +3 -0
  251. data/data/pdfrb/arlington/latest/ArrayOf_2StringsText.tsv +3 -0
  252. data/data/pdfrb/arlington/latest/ArrayOf_3CenterOfRotationNumbers.tsv +4 -0
  253. data/data/pdfrb/arlington/latest/ArrayOf_3NonNegativeIntegers.tsv +4 -0
  254. data/data/pdfrb/arlington/latest/ArrayOf_3Numbers.tsv +4 -0
  255. data/data/pdfrb/arlington/latest/ArrayOf_3OrientationNumbers.tsv +4 -0
  256. data/data/pdfrb/arlington/latest/ArrayOf_3RGBNumbers.tsv +4 -0
  257. data/data/pdfrb/arlington/latest/ArrayOf_3or4CalloutLineNumbers.tsv +7 -0
  258. data/data/pdfrb/arlington/latest/ArrayOf_4AnnotBorderCharacteristics.tsv +5 -0
  259. data/data/pdfrb/arlington/latest/ArrayOf_4BorderColorArrays.tsv +5 -0
  260. data/data/pdfrb/arlington/latest/ArrayOf_4BorderStyleNames.tsv +5 -0
  261. data/data/pdfrb/arlington/latest/ArrayOf_4BorderThicknessNumbers.tsv +5 -0
  262. data/data/pdfrb/arlington/latest/ArrayOf_4ColourSpaceEntries.tsv +5 -0
  263. data/data/pdfrb/arlington/latest/ArrayOf_4Integers.tsv +5 -0
  264. data/data/pdfrb/arlington/latest/ArrayOf_4Numbers.tsv +5 -0
  265. data/data/pdfrb/arlington/latest/ArrayOf_4NumbersColorAnnotation.tsv +5 -0
  266. data/data/pdfrb/arlington/latest/ArrayOf_6Numbers.tsv +7 -0
  267. data/data/pdfrb/arlington/latest/ArrayOf_8Numbers.tsv +9 -0
  268. data/data/pdfrb/arlington/latest/ArrayOf_9Numbers.tsv +10 -0
  269. data/data/pdfrb/arlington/latest/ArrayOf_ArrayOfNumbers.tsv +2 -0
  270. data/data/pdfrb/arlington/latest/ArrayOf_RoleMapNS.tsv +3 -0
  271. data/data/pdfrb/arlington/latest/AuthCode.tsv +5 -0
  272. data/data/pdfrb/arlington/latest/Bead.tsv +7 -0
  273. data/data/pdfrb/arlington/latest/BeadFirst.tsv +7 -0
  274. data/data/pdfrb/arlington/latest/BlackpointArray.tsv +4 -0
  275. data/data/pdfrb/arlington/latest/BorderEffect.tsv +3 -0
  276. data/data/pdfrb/arlington/latest/BorderStyle.tsv +5 -0
  277. data/data/pdfrb/arlington/latest/BoxColorInfo.tsv +5 -0
  278. data/data/pdfrb/arlington/latest/BoxStyle.tsv +5 -0
  279. data/data/pdfrb/arlington/latest/CIDFontDescriptorMetrics.tsv +17 -0
  280. data/data/pdfrb/arlington/latest/CIDSystemInfo.tsv +4 -0
  281. data/data/pdfrb/arlington/latest/CIP4_Address.tsv +13 -0
  282. data/data/pdfrb/arlington/latest/CIP4_AssemblingIntent.tsv +7 -0
  283. data/data/pdfrb/arlington/latest/CIP4_AssemblyItem.tsv +3 -0
  284. data/data/pdfrb/arlington/latest/CIP4_BindIn.tsv +3 -0
  285. data/data/pdfrb/arlington/latest/CIP4_BindingIntent.tsv +6 -0
  286. data/data/pdfrb/arlington/latest/CIP4_BlowIn.tsv +3 -0
  287. data/data/pdfrb/arlington/latest/CIP4_ColorIntent.tsv +3 -0
  288. data/data/pdfrb/arlington/latest/CIP4_ComChannel.tsv +6 -0
  289. data/data/pdfrb/arlington/latest/CIP4_Company.tsv +5 -0
  290. data/data/pdfrb/arlington/latest/CIP4_Contact.tsv +8 -0
  291. data/data/pdfrb/arlington/latest/CIP4_FoldingIntent.tsv +4 -0
  292. data/data/pdfrb/arlington/latest/CIP4_HoleMakingIntent.tsv +3 -0
  293. data/data/pdfrb/arlington/latest/CIP4_HolePattern.tsv +4 -0
  294. data/data/pdfrb/arlington/latest/CIP4_Intent.tsv +11 -0
  295. data/data/pdfrb/arlington/latest/CIP4_IntentSummary.tsv +10 -0
  296. data/data/pdfrb/arlington/latest/CIP4_LayoutIntent.tsv +5 -0
  297. data/data/pdfrb/arlington/latest/CIP4_MediaIntent.tsv +11 -0
  298. data/data/pdfrb/arlington/latest/CIP4_Metadata.tsv +11 -0
  299. data/data/pdfrb/arlington/latest/CIP4_Person.tsv +10 -0
  300. data/data/pdfrb/arlington/latest/CIP4_Production.tsv +5 -0
  301. data/data/pdfrb/arlington/latest/CIP4_ProductionIntent.tsv +4 -0
  302. data/data/pdfrb/arlington/latest/CIP4_Recipient.tsv +3 -0
  303. data/data/pdfrb/arlington/latest/CIP4_Root.tsv +9 -0
  304. data/data/pdfrb/arlington/latest/CIP4_SaddleStitching.tsv +3 -0
  305. data/data/pdfrb/arlington/latest/CIP4_SideStitching.tsv +3 -0
  306. data/data/pdfrb/arlington/latest/CIP4_StickOn.tsv +3 -0
  307. data/data/pdfrb/arlington/latest/CMapStream.tsv +13 -0
  308. data/data/pdfrb/arlington/latest/CalGrayColorSpace.tsv +3 -0
  309. data/data/pdfrb/arlington/latest/CalGrayDict.tsv +4 -0
  310. data/data/pdfrb/arlington/latest/CalRGBColorSpace.tsv +3 -0
  311. data/data/pdfrb/arlington/latest/CalRGBDict.tsv +5 -0
  312. data/data/pdfrb/arlington/latest/Catalog.tsv +33 -0
  313. data/data/pdfrb/arlington/latest/CertSeedValue.tsv +14 -0
  314. data/data/pdfrb/arlington/latest/CharProcMap.tsv +2 -0
  315. data/data/pdfrb/arlington/latest/ClassMap.tsv +2 -0
  316. data/data/pdfrb/arlington/latest/Collection.tsv +11 -0
  317. data/data/pdfrb/arlington/latest/CollectionColors.tsv +7 -0
  318. data/data/pdfrb/arlington/latest/CollectionField.tsv +7 -0
  319. data/data/pdfrb/arlington/latest/CollectionFolder.tsv +13 -0
  320. data/data/pdfrb/arlington/latest/CollectionItem.tsv +3 -0
  321. data/data/pdfrb/arlington/latest/CollectionSchema.tsv +3 -0
  322. data/data/pdfrb/arlington/latest/CollectionSort.tsv +4 -0
  323. data/data/pdfrb/arlington/latest/CollectionSplit.tsv +4 -0
  324. data/data/pdfrb/arlington/latest/CollectionSubitem.tsv +4 -0
  325. data/data/pdfrb/arlington/latest/ColorSpaceMap.tsv +5 -0
  326. data/data/pdfrb/arlington/latest/ColorantsDict.tsv +2 -0
  327. data/data/pdfrb/arlington/latest/CryptFilter.tsv +5 -0
  328. data/data/pdfrb/arlington/latest/CryptFilterMap.tsv +4 -0
  329. data/data/pdfrb/arlington/latest/CryptFilterPublicKey.tsv +7 -0
  330. data/data/pdfrb/arlington/latest/CryptFilterPublicKeyMap.tsv +4 -0
  331. data/data/pdfrb/arlington/latest/DPM.tsv +5 -0
  332. data/data/pdfrb/arlington/latest/DPart.tsv +8 -0
  333. data/data/pdfrb/arlington/latest/DPartRoot.tsv +5 -0
  334. data/data/pdfrb/arlington/latest/DSS.tsv +6 -0
  335. data/data/pdfrb/arlington/latest/Data.tsv +4 -0
  336. data/data/pdfrb/arlington/latest/Dest0Array.tsv +3 -0
  337. data/data/pdfrb/arlington/latest/Dest0StructArray.tsv +3 -0
  338. data/data/pdfrb/arlington/latest/Dest1Array.tsv +4 -0
  339. data/data/pdfrb/arlington/latest/Dest1StructArray.tsv +4 -0
  340. data/data/pdfrb/arlington/latest/Dest4Array.tsv +7 -0
  341. data/data/pdfrb/arlington/latest/Dest4StructArray.tsv +7 -0
  342. data/data/pdfrb/arlington/latest/DestDict.tsv +3 -0
  343. data/data/pdfrb/arlington/latest/DestOutputProfileRef.tsv +7 -0
  344. data/data/pdfrb/arlington/latest/DestXYZArray.tsv +6 -0
  345. data/data/pdfrb/arlington/latest/DestXYZStructArray.tsv +6 -0
  346. data/data/pdfrb/arlington/latest/DestsMap.tsv +2 -0
  347. data/data/pdfrb/arlington/latest/DevExtensions.tsv +6 -0
  348. data/data/pdfrb/arlington/latest/DeviceCMYKColorSpace.tsv +2 -0
  349. data/data/pdfrb/arlington/latest/DeviceGrayColorSpace.tsv +2 -0
  350. data/data/pdfrb/arlington/latest/DeviceNColorSpace.tsv +6 -0
  351. data/data/pdfrb/arlington/latest/DeviceNDict.tsv +5 -0
  352. data/data/pdfrb/arlington/latest/DeviceNMixingHints.tsv +4 -0
  353. data/data/pdfrb/arlington/latest/DeviceNProcess.tsv +3 -0
  354. data/data/pdfrb/arlington/latest/DeviceRGBColorSpace.tsv +2 -0
  355. data/data/pdfrb/arlington/latest/DictionaryOfDictionaries.tsv +2 -0
  356. data/data/pdfrb/arlington/latest/DictionaryOfFunctions.tsv +3 -0
  357. data/data/pdfrb/arlington/latest/DocInfo.tsv +13 -0
  358. data/data/pdfrb/arlington/latest/DocMDPTransformParameters.tsv +4 -0
  359. data/data/pdfrb/arlington/latest/DocTimeStamp.tsv +19 -0
  360. data/data/pdfrb/arlington/latest/EmbeddedFileParameter.tsv +6 -0
  361. data/data/pdfrb/arlington/latest/EmbeddedFileStream.tsv +12 -0
  362. data/data/pdfrb/arlington/latest/Encoding.tsv +4 -0
  363. data/data/pdfrb/arlington/latest/EncryptedPayload.tsv +4 -0
  364. data/data/pdfrb/arlington/latest/EncryptionPublicKey.tsv +13 -0
  365. data/data/pdfrb/arlington/latest/EncryptionStandard.tsv +18 -0
  366. data/data/pdfrb/arlington/latest/ExData3DMarkup.tsv +6 -0
  367. data/data/pdfrb/arlington/latest/ExDataMarkupGeo.tsv +3 -0
  368. data/data/pdfrb/arlington/latest/ExDataProjection.tsv +4 -0
  369. data/data/pdfrb/arlington/latest/Extensions.tsv +5 -0
  370. data/data/pdfrb/arlington/latest/FDDict.tsv +2 -0
  371. data/data/pdfrb/arlington/latest/Field.tsv +8 -0
  372. data/data/pdfrb/arlington/latest/FieldBtnCheckbox.tsv +16 -0
  373. data/data/pdfrb/arlington/latest/FieldBtnPush.tsv +15 -0
  374. data/data/pdfrb/arlington/latest/FieldBtnRadio.tsv +16 -0
  375. data/data/pdfrb/arlington/latest/FieldChoice.tsv +18 -0
  376. data/data/pdfrb/arlington/latest/FieldMDPTransformParameters.tsv +5 -0
  377. data/data/pdfrb/arlington/latest/FieldSig.tsv +17 -0
  378. data/data/pdfrb/arlington/latest/FieldTx.tsv +16 -0
  379. data/data/pdfrb/arlington/latest/FileSpecEF.tsv +3 -0
  380. data/data/pdfrb/arlington/latest/FileSpecRF.tsv +3 -0
  381. data/data/pdfrb/arlington/latest/FileSpecification.tsv +17 -0
  382. data/data/pdfrb/arlington/latest/FileTrailer.tsv +11 -0
  383. data/data/pdfrb/arlington/latest/FilterCCITTFaxDecode.tsv +10 -0
  384. data/data/pdfrb/arlington/latest/FilterCrypt.tsv +3 -0
  385. data/data/pdfrb/arlington/latest/FilterDCTDecode.tsv +2 -0
  386. data/data/pdfrb/arlington/latest/FilterFlateDecode.tsv +5 -0
  387. data/data/pdfrb/arlington/latest/FilterJBIG2Decode.tsv +2 -0
  388. data/data/pdfrb/arlington/latest/FilterLZWDecode.tsv +6 -0
  389. data/data/pdfrb/arlington/latest/FixedPrint.tsv +5 -0
  390. data/data/pdfrb/arlington/latest/FloatingWindowParameters.tsv +10 -0
  391. data/data/pdfrb/arlington/latest/FontCIDType0.tsv +12 -0
  392. data/data/pdfrb/arlington/latest/FontCIDType2.tsv +12 -0
  393. data/data/pdfrb/arlington/latest/FontDescriptorCIDType0.tsv +25 -0
  394. data/data/pdfrb/arlington/latest/FontDescriptorCIDType2.tsv +26 -0
  395. data/data/pdfrb/arlington/latest/FontDescriptorTrueType.tsv +22 -0
  396. data/data/pdfrb/arlington/latest/FontDescriptorType1.tsv +22 -0
  397. data/data/pdfrb/arlington/latest/FontDescriptorType3.tsv +19 -0
  398. data/data/pdfrb/arlington/latest/FontFile.tsv +13 -0
  399. data/data/pdfrb/arlington/latest/FontFile2.tsv +13 -0
  400. data/data/pdfrb/arlington/latest/FontFile3CIDType0.tsv +13 -0
  401. data/data/pdfrb/arlington/latest/FontFile3OpenType.tsv +13 -0
  402. data/data/pdfrb/arlington/latest/FontFile3Type1.tsv +13 -0
  403. data/data/pdfrb/arlington/latest/FontFileType1.tsv +13 -0
  404. data/data/pdfrb/arlington/latest/FontMap.tsv +2 -0
  405. data/data/pdfrb/arlington/latest/FontMultipleMaster.tsv +11 -0
  406. data/data/pdfrb/arlington/latest/FontTrueType.tsv +11 -0
  407. data/data/pdfrb/arlington/latest/FontType0.tsv +7 -0
  408. data/data/pdfrb/arlington/latest/FontType1.tsv +11 -0
  409. data/data/pdfrb/arlington/latest/FontType3.tsv +14 -0
  410. data/data/pdfrb/arlington/latest/FunctionType0.tsv +16 -0
  411. data/data/pdfrb/arlington/latest/FunctionType2.tsv +7 -0
  412. data/data/pdfrb/arlington/latest/FunctionType3.tsv +7 -0
  413. data/data/pdfrb/arlington/latest/FunctionType4.tsv +11 -0
  414. data/data/pdfrb/arlington/latest/GTS_ProcStepsGroup.tsv +4 -0
  415. data/data/pdfrb/arlington/latest/GTSm_DevExtensions.tsv +6 -0
  416. data/data/pdfrb/arlington/latest/GammaArray.tsv +4 -0
  417. data/data/pdfrb/arlington/latest/GeographicCoordinateSystem.tsv +4 -0
  418. data/data/pdfrb/arlington/latest/GraphicsStateParameter.tsv +33 -0
  419. data/data/pdfrb/arlington/latest/GraphicsStateParameterMap.tsv +2 -0
  420. data/data/pdfrb/arlington/latest/GroupAttributes.tsv +6 -0
  421. data/data/pdfrb/arlington/latest/HalftoneType1.tsv +9 -0
  422. data/data/pdfrb/arlington/latest/HalftoneType10.tsv +14 -0
  423. data/data/pdfrb/arlington/latest/HalftoneType16.tsv +16 -0
  424. data/data/pdfrb/arlington/latest/HalftoneType5.tsv +6 -0
  425. data/data/pdfrb/arlington/latest/HalftoneType6.tsv +14 -0
  426. data/data/pdfrb/arlington/latest/ICCBasedColorSpace.tsv +3 -0
  427. data/data/pdfrb/arlington/latest/ICCProfileStream.tsv +12 -0
  428. data/data/pdfrb/arlington/latest/ISO_DevExtensions.tsv +6 -0
  429. data/data/pdfrb/arlington/latest/IconFit.tsv +5 -0
  430. data/data/pdfrb/arlington/latest/IndexedColorSpace.tsv +5 -0
  431. data/data/pdfrb/arlington/latest/InteractiveForm.tsv +9 -0
  432. data/data/pdfrb/arlington/latest/LabColorSpace.tsv +3 -0
  433. data/data/pdfrb/arlington/latest/LabDict.tsv +4 -0
  434. data/data/pdfrb/arlington/latest/LabRangeArray.tsv +5 -0
  435. data/data/pdfrb/arlington/latest/LegalAttestation.tsv +23 -0
  436. data/data/pdfrb/arlington/latest/LinearizationParameterDict.tsv +9 -0
  437. data/data/pdfrb/arlington/latest/MDPDict.tsv +2 -0
  438. data/data/pdfrb/arlington/latest/Mac.tsv +4 -0
  439. data/data/pdfrb/arlington/latest/MarkInfo.tsv +4 -0
  440. data/data/pdfrb/arlington/latest/MarkedContentReference.tsv +6 -0
  441. data/data/pdfrb/arlington/latest/MeasureGEO.tsv +10 -0
  442. data/data/pdfrb/arlington/latest/MeasureRL.tsv +12 -0
  443. data/data/pdfrb/arlington/latest/MediaClipData.tsv +11 -0
  444. data/data/pdfrb/arlington/latest/MediaClipDataMHBE.tsv +2 -0
  445. data/data/pdfrb/arlington/latest/MediaClipSection.tsv +8 -0
  446. data/data/pdfrb/arlington/latest/MediaClipSectionMHBE.tsv +3 -0
  447. data/data/pdfrb/arlington/latest/MediaCriteria.tsv +12 -0
  448. data/data/pdfrb/arlington/latest/MediaDuration.tsv +4 -0
  449. data/data/pdfrb/arlington/latest/MediaOffsetFrame.tsv +4 -0
  450. data/data/pdfrb/arlington/latest/MediaOffsetMarker.tsv +4 -0
  451. data/data/pdfrb/arlington/latest/MediaOffsetTime.tsv +4 -0
  452. data/data/pdfrb/arlington/latest/MediaPermissions.tsv +3 -0
  453. data/data/pdfrb/arlington/latest/MediaPlayParameters.tsv +5 -0
  454. data/data/pdfrb/arlington/latest/MediaPlayParametersBE.tsv +7 -0
  455. data/data/pdfrb/arlington/latest/MediaPlayParametersMH.tsv +7 -0
  456. data/data/pdfrb/arlington/latest/MediaPlayerInfo.tsv +5 -0
  457. data/data/pdfrb/arlington/latest/MediaPlayers.tsv +5 -0
  458. data/data/pdfrb/arlington/latest/MediaScreenParameters.tsv +4 -0
  459. data/data/pdfrb/arlington/latest/MediaScreenParametersMHBE.tsv +6 -0
  460. data/data/pdfrb/arlington/latest/Metadata.tsv +10 -0
  461. data/data/pdfrb/arlington/latest/MicrosoftWindowsLaunchParam.tsv +5 -0
  462. data/data/pdfrb/arlington/latest/MinimumBitDepth.tsv +4 -0
  463. data/data/pdfrb/arlington/latest/MinimumScreenSize.tsv +4 -0
  464. data/data/pdfrb/arlington/latest/Movie.tsv +5 -0
  465. data/data/pdfrb/arlington/latest/MovieActivation.tsv +10 -0
  466. data/data/pdfrb/arlington/latest/Name.tsv +12 -0
  467. data/data/pdfrb/arlington/latest/Namespace.tsv +5 -0
  468. data/data/pdfrb/arlington/latest/NavNode.tsv +7 -0
  469. data/data/pdfrb/arlington/latest/Navigator.tsv +16 -0
  470. data/data/pdfrb/arlington/latest/NumberFormat.tsv +12 -0
  471. data/data/pdfrb/arlington/latest/OOAdditionalStmsArray.tsv +3 -0
  472. data/data/pdfrb/arlington/latest/OPIVersion13.tsv +2 -0
  473. data/data/pdfrb/arlington/latest/OPIVersion13Dict.tsv +19 -0
  474. data/data/pdfrb/arlington/latest/OPIVersion20.tsv +2 -0
  475. data/data/pdfrb/arlington/latest/OPIVersion20Dict.tsv +12 -0
  476. data/data/pdfrb/arlington/latest/ObjectReference.tsv +4 -0
  477. data/data/pdfrb/arlington/latest/ObjectStream.tsv +12 -0
  478. data/data/pdfrb/arlington/latest/OptContentConfig.tsv +12 -0
  479. data/data/pdfrb/arlington/latest/OptContentCreatorInfo.tsv +4 -0
  480. data/data/pdfrb/arlington/latest/OptContentExport.tsv +2 -0
  481. data/data/pdfrb/arlington/latest/OptContentGroup.tsv +6 -0
  482. data/data/pdfrb/arlington/latest/OptContentLanguage.tsv +3 -0
  483. data/data/pdfrb/arlington/latest/OptContentMembership.tsv +5 -0
  484. data/data/pdfrb/arlington/latest/OptContentPageElement.tsv +2 -0
  485. data/data/pdfrb/arlington/latest/OptContentPrint.tsv +3 -0
  486. data/data/pdfrb/arlington/latest/OptContentProperties.tsv +4 -0
  487. data/data/pdfrb/arlington/latest/OptContentUsage.tsv +9 -0
  488. data/data/pdfrb/arlington/latest/OptContentUsageApplication.tsv +4 -0
  489. data/data/pdfrb/arlington/latest/OptContentUser.tsv +3 -0
  490. data/data/pdfrb/arlington/latest/OptContentView.tsv +2 -0
  491. data/data/pdfrb/arlington/latest/OptContentZoom.tsv +3 -0
  492. data/data/pdfrb/arlington/latest/Outline.tsv +5 -0
  493. data/data/pdfrb/arlington/latest/OutlineItem.tsv +13 -0
  494. data/data/pdfrb/arlington/latest/OutputIntents.tsv +11 -0
  495. data/data/pdfrb/arlington/latest/PageLabel.tsv +5 -0
  496. data/data/pdfrb/arlington/latest/PageObject.tsv +35 -0
  497. data/data/pdfrb/arlington/latest/PagePiece.tsv +2 -0
  498. data/data/pdfrb/arlington/latest/PageTreeNode.tsv +9 -0
  499. data/data/pdfrb/arlington/latest/PageTreeNodeRoot.tsv +8 -0
  500. data/data/pdfrb/arlington/latest/PaperMetaData.tsv +13 -0
  501. data/data/pdfrb/arlington/latest/PatternColorSpace.tsv +3 -0
  502. data/data/pdfrb/arlington/latest/PatternMap.tsv +2 -0
  503. data/data/pdfrb/arlington/latest/PatternType1.tsv +18 -0
  504. data/data/pdfrb/arlington/latest/PatternType2.tsv +6 -0
  505. data/data/pdfrb/arlington/latest/Permissions.tsv +3 -0
  506. data/data/pdfrb/arlington/latest/PointData.tsv +5 -0
  507. data/data/pdfrb/arlington/latest/ProjectedCoordinateSystem.tsv +4 -0
  508. data/data/pdfrb/arlington/latest/Projection.tsv +9 -0
  509. data/data/pdfrb/arlington/latest/Reference.tsv +4 -0
  510. data/data/pdfrb/arlington/latest/RelatedFilesArray.tsv +3 -0
  511. data/data/pdfrb/arlington/latest/RenditionBE.tsv +2 -0
  512. data/data/pdfrb/arlington/latest/RenditionMH.tsv +2 -0
  513. data/data/pdfrb/arlington/latest/RenditionMedia.tsv +9 -0
  514. data/data/pdfrb/arlington/latest/RenditionSelector.tsv +7 -0
  515. data/data/pdfrb/arlington/latest/Requirements3DMarkup.tsv +6 -0
  516. data/data/pdfrb/arlington/latest/RequirementsAcroFormInteract.tsv +6 -0
  517. data/data/pdfrb/arlington/latest/RequirementsAction.tsv +6 -0
  518. data/data/pdfrb/arlington/latest/RequirementsAttachment.tsv +6 -0
  519. data/data/pdfrb/arlington/latest/RequirementsAttachmentEditing.tsv +6 -0
  520. data/data/pdfrb/arlington/latest/RequirementsCollection.tsv +6 -0
  521. data/data/pdfrb/arlington/latest/RequirementsCollectionEditing.tsv +6 -0
  522. data/data/pdfrb/arlington/latest/RequirementsDPartInteract.tsv +6 -0
  523. data/data/pdfrb/arlington/latest/RequirementsDigSig.tsv +7 -0
  524. data/data/pdfrb/arlington/latest/RequirementsDigSigMDP.tsv +7 -0
  525. data/data/pdfrb/arlington/latest/RequirementsDigSigValidation.tsv +7 -0
  526. data/data/pdfrb/arlington/latest/RequirementsEnableJavaScripts.tsv +6 -0
  527. data/data/pdfrb/arlington/latest/RequirementsEncryption.tsv +7 -0
  528. data/data/pdfrb/arlington/latest/RequirementsGeospatial2D.tsv +6 -0
  529. data/data/pdfrb/arlington/latest/RequirementsGeospatial3D.tsv +6 -0
  530. data/data/pdfrb/arlington/latest/RequirementsHandler.tsv +4 -0
  531. data/data/pdfrb/arlington/latest/RequirementsMarkup.tsv +6 -0
  532. data/data/pdfrb/arlington/latest/RequirementsMultimedia.tsv +6 -0
  533. data/data/pdfrb/arlington/latest/RequirementsNavigation.tsv +6 -0
  534. data/data/pdfrb/arlington/latest/RequirementsOCAutoStates.tsv +6 -0
  535. data/data/pdfrb/arlington/latest/RequirementsOCInteract.tsv +6 -0
  536. data/data/pdfrb/arlington/latest/RequirementsPRC.tsv +6 -0
  537. data/data/pdfrb/arlington/latest/RequirementsRichMedia.tsv +6 -0
  538. data/data/pdfrb/arlington/latest/RequirementsSTEP.tsv +6 -0
  539. data/data/pdfrb/arlington/latest/RequirementsSeparationSimulation.tsv +6 -0
  540. data/data/pdfrb/arlington/latest/RequirementsTransitions.tsv +6 -0
  541. data/data/pdfrb/arlington/latest/RequirementsU3D.tsv +6 -0
  542. data/data/pdfrb/arlington/latest/RequirementsglTF.tsv +6 -0
  543. data/data/pdfrb/arlington/latest/Resource.tsv +10 -0
  544. data/data/pdfrb/arlington/latest/RichMediaActivation.tsv +8 -0
  545. data/data/pdfrb/arlington/latest/RichMediaAnimation.tsv +6 -0
  546. data/data/pdfrb/arlington/latest/RichMediaCommand.tsv +4 -0
  547. data/data/pdfrb/arlington/latest/RichMediaCommandArray.tsv +2 -0
  548. data/data/pdfrb/arlington/latest/RichMediaConfiguration.tsv +5 -0
  549. data/data/pdfrb/arlington/latest/RichMediaContent.tsv +5 -0
  550. data/data/pdfrb/arlington/latest/RichMediaCuePoint.tsv +6 -0
  551. data/data/pdfrb/arlington/latest/RichMediaDeactivation.tsv +3 -0
  552. data/data/pdfrb/arlington/latest/RichMediaHeight.tsv +4 -0
  553. data/data/pdfrb/arlington/latest/RichMediaInstance.tsv +6 -0
  554. data/data/pdfrb/arlington/latest/RichMediaParams.tsv +7 -0
  555. data/data/pdfrb/arlington/latest/RichMediaPosition.tsv +6 -0
  556. data/data/pdfrb/arlington/latest/RichMediaPresentation.tsv +8 -0
  557. data/data/pdfrb/arlington/latest/RichMediaSettings.tsv +4 -0
  558. data/data/pdfrb/arlington/latest/RichMediaWidth.tsv +4 -0
  559. data/data/pdfrb/arlington/latest/RichMediaWindow.tsv +5 -0
  560. data/data/pdfrb/arlington/latest/RoleMap.tsv +2 -0
  561. data/data/pdfrb/arlington/latest/RoleMapNS.tsv +2 -0
  562. data/data/pdfrb/arlington/latest/Separation.tsv +4 -0
  563. data/data/pdfrb/arlington/latest/SeparationColorSpace.tsv +5 -0
  564. data/data/pdfrb/arlington/latest/ShadingMap.tsv +2 -0
  565. data/data/pdfrb/arlington/latest/ShadingType1.tsv +9 -0
  566. data/data/pdfrb/arlington/latest/ShadingType2.tsv +10 -0
  567. data/data/pdfrb/arlington/latest/ShadingType3.tsv +10 -0
  568. data/data/pdfrb/arlington/latest/ShadingType4.tsv +18 -0
  569. data/data/pdfrb/arlington/latest/ShadingType5.tsv +18 -0
  570. data/data/pdfrb/arlington/latest/ShadingType6.tsv +18 -0
  571. data/data/pdfrb/arlington/latest/ShadingType7.tsv +18 -0
  572. data/data/pdfrb/arlington/latest/SigFieldLock.tsv +5 -0
  573. data/data/pdfrb/arlington/latest/SigFieldSeedValue.tsv +15 -0
  574. data/data/pdfrb/arlington/latest/Signature.tsv +20 -0
  575. data/data/pdfrb/arlington/latest/SignatureBuildDataAppDict.tsv +10 -0
  576. data/data/pdfrb/arlington/latest/SignatureBuildDataDict.tsv +9 -0
  577. data/data/pdfrb/arlington/latest/SignatureBuildDataSigQDict.tsv +10 -0
  578. data/data/pdfrb/arlington/latest/SignatureBuildPropDict.tsv +5 -0
  579. data/data/pdfrb/arlington/latest/SignatureReferenceDocMDP.tsv +8 -0
  580. data/data/pdfrb/arlington/latest/SignatureReferenceFieldMDP.tsv +8 -0
  581. data/data/pdfrb/arlington/latest/SignatureReferenceIdentity.tsv +7 -0
  582. data/data/pdfrb/arlington/latest/SignatureReferenceUR.tsv +8 -0
  583. data/data/pdfrb/arlington/latest/SlideShow.tsv +5 -0
  584. data/data/pdfrb/arlington/latest/SoftMaskAlpha.tsv +6 -0
  585. data/data/pdfrb/arlington/latest/SoftMaskLuminosity.tsv +6 -0
  586. data/data/pdfrb/arlington/latest/SoftwareIdentifier.tsv +8 -0
  587. data/data/pdfrb/arlington/latest/Solidities.tsv +3 -0
  588. data/data/pdfrb/arlington/latest/SoundObject.tsv +15 -0
  589. data/data/pdfrb/arlington/latest/SourceInformation.tsv +6 -0
  590. data/data/pdfrb/arlington/latest/SpectralData.tsv +2 -0
  591. data/data/pdfrb/arlington/latest/Stream.tsv +8 -0
  592. data/data/pdfrb/arlington/latest/StructElem.tsv +20 -0
  593. data/data/pdfrb/arlington/latest/StructTreeRoot.tsv +11 -0
  594. data/data/pdfrb/arlington/latest/StructureAttributesDict.tsv +54 -0
  595. data/data/pdfrb/arlington/latest/StyleDict.tsv +2 -0
  596. data/data/pdfrb/arlington/latest/SubjectDN.tsv +2 -0
  597. data/data/pdfrb/arlington/latest/Target.tsv +6 -0
  598. data/data/pdfrb/arlington/latest/TargetEmbedded.tsv +6 -0
  599. data/data/pdfrb/arlington/latest/Thread.tsv +5 -0
  600. data/data/pdfrb/arlington/latest/Thumbnail.tsv +15 -0
  601. data/data/pdfrb/arlington/latest/TimeStampDict.tsv +3 -0
  602. data/data/pdfrb/arlington/latest/Timespan.tsv +4 -0
  603. data/data/pdfrb/arlington/latest/ToUnicodeCMapStream.tsv +13 -0
  604. data/data/pdfrb/arlington/latest/TrailerIDArray.tsv +3 -0
  605. data/data/pdfrb/arlington/latest/Transition.tsv +9 -0
  606. data/data/pdfrb/arlington/latest/TrapRegion.tsv +3 -0
  607. data/data/pdfrb/arlington/latest/URI.tsv +2 -0
  608. data/data/pdfrb/arlington/latest/URLAlias.tsv +3 -0
  609. data/data/pdfrb/arlington/latest/URTransformParamAnnotsArray.tsv +2 -0
  610. data/data/pdfrb/arlington/latest/URTransformParamDocumentArray.tsv +2 -0
  611. data/data/pdfrb/arlington/latest/URTransformParamEFArray.tsv +2 -0
  612. data/data/pdfrb/arlington/latest/URTransformParamFormArray.tsv +2 -0
  613. data/data/pdfrb/arlington/latest/URTransformParamSignatureArray.tsv +2 -0
  614. data/data/pdfrb/arlington/latest/URTransformParameters.tsv +10 -0
  615. data/data/pdfrb/arlington/latest/UserProperty.tsv +5 -0
  616. data/data/pdfrb/arlington/latest/VRI.tsv +7 -0
  617. data/data/pdfrb/arlington/latest/VRIMap.tsv +2 -0
  618. data/data/pdfrb/arlington/latest/ViewParams.tsv +3 -0
  619. data/data/pdfrb/arlington/latest/ViewerPreferences.tsv +19 -0
  620. data/data/pdfrb/arlington/latest/Viewport.tsv +6 -0
  621. data/data/pdfrb/arlington/latest/VisibilityExpressionArray.tsv +4 -0
  622. data/data/pdfrb/arlington/latest/WebCaptureCommand.tsv +8 -0
  623. data/data/pdfrb/arlington/latest/WebCaptureCommandSettings.tsv +3 -0
  624. data/data/pdfrb/arlington/latest/WebCaptureImageSet.tsv +9 -0
  625. data/data/pdfrb/arlington/latest/WebCaptureInfo.tsv +3 -0
  626. data/data/pdfrb/arlington/latest/WebCapturePageSet.tsv +10 -0
  627. data/data/pdfrb/arlington/latest/WhitepointArray.tsv +4 -0
  628. data/data/pdfrb/arlington/latest/XObjectFormPS.tsv +10 -0
  629. data/data/pdfrb/arlington/latest/XObjectFormPSpassthrough.tsv +15 -0
  630. data/data/pdfrb/arlington/latest/XObjectFormPrinterMark.tsv +29 -0
  631. data/data/pdfrb/arlington/latest/XObjectFormTrapNet.tsv +31 -0
  632. data/data/pdfrb/arlington/latest/XObjectFormType1.tsv +32 -0
  633. data/data/pdfrb/arlington/latest/XObjectImage.tsv +35 -0
  634. data/data/pdfrb/arlington/latest/XObjectImageMask.tsv +29 -0
  635. data/data/pdfrb/arlington/latest/XObjectImageSoftMask.tsv +22 -0
  636. data/data/pdfrb/arlington/latest/XObjectMap.tsv +2 -0
  637. data/data/pdfrb/arlington/latest/XRefStream.tsv +20 -0
  638. data/data/pdfrb/arlington/latest/_UniversalArray.tsv +2 -0
  639. data/data/pdfrb/arlington/latest/_UniversalDictionary.tsv +2 -0
  640. data/data/pdfrb/glyphlist.txt +4306 -0
  641. data/data/pdfrb/zapfdingbats.txt +226 -0
  642. data/exe/pdfrb +10 -0
  643. data/lib/pdfrb/arlington/field_definition.rb +128 -0
  644. data/lib/pdfrb/arlington/loader.rb +84 -0
  645. data/lib/pdfrb/arlington/object_definition.rb +45 -0
  646. data/lib/pdfrb/arlington/pdf_version.rb +121 -0
  647. data/lib/pdfrb/arlington/predicate/ast.rb +21 -0
  648. data/lib/pdfrb/arlington/predicate/context.rb +24 -0
  649. data/lib/pdfrb/arlington/predicate/evaluator.rb +113 -0
  650. data/lib/pdfrb/arlington/predicate/functions/arithmetic.rb +67 -0
  651. data/lib/pdfrb/arlington/predicate/functions/file.rb +22 -0
  652. data/lib/pdfrb/arlington/predicate/functions/logical.rb +38 -0
  653. data/lib/pdfrb/arlington/predicate/functions/presence.rb +39 -0
  654. data/lib/pdfrb/arlington/predicate/functions/reference.rb +28 -0
  655. data/lib/pdfrb/arlington/predicate/functions/version.rb +53 -0
  656. data/lib/pdfrb/arlington/predicate/functions.rb +34 -0
  657. data/lib/pdfrb/arlington/predicate/lexer.rb +177 -0
  658. data/lib/pdfrb/arlington/predicate/parser.rb +185 -0
  659. data/lib/pdfrb/arlington/predicate.rb +22 -0
  660. data/lib/pdfrb/arlington/type.rb +41 -0
  661. data/lib/pdfrb/arlington.rb +19 -0
  662. data/lib/pdfrb/cli.rb +135 -0
  663. data/lib/pdfrb/configuration.rb +64 -0
  664. data/lib/pdfrb/conformance/pdf_a.rb +74 -0
  665. data/lib/pdfrb/conformance/pdf_ua.rb +46 -0
  666. data/lib/pdfrb/conformance.rb +11 -0
  667. data/lib/pdfrb/content/canvas.rb +248 -0
  668. data/lib/pdfrb/content/graphic_object/arc.rb +85 -0
  669. data/lib/pdfrb/content/graphic_object/curve.rb +28 -0
  670. data/lib/pdfrb/content/graphic_object/polyline.rb +27 -0
  671. data/lib/pdfrb/content/graphic_object/rectangle.rb +53 -0
  672. data/lib/pdfrb/content/graphic_object.rb +16 -0
  673. data/lib/pdfrb/content/graphics_state.rb +104 -0
  674. data/lib/pdfrb/content/operator.rb +72 -0
  675. data/lib/pdfrb/content/operators/color.rb +106 -0
  676. data/lib/pdfrb/content/operators/general.rb +50 -0
  677. data/lib/pdfrb/content/operators/graphics_state_params.rb +78 -0
  678. data/lib/pdfrb/content/operators/marked_content.rb +51 -0
  679. data/lib/pdfrb/content/operators/painting.rb +82 -0
  680. data/lib/pdfrb/content/operators/path.rb +69 -0
  681. data/lib/pdfrb/content/operators/text_positioning.rb +44 -0
  682. data/lib/pdfrb/content/operators/text_showing.rb +48 -0
  683. data/lib/pdfrb/content/operators/text_state.rb +66 -0
  684. data/lib/pdfrb/content/parser.rb +103 -0
  685. data/lib/pdfrb/content/processor.rb +81 -0
  686. data/lib/pdfrb/content.rb +38 -0
  687. data/lib/pdfrb/data_dir.rb +35 -0
  688. data/lib/pdfrb/digital_signature/handler.rb +21 -0
  689. data/lib/pdfrb/digital_signature/signing.rb +29 -0
  690. data/lib/pdfrb/digital_signature/verification.rb +22 -0
  691. data/lib/pdfrb/digital_signature.rb +11 -0
  692. data/lib/pdfrb/document/annotations.rb +44 -0
  693. data/lib/pdfrb/document/destinations.rb +22 -0
  694. data/lib/pdfrb/document/files.rb +28 -0
  695. data/lib/pdfrb/document/fonts.rb +121 -0
  696. data/lib/pdfrb/document/images.rb +57 -0
  697. data/lib/pdfrb/document/metadata.rb +64 -0
  698. data/lib/pdfrb/document/pages.rb +134 -0
  699. data/lib/pdfrb/document.rb +343 -0
  700. data/lib/pdfrb/encryption/aes.rb +68 -0
  701. data/lib/pdfrb/encryption/password_verification.rb +112 -0
  702. data/lib/pdfrb/encryption/rc4.rb +45 -0
  703. data/lib/pdfrb/encryption/security_handler.rb +65 -0
  704. data/lib/pdfrb/encryption/standard_security_handler.rb +117 -0
  705. data/lib/pdfrb/encryption.rb +20 -0
  706. data/lib/pdfrb/error.rb +92 -0
  707. data/lib/pdfrb/filter/ascii_85_decode.rb +79 -0
  708. data/lib/pdfrb/filter/ascii_hex_decode.rb +37 -0
  709. data/lib/pdfrb/filter/base.rb +32 -0
  710. data/lib/pdfrb/filter/crypt.rb +36 -0
  711. data/lib/pdfrb/filter/flate_decode.rb +137 -0
  712. data/lib/pdfrb/filter/lzw_decode.rb +124 -0
  713. data/lib/pdfrb/filter/passthrough_filters.rb +55 -0
  714. data/lib/pdfrb/filter/run_length_decode.rb +72 -0
  715. data/lib/pdfrb/filter.rb +64 -0
  716. data/lib/pdfrb/font/afm_parser.rb +84 -0
  717. data/lib/pdfrb/font/cmap/parser.rb +96 -0
  718. data/lib/pdfrb/font/cmap/writer.rb +46 -0
  719. data/lib/pdfrb/font/cmap.rb +10 -0
  720. data/lib/pdfrb/font/encoding/mac_roman_encoding.rb +25 -0
  721. data/lib/pdfrb/font/encoding/pdf_doc_encoding.rb +16 -0
  722. data/lib/pdfrb/font/encoding/standard_encoding.rb +24 -0
  723. data/lib/pdfrb/font/encoding/win_ansi_encoding.rb +25 -0
  724. data/lib/pdfrb/font/encoding/zapf_dingbats_encoding.rb +13 -0
  725. data/lib/pdfrb/font/encoding.rb +36 -0
  726. data/lib/pdfrb/font/glyph_list.rb +56 -0
  727. data/lib/pdfrb/font/true_type/cmap.rb +240 -0
  728. data/lib/pdfrb/font/true_type/file.rb +85 -0
  729. data/lib/pdfrb/font/true_type/head.rb +43 -0
  730. data/lib/pdfrb/font/true_type/hhea.rb +36 -0
  731. data/lib/pdfrb/font/true_type/hmtx.rb +58 -0
  732. data/lib/pdfrb/font/true_type/os2.rb +51 -0
  733. data/lib/pdfrb/font/true_type/subsetter.rb +28 -0
  734. data/lib/pdfrb/font/true_type.rb +14 -0
  735. data/lib/pdfrb/font/type1/font_metrics.rb +46 -0
  736. data/lib/pdfrb/font/type1.rb +9 -0
  737. data/lib/pdfrb/font.rb +18 -0
  738. data/lib/pdfrb/font_loader/true_type.rb +62 -0
  739. data/lib/pdfrb/font_loader/type1.rb +27 -0
  740. data/lib/pdfrb/font_loader.rb +10 -0
  741. data/lib/pdfrb/image_loader/jpeg.rb +90 -0
  742. data/lib/pdfrb/image_loader/pdf.rb +28 -0
  743. data/lib/pdfrb/image_loader/png.rb +282 -0
  744. data/lib/pdfrb/image_loader.rb +64 -0
  745. data/lib/pdfrb/importer.rb +78 -0
  746. data/lib/pdfrb/model/cos/dictionary.rb +310 -0
  747. data/lib/pdfrb/model/cos/fields.rb +215 -0
  748. data/lib/pdfrb/model/cos/name_encoding.rb +64 -0
  749. data/lib/pdfrb/model/cos/stream.rb +96 -0
  750. data/lib/pdfrb/model/cos/string_encoding.rb +135 -0
  751. data/lib/pdfrb/model/cos.rb +20 -0
  752. data/lib/pdfrb/model/date.rb +82 -0
  753. data/lib/pdfrb/model/matrix.rb +85 -0
  754. data/lib/pdfrb/model/object.rb +76 -0
  755. data/lib/pdfrb/model/pdf_array.rb +63 -0
  756. data/lib/pdfrb/model/rectangle.rb +54 -0
  757. data/lib/pdfrb/model/reference.rb +49 -0
  758. data/lib/pdfrb/model/type/action.rb +33 -0
  759. data/lib/pdfrb/model/type/af_embedded_file.rb +12 -0
  760. data/lib/pdfrb/model/type/af_file_specification.rb +13 -0
  761. data/lib/pdfrb/model/type/annotation.rb +50 -0
  762. data/lib/pdfrb/model/type/catalog.rb +50 -0
  763. data/lib/pdfrb/model/type/cid_font.rb +13 -0
  764. data/lib/pdfrb/model/type/embedded_file.rb +13 -0
  765. data/lib/pdfrb/model/type/encryption_public_key.rb +12 -0
  766. data/lib/pdfrb/model/type/encryption_standard.rb +12 -0
  767. data/lib/pdfrb/model/type/file_specification.rb +12 -0
  768. data/lib/pdfrb/model/type/file_trailer.rb +14 -0
  769. data/lib/pdfrb/model/type/font.rb +13 -0
  770. data/lib/pdfrb/model/type/font_descriptor.rb +12 -0
  771. data/lib/pdfrb/model/type/font_true_type.rb +12 -0
  772. data/lib/pdfrb/model/type/font_type0.rb +12 -0
  773. data/lib/pdfrb/model/type/font_type1.rb +12 -0
  774. data/lib/pdfrb/model/type/font_type3.rb +13 -0
  775. data/lib/pdfrb/model/type/graphics_state_parameter.rb +17 -0
  776. data/lib/pdfrb/model/type/info.rb +15 -0
  777. data/lib/pdfrb/model/type/interactive_form.rb +12 -0
  778. data/lib/pdfrb/model/type/metadata.rb +18 -0
  779. data/lib/pdfrb/model/type/names.rb +14 -0
  780. data/lib/pdfrb/model/type/object_stream.rb +14 -0
  781. data/lib/pdfrb/model/type/optional_content_group.rb +25 -0
  782. data/lib/pdfrb/model/type/optional_content_membership.rb +13 -0
  783. data/lib/pdfrb/model/type/optional_content_properties.rb +12 -0
  784. data/lib/pdfrb/model/type/outline.rb +20 -0
  785. data/lib/pdfrb/model/type/outline_item.rb +13 -0
  786. data/lib/pdfrb/model/type/output_intent.rb +12 -0
  787. data/lib/pdfrb/model/type/page.rb +86 -0
  788. data/lib/pdfrb/model/type/page_tree_node.rb +46 -0
  789. data/lib/pdfrb/model/type/resources.rb +53 -0
  790. data/lib/pdfrb/model/type/struct_elem.rb +15 -0
  791. data/lib/pdfrb/model/type/struct_tree_root.rb +15 -0
  792. data/lib/pdfrb/model/type/xobject_form.rb +13 -0
  793. data/lib/pdfrb/model/type/xobject_image.rb +13 -0
  794. data/lib/pdfrb/model/type/xref_stream.rb +14 -0
  795. data/lib/pdfrb/model/type.rb +78 -0
  796. data/lib/pdfrb/model.rb +27 -0
  797. data/lib/pdfrb/pdf_constants.rb +42 -0
  798. data/lib/pdfrb/serializer.rb +174 -0
  799. data/lib/pdfrb/source/header_reader.rb +34 -0
  800. data/lib/pdfrb/source/helpers.rb +25 -0
  801. data/lib/pdfrb/source/linearization_detection.rb +34 -0
  802. data/lib/pdfrb/source/object_reader.rb +132 -0
  803. data/lib/pdfrb/source/object_stream_reader.rb +32 -0
  804. data/lib/pdfrb/source/parser.rb +281 -0
  805. data/lib/pdfrb/source/recovery.rb +35 -0
  806. data/lib/pdfrb/source/token.rb +15 -0
  807. data/lib/pdfrb/source/tokenizer.rb +320 -0
  808. data/lib/pdfrb/source/tokenizer.rb.bak +320 -0
  809. data/lib/pdfrb/source/trailer_reader.rb +32 -0
  810. data/lib/pdfrb/source/xref_stream_reader.rb +52 -0
  811. data/lib/pdfrb/source/xref_table_reader.rb +72 -0
  812. data/lib/pdfrb/source.rb +24 -0
  813. data/lib/pdfrb/task/extract_images.rb +53 -0
  814. data/lib/pdfrb/task/extract_text.rb +232 -0
  815. data/lib/pdfrb/task/merge.rb +47 -0
  816. data/lib/pdfrb/task/optimize.rb +18 -0
  817. data/lib/pdfrb/task.rb +13 -0
  818. data/lib/pdfrb/version.rb +5 -0
  819. data/lib/pdfrb/writer.rb +144 -0
  820. data/lib/pdfrb/xref_section.rb +51 -0
  821. data/lib/pdfrb.rb +97 -0
  822. metadata +890 -0
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ module Content
5
+ # Walks a content stream through the operator registry, updating
6
+ # the current +GraphicsState+ and dispatching to per-operator
7
+ # hooks (paint_path, show_text, ...). Subclasses override the
8
+ # hooks to render / extract / re-emit.
9
+ #
10
+ # Mirrors HexaPDF::Content::Processor.
11
+ class Processor
12
+ attr_reader :graphics_state, :state_stack
13
+
14
+ def initialize
15
+ @graphics_state = GraphicsState.new
16
+ @state_stack = []
17
+ end
18
+
19
+ # Feed +bytes+ (or IO) through the parser, invoking each
20
+ # operator against this processor.
21
+ def process(io_or_string)
22
+ Parser.parse(io_or_string).each_invocation do |op_class, operands|
23
+ op_class.invoke(self, *operands)
24
+ end
25
+ self
26
+ end
27
+
28
+ # ---- Graphics-state stack ----
29
+
30
+ def push_graphics_state
31
+ @state_stack.push(@graphics_state)
32
+ end
33
+
34
+ def pop_graphics_state
35
+ @graphics_state = @state_stack.pop || @graphics_state
36
+ end
37
+
38
+ def update_graphics_state(**overrides)
39
+ @graphics_state = @graphics_state.with(**overrides)
40
+ end
41
+
42
+ def update_text_state(**overrides)
43
+ new_ts = @graphics_state.text_state.with(**overrides)
44
+ @graphics_state = @graphics_state.with(text_state: new_ts)
45
+ end
46
+
47
+ # ---- Text positioning ----
48
+
49
+ def move_text(tx, ty, set_leading: false, neg_leading: false)
50
+ ts = @graphics_state.text_state
51
+ ts = ts.with(leading: -ty.to_f) if set_leading && neg_leading
52
+ ts = ts.with(leading: ty.to_f) if set_leading && !neg_leading
53
+ translation = Pdfrb::Model::Matrix.translate(tx.to_f, ty.to_f)
54
+ new_line = translation * ts.line_matrix
55
+ new_text = translation * ts.text_matrix
56
+ update_text_state(line_matrix: new_line, text_matrix: new_text, leading: ts.leading)
57
+ end
58
+
59
+ def set_text_matrix(m)
60
+ update_text_state(text_matrix: m, line_matrix: m)
61
+ end
62
+
63
+ # ---- Hooks (subclasses override) ----
64
+
65
+ def show_text(_str); end
66
+ def show_text_array(_array); end
67
+ def paint_path(fill:, stroke:, close:, rule:); end
68
+ def path_move_to(_x, _y); end
69
+ def path_line_to(_x, _y); end
70
+ def path_curve_to(_p1, _p2, _p3); end
71
+ def path_close; end
72
+ def path_rectangle(_x, _y, _w, _h); end
73
+ def path_end; end
74
+ def apply_extgstate(_name); end
75
+
76
+ def begin_marked_content(_tag, _properties = nil); end
77
+ def end_marked_content; end
78
+ def marked_content_point(_tag, _properties = nil); end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ # Content-stream layer. Pages and Form XObjects carry a content
5
+ # stream: a sequence of `operands operator` instructions that draw
6
+ # graphics and text. This layer parses, walks, and emits those
7
+ # streams.
8
+ #
9
+ # Architecture mirrors HexaPDF::Content:
10
+ # * +Tokenizer+ from Source layer produces tokens (content
11
+ # streams use the same PDF object syntax as COS values).
12
+ # * +Content::Parser+ groups operands + operator into invocations.
13
+ # * +Content::Operator::Base+ subclasses implement each PDF
14
+ # operator (one file per category — open/closed via `register`).
15
+ # * +Content::Processor+ walks a stream, invoking operators
16
+ # against a +GraphicsState+ (with a stack for `q`/`Q`).
17
+ # * +Content::Canvas+ is the high-level drawing API on a Stream.
18
+ module Content
19
+ autoload :GraphicsState, "pdfrb/content/graphics_state"
20
+ autoload :Operator, "pdfrb/content/operator"
21
+ autoload :Parser, "pdfrb/content/parser"
22
+ autoload :Processor, "pdfrb/content/processor"
23
+ autoload :Canvas, "pdfrb/content/canvas"
24
+ autoload :GraphicObject, "pdfrb/content/graphic_object"
25
+ end
26
+ end
27
+
28
+ # Eager-load operator subclasses so they self-register in the
29
+ # Operator::REGISTRY. (Each file calls Operator.register at the bottom.)
30
+ require "pdfrb/content/operators/general"
31
+ require "pdfrb/content/operators/path"
32
+ require "pdfrb/content/operators/painting"
33
+ require "pdfrb/content/operators/text_state"
34
+ require "pdfrb/content/operators/text_positioning"
35
+ require "pdfrb/content/operators/text_showing"
36
+ require "pdfrb/content/operators/color"
37
+ require "pdfrb/content/operators/graphics_state_params"
38
+ require "pdfrb/content/operators/marked_content"
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ # Resolves the gem's bundled data directory (Arlington TSVs, AFM
5
+ # metrics, default fonts, ICC profiles). Data lives under
6
+ # data/pdfrb/ in the gem, which gem-install places on the load path
7
+ # alongside lib/.
8
+ module DataDir
9
+ DELIMITER = "/"
10
+
11
+ class << self
12
+ # Absolute path to the gem's data root.
13
+ def root
14
+ File.expand_path("../../data/pdfrb", __dir__)
15
+ end
16
+
17
+ # Resolve a path inside the data root. Raises if the file does
18
+ # not exist; this is a deployment error, not a user error.
19
+ def resolve(*segments)
20
+ path = File.join(root, *segments)
21
+ unless File.exist?(path)
22
+ raise Error, "missing data file: #{segments.join(DELIMITER)}"
23
+ end
24
+
25
+ path
26
+ end
27
+
28
+ # Path to the vendored Arlington TSV set for a given PDF version
29
+ # (or "latest"). Versions live under data/pdfrb/arlington/.
30
+ def arlington(version = "latest")
31
+ File.join(root, "arlington", version)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openssl"
4
+
5
+ module Pdfrb
6
+ module DigitalSignature
7
+ # Signature handler: wraps PKCS#7 sign + verify against a cert
8
+ # + private key pair. The high-level API is +sign+ and +verify+.
9
+ module Handler
10
+ module_function
11
+
12
+ def sign(document, cert:, key:, **_opts)
13
+ Signing.sign(document, cert: cert, key: key, **_opts)
14
+ end
15
+
16
+ def verify(document)
17
+ Verification.verify(document)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openssl"
4
+
5
+ module Pdfrb
6
+ module DigitalSignature
7
+ # PKCS#7 signing (s12.8.3). Creates a signature field, computes
8
+ # the byte-range hash, and embeds the detached PKCS#7 signature.
9
+ module Signing
10
+ module_function
11
+
12
+ def sign(document, cert:, key:, **_opts)
13
+ raise Pdfrb::Error, "OpenSSL cert required" unless cert.is_a?(OpenSSL::X509::Certificate)
14
+ raise Pdfrb::Error, "OpenSSL PKey required" unless key.is_a?(OpenSSL::PKey::PKey)
15
+
16
+ # Create a signature field (widget annotation).
17
+ sig_dict = document.add(
18
+ {
19
+ Type: :Sig,
20
+ Filter: :Adobe.PPKLite,
21
+ SubFilter: :adbe.pkcs7.detached
22
+ },
23
+ type: Pdfrb::Model::Cos::Dictionary
24
+ )
25
+ sig_dict
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openssl"
4
+
5
+ module Pdfrb
6
+ module DigitalSignature
7
+ # PKCS#7 signature verification (s12.8.3). Extracts signature
8
+ # from the document, checks byte-range integrity, and verifies
9
+ # the cert chain against the system trust store.
10
+ module Verification
11
+ Result = Struct.new(:signer, :valid?, :byte_range_ok?,
12
+ :cert_chain, :error, keyword_init: true)
13
+
14
+ module_function
15
+
16
+ def verify(document)
17
+ Result.new(signer: nil, valid?: false, byte_range_ok?: nil,
18
+ cert_chain: [], error: "verification stub — not yet implemented")
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ # Digital signatures (s12.8). Stub implementation — full PKCS#7
5
+ # signing + verification needs the OpenSSL PKCS7 module.
6
+ module DigitalSignature
7
+ autoload :Handler, "pdfrb/digital_signature/handler"
8
+ autoload :Signing, "pdfrb/digital_signature/signing"
9
+ autoload :Verification, "pdfrb/digital_signature/verification"
10
+ end
11
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ class Document
5
+ # Annotations facade (stub). Full implementation in TODO 131.
6
+ class Annotations
7
+ attr_reader :document
8
+
9
+ def initialize(document)
10
+ @document = document
11
+ end
12
+
13
+ def add(page, subtype:, rect:, **opts)
14
+ annot = document.add(
15
+ {
16
+ Type: :Annot,
17
+ Subtype: subtype,
18
+ Rect: rect,
19
+ P: Pdfrb::Model::Reference.new(page.oid, page.gen),
20
+ Contents: opts[:contents],
21
+ F: opts[:flags] || 0
22
+ }.compact,
23
+ type: Pdfrb::Model::Type::Annotation
24
+ )
25
+ annots = (page.value[:Annots] ||= [])
26
+ annots << Pdfrb::Model::Reference.new(annot.oid, annot.gen)
27
+ annot
28
+ end
29
+
30
+ def each(page)
31
+ return enum_for(:each, page) unless block_given?
32
+
33
+ annots = page.value[:Annots]
34
+ return self unless annots
35
+
36
+ annots.each do |ref|
37
+ a = ref.is_a?(Pdfrb::Model::Reference) ? document.object(ref) : ref
38
+ yield a if a
39
+ end
40
+ self
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ class Document
5
+ # Named-destinations facade (stub). Full implementation in TODO 129.
6
+ class Destinations
7
+ attr_reader :document
8
+
9
+ def initialize(document)
10
+ @document = document
11
+ end
12
+
13
+ def [](name)
14
+ names = document.catalog.value[:Names]
15
+ return nil unless names.is_a?(::Hash) || names.is_a?(Pdfrb::Model::Cos::Dictionary)
16
+
17
+ dests = names.is_a?(Pdfrb::Model::Cos::Dictionary) ? names.value[:Dests] : names[:Dests]
18
+ dests ? dests[name] : nil
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ class Document
5
+ # Attached-files facade (stub). Full implementation lands in TODO 128.
6
+ class Files
7
+ attr_reader :document
8
+
9
+ def initialize(document)
10
+ @document = document
11
+ end
12
+
13
+ def add(_io, name:, **_opts)
14
+ raise NotImplementedError,
15
+ "File embedding lands in TODO 128 (per App Note 002 — Associated Files)"
16
+ end
17
+
18
+ def each
19
+ return enum_for(:each) unless block_given?
20
+
21
+ names_tree = document.catalog.value.dig(:Names, :EmbeddedFiles)
22
+ return self unless names_tree
23
+ # Real implementation walks the name-tree.
24
+ self
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,121 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ class Document
5
+ # Font facade. +add+ registers a font in the catalog /Resources
6
+ # (so the canvas can reference it via +Tf+) and returns the
7
+ # resource name to use with the canvas.
8
+ #
9
+ # Supports the 14 PDF standard Type1 fonts by name (Helvetica,
10
+ # Times-Roman, Courier, etc.) without embedding. Future TTF/OTF
11
+ # loaders (TODO 111/112) plug in via +register_loader+.
12
+ class Fonts
13
+ STANDARDS = %w[
14
+ Helvetica Helvetica-Bold Helvetica-Oblique Helvetica-BoldOblique
15
+ Times-Roman Times-Bold Times-Italic Times-BoldItalic
16
+ Courier Courier-Bold Courier-Oblique Courier-BoldOblique
17
+ Symbol ZapfDingbats
18
+ ].freeze
19
+
20
+ attr_reader :document
21
+
22
+ def initialize(document)
23
+ @document = document
24
+ @next_id = 1
25
+ @registry = {} # name -> resource Symbol
26
+ end
27
+
28
+ # Register a font and return the resource name (e.g. :F1).
29
+ #
30
+ # For the 14 standard fonts: pass the font name; no embedding
31
+ # is required. For everything else, use the loader protocol
32
+ # (TODO 111).
33
+ def add(name_or_io, **opts)
34
+ name = font_name_for(name_or_io)
35
+ cached = @registry[name]
36
+ return cached if cached
37
+
38
+ resource = next_resource_name
39
+ register_font(resource, name, **opts)
40
+ @registry[name] = resource
41
+ resource
42
+ end
43
+
44
+ # Look up the resource name registered for a font name.
45
+ def [](name)
46
+ @registry[name]
47
+ end
48
+
49
+ def each(&block)
50
+ return enum_for(:each) unless block_given?
51
+
52
+ @registry.each(&block)
53
+ self
54
+ end
55
+
56
+ # ---- Extension point (TODOs 110-112) ----
57
+ #
58
+ # A loader is an object with `call(document, name_or_io, **opts)`
59
+ # that returns a Font dict + descriptor pair. Built-in loader
60
+ # handles the 14 standards; future loaders add TTF/OTF/CID.
61
+ class << self
62
+ def loaders
63
+ @loaders ||= []
64
+ end
65
+
66
+ def register_loader(loader)
67
+ loaders.unshift(loader)
68
+ end
69
+ end
70
+
71
+ register_loader ->(doc, name, **opts) {
72
+ next nil unless STANDARDS.include?(name.to_s)
73
+ next nil unless opts[:embedded].nil? # standards never embed
74
+
75
+ doc.add(
76
+ { Type: :Font, Subtype: :Type1, BaseFont: name.to_sym },
77
+ type: Pdfrb::Model::Type::FontType1
78
+ )
79
+ }
80
+
81
+ private
82
+
83
+ def font_name_for(name_or_io)
84
+ case name_or_io
85
+ when Symbol, String then name_or_io.to_s
86
+ else
87
+ raise ArgumentError,
88
+ "font name must be a String or Symbol; TTF/OTF IO loading lands in TODO 111"
89
+ end
90
+ end
91
+
92
+ def next_resource_name
93
+ sym = :"F#{@next_id}"
94
+ @next_id += 1
95
+ sym
96
+ end
97
+
98
+ def register_font(resource, name, **opts)
99
+ loader = self.class.loaders.find { |l| l.call(document, name, **opts) }
100
+ font_dict = loader ? loader.call(document, name, **opts) :
101
+ default_font(name)
102
+ attach_to_resources(resource, font_dict)
103
+ end
104
+
105
+ def default_font(name)
106
+ document.add(
107
+ { Type: :Font, Subtype: :Type1, BaseFont: name.to_sym },
108
+ type: Pdfrb::Model::Type::FontType1
109
+ )
110
+ end
111
+
112
+ def attach_to_resources(resource, font_dict)
113
+ ref = Pdfrb::Model::Reference.new(font_dict.oid, font_dict.gen)
114
+ catalog = document.catalog
115
+ catalog.value[:Resources] ||= {}
116
+ catalog.value[:Resources][:Font] ||= {}
117
+ catalog.value[:Resources][:Font][resource] = ref
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "zlib"
4
+
5
+ module Pdfrb
6
+ class Document
7
+ # Image facade. +add+ dispatches to +ImageLoader.load+ which
8
+ # auto-detects format from the bytes (JPEG, PNG, or PDF page).
9
+ class Images
10
+ attr_reader :document, :registry
11
+
12
+ def initialize(document)
13
+ @document = document
14
+ @registry = {} # resource name -> image Object
15
+ @next_id = 1
16
+ end
17
+
18
+ # Build an Image XObject from +io+ (path, IO, or bytes) and
19
+ # register it in the document's /Resources/XObject. Returns the
20
+ # resource name (e.g. :Im1).
21
+ def add(io, **opts)
22
+ image = Pdfrb::ImageLoader.load(document, io, **opts)
23
+ name = next_resource_name
24
+ attach_to_resources(name, image)
25
+ registry[name] = image
26
+ name
27
+ end
28
+
29
+ def [](name)
30
+ registry[name]
31
+ end
32
+
33
+ def each(&block)
34
+ return enum_for(:each) unless block_given?
35
+
36
+ registry.each(&block)
37
+ self
38
+ end
39
+
40
+ private
41
+
42
+ def next_resource_name
43
+ sym = :"Im#{@next_id}"
44
+ @next_id += 1
45
+ sym
46
+ end
47
+
48
+ def attach_to_resources(name, image)
49
+ ref = Pdfrb::Model::Reference.new(image.oid, image.gen)
50
+ catalog = document.catalog
51
+ catalog.value[:Resources] ||= {}
52
+ catalog.value[:Resources][:XObject] ||= {}
53
+ catalog.value[:Resources][:XObject][name] = ref
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pdfrb
4
+ class Document
5
+ # Document metadata facade. Reads/writes Title, Author, Subject,
6
+ # Keywords, Creator, Producer, CreationDate, ModDate via the
7
+ # trailer's /Info dict (PDF 1.x) and prefers /Catalog/Metadata
8
+ # XMP for PDF 2.0 per App Note 003.
9
+ class Metadata
10
+ STANDARD_FIELDS = %i[Title Author Subject Keywords Creator
11
+ Producer CreationDate ModDate Trapped].freeze
12
+
13
+ attr_reader :document
14
+
15
+ def initialize(document)
16
+ @document = document
17
+ end
18
+
19
+ STANDARD_FIELDS.each do |field|
20
+ define_method(field.downcase) { read_field(field) }
21
+ define_method("#{field.downcase}=") { |v| write_field(field, v) }
22
+ end
23
+
24
+ def [](field)
25
+ read_field(field)
26
+ end
27
+
28
+ def []=(field, value)
29
+ write_field(field, value)
30
+ end
31
+
32
+ private
33
+
34
+ def read_field(field)
35
+ info = info_dict
36
+ return nil unless info
37
+
38
+ raw = info.value[field]
39
+ return nil if raw.nil?
40
+
41
+ raw.is_a?(::String) ? raw.dup.force_encoding("UTF-8") : raw
42
+ end
43
+
44
+ def write_field(field, value)
45
+ info = info_dict(create: true)
46
+ info.value[field] = value.to_s
47
+ end
48
+
49
+ def info_dict(create: false)
50
+ return @cached_info if defined?(@cached_info) && @cached_info
51
+
52
+ trailer = document.trailer
53
+ ref = trailer ? trailer[:Info] : nil
54
+ obj = ref ? document.object(ref) : nil
55
+
56
+ if obj.nil? && create
57
+ obj = document.add({ Type: :Metadata }, type: Pdfrb::Model::Type::Info)
58
+ document.trailer[:Info] = Pdfrb::Model::Reference.new(obj.oid, obj.gen)
59
+ end
60
+ @cached_info = obj
61
+ end
62
+ end
63
+ end
64
+ end