pdf2json 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 (473) hide show
  1. data/README.markdown +9 -0
  2. data/bin/.gitkeep +0 -0
  3. data/ext/extconf.rb +30 -0
  4. data/lib/pdf2json.rb +8 -0
  5. data/pdf2json-0.52-source/AUTHORS +24 -0
  6. data/pdf2json-0.52-source/CHANGES +11 -0
  7. data/pdf2json-0.52-source/Makefile +84 -0
  8. data/pdf2json-0.52-source/Makefile.in +84 -0
  9. data/pdf2json-0.52-source/aclocal.m4 +274 -0
  10. data/pdf2json-0.52-source/aconf-win32.h +86 -0
  11. data/pdf2json-0.52-source/aconf.h +42 -0
  12. data/pdf2json-0.52-source/aconf.h.in +41 -0
  13. data/pdf2json-0.52-source/autom4te.cache/output.0 +6908 -0
  14. data/pdf2json-0.52-source/autom4te.cache/requests +76 -0
  15. data/pdf2json-0.52-source/autom4te.cache/traces.0 +466 -0
  16. data/pdf2json-0.52-source/config.log +1259 -0
  17. data/pdf2json-0.52-source/config.status +1050 -0
  18. data/pdf2json-0.52-source/configure +6908 -0
  19. data/pdf2json-0.52-source/configure.ac +93 -0
  20. data/pdf2json-0.52-source/doc/pdffonts.1 +130 -0
  21. data/pdf2json-0.52-source/doc/pdffonts.cat +107 -0
  22. data/pdf2json-0.52-source/doc/pdffonts.hlp +117 -0
  23. data/pdf2json-0.52-source/doc/pdfimages.1 +102 -0
  24. data/pdf2json-0.52-source/doc/pdfimages.cat +92 -0
  25. data/pdf2json-0.52-source/doc/pdfimages.hlp +101 -0
  26. data/pdf2json-0.52-source/doc/pdfinfo.1 +158 -0
  27. data/pdf2json-0.52-source/doc/pdfinfo.cat +119 -0
  28. data/pdf2json-0.52-source/doc/pdfinfo.hlp +129 -0
  29. data/pdf2json-0.52-source/doc/pdftoppm.1 +115 -0
  30. data/pdf2json-0.52-source/doc/pdftoppm.cat +105 -0
  31. data/pdf2json-0.52-source/doc/pdftoppm.hlp +114 -0
  32. data/pdf2json-0.52-source/doc/pdftops.1 +229 -0
  33. data/pdf2json-0.52-source/doc/pdftops.cat +221 -0
  34. data/pdf2json-0.52-source/doc/pdftops.hlp +231 -0
  35. data/pdf2json-0.52-source/doc/pdftotext.1 +137 -0
  36. data/pdf2json-0.52-source/doc/pdftotext.cat +120 -0
  37. data/pdf2json-0.52-source/doc/pdftotext.hlp +133 -0
  38. data/pdf2json-0.52-source/doc/sample-xpdfrc +91 -0
  39. data/pdf2json-0.52-source/doc/xpdf.1 +513 -0
  40. data/pdf2json-0.52-source/doc/xpdf.cat +476 -0
  41. data/pdf2json-0.52-source/doc/xpdf.hlp +489 -0
  42. data/pdf2json-0.52-source/doc/xpdfrc.5 +480 -0
  43. data/pdf2json-0.52-source/doc/xpdfrc.cat +474 -0
  44. data/pdf2json-0.52-source/doc/xpdfrc.hlp +479 -0
  45. data/pdf2json-0.52-source/fofi/.DS_Store +0 -0
  46. data/pdf2json-0.52-source/fofi/FoFiBase.cc +156 -0
  47. data/pdf2json-0.52-source/fofi/FoFiBase.h +57 -0
  48. data/pdf2json-0.52-source/fofi/FoFiBase.o +0 -0
  49. data/pdf2json-0.52-source/fofi/FoFiEncodings.cc +994 -0
  50. data/pdf2json-0.52-source/fofi/FoFiEncodings.h +36 -0
  51. data/pdf2json-0.52-source/fofi/FoFiEncodings.o +0 -0
  52. data/pdf2json-0.52-source/fofi/FoFiTrueType.cc +2027 -0
  53. data/pdf2json-0.52-source/fofi/FoFiTrueType.h +174 -0
  54. data/pdf2json-0.52-source/fofi/FoFiTrueType.o +0 -0
  55. data/pdf2json-0.52-source/fofi/FoFiType1.cc +252 -0
  56. data/pdf2json-0.52-source/fofi/FoFiType1.h +59 -0
  57. data/pdf2json-0.52-source/fofi/FoFiType1.o +0 -0
  58. data/pdf2json-0.52-source/fofi/FoFiType1C.cc +2603 -0
  59. data/pdf2json-0.52-source/fofi/FoFiType1C.h +233 -0
  60. data/pdf2json-0.52-source/fofi/FoFiType1C.o +0 -0
  61. data/pdf2json-0.52-source/fofi/Makefile +70 -0
  62. data/pdf2json-0.52-source/fofi/Makefile.dep +0 -0
  63. data/pdf2json-0.52-source/fofi/Makefile.in +70 -0
  64. data/pdf2json-0.52-source/fofi/libfofi.a +0 -0
  65. data/pdf2json-0.52-source/fofi/vms_make.com +0 -0
  66. data/pdf2json-0.52-source/freetype.win32/.DS_Store +0 -0
  67. data/pdf2json-0.52-source/freetype.win32/include/.DS_Store +0 -0
  68. data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftconfig.h +528 -0
  69. data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftheader.h +780 -0
  70. data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftmodule.h +32 -0
  71. data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftoption.h +733 -0
  72. data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftstdlib.h +173 -0
  73. data/pdf2json-0.52-source/freetype.win32/include/freetype/freetype.h +3919 -0
  74. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftadvanc.h +179 -0
  75. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbbox.h +94 -0
  76. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbdf.h +209 -0
  77. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbitmap.h +227 -0
  78. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftcache.h +1128 -0
  79. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftchapters.h +103 -0
  80. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftcid.h +166 -0
  81. data/pdf2json-0.52-source/freetype.win32/include/freetype/fterrdef.h +244 -0
  82. data/pdf2json-0.52-source/freetype.win32/include/freetype/fterrors.h +206 -0
  83. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgasp.h +120 -0
  84. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftglyph.h +613 -0
  85. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgxval.h +358 -0
  86. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgzip.h +102 -0
  87. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftimage.h +1313 -0
  88. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftincrem.h +353 -0
  89. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlcdfil.h +213 -0
  90. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlist.h +277 -0
  91. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlzw.h +99 -0
  92. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmac.h +274 -0
  93. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmm.h +378 -0
  94. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmodapi.h +483 -0
  95. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmoderr.h +155 -0
  96. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftotval.h +203 -0
  97. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftoutln.h +537 -0
  98. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftpfr.h +172 -0
  99. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftrender.h +230 -0
  100. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsizes.h +159 -0
  101. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsnames.h +200 -0
  102. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftstroke.h +716 -0
  103. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsynth.h +80 -0
  104. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsystem.h +347 -0
  105. data/pdf2json-0.52-source/freetype.win32/include/freetype/fttrigon.h +350 -0
  106. data/pdf2json-0.52-source/freetype.win32/include/freetype/fttypes.h +588 -0
  107. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftwinfnt.h +274 -0
  108. data/pdf2json-0.52-source/freetype.win32/include/freetype/ftxf86.h +83 -0
  109. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/autohint.h +231 -0
  110. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftcalc.h +179 -0
  111. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftdebug.h +250 -0
  112. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftdriver.h +422 -0
  113. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftgloadr.h +168 -0
  114. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftmemory.h +380 -0
  115. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftobjs.h +1428 -0
  116. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftpic.h +67 -0
  117. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftrfork.h +196 -0
  118. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftserv.h +620 -0
  119. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftstream.h +539 -0
  120. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/fttrace.h +139 -0
  121. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftvalid.h +150 -0
  122. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/internal.h +51 -0
  123. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/pcftypes.h +56 -0
  124. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/psaux.h +873 -0
  125. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/pshints.h +712 -0
  126. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svbdf.h +77 -0
  127. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svcid.h +83 -0
  128. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svgldict.h +82 -0
  129. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svgxval.h +72 -0
  130. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svkern.h +51 -0
  131. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svmm.h +104 -0
  132. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svotval.h +55 -0
  133. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpfr.h +66 -0
  134. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpostnm.h +79 -0
  135. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpscmap.h +164 -0
  136. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpsinfo.h +92 -0
  137. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svsfnt.h +102 -0
  138. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svttcmap.h +106 -0
  139. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svtteng.h +53 -0
  140. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svttglyf.h +67 -0
  141. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svwinfnt.h +50 -0
  142. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svxf86nm.h +55 -0
  143. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/sfnt.h +897 -0
  144. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/t1types.h +270 -0
  145. data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/tttypes.h +1543 -0
  146. data/pdf2json-0.52-source/freetype.win32/include/freetype/t1tables.h +504 -0
  147. data/pdf2json-0.52-source/freetype.win32/include/freetype/ttnameid.h +1247 -0
  148. data/pdf2json-0.52-source/freetype.win32/include/freetype/tttables.h +759 -0
  149. data/pdf2json-0.52-source/freetype.win32/include/freetype/tttags.h +107 -0
  150. data/pdf2json-0.52-source/freetype.win32/include/freetype/ttunpat.h +59 -0
  151. data/pdf2json-0.52-source/freetype.win32/include/ft2build.h +39 -0
  152. data/pdf2json-0.52-source/freetype.win32/lib/freetype_a.lib +0 -0
  153. data/pdf2json-0.52-source/goo/.DS_Store +0 -0
  154. data/pdf2json-0.52-source/goo/FixedPoint.cc +118 -0
  155. data/pdf2json-0.52-source/goo/FixedPoint.h +155 -0
  156. data/pdf2json-0.52-source/goo/FixedPoint.o +0 -0
  157. data/pdf2json-0.52-source/goo/GHash.cc +380 -0
  158. data/pdf2json-0.52-source/goo/GHash.h +78 -0
  159. data/pdf2json-0.52-source/goo/GHash.o +0 -0
  160. data/pdf2json-0.52-source/goo/GList.cc +97 -0
  161. data/pdf2json-0.52-source/goo/GList.h +96 -0
  162. data/pdf2json-0.52-source/goo/GList.o +0 -0
  163. data/pdf2json-0.52-source/goo/GMutex.h +49 -0
  164. data/pdf2json-0.52-source/goo/GString.cc +724 -0
  165. data/pdf2json-0.52-source/goo/GString.cc.fixed +718 -0
  166. data/pdf2json-0.52-source/goo/GString.h +136 -0
  167. data/pdf2json-0.52-source/goo/GString.o +0 -0
  168. data/pdf2json-0.52-source/goo/ImgWriter.o +0 -0
  169. data/pdf2json-0.52-source/goo/JpegWriter.o +0 -0
  170. data/pdf2json-0.52-source/goo/Makefile +72 -0
  171. data/pdf2json-0.52-source/goo/Makefile.dep +0 -0
  172. data/pdf2json-0.52-source/goo/Makefile.in +72 -0
  173. data/pdf2json-0.52-source/goo/PNGWriter.o +0 -0
  174. data/pdf2json-0.52-source/goo/gfile.cc +731 -0
  175. data/pdf2json-0.52-source/goo/gfile.h +138 -0
  176. data/pdf2json-0.52-source/goo/gfile.o +0 -0
  177. data/pdf2json-0.52-source/goo/gmem.cc +264 -0
  178. data/pdf2json-0.52-source/goo/gmem.h +79 -0
  179. data/pdf2json-0.52-source/goo/gmem.o +0 -0
  180. data/pdf2json-0.52-source/goo/gmempp.cc +32 -0
  181. data/pdf2json-0.52-source/goo/gmempp.o +0 -0
  182. data/pdf2json-0.52-source/goo/gtypes.h +29 -0
  183. data/pdf2json-0.52-source/goo/libGoo.a +0 -0
  184. data/pdf2json-0.52-source/goo/parseargs.c +190 -0
  185. data/pdf2json-0.52-source/goo/parseargs.h +71 -0
  186. data/pdf2json-0.52-source/goo/parseargs.o +0 -0
  187. data/pdf2json-0.52-source/goo/vms_directory.c +214 -0
  188. data/pdf2json-0.52-source/goo/vms_dirent.h +67 -0
  189. data/pdf2json-0.52-source/goo/vms_make.com +82 -0
  190. data/pdf2json-0.52-source/goo/vms_sys_dirent.h +54 -0
  191. data/pdf2json-0.52-source/goo/vms_unix_time.h +102 -0
  192. data/pdf2json-0.52-source/goo/vms_unix_times.c +42 -0
  193. data/pdf2json-0.52-source/goo/vms_unlink.c +22 -0
  194. data/pdf2json-0.52-source/ms_make.bat +199 -0
  195. data/pdf2json-0.52-source/splash/.DS_Store +0 -0
  196. data/pdf2json-0.52-source/splash/Makefile +103 -0
  197. data/pdf2json-0.52-source/splash/Makefile.dep +0 -0
  198. data/pdf2json-0.52-source/splash/Makefile.in +103 -0
  199. data/pdf2json-0.52-source/splash/Splash.cc +3310 -0
  200. data/pdf2json-0.52-source/splash/Splash.h +293 -0
  201. data/pdf2json-0.52-source/splash/Splash.o +0 -0
  202. data/pdf2json-0.52-source/splash/SplashBitmap.cc +188 -0
  203. data/pdf2json-0.52-source/splash/SplashBitmap.h +64 -0
  204. data/pdf2json-0.52-source/splash/SplashBitmap.o +0 -0
  205. data/pdf2json-0.52-source/splash/SplashClip.cc +382 -0
  206. data/pdf2json-0.52-source/splash/SplashClip.h +107 -0
  207. data/pdf2json-0.52-source/splash/SplashClip.o +0 -0
  208. data/pdf2json-0.52-source/splash/SplashErrorCodes.h +32 -0
  209. data/pdf2json-0.52-source/splash/SplashFTFont.cc +357 -0
  210. data/pdf2json-0.52-source/splash/SplashFTFont.h +58 -0
  211. data/pdf2json-0.52-source/splash/SplashFTFont.o +0 -0
  212. data/pdf2json-0.52-source/splash/SplashFTFontEngine.cc +179 -0
  213. data/pdf2json-0.52-source/splash/SplashFTFontEngine.h +65 -0
  214. data/pdf2json-0.52-source/splash/SplashFTFontEngine.o +0 -0
  215. data/pdf2json-0.52-source/splash/SplashFTFontFile.cc +114 -0
  216. data/pdf2json-0.52-source/splash/SplashFTFontFile.h +73 -0
  217. data/pdf2json-0.52-source/splash/SplashFTFontFile.o +0 -0
  218. data/pdf2json-0.52-source/splash/SplashFont.cc +176 -0
  219. data/pdf2json-0.52-source/splash/SplashFont.h +104 -0
  220. data/pdf2json-0.52-source/splash/SplashFont.o +0 -0
  221. data/pdf2json-0.52-source/splash/SplashFontEngine.cc +317 -0
  222. data/pdf2json-0.52-source/splash/SplashFontEngine.h +91 -0
  223. data/pdf2json-0.52-source/splash/SplashFontEngine.o +0 -0
  224. data/pdf2json-0.52-source/splash/SplashFontFile.cc +55 -0
  225. data/pdf2json-0.52-source/splash/SplashFontFile.h +60 -0
  226. data/pdf2json-0.52-source/splash/SplashFontFile.o +0 -0
  227. data/pdf2json-0.52-source/splash/SplashFontFileID.cc +23 -0
  228. data/pdf2json-0.52-source/splash/SplashFontFileID.h +30 -0
  229. data/pdf2json-0.52-source/splash/SplashFontFileID.o +0 -0
  230. data/pdf2json-0.52-source/splash/SplashGlyphBitmap.h +26 -0
  231. data/pdf2json-0.52-source/splash/SplashMath.h +89 -0
  232. data/pdf2json-0.52-source/splash/SplashPath.cc +184 -0
  233. data/pdf2json-0.52-source/splash/SplashPath.h +121 -0
  234. data/pdf2json-0.52-source/splash/SplashPath.o +0 -0
  235. data/pdf2json-0.52-source/splash/SplashPattern.cc +40 -0
  236. data/pdf2json-0.52-source/splash/SplashPattern.h +65 -0
  237. data/pdf2json-0.52-source/splash/SplashPattern.o +0 -0
  238. data/pdf2json-0.52-source/splash/SplashScreen.cc +383 -0
  239. data/pdf2json-0.52-source/splash/SplashScreen.h +56 -0
  240. data/pdf2json-0.52-source/splash/SplashScreen.o +0 -0
  241. data/pdf2json-0.52-source/splash/SplashState.cc +165 -0
  242. data/pdf2json-0.52-source/splash/SplashState.h +103 -0
  243. data/pdf2json-0.52-source/splash/SplashState.o +0 -0
  244. data/pdf2json-0.52-source/splash/SplashT1Font.cc +287 -0
  245. data/pdf2json-0.52-source/splash/SplashT1Font.h +57 -0
  246. data/pdf2json-0.52-source/splash/SplashT1Font.o +0 -0
  247. data/pdf2json-0.52-source/splash/SplashT1FontEngine.cc +124 -0
  248. data/pdf2json-0.52-source/splash/SplashT1FontEngine.h +53 -0
  249. data/pdf2json-0.52-source/splash/SplashT1FontEngine.o +0 -0
  250. data/pdf2json-0.52-source/splash/SplashT1FontFile.cc +97 -0
  251. data/pdf2json-0.52-source/splash/SplashT1FontFile.h +58 -0
  252. data/pdf2json-0.52-source/splash/SplashT1FontFile.o +0 -0
  253. data/pdf2json-0.52-source/splash/SplashTypes.h +132 -0
  254. data/pdf2json-0.52-source/splash/SplashXPath.cc +438 -0
  255. data/pdf2json-0.52-source/splash/SplashXPath.h +100 -0
  256. data/pdf2json-0.52-source/splash/SplashXPath.o +0 -0
  257. data/pdf2json-0.52-source/splash/SplashXPathScanner.cc +428 -0
  258. data/pdf2json-0.52-source/splash/SplashXPathScanner.h +87 -0
  259. data/pdf2json-0.52-source/splash/SplashXPathScanner.o +0 -0
  260. data/pdf2json-0.52-source/splash/libsplash.a +0 -0
  261. data/pdf2json-0.52-source/splash/vms_make.com +0 -0
  262. data/pdf2json-0.52-source/src/.DS_Store +0 -0
  263. data/pdf2json-0.52-source/src/GVector.h +101 -0
  264. data/pdf2json-0.52-source/src/ImgOutputDev.cc +1243 -0
  265. data/pdf2json-0.52-source/src/ImgOutputDev.h +307 -0
  266. data/pdf2json-0.52-source/src/ImgOutputDev.o +0 -0
  267. data/pdf2json-0.52-source/src/Makefile +68 -0
  268. data/pdf2json-0.52-source/src/Makefile.in +68 -0
  269. data/pdf2json-0.52-source/src/XmlFonts.cc +367 -0
  270. data/pdf2json-0.52-source/src/XmlFonts.h +91 -0
  271. data/pdf2json-0.52-source/src/XmlFonts.o +0 -0
  272. data/pdf2json-0.52-source/src/XmlLinks.cc +101 -0
  273. data/pdf2json-0.52-source/src/XmlLinks.h +54 -0
  274. data/pdf2json-0.52-source/src/XmlLinks.o +0 -0
  275. data/pdf2json-0.52-source/src/pdf2json +0 -0
  276. data/pdf2json-0.52-source/src/pdf2json.cc +343 -0
  277. data/pdf2json-0.52-source/src/pdf2json.o +0 -0
  278. data/pdf2json-0.52-source/src/pdf2xml.dtd +22 -0
  279. data/pdf2json-0.52-source/src/pdf2xmljson.dtd +9 -0
  280. data/pdf2json-0.52-source/xpdf/.DS_Store +0 -0
  281. data/pdf2json-0.52-source/xpdf/Annot.cc +1556 -0
  282. data/pdf2json-0.52-source/xpdf/Annot.h +142 -0
  283. data/pdf2json-0.52-source/xpdf/Annot.o +0 -0
  284. data/pdf2json-0.52-source/xpdf/Array.cc +73 -0
  285. data/pdf2json-0.52-source/xpdf/Array.h +58 -0
  286. data/pdf2json-0.52-source/xpdf/Array.o +0 -0
  287. data/pdf2json-0.52-source/xpdf/BuiltinFont.cc +65 -0
  288. data/pdf2json-0.52-source/xpdf/BuiltinFont.h +57 -0
  289. data/pdf2json-0.52-source/xpdf/BuiltinFont.o +0 -0
  290. data/pdf2json-0.52-source/xpdf/BuiltinFontTables.cc +4284 -0
  291. data/pdf2json-0.52-source/xpdf/BuiltinFontTables.h +23 -0
  292. data/pdf2json-0.52-source/xpdf/BuiltinFontTables.o +0 -0
  293. data/pdf2json-0.52-source/xpdf/CMap.cc +408 -0
  294. data/pdf2json-0.52-source/xpdf/CMap.h +102 -0
  295. data/pdf2json-0.52-source/xpdf/CMap.o +0 -0
  296. data/pdf2json-0.52-source/xpdf/Catalog.cc +374 -0
  297. data/pdf2json-0.52-source/xpdf/Catalog.h +97 -0
  298. data/pdf2json-0.52-source/xpdf/Catalog.o +0 -0
  299. data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.cc +540 -0
  300. data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.h +117 -0
  301. data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.o +0 -0
  302. data/pdf2json-0.52-source/xpdf/CharTypes.h +24 -0
  303. data/pdf2json-0.52-source/xpdf/CompactFontTables.h +464 -0
  304. data/pdf2json-0.52-source/xpdf/CoreOutputDev.cc +61 -0
  305. data/pdf2json-0.52-source/xpdf/CoreOutputDev.h +61 -0
  306. data/pdf2json-0.52-source/xpdf/Decrypt.cc +776 -0
  307. data/pdf2json-0.52-source/xpdf/Decrypt.h +95 -0
  308. data/pdf2json-0.52-source/xpdf/Decrypt.o +0 -0
  309. data/pdf2json-0.52-source/xpdf/Dict.cc +95 -0
  310. data/pdf2json-0.52-source/xpdf/Dict.h +77 -0
  311. data/pdf2json-0.52-source/xpdf/Dict.o +0 -0
  312. data/pdf2json-0.52-source/xpdf/Error.cc +38 -0
  313. data/pdf2json-0.52-source/xpdf/Error.h +23 -0
  314. data/pdf2json-0.52-source/xpdf/Error.o +0 -0
  315. data/pdf2json-0.52-source/xpdf/ErrorCodes.h +36 -0
  316. data/pdf2json-0.52-source/xpdf/FontEncodingTables.cc +1824 -0
  317. data/pdf2json-0.52-source/xpdf/FontEncodingTables.h +20 -0
  318. data/pdf2json-0.52-source/xpdf/FontEncodingTables.o +0 -0
  319. data/pdf2json-0.52-source/xpdf/Function.cc +1573 -0
  320. data/pdf2json-0.52-source/xpdf/Function.h +229 -0
  321. data/pdf2json-0.52-source/xpdf/Function.o +0 -0
  322. data/pdf2json-0.52-source/xpdf/Gfx.cc +4187 -0
  323. data/pdf2json-0.52-source/xpdf/Gfx.h +312 -0
  324. data/pdf2json-0.52-source/xpdf/Gfx.o +0 -0
  325. data/pdf2json-0.52-source/xpdf/GfxFont.cc +1568 -0
  326. data/pdf2json-0.52-source/xpdf/GfxFont.h +320 -0
  327. data/pdf2json-0.52-source/xpdf/GfxFont.o +0 -0
  328. data/pdf2json-0.52-source/xpdf/GfxState.cc +4137 -0
  329. data/pdf2json-0.52-source/xpdf/GfxState.h +1244 -0
  330. data/pdf2json-0.52-source/xpdf/GfxState.o +0 -0
  331. data/pdf2json-0.52-source/xpdf/GlobalParams.cc +2924 -0
  332. data/pdf2json-0.52-source/xpdf/GlobalParams.cc.old +2908 -0
  333. data/pdf2json-0.52-source/xpdf/GlobalParams.h +466 -0
  334. data/pdf2json-0.52-source/xpdf/GlobalParams.h.old +463 -0
  335. data/pdf2json-0.52-source/xpdf/GlobalParams.o +0 -0
  336. data/pdf2json-0.52-source/xpdf/ImageOutputDev.cc +195 -0
  337. data/pdf2json-0.52-source/xpdf/ImageOutputDev.h +76 -0
  338. data/pdf2json-0.52-source/xpdf/ImageOutputDev.o +0 -0
  339. data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.cc +322 -0
  340. data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.h +109 -0
  341. data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.o +0 -0
  342. data/pdf2json-0.52-source/xpdf/JBIG2Stream.cc +3413 -0
  343. data/pdf2json-0.52-source/xpdf/JBIG2Stream.h +145 -0
  344. data/pdf2json-0.52-source/xpdf/JBIG2Stream.o +0 -0
  345. data/pdf2json-0.52-source/xpdf/JPXStream.cc +3144 -0
  346. data/pdf2json-0.52-source/xpdf/JPXStream.h +351 -0
  347. data/pdf2json-0.52-source/xpdf/JPXStream.o +0 -0
  348. data/pdf2json-0.52-source/xpdf/Lexer.cc +485 -0
  349. data/pdf2json-0.52-source/xpdf/Lexer.h +80 -0
  350. data/pdf2json-0.52-source/xpdf/Lexer.o +0 -0
  351. data/pdf2json-0.52-source/xpdf/Link.cc +806 -0
  352. data/pdf2json-0.52-source/xpdf/Link.cc.old +784 -0
  353. data/pdf2json-0.52-source/xpdf/Link.h +415 -0
  354. data/pdf2json-0.52-source/xpdf/Link.h.old +369 -0
  355. data/pdf2json-0.52-source/xpdf/Link.o +0 -0
  356. data/pdf2json-0.52-source/xpdf/Makefile +232 -0
  357. data/pdf2json-0.52-source/xpdf/Makefile.dep +0 -0
  358. data/pdf2json-0.52-source/xpdf/Makefile.in +232 -0
  359. data/pdf2json-0.52-source/xpdf/NameToCharCode.cc +116 -0
  360. data/pdf2json-0.52-source/xpdf/NameToCharCode.h +42 -0
  361. data/pdf2json-0.52-source/xpdf/NameToCharCode.o +0 -0
  362. data/pdf2json-0.52-source/xpdf/NameToUnicodeTable.h +1097 -0
  363. data/pdf2json-0.52-source/xpdf/Object.cc +231 -0
  364. data/pdf2json-0.52-source/xpdf/Object.h +303 -0
  365. data/pdf2json-0.52-source/xpdf/Object.o +0 -0
  366. data/pdf2json-0.52-source/xpdf/Outline.cc +151 -0
  367. data/pdf2json-0.52-source/xpdf/Outline.h +76 -0
  368. data/pdf2json-0.52-source/xpdf/Outline.o +0 -0
  369. data/pdf2json-0.52-source/xpdf/OutputDev.cc +131 -0
  370. data/pdf2json-0.52-source/xpdf/OutputDev.h +253 -0
  371. data/pdf2json-0.52-source/xpdf/OutputDev.o +0 -0
  372. data/pdf2json-0.52-source/xpdf/PDFCore.cc +2044 -0
  373. data/pdf2json-0.52-source/xpdf/PDFCore.h +321 -0
  374. data/pdf2json-0.52-source/xpdf/PDFDoc.cc +404 -0
  375. data/pdf2json-0.52-source/xpdf/PDFDoc.h +183 -0
  376. data/pdf2json-0.52-source/xpdf/PDFDoc.o +0 -0
  377. data/pdf2json-0.52-source/xpdf/PDFDocEncoding.cc +44 -0
  378. data/pdf2json-0.52-source/xpdf/PDFDocEncoding.h +16 -0
  379. data/pdf2json-0.52-source/xpdf/PDFDocEncoding.o +0 -0
  380. data/pdf2json-0.52-source/xpdf/PSOutputDev.cc +6224 -0
  381. data/pdf2json-0.52-source/xpdf/PSOutputDev.h +395 -0
  382. data/pdf2json-0.52-source/xpdf/PSOutputDev.o +0 -0
  383. data/pdf2json-0.52-source/xpdf/PSTokenizer.cc +135 -0
  384. data/pdf2json-0.52-source/xpdf/PSTokenizer.h +41 -0
  385. data/pdf2json-0.52-source/xpdf/PSTokenizer.o +0 -0
  386. data/pdf2json-0.52-source/xpdf/Page.cc +454 -0
  387. data/pdf2json-0.52-source/xpdf/Page.h +187 -0
  388. data/pdf2json-0.52-source/xpdf/Page.o +0 -0
  389. data/pdf2json-0.52-source/xpdf/Parser.cc +227 -0
  390. data/pdf2json-0.52-source/xpdf/Parser.h +59 -0
  391. data/pdf2json-0.52-source/xpdf/Parser.o +0 -0
  392. data/pdf2json-0.52-source/xpdf/PreScanOutputDev.cc +257 -0
  393. data/pdf2json-0.52-source/xpdf/PreScanOutputDev.h +130 -0
  394. data/pdf2json-0.52-source/xpdf/PreScanOutputDev.o +0 -0
  395. data/pdf2json-0.52-source/xpdf/SecurityHandler.cc +390 -0
  396. data/pdf2json-0.52-source/xpdf/SecurityHandler.h +160 -0
  397. data/pdf2json-0.52-source/xpdf/SecurityHandler.o +0 -0
  398. data/pdf2json-0.52-source/xpdf/SplashOutputDev.cc +2845 -0
  399. data/pdf2json-0.52-source/xpdf/SplashOutputDev.h +247 -0
  400. data/pdf2json-0.52-source/xpdf/SplashOutputDev.o +0 -0
  401. data/pdf2json-0.52-source/xpdf/Stream-CCITT.h +459 -0
  402. data/pdf2json-0.52-source/xpdf/Stream.cc +4627 -0
  403. data/pdf2json-0.52-source/xpdf/Stream.h +858 -0
  404. data/pdf2json-0.52-source/xpdf/Stream.o +0 -0
  405. data/pdf2json-0.52-source/xpdf/TextOutputDev.cc +4090 -0
  406. data/pdf2json-0.52-source/xpdf/TextOutputDev.h +661 -0
  407. data/pdf2json-0.52-source/xpdf/TextOutputDev.o +0 -0
  408. data/pdf2json-0.52-source/xpdf/UTF8.h +56 -0
  409. data/pdf2json-0.52-source/xpdf/UnicodeMap.cc +302 -0
  410. data/pdf2json-0.52-source/xpdf/UnicodeMap.cc.old +293 -0
  411. data/pdf2json-0.52-source/xpdf/UnicodeMap.h +135 -0
  412. data/pdf2json-0.52-source/xpdf/UnicodeMap.h.old +123 -0
  413. data/pdf2json-0.52-source/xpdf/UnicodeMap.o +0 -0
  414. data/pdf2json-0.52-source/xpdf/UnicodeMapTables.h +361 -0
  415. data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.cc +949 -0
  416. data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.h +20 -0
  417. data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.o +0 -0
  418. data/pdf2json-0.52-source/xpdf/XPDFApp.cc +447 -0
  419. data/pdf2json-0.52-source/xpdf/XPDFApp.h +114 -0
  420. data/pdf2json-0.52-source/xpdf/XPDFCore.cc +1655 -0
  421. data/pdf2json-0.52-source/xpdf/XPDFCore.h +251 -0
  422. data/pdf2json-0.52-source/xpdf/XPDFTree.cc +931 -0
  423. data/pdf2json-0.52-source/xpdf/XPDFTree.h +45 -0
  424. data/pdf2json-0.52-source/xpdf/XPDFTreeP.h +87 -0
  425. data/pdf2json-0.52-source/xpdf/XPDFViewer.cc +3488 -0
  426. data/pdf2json-0.52-source/xpdf/XPDFViewer.h +352 -0
  427. data/pdf2json-0.52-source/xpdf/XRef.cc +896 -0
  428. data/pdf2json-0.52-source/xpdf/XRef.h +133 -0
  429. data/pdf2json-0.52-source/xpdf/XRef.o +0 -0
  430. data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.cc +262 -0
  431. data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.h +341 -0
  432. data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.o +0 -0
  433. data/pdf2json-0.52-source/xpdf/about-text.h +48 -0
  434. data/pdf2json-0.52-source/xpdf/about.xbm +6 -0
  435. data/pdf2json-0.52-source/xpdf/backArrow.xbm +6 -0
  436. data/pdf2json-0.52-source/xpdf/backArrowDis.xbm +6 -0
  437. data/pdf2json-0.52-source/xpdf/config.h +112 -0
  438. data/pdf2json-0.52-source/xpdf/dblLeftArrow.xbm +6 -0
  439. data/pdf2json-0.52-source/xpdf/dblLeftArrowDis.xbm +6 -0
  440. data/pdf2json-0.52-source/xpdf/dblRightArrow.xbm +6 -0
  441. data/pdf2json-0.52-source/xpdf/dblRightArrowDis.xbm +6 -0
  442. data/pdf2json-0.52-source/xpdf/find.xbm +6 -0
  443. data/pdf2json-0.52-source/xpdf/findDis.xbm +6 -0
  444. data/pdf2json-0.52-source/xpdf/forwardArrow.xbm +6 -0
  445. data/pdf2json-0.52-source/xpdf/forwardArrowDis.xbm +6 -0
  446. data/pdf2json-0.52-source/xpdf/leftArrow.xbm +5 -0
  447. data/pdf2json-0.52-source/xpdf/leftArrowDis.xbm +5 -0
  448. data/pdf2json-0.52-source/xpdf/libXpdf.a +0 -0
  449. data/pdf2json-0.52-source/xpdf/pdffonts +0 -0
  450. data/pdf2json-0.52-source/xpdf/pdffonts.cc +298 -0
  451. data/pdf2json-0.52-source/xpdf/pdffonts.o +0 -0
  452. data/pdf2json-0.52-source/xpdf/pdfimages +0 -0
  453. data/pdf2json-0.52-source/xpdf/pdfimages.cc +155 -0
  454. data/pdf2json-0.52-source/xpdf/pdfimages.o +0 -0
  455. data/pdf2json-0.52-source/xpdf/pdfinfo +0 -0
  456. data/pdf2json-0.52-source/xpdf/pdfinfo.cc +387 -0
  457. data/pdf2json-0.52-source/xpdf/pdfinfo.o +0 -0
  458. data/pdf2json-0.52-source/xpdf/pdftoppm.cc +203 -0
  459. data/pdf2json-0.52-source/xpdf/pdftops +0 -0
  460. data/pdf2json-0.52-source/xpdf/pdftops.cc +344 -0
  461. data/pdf2json-0.52-source/xpdf/pdftops.o +0 -0
  462. data/pdf2json-0.52-source/xpdf/pdftotext +0 -0
  463. data/pdf2json-0.52-source/xpdf/pdftotext.cc +333 -0
  464. data/pdf2json-0.52-source/xpdf/pdftotext.o +0 -0
  465. data/pdf2json-0.52-source/xpdf/print.xbm +6 -0
  466. data/pdf2json-0.52-source/xpdf/printDis.xbm +6 -0
  467. data/pdf2json-0.52-source/xpdf/rightArrow.xbm +5 -0
  468. data/pdf2json-0.52-source/xpdf/rightArrowDis.xbm +5 -0
  469. data/pdf2json-0.52-source/xpdf/vms_make.com +129 -0
  470. data/pdf2json-0.52-source/xpdf/xpdf.cc +344 -0
  471. data/pdf2json-0.52-source/xpdf/xpdfIcon.xpm +62 -0
  472. data/pdf2json.gemspec +29 -0
  473. metadata +518 -0
@@ -0,0 +1,247 @@
1
+ //========================================================================
2
+ //
3
+ // SplashOutputDev.h
4
+ //
5
+ // Copyright 2003 Glyph & Cog, LLC
6
+ //
7
+ //========================================================================
8
+
9
+ #ifndef SPLASHOUTPUTDEV_H
10
+ #define SPLASHOUTPUTDEV_H
11
+
12
+ #include <aconf.h>
13
+
14
+ #ifdef USE_GCC_PRAGMAS
15
+ #pragma interface
16
+ #endif
17
+
18
+ #include "gtypes.h"
19
+ #include "SplashTypes.h"
20
+ #include "config.h"
21
+ #include "OutputDev.h"
22
+ #include "GfxState.h"
23
+
24
+ class Gfx8BitFont;
25
+ class SplashBitmap;
26
+ class Splash;
27
+ class SplashPath;
28
+ class SplashPattern;
29
+ class SplashFontEngine;
30
+ class SplashFont;
31
+ class T3FontCache;
32
+ struct T3FontCacheTag;
33
+ struct T3GlyphStack;
34
+ struct SplashTransparencyGroup;
35
+
36
+ //------------------------------------------------------------------------
37
+
38
+ // number of Type 3 fonts to cache
39
+ #define splashOutT3FontCacheSize 8
40
+
41
+ //------------------------------------------------------------------------
42
+ // SplashOutputDev
43
+ //------------------------------------------------------------------------
44
+
45
+ class SplashOutputDev: public OutputDev {
46
+ public:
47
+
48
+ // Constructor.
49
+ SplashOutputDev(SplashColorMode colorModeA, int bitmapRowPadA,
50
+ GBool reverseVideoA, SplashColorPtr paperColorA,
51
+ GBool bitmapTopDownA = gTrue,
52
+ GBool allowAntialiasA = gTrue);
53
+
54
+ // Destructor.
55
+ virtual ~SplashOutputDev();
56
+
57
+ //----- get info about output device
58
+
59
+ // Does this device use upside-down coordinates?
60
+ // (Upside-down means (0,0) is the top left corner of the page.)
61
+ virtual GBool upsideDown() { return gTrue; }
62
+
63
+ // Does this device use drawChar() or drawString()?
64
+ virtual GBool useDrawChar() { return gTrue; }
65
+
66
+ // Does this device use beginType3Char/endType3Char? Otherwise,
67
+ // text in Type 3 fonts will be drawn with drawChar/drawString.
68
+ virtual GBool interpretType3Chars() { return gTrue; }
69
+
70
+ //----- initialization and control
71
+
72
+ // Start a page.
73
+ virtual void startPage(int pageNum, GfxState *state);
74
+
75
+ // End a page.
76
+ virtual void endPage();
77
+
78
+ //----- save/restore graphics state
79
+ virtual void saveState(GfxState *state);
80
+ virtual void restoreState(GfxState *state);
81
+
82
+ //----- update graphics state
83
+ virtual void updateAll(GfxState *state);
84
+ virtual void updateCTM(GfxState *state, double m11, double m12,
85
+ double m21, double m22, double m31, double m32);
86
+ virtual void updateLineDash(GfxState *state);
87
+ virtual void updateFlatness(GfxState *state);
88
+ virtual void updateLineJoin(GfxState *state);
89
+ virtual void updateLineCap(GfxState *state);
90
+ virtual void updateMiterLimit(GfxState *state);
91
+ virtual void updateLineWidth(GfxState *state);
92
+ virtual void updateStrokeAdjust(GfxState *state);
93
+ virtual void updateFillColor(GfxState *state);
94
+ virtual void updateStrokeColor(GfxState *state);
95
+ virtual void updateBlendMode(GfxState *state);
96
+ virtual void updateFillOpacity(GfxState *state);
97
+ virtual void updateStrokeOpacity(GfxState *state);
98
+
99
+ //----- update text state
100
+ virtual void updateFont(GfxState *state);
101
+
102
+ //----- path painting
103
+ virtual void stroke(GfxState *state);
104
+ virtual void fill(GfxState *state);
105
+ virtual void eoFill(GfxState *state);
106
+
107
+ //----- path clipping
108
+ virtual void clip(GfxState *state);
109
+ virtual void eoClip(GfxState *state);
110
+ virtual void clipToStrokePath(GfxState *state);
111
+
112
+ //----- text drawing
113
+ virtual void drawChar(GfxState *state, double x, double y,
114
+ double dx, double dy,
115
+ double originX, double originY,
116
+ CharCode code, int nBytes, Unicode *u, int uLen);
117
+ virtual GBool beginType3Char(GfxState *state, double x, double y,
118
+ double dx, double dy,
119
+ CharCode code, Unicode *u, int uLen);
120
+ virtual void endType3Char(GfxState *state);
121
+ virtual void endTextObject(GfxState *state);
122
+
123
+ //----- image drawing
124
+ virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
125
+ int width, int height, GBool invert,
126
+ GBool inlineImg);
127
+ virtual void drawImage(GfxState *state, Object *ref, Stream *str,
128
+ int width, int height, GfxImageColorMap *colorMap,
129
+ int *maskColors, GBool inlineImg);
130
+ virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
131
+ int width, int height,
132
+ GfxImageColorMap *colorMap,
133
+ Stream *maskStr, int maskWidth, int maskHeight,
134
+ GBool maskInvert);
135
+ virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
136
+ int width, int height,
137
+ GfxImageColorMap *colorMap,
138
+ Stream *maskStr,
139
+ int maskWidth, int maskHeight,
140
+ GfxImageColorMap *maskColorMap);
141
+
142
+ //----- Type 3 font operators
143
+ virtual void type3D0(GfxState *state, double wx, double wy);
144
+ virtual void type3D1(GfxState *state, double wx, double wy,
145
+ double llx, double lly, double urx, double ury);
146
+
147
+ //----- transparency groups and soft masks
148
+ virtual void beginTransparencyGroup(GfxState *state, double *bbox,
149
+ GfxColorSpace *blendingColorSpace,
150
+ GBool isolated, GBool knockout,
151
+ GBool forSoftMask);
152
+ virtual void endTransparencyGroup(GfxState *state);
153
+ virtual void paintTransparencyGroup(GfxState *state, double *bbox);
154
+ virtual void setSoftMask(GfxState *state, double *bbox, GBool alpha,
155
+ Function *transferFunc, GfxColor *backdropColor);
156
+ virtual void clearSoftMask(GfxState *state);
157
+
158
+ //----- special access
159
+
160
+ // Called to indicate that a new PDF document has been loaded.
161
+ void startDoc(XRef *xrefA);
162
+
163
+ void setPaperColor(SplashColorPtr paperColorA);
164
+
165
+ GBool isReverseVideo() { return reverseVideo; }
166
+ void setReverseVideo(GBool reverseVideoA) { reverseVideo = reverseVideoA; }
167
+
168
+ // Get the bitmap and its size.
169
+ SplashBitmap *getBitmap() { return bitmap; }
170
+ int getBitmapWidth();
171
+ int getBitmapHeight();
172
+
173
+ // Returns the last rasterized bitmap, transferring ownership to the
174
+ // caller.
175
+ SplashBitmap *takeBitmap();
176
+
177
+ // Get the Splash object.
178
+ Splash *getSplash() { return splash; }
179
+
180
+ // Get the modified region.
181
+ void getModRegion(int *xMin, int *yMin, int *xMax, int *yMax);
182
+
183
+ // Clear the modified region.
184
+ void clearModRegion();
185
+
186
+ // Set the Splash fill color.
187
+ void setFillColor(int r, int g, int b);
188
+
189
+ // Get a font object for a Base-14 font, using the Latin-1 encoding.
190
+ SplashFont *getFont(GString *name, double *textMatA);
191
+
192
+ SplashFont *getCurrentFont() { return font; }
193
+
194
+ #if 1 //~tmp: turn off anti-aliasing temporarily
195
+ virtual GBool getVectorAntialias();
196
+ virtual void setVectorAntialias(GBool vaa);
197
+ #endif
198
+
199
+ private:
200
+
201
+ void setupScreenParams(double hDPI, double vDPI);
202
+ #if SPLASH_CMYK
203
+ SplashPattern *getColor(GfxGray gray, GfxRGB *rgb, GfxCMYK *cmyk);
204
+ #else
205
+ SplashPattern *getColor(GfxGray gray, GfxRGB *rgb);
206
+ #endif
207
+ SplashPath *convertPath(GfxState *state, GfxPath *path);
208
+ void doUpdateFont(GfxState *state);
209
+ void drawType3Glyph(T3FontCache *t3Font,
210
+ T3FontCacheTag *tag, Guchar *data);
211
+ static GBool imageMaskSrc(void *data, SplashColorPtr line);
212
+ static GBool imageSrc(void *data, SplashColorPtr colorLine,
213
+ Guchar *alphaLine);
214
+ static GBool alphaImageSrc(void *data, SplashColorPtr line,
215
+ Guchar *alphaLine);
216
+ static GBool maskedImageSrc(void *data, SplashColorPtr line,
217
+ Guchar *alphaLine);
218
+
219
+ SplashColorMode colorMode;
220
+ int bitmapRowPad;
221
+ GBool bitmapTopDown;
222
+ GBool allowAntialias;
223
+ GBool vectorAntialias;
224
+ GBool reverseVideo; // reverse video mode
225
+ SplashColor paperColor; // paper color
226
+ SplashScreenParams screenParams;
227
+
228
+ XRef *xref; // xref table for current document
229
+
230
+ SplashBitmap *bitmap;
231
+ Splash *splash;
232
+ SplashFontEngine *fontEngine;
233
+
234
+ T3FontCache * // Type 3 font cache
235
+ t3FontCache[splashOutT3FontCacheSize];
236
+ int nT3Fonts; // number of valid entries in t3FontCache
237
+ T3GlyphStack *t3GlyphStack; // Type 3 glyph context stack
238
+
239
+ SplashFont *font; // current font
240
+ GBool needFontUpdate; // set when the font needs to be updated
241
+ SplashPath *textClipPath; // clipping path built with text object
242
+
243
+ SplashTransparencyGroup * // transparency group stack
244
+ transpGroupStack;
245
+ };
246
+
247
+ #endif
@@ -0,0 +1,459 @@
1
+ //========================================================================
2
+ //
3
+ // Stream-CCITT.h
4
+ //
5
+ // Tables for CCITT Fax decoding.
6
+ //
7
+ // Copyright 1996-2003 Glyph & Cog, LLC
8
+ //
9
+ //========================================================================
10
+
11
+ struct CCITTCode {
12
+ short bits;
13
+ short n;
14
+ };
15
+
16
+ #define ccittEOL -2
17
+
18
+ //------------------------------------------------------------------------
19
+ // 2D codes
20
+ //------------------------------------------------------------------------
21
+
22
+ #define twoDimPass 0
23
+ #define twoDimHoriz 1
24
+ #define twoDimVert0 2
25
+ #define twoDimVertR1 3
26
+ #define twoDimVertL1 4
27
+ #define twoDimVertR2 5
28
+ #define twoDimVertL2 6
29
+ #define twoDimVertR3 7
30
+ #define twoDimVertL3 8
31
+
32
+ // 1-7 bit codes
33
+ static CCITTCode twoDimTab1[128] = {
34
+ {-1, -1}, {-1, -1}, // 000000x
35
+ {7, twoDimVertL3}, // 0000010
36
+ {7, twoDimVertR3}, // 0000011
37
+ {6, twoDimVertL2}, {6, twoDimVertL2}, // 000010x
38
+ {6, twoDimVertR2}, {6, twoDimVertR2}, // 000011x
39
+ {4, twoDimPass}, {4, twoDimPass}, // 0001xxx
40
+ {4, twoDimPass}, {4, twoDimPass},
41
+ {4, twoDimPass}, {4, twoDimPass},
42
+ {4, twoDimPass}, {4, twoDimPass},
43
+ {3, twoDimHoriz}, {3, twoDimHoriz}, // 001xxxx
44
+ {3, twoDimHoriz}, {3, twoDimHoriz},
45
+ {3, twoDimHoriz}, {3, twoDimHoriz},
46
+ {3, twoDimHoriz}, {3, twoDimHoriz},
47
+ {3, twoDimHoriz}, {3, twoDimHoriz},
48
+ {3, twoDimHoriz}, {3, twoDimHoriz},
49
+ {3, twoDimHoriz}, {3, twoDimHoriz},
50
+ {3, twoDimHoriz}, {3, twoDimHoriz},
51
+ {3, twoDimVertL1}, {3, twoDimVertL1}, // 010xxxx
52
+ {3, twoDimVertL1}, {3, twoDimVertL1},
53
+ {3, twoDimVertL1}, {3, twoDimVertL1},
54
+ {3, twoDimVertL1}, {3, twoDimVertL1},
55
+ {3, twoDimVertL1}, {3, twoDimVertL1},
56
+ {3, twoDimVertL1}, {3, twoDimVertL1},
57
+ {3, twoDimVertL1}, {3, twoDimVertL1},
58
+ {3, twoDimVertL1}, {3, twoDimVertL1},
59
+ {3, twoDimVertR1}, {3, twoDimVertR1}, // 011xxxx
60
+ {3, twoDimVertR1}, {3, twoDimVertR1},
61
+ {3, twoDimVertR1}, {3, twoDimVertR1},
62
+ {3, twoDimVertR1}, {3, twoDimVertR1},
63
+ {3, twoDimVertR1}, {3, twoDimVertR1},
64
+ {3, twoDimVertR1}, {3, twoDimVertR1},
65
+ {3, twoDimVertR1}, {3, twoDimVertR1},
66
+ {3, twoDimVertR1}, {3, twoDimVertR1},
67
+ {1, twoDimVert0}, {1, twoDimVert0}, // 1xxxxxx
68
+ {1, twoDimVert0}, {1, twoDimVert0},
69
+ {1, twoDimVert0}, {1, twoDimVert0},
70
+ {1, twoDimVert0}, {1, twoDimVert0},
71
+ {1, twoDimVert0}, {1, twoDimVert0},
72
+ {1, twoDimVert0}, {1, twoDimVert0},
73
+ {1, twoDimVert0}, {1, twoDimVert0},
74
+ {1, twoDimVert0}, {1, twoDimVert0},
75
+ {1, twoDimVert0}, {1, twoDimVert0},
76
+ {1, twoDimVert0}, {1, twoDimVert0},
77
+ {1, twoDimVert0}, {1, twoDimVert0},
78
+ {1, twoDimVert0}, {1, twoDimVert0},
79
+ {1, twoDimVert0}, {1, twoDimVert0},
80
+ {1, twoDimVert0}, {1, twoDimVert0},
81
+ {1, twoDimVert0}, {1, twoDimVert0},
82
+ {1, twoDimVert0}, {1, twoDimVert0},
83
+ {1, twoDimVert0}, {1, twoDimVert0},
84
+ {1, twoDimVert0}, {1, twoDimVert0},
85
+ {1, twoDimVert0}, {1, twoDimVert0},
86
+ {1, twoDimVert0}, {1, twoDimVert0},
87
+ {1, twoDimVert0}, {1, twoDimVert0},
88
+ {1, twoDimVert0}, {1, twoDimVert0},
89
+ {1, twoDimVert0}, {1, twoDimVert0},
90
+ {1, twoDimVert0}, {1, twoDimVert0},
91
+ {1, twoDimVert0}, {1, twoDimVert0},
92
+ {1, twoDimVert0}, {1, twoDimVert0},
93
+ {1, twoDimVert0}, {1, twoDimVert0},
94
+ {1, twoDimVert0}, {1, twoDimVert0},
95
+ {1, twoDimVert0}, {1, twoDimVert0},
96
+ {1, twoDimVert0}, {1, twoDimVert0},
97
+ {1, twoDimVert0}, {1, twoDimVert0},
98
+ {1, twoDimVert0}, {1, twoDimVert0}
99
+ };
100
+
101
+ //------------------------------------------------------------------------
102
+ // white run lengths
103
+ //------------------------------------------------------------------------
104
+
105
+ // 11-12 bit codes (upper 7 bits are 0)
106
+ static CCITTCode whiteTab1[32] = {
107
+ {-1, -1}, // 00000
108
+ {12, ccittEOL}, // 00001
109
+ {-1, -1}, {-1, -1}, // 0001x
110
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 001xx
111
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 010xx
112
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 011xx
113
+ {11, 1792}, {11, 1792}, // 1000x
114
+ {12, 1984}, // 10010
115
+ {12, 2048}, // 10011
116
+ {12, 2112}, // 10100
117
+ {12, 2176}, // 10101
118
+ {12, 2240}, // 10110
119
+ {12, 2304}, // 10111
120
+ {11, 1856}, {11, 1856}, // 1100x
121
+ {11, 1920}, {11, 1920}, // 1101x
122
+ {12, 2368}, // 11100
123
+ {12, 2432}, // 11101
124
+ {12, 2496}, // 11110
125
+ {12, 2560} // 11111
126
+ };
127
+
128
+ // 1-9 bit codes
129
+ static CCITTCode whiteTab2[512] = {
130
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 0000000xx
131
+ {8, 29}, {8, 29}, // 00000010x
132
+ {8, 30}, {8, 30}, // 00000011x
133
+ {8, 45}, {8, 45}, // 00000100x
134
+ {8, 46}, {8, 46}, // 00000101x
135
+ {7, 22}, {7, 22}, {7, 22}, {7, 22}, // 0000011xx
136
+ {7, 23}, {7, 23}, {7, 23}, {7, 23}, // 0000100xx
137
+ {8, 47}, {8, 47}, // 00001010x
138
+ {8, 48}, {8, 48}, // 00001011x
139
+ {6, 13}, {6, 13}, {6, 13}, {6, 13}, // 000011xxx
140
+ {6, 13}, {6, 13}, {6, 13}, {6, 13},
141
+ {7, 20}, {7, 20}, {7, 20}, {7, 20}, // 0001000xx
142
+ {8, 33}, {8, 33}, // 00010010x
143
+ {8, 34}, {8, 34}, // 00010011x
144
+ {8, 35}, {8, 35}, // 00010100x
145
+ {8, 36}, {8, 36}, // 00010101x
146
+ {8, 37}, {8, 37}, // 00010110x
147
+ {8, 38}, {8, 38}, // 00010111x
148
+ {7, 19}, {7, 19}, {7, 19}, {7, 19}, // 0001100xx
149
+ {8, 31}, {8, 31}, // 00011010x
150
+ {8, 32}, {8, 32}, // 00011011x
151
+ {6, 1}, {6, 1}, {6, 1}, {6, 1}, // 000111xxx
152
+ {6, 1}, {6, 1}, {6, 1}, {6, 1},
153
+ {6, 12}, {6, 12}, {6, 12}, {6, 12}, // 001000xxx
154
+ {6, 12}, {6, 12}, {6, 12}, {6, 12},
155
+ {8, 53}, {8, 53}, // 00100100x
156
+ {8, 54}, {8, 54}, // 00100101x
157
+ {7, 26}, {7, 26}, {7, 26}, {7, 26}, // 0010011xx
158
+ {8, 39}, {8, 39}, // 00101000x
159
+ {8, 40}, {8, 40}, // 00101001x
160
+ {8, 41}, {8, 41}, // 00101010x
161
+ {8, 42}, {8, 42}, // 00101011x
162
+ {8, 43}, {8, 43}, // 00101100x
163
+ {8, 44}, {8, 44}, // 00101101x
164
+ {7, 21}, {7, 21}, {7, 21}, {7, 21}, // 0010111xx
165
+ {7, 28}, {7, 28}, {7, 28}, {7, 28}, // 0011000xx
166
+ {8, 61}, {8, 61}, // 00110010x
167
+ {8, 62}, {8, 62}, // 00110011x
168
+ {8, 63}, {8, 63}, // 00110100x
169
+ {8, 0}, {8, 0}, // 00110101x
170
+ {8, 320}, {8, 320}, // 00110110x
171
+ {8, 384}, {8, 384}, // 00110111x
172
+ {5, 10}, {5, 10}, {5, 10}, {5, 10}, // 00111xxxx
173
+ {5, 10}, {5, 10}, {5, 10}, {5, 10},
174
+ {5, 10}, {5, 10}, {5, 10}, {5, 10},
175
+ {5, 10}, {5, 10}, {5, 10}, {5, 10},
176
+ {5, 11}, {5, 11}, {5, 11}, {5, 11}, // 01000xxxx
177
+ {5, 11}, {5, 11}, {5, 11}, {5, 11},
178
+ {5, 11}, {5, 11}, {5, 11}, {5, 11},
179
+ {5, 11}, {5, 11}, {5, 11}, {5, 11},
180
+ {7, 27}, {7, 27}, {7, 27}, {7, 27}, // 0100100xx
181
+ {8, 59}, {8, 59}, // 01001010x
182
+ {8, 60}, {8, 60}, // 01001011x
183
+ {9, 1472}, // 010011000
184
+ {9, 1536}, // 010011001
185
+ {9, 1600}, // 010011010
186
+ {9, 1728}, // 010011011
187
+ {7, 18}, {7, 18}, {7, 18}, {7, 18}, // 0100111xx
188
+ {7, 24}, {7, 24}, {7, 24}, {7, 24}, // 0101000xx
189
+ {8, 49}, {8, 49}, // 01010010x
190
+ {8, 50}, {8, 50}, // 01010011x
191
+ {8, 51}, {8, 51}, // 01010100x
192
+ {8, 52}, {8, 52}, // 01010101x
193
+ {7, 25}, {7, 25}, {7, 25}, {7, 25}, // 0101011xx
194
+ {8, 55}, {8, 55}, // 01011000x
195
+ {8, 56}, {8, 56}, // 01011001x
196
+ {8, 57}, {8, 57}, // 01011010x
197
+ {8, 58}, {8, 58}, // 01011011x
198
+ {6, 192}, {6, 192}, {6, 192}, {6, 192}, // 010111xxx
199
+ {6, 192}, {6, 192}, {6, 192}, {6, 192},
200
+ {6, 1664}, {6, 1664}, {6, 1664}, {6, 1664}, // 011000xxx
201
+ {6, 1664}, {6, 1664}, {6, 1664}, {6, 1664},
202
+ {8, 448}, {8, 448}, // 01100100x
203
+ {8, 512}, {8, 512}, // 01100101x
204
+ {9, 704}, // 011001100
205
+ {9, 768}, // 011001101
206
+ {8, 640}, {8, 640}, // 01100111x
207
+ {8, 576}, {8, 576}, // 01101000x
208
+ {9, 832}, // 011010010
209
+ {9, 896}, // 011010011
210
+ {9, 960}, // 011010100
211
+ {9, 1024}, // 011010101
212
+ {9, 1088}, // 011010110
213
+ {9, 1152}, // 011010111
214
+ {9, 1216}, // 011011000
215
+ {9, 1280}, // 011011001
216
+ {9, 1344}, // 011011010
217
+ {9, 1408}, // 011011011
218
+ {7, 256}, {7, 256}, {7, 256}, {7, 256}, // 0110111xx
219
+ {4, 2}, {4, 2}, {4, 2}, {4, 2}, // 0111xxxxx
220
+ {4, 2}, {4, 2}, {4, 2}, {4, 2},
221
+ {4, 2}, {4, 2}, {4, 2}, {4, 2},
222
+ {4, 2}, {4, 2}, {4, 2}, {4, 2},
223
+ {4, 2}, {4, 2}, {4, 2}, {4, 2},
224
+ {4, 2}, {4, 2}, {4, 2}, {4, 2},
225
+ {4, 2}, {4, 2}, {4, 2}, {4, 2},
226
+ {4, 2}, {4, 2}, {4, 2}, {4, 2},
227
+ {4, 3}, {4, 3}, {4, 3}, {4, 3}, // 1000xxxxx
228
+ {4, 3}, {4, 3}, {4, 3}, {4, 3},
229
+ {4, 3}, {4, 3}, {4, 3}, {4, 3},
230
+ {4, 3}, {4, 3}, {4, 3}, {4, 3},
231
+ {4, 3}, {4, 3}, {4, 3}, {4, 3},
232
+ {4, 3}, {4, 3}, {4, 3}, {4, 3},
233
+ {4, 3}, {4, 3}, {4, 3}, {4, 3},
234
+ {4, 3}, {4, 3}, {4, 3}, {4, 3},
235
+ {5, 128}, {5, 128}, {5, 128}, {5, 128}, // 10010xxxx
236
+ {5, 128}, {5, 128}, {5, 128}, {5, 128},
237
+ {5, 128}, {5, 128}, {5, 128}, {5, 128},
238
+ {5, 128}, {5, 128}, {5, 128}, {5, 128},
239
+ {5, 8}, {5, 8}, {5, 8}, {5, 8}, // 10011xxxx
240
+ {5, 8}, {5, 8}, {5, 8}, {5, 8},
241
+ {5, 8}, {5, 8}, {5, 8}, {5, 8},
242
+ {5, 8}, {5, 8}, {5, 8}, {5, 8},
243
+ {5, 9}, {5, 9}, {5, 9}, {5, 9}, // 10100xxxx
244
+ {5, 9}, {5, 9}, {5, 9}, {5, 9},
245
+ {5, 9}, {5, 9}, {5, 9}, {5, 9},
246
+ {5, 9}, {5, 9}, {5, 9}, {5, 9},
247
+ {6, 16}, {6, 16}, {6, 16}, {6, 16}, // 101010xxx
248
+ {6, 16}, {6, 16}, {6, 16}, {6, 16},
249
+ {6, 17}, {6, 17}, {6, 17}, {6, 17}, // 101011xxx
250
+ {6, 17}, {6, 17}, {6, 17}, {6, 17},
251
+ {4, 4}, {4, 4}, {4, 4}, {4, 4}, // 1011xxxxx
252
+ {4, 4}, {4, 4}, {4, 4}, {4, 4},
253
+ {4, 4}, {4, 4}, {4, 4}, {4, 4},
254
+ {4, 4}, {4, 4}, {4, 4}, {4, 4},
255
+ {4, 4}, {4, 4}, {4, 4}, {4, 4},
256
+ {4, 4}, {4, 4}, {4, 4}, {4, 4},
257
+ {4, 4}, {4, 4}, {4, 4}, {4, 4},
258
+ {4, 4}, {4, 4}, {4, 4}, {4, 4},
259
+ {4, 5}, {4, 5}, {4, 5}, {4, 5}, // 1100xxxxx
260
+ {4, 5}, {4, 5}, {4, 5}, {4, 5},
261
+ {4, 5}, {4, 5}, {4, 5}, {4, 5},
262
+ {4, 5}, {4, 5}, {4, 5}, {4, 5},
263
+ {4, 5}, {4, 5}, {4, 5}, {4, 5},
264
+ {4, 5}, {4, 5}, {4, 5}, {4, 5},
265
+ {4, 5}, {4, 5}, {4, 5}, {4, 5},
266
+ {4, 5}, {4, 5}, {4, 5}, {4, 5},
267
+ {6, 14}, {6, 14}, {6, 14}, {6, 14}, // 110100xxx
268
+ {6, 14}, {6, 14}, {6, 14}, {6, 14},
269
+ {6, 15}, {6, 15}, {6, 15}, {6, 15}, // 110101xxx
270
+ {6, 15}, {6, 15}, {6, 15}, {6, 15},
271
+ {5, 64}, {5, 64}, {5, 64}, {5, 64}, // 11011xxxx
272
+ {5, 64}, {5, 64}, {5, 64}, {5, 64},
273
+ {5, 64}, {5, 64}, {5, 64}, {5, 64},
274
+ {5, 64}, {5, 64}, {5, 64}, {5, 64},
275
+ {4, 6}, {4, 6}, {4, 6}, {4, 6}, // 1110xxxxx
276
+ {4, 6}, {4, 6}, {4, 6}, {4, 6},
277
+ {4, 6}, {4, 6}, {4, 6}, {4, 6},
278
+ {4, 6}, {4, 6}, {4, 6}, {4, 6},
279
+ {4, 6}, {4, 6}, {4, 6}, {4, 6},
280
+ {4, 6}, {4, 6}, {4, 6}, {4, 6},
281
+ {4, 6}, {4, 6}, {4, 6}, {4, 6},
282
+ {4, 6}, {4, 6}, {4, 6}, {4, 6},
283
+ {4, 7}, {4, 7}, {4, 7}, {4, 7}, // 1111xxxxx
284
+ {4, 7}, {4, 7}, {4, 7}, {4, 7},
285
+ {4, 7}, {4, 7}, {4, 7}, {4, 7},
286
+ {4, 7}, {4, 7}, {4, 7}, {4, 7},
287
+ {4, 7}, {4, 7}, {4, 7}, {4, 7},
288
+ {4, 7}, {4, 7}, {4, 7}, {4, 7},
289
+ {4, 7}, {4, 7}, {4, 7}, {4, 7},
290
+ {4, 7}, {4, 7}, {4, 7}, {4, 7}
291
+ };
292
+
293
+ //------------------------------------------------------------------------
294
+ // black run lengths
295
+ //------------------------------------------------------------------------
296
+
297
+ // 10-13 bit codes (upper 6 bits are 0)
298
+ static CCITTCode blackTab1[128] = {
299
+ {-1, -1}, {-1, -1}, // 000000000000x
300
+ {12, ccittEOL}, {12, ccittEOL}, // 000000000001x
301
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000001xx
302
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000010xx
303
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000011xx
304
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000100xx
305
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000101xx
306
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000110xx
307
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 00000000111xx
308
+ {11, 1792}, {11, 1792}, {11, 1792}, {11, 1792}, // 00000001000xx
309
+ {12, 1984}, {12, 1984}, // 000000010010x
310
+ {12, 2048}, {12, 2048}, // 000000010011x
311
+ {12, 2112}, {12, 2112}, // 000000010100x
312
+ {12, 2176}, {12, 2176}, // 000000010101x
313
+ {12, 2240}, {12, 2240}, // 000000010110x
314
+ {12, 2304}, {12, 2304}, // 000000010111x
315
+ {11, 1856}, {11, 1856}, {11, 1856}, {11, 1856}, // 00000001100xx
316
+ {11, 1920}, {11, 1920}, {11, 1920}, {11, 1920}, // 00000001101xx
317
+ {12, 2368}, {12, 2368}, // 000000011100x
318
+ {12, 2432}, {12, 2432}, // 000000011101x
319
+ {12, 2496}, {12, 2496}, // 000000011110x
320
+ {12, 2560}, {12, 2560}, // 000000011111x
321
+ {10, 18}, {10, 18}, {10, 18}, {10, 18}, // 0000001000xxx
322
+ {10, 18}, {10, 18}, {10, 18}, {10, 18},
323
+ {12, 52}, {12, 52}, // 000000100100x
324
+ {13, 640}, // 0000001001010
325
+ {13, 704}, // 0000001001011
326
+ {13, 768}, // 0000001001100
327
+ {13, 832}, // 0000001001101
328
+ {12, 55}, {12, 55}, // 000000100111x
329
+ {12, 56}, {12, 56}, // 000000101000x
330
+ {13, 1280}, // 0000001010010
331
+ {13, 1344}, // 0000001010011
332
+ {13, 1408}, // 0000001010100
333
+ {13, 1472}, // 0000001010101
334
+ {12, 59}, {12, 59}, // 000000101011x
335
+ {12, 60}, {12, 60}, // 000000101100x
336
+ {13, 1536}, // 0000001011010
337
+ {13, 1600}, // 0000001011011
338
+ {11, 24}, {11, 24}, {11, 24}, {11, 24}, // 00000010111xx
339
+ {11, 25}, {11, 25}, {11, 25}, {11, 25}, // 00000011000xx
340
+ {13, 1664}, // 0000001100100
341
+ {13, 1728}, // 0000001100101
342
+ {12, 320}, {12, 320}, // 000000110011x
343
+ {12, 384}, {12, 384}, // 000000110100x
344
+ {12, 448}, {12, 448}, // 000000110101x
345
+ {13, 512}, // 0000001101100
346
+ {13, 576}, // 0000001101101
347
+ {12, 53}, {12, 53}, // 000000110111x
348
+ {12, 54}, {12, 54}, // 000000111000x
349
+ {13, 896}, // 0000001110010
350
+ {13, 960}, // 0000001110011
351
+ {13, 1024}, // 0000001110100
352
+ {13, 1088}, // 0000001110101
353
+ {13, 1152}, // 0000001110110
354
+ {13, 1216}, // 0000001110111
355
+ {10, 64}, {10, 64}, {10, 64}, {10, 64}, // 0000001111xxx
356
+ {10, 64}, {10, 64}, {10, 64}, {10, 64}
357
+ };
358
+
359
+ // 7-12 bit codes (upper 4 bits are 0)
360
+ static CCITTCode blackTab2[192] = {
361
+ {8, 13}, {8, 13}, {8, 13}, {8, 13}, // 00000100xxxx
362
+ {8, 13}, {8, 13}, {8, 13}, {8, 13},
363
+ {8, 13}, {8, 13}, {8, 13}, {8, 13},
364
+ {8, 13}, {8, 13}, {8, 13}, {8, 13},
365
+ {11, 23}, {11, 23}, // 00000101000x
366
+ {12, 50}, // 000001010010
367
+ {12, 51}, // 000001010011
368
+ {12, 44}, // 000001010100
369
+ {12, 45}, // 000001010101
370
+ {12, 46}, // 000001010110
371
+ {12, 47}, // 000001010111
372
+ {12, 57}, // 000001011000
373
+ {12, 58}, // 000001011001
374
+ {12, 61}, // 000001011010
375
+ {12, 256}, // 000001011011
376
+ {10, 16}, {10, 16}, {10, 16}, {10, 16}, // 0000010111xx
377
+ {10, 17}, {10, 17}, {10, 17}, {10, 17}, // 0000011000xx
378
+ {12, 48}, // 000001100100
379
+ {12, 49}, // 000001100101
380
+ {12, 62}, // 000001100110
381
+ {12, 63}, // 000001100111
382
+ {12, 30}, // 000001101000
383
+ {12, 31}, // 000001101001
384
+ {12, 32}, // 000001101010
385
+ {12, 33}, // 000001101011
386
+ {12, 40}, // 000001101100
387
+ {12, 41}, // 000001101101
388
+ {11, 22}, {11, 22}, // 00000110111x
389
+ {8, 14}, {8, 14}, {8, 14}, {8, 14}, // 00000111xxxx
390
+ {8, 14}, {8, 14}, {8, 14}, {8, 14},
391
+ {8, 14}, {8, 14}, {8, 14}, {8, 14},
392
+ {8, 14}, {8, 14}, {8, 14}, {8, 14},
393
+ {7, 10}, {7, 10}, {7, 10}, {7, 10}, // 0000100xxxxx
394
+ {7, 10}, {7, 10}, {7, 10}, {7, 10},
395
+ {7, 10}, {7, 10}, {7, 10}, {7, 10},
396
+ {7, 10}, {7, 10}, {7, 10}, {7, 10},
397
+ {7, 10}, {7, 10}, {7, 10}, {7, 10},
398
+ {7, 10}, {7, 10}, {7, 10}, {7, 10},
399
+ {7, 10}, {7, 10}, {7, 10}, {7, 10},
400
+ {7, 10}, {7, 10}, {7, 10}, {7, 10},
401
+ {7, 11}, {7, 11}, {7, 11}, {7, 11}, // 0000101xxxxx
402
+ {7, 11}, {7, 11}, {7, 11}, {7, 11},
403
+ {7, 11}, {7, 11}, {7, 11}, {7, 11},
404
+ {7, 11}, {7, 11}, {7, 11}, {7, 11},
405
+ {7, 11}, {7, 11}, {7, 11}, {7, 11},
406
+ {7, 11}, {7, 11}, {7, 11}, {7, 11},
407
+ {7, 11}, {7, 11}, {7, 11}, {7, 11},
408
+ {7, 11}, {7, 11}, {7, 11}, {7, 11},
409
+ {9, 15}, {9, 15}, {9, 15}, {9, 15}, // 000011000xxx
410
+ {9, 15}, {9, 15}, {9, 15}, {9, 15},
411
+ {12, 128}, // 000011001000
412
+ {12, 192}, // 000011001001
413
+ {12, 26}, // 000011001010
414
+ {12, 27}, // 000011001011
415
+ {12, 28}, // 000011001100
416
+ {12, 29}, // 000011001101
417
+ {11, 19}, {11, 19}, // 00001100111x
418
+ {11, 20}, {11, 20}, // 00001101000x
419
+ {12, 34}, // 000011010010
420
+ {12, 35}, // 000011010011
421
+ {12, 36}, // 000011010100
422
+ {12, 37}, // 000011010101
423
+ {12, 38}, // 000011010110
424
+ {12, 39}, // 000011010111
425
+ {11, 21}, {11, 21}, // 00001101100x
426
+ {12, 42}, // 000011011010
427
+ {12, 43}, // 000011011011
428
+ {10, 0}, {10, 0}, {10, 0}, {10, 0}, // 0000110111xx
429
+ {7, 12}, {7, 12}, {7, 12}, {7, 12}, // 0000111xxxxx
430
+ {7, 12}, {7, 12}, {7, 12}, {7, 12},
431
+ {7, 12}, {7, 12}, {7, 12}, {7, 12},
432
+ {7, 12}, {7, 12}, {7, 12}, {7, 12},
433
+ {7, 12}, {7, 12}, {7, 12}, {7, 12},
434
+ {7, 12}, {7, 12}, {7, 12}, {7, 12},
435
+ {7, 12}, {7, 12}, {7, 12}, {7, 12},
436
+ {7, 12}, {7, 12}, {7, 12}, {7, 12}
437
+ };
438
+
439
+ // 2-6 bit codes
440
+ static CCITTCode blackTab3[64] = {
441
+ {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, // 0000xx
442
+ {6, 9}, // 000100
443
+ {6, 8}, // 000101
444
+ {5, 7}, {5, 7}, // 00011x
445
+ {4, 6}, {4, 6}, {4, 6}, {4, 6}, // 0010xx
446
+ {4, 5}, {4, 5}, {4, 5}, {4, 5}, // 0011xx
447
+ {3, 1}, {3, 1}, {3, 1}, {3, 1}, // 010xxx
448
+ {3, 1}, {3, 1}, {3, 1}, {3, 1},
449
+ {3, 4}, {3, 4}, {3, 4}, {3, 4}, // 011xxx
450
+ {3, 4}, {3, 4}, {3, 4}, {3, 4},
451
+ {2, 3}, {2, 3}, {2, 3}, {2, 3}, // 10xxxx
452
+ {2, 3}, {2, 3}, {2, 3}, {2, 3},
453
+ {2, 3}, {2, 3}, {2, 3}, {2, 3},
454
+ {2, 3}, {2, 3}, {2, 3}, {2, 3},
455
+ {2, 2}, {2, 2}, {2, 2}, {2, 2}, // 11xxxx
456
+ {2, 2}, {2, 2}, {2, 2}, {2, 2},
457
+ {2, 2}, {2, 2}, {2, 2}, {2, 2},
458
+ {2, 2}, {2, 2}, {2, 2}, {2, 2}
459
+ };