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,233 @@
1
+ //========================================================================
2
+ //
3
+ // FoFiType1C.h
4
+ //
5
+ // Copyright 1999-2003 Glyph & Cog, LLC
6
+ //
7
+ //========================================================================
8
+
9
+ #ifndef FOFITYPE1C_H
10
+ #define FOFITYPE1C_H
11
+
12
+ #include <aconf.h>
13
+
14
+ #ifdef USE_GCC_PRAGMAS
15
+ #pragma interface
16
+ #endif
17
+
18
+ #include "gtypes.h"
19
+ #include "FoFiBase.h"
20
+
21
+ class GString;
22
+
23
+ //------------------------------------------------------------------------
24
+
25
+ struct Type1CIndex {
26
+ int pos; // absolute position in file
27
+ int len; // length (number of entries)
28
+ int offSize; // offset size
29
+ int startPos; // position of start of index data - 1
30
+ int endPos; // position one byte past end of the index
31
+ };
32
+
33
+ struct Type1CIndexVal {
34
+ int pos; // absolute position in file
35
+ int len; // length, in bytes
36
+ };
37
+
38
+ struct Type1CTopDict {
39
+ int firstOp;
40
+
41
+ int versionSID;
42
+ int noticeSID;
43
+ int copyrightSID;
44
+ int fullNameSID;
45
+ int familyNameSID;
46
+ int weightSID;
47
+ int isFixedPitch;
48
+ double italicAngle;
49
+ double underlinePosition;
50
+ double underlineThickness;
51
+ int paintType;
52
+ int charstringType;
53
+ double fontMatrix[6];
54
+ GBool hasFontMatrix; // CID fonts are allowed to put their
55
+ // FontMatrix in the FD instead of the
56
+ // top dict
57
+ int uniqueID;
58
+ double fontBBox[4];
59
+ double strokeWidth;
60
+ int charsetOffset;
61
+ int encodingOffset;
62
+ int charStringsOffset;
63
+ int privateSize;
64
+ int privateOffset;
65
+
66
+ // CIDFont entries
67
+ int registrySID;
68
+ int orderingSID;
69
+ int supplement;
70
+ int fdArrayOffset;
71
+ int fdSelectOffset;
72
+ };
73
+
74
+ #define type1CMaxBlueValues 14
75
+ #define type1CMaxOtherBlues 10
76
+ #define type1CMaxStemSnap 12
77
+
78
+ struct Type1CPrivateDict {
79
+ double fontMatrix[6];
80
+ GBool hasFontMatrix;
81
+ int blueValues[type1CMaxBlueValues];
82
+ int nBlueValues;
83
+ int otherBlues[type1CMaxOtherBlues];
84
+ int nOtherBlues;
85
+ int familyBlues[type1CMaxBlueValues];
86
+ int nFamilyBlues;
87
+ int familyOtherBlues[type1CMaxOtherBlues];
88
+ int nFamilyOtherBlues;
89
+ double blueScale;
90
+ int blueShift;
91
+ int blueFuzz;
92
+ double stdHW;
93
+ GBool hasStdHW;
94
+ double stdVW;
95
+ GBool hasStdVW;
96
+ double stemSnapH[type1CMaxStemSnap];
97
+ int nStemSnapH;
98
+ double stemSnapV[type1CMaxStemSnap];
99
+ int nStemSnapV;
100
+ GBool forceBold;
101
+ GBool hasForceBold;
102
+ double forceBoldThreshold;
103
+ int languageGroup;
104
+ double expansionFactor;
105
+ int initialRandomSeed;
106
+ int subrsOffset;
107
+ double defaultWidthX;
108
+ GBool defaultWidthXFP;
109
+ double nominalWidthX;
110
+ GBool nominalWidthXFP;
111
+ };
112
+
113
+ struct Type1COp {
114
+ GBool isNum; // true -> number, false -> operator
115
+ GBool isFP; // true -> floating point number, false -> int
116
+ union {
117
+ double num; // if num is true
118
+ int op; // if num is false
119
+ };
120
+ };
121
+
122
+ struct Type1CEexecBuf {
123
+ FoFiOutputFunc outputFunc;
124
+ void *outputStream;
125
+ GBool ascii; // ASCII encoding?
126
+ Gushort r1; // eexec encryption key
127
+ int line; // number of eexec chars left on current line
128
+ };
129
+
130
+ //------------------------------------------------------------------------
131
+ // FoFiType1C
132
+ //------------------------------------------------------------------------
133
+
134
+ class FoFiType1C: public FoFiBase {
135
+ public:
136
+
137
+ // Create a FoFiType1C object from a memory buffer.
138
+ static FoFiType1C *make(char *fileA, int lenA);
139
+
140
+ // Create a FoFiType1C object from a file on disk.
141
+ static FoFiType1C *load(char *fileName);
142
+
143
+ virtual ~FoFiType1C();
144
+
145
+ // Return the font name.
146
+ char *getName();
147
+
148
+ // Return the encoding, as an array of 256 names (any of which may
149
+ // be NULL). This is only useful with 8-bit fonts.
150
+ char **getEncoding();
151
+
152
+ // Return the mapping from CIDs to GIDs, and return the number of
153
+ // CIDs in *<nCIDs>. This is only useful for CID fonts.
154
+ Gushort *getCIDToGIDMap(int *nCIDs);
155
+
156
+ // Convert to a Type 1 font, suitable for embedding in a PostScript
157
+ // file. This is only useful with 8-bit fonts. If <newEncoding> is
158
+ // not NULL, it will be used in place of the encoding in the Type 1C
159
+ // font. If <ascii> is true the eexec section will be hex-encoded,
160
+ // otherwise it will be left as binary data. If <psName> is non-NULL,
161
+ // it will be used as the PostScript font name.
162
+ void convertToType1(char *psName, char **newEncoding, GBool ascii,
163
+ FoFiOutputFunc outputFunc, void *outputStream);
164
+
165
+ // Convert to a Type 0 CIDFont, suitable for embedding in a
166
+ // PostScript file. <psName> will be used as the PostScript font
167
+ // name.
168
+ void convertToCIDType0(char *psName,
169
+ FoFiOutputFunc outputFunc, void *outputStream);
170
+
171
+ // Convert to a Type 0 (but non-CID) composite font, suitable for
172
+ // embedding in a PostScript file. <psName> will be used as the
173
+ // PostScript font name.
174
+ void convertToType0(char *psName,
175
+ FoFiOutputFunc outputFunc, void *outputStream);
176
+
177
+ private:
178
+
179
+ FoFiType1C(char *fileA, int lenA, GBool freeFileDataA);
180
+ void eexecCvtGlyph(Type1CEexecBuf *eb, char *glyphName,
181
+ int offset, int nBytes,
182
+ Type1CIndex *subrIdx,
183
+ Type1CPrivateDict *pDict);
184
+ void cvtGlyph(int offset, int nBytes, GString *charBuf,
185
+ Type1CIndex *subrIdx, Type1CPrivateDict *pDict,
186
+ GBool top);
187
+ void cvtGlyphWidth(GBool useOp, GString *charBuf,
188
+ Type1CPrivateDict *pDict);
189
+ void cvtNum(double x, GBool isFP, GString *charBuf);
190
+ void eexecWrite(Type1CEexecBuf *eb, char *s);
191
+ void eexecWriteCharstring(Type1CEexecBuf *eb, Guchar *s, int n);
192
+ GBool parse();
193
+ void readTopDict();
194
+ void readFD(int offset, int length, Type1CPrivateDict *pDict);
195
+ void readPrivateDict(int offset, int length, Type1CPrivateDict *pDict);
196
+ void readFDSelect();
197
+ void buildEncoding();
198
+ GBool readCharset();
199
+ int getOp(int pos, GBool charstring, GBool *ok);
200
+ int getDeltaIntArray(int *arr, int maxLen);
201
+ int getDeltaFPArray(double *arr, int maxLen);
202
+ void getIndex(int pos, Type1CIndex *idx, GBool *ok);
203
+ void getIndexVal(Type1CIndex *idx, int i, Type1CIndexVal *val, GBool *ok);
204
+ char *getString(int sid, char *buf, GBool *ok);
205
+
206
+ GString *name;
207
+ char **encoding;
208
+
209
+ Type1CIndex nameIdx;
210
+ Type1CIndex topDictIdx;
211
+ Type1CIndex stringIdx;
212
+ Type1CIndex gsubrIdx;
213
+ Type1CIndex charStringsIdx;
214
+
215
+ Type1CTopDict topDict;
216
+ Type1CPrivateDict *privateDicts;
217
+
218
+ int nGlyphs;
219
+ int nFDs;
220
+ Guchar *fdSelect;
221
+ Gushort *charset;
222
+ int gsubrBias;
223
+
224
+ GBool parsedOk;
225
+
226
+ Type1COp ops[49]; // operands and operator
227
+ int nOps; // number of operands
228
+ int nHints; // number of hints for the current glyph
229
+ GBool firstOp; // true if we haven't hit the first op yet
230
+ GBool openPath; // true if there is an unclosed path
231
+ };
232
+
233
+ #endif
@@ -0,0 +1,70 @@
1
+ #========================================================================
2
+ #
3
+ # FoFi library Makefile
4
+ #
5
+ # Copyright 2003 Glyph & Cog, LLC
6
+ #
7
+ #========================================================================
8
+
9
+ SHELL = /bin/sh
10
+
11
+ srcdir = .
12
+
13
+
14
+ GOOSRCDIR = $(srcdir)/../goo
15
+ GOOLIBDIR = ../goo
16
+
17
+ CXXFLAGS = -I/usr/local/include -g -O2 -DHAVE_CONFIG_H -I.. -I$(GOOSRCDIR) -I$(srcdir)
18
+
19
+ CXX = g++
20
+ AR = ar rc
21
+ RANLIB = ranlib
22
+
23
+ LIBPREFIX = lib
24
+
25
+ #------------------------------------------------------------------------
26
+
27
+ .SUFFIXES: .cc
28
+
29
+ .cc.o:
30
+ $(CXX) $(CXXFLAGS) -c $<
31
+
32
+ #------------------------------------------------------------------------
33
+
34
+ CXX_SRC = \
35
+ $(srcdir)/FoFiBase.cc \
36
+ $(srcdir)/FoFiEncodings.cc \
37
+ $(srcdir)/FoFiTrueType.cc \
38
+ $(srcdir)/FoFiType1.cc \
39
+ $(srcdir)/FoFiType1C.cc
40
+
41
+ #------------------------------------------------------------------------
42
+
43
+ all: $(LIBPREFIX)fofi.a
44
+
45
+ #------------------------------------------------------------------------
46
+
47
+ FOFI_OBJS = \
48
+ FoFiBase.o \
49
+ FoFiEncodings.o \
50
+ FoFiTrueType.o \
51
+ FoFiType1.o \
52
+ FoFiType1C.o
53
+
54
+ $(LIBPREFIX)fofi.a: $(FOFI_OBJS)
55
+ rm -f $(LIBPREFIX)fofi.a
56
+ $(AR) $(LIBPREFIX)fofi.a $(FOFI_OBJS)
57
+ $(RANLIB) $(LIBPREFIX)fofi.a
58
+
59
+ #------------------------------------------------------------------------
60
+ FOFI_WINOBJS = libfofi.lib FoFiBase.obj FoFiEncodings.obj FoFiTrueType.obj FoFiType1C.obj FoFiType1.obj
61
+
62
+ clean:
63
+ rm -f $(FOFI_OBJS) $(LIBPREFIX)fofi.a $(FOFI_WINOBJS)
64
+
65
+ #------------------------------------------------------------------------
66
+
67
+ depend:
68
+ $(CXX) $(CXXFLAGS) -MM $(CXX_SRC) >Makefile.dep
69
+
70
+ include Makefile.dep
File without changes
@@ -0,0 +1,70 @@
1
+ #========================================================================
2
+ #
3
+ # FoFi library Makefile
4
+ #
5
+ # Copyright 2003 Glyph & Cog, LLC
6
+ #
7
+ #========================================================================
8
+
9
+ SHELL = /bin/sh
10
+
11
+ srcdir = @srcdir@
12
+ VPATH = @srcdir@
13
+
14
+ GOOSRCDIR = $(srcdir)/../goo
15
+ GOOLIBDIR = ../goo
16
+
17
+ CXXFLAGS = -I/usr/local/include @CXXFLAGS@ @DEFS@ -I.. -I$(GOOSRCDIR) -I$(srcdir)
18
+
19
+ CXX = @CXX@
20
+ AR = ar rc
21
+ RANLIB = ranlib
22
+
23
+ LIBPREFIX = lib
24
+
25
+ #------------------------------------------------------------------------
26
+
27
+ .SUFFIXES: .cc
28
+
29
+ .cc.o:
30
+ $(CXX) $(CXXFLAGS) -c $<
31
+
32
+ #------------------------------------------------------------------------
33
+
34
+ CXX_SRC = \
35
+ $(srcdir)/FoFiBase.cc \
36
+ $(srcdir)/FoFiEncodings.cc \
37
+ $(srcdir)/FoFiTrueType.cc \
38
+ $(srcdir)/FoFiType1.cc \
39
+ $(srcdir)/FoFiType1C.cc
40
+
41
+ #------------------------------------------------------------------------
42
+
43
+ all: $(LIBPREFIX)fofi.a
44
+
45
+ #------------------------------------------------------------------------
46
+
47
+ FOFI_OBJS = \
48
+ FoFiBase.o \
49
+ FoFiEncodings.o \
50
+ FoFiTrueType.o \
51
+ FoFiType1.o \
52
+ FoFiType1C.o
53
+
54
+ $(LIBPREFIX)fofi.a: $(FOFI_OBJS)
55
+ rm -f $(LIBPREFIX)fofi.a
56
+ $(AR) $(LIBPREFIX)fofi.a $(FOFI_OBJS)
57
+ $(RANLIB) $(LIBPREFIX)fofi.a
58
+
59
+ #------------------------------------------------------------------------
60
+ FOFI_WINOBJS = libfofi.lib FoFiBase.obj FoFiEncodings.obj FoFiTrueType.obj FoFiType1C.obj FoFiType1.obj
61
+
62
+ clean:
63
+ rm -f $(FOFI_OBJS) $(LIBPREFIX)fofi.a $(FOFI_WINOBJS)
64
+
65
+ #------------------------------------------------------------------------
66
+
67
+ depend:
68
+ $(CXX) $(CXXFLAGS) -MM $(CXX_SRC) >Makefile.dep
69
+
70
+ include Makefile.dep
Binary file
File without changes
@@ -0,0 +1,528 @@
1
+ /***************************************************************************/
2
+ /* */
3
+ /* ftconfig.h */
4
+ /* */
5
+ /* ANSI-specific configuration file (specification only). */
6
+ /* */
7
+ /* Copyright 1996-2001, 2002, 2003, 2004, 2006, 2007, 2008, 2010 by */
8
+ /* David Turner, Robert Wilhelm, and Werner Lemberg. */
9
+ /* */
10
+ /* This file is part of the FreeType project, and may only be used, */
11
+ /* modified, and distributed under the terms of the FreeType project */
12
+ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
13
+ /* this file you indicate that you have read the license and */
14
+ /* understand and accept it fully. */
15
+ /* */
16
+ /***************************************************************************/
17
+
18
+
19
+ /*************************************************************************/
20
+ /* */
21
+ /* This header file contains a number of macro definitions that are used */
22
+ /* by the rest of the engine. Most of the macros here are automatically */
23
+ /* determined at compile time, and you should not need to change it to */
24
+ /* port FreeType, except to compile the library with a non-ANSI */
25
+ /* compiler. */
26
+ /* */
27
+ /* Note however that if some specific modifications are needed, we */
28
+ /* advise you to place a modified copy in your build directory. */
29
+ /* */
30
+ /* The build directory is usually `freetype/builds/<system>', and */
31
+ /* contains system-specific files that are always included first when */
32
+ /* building the library. */
33
+ /* */
34
+ /* This ANSI version should stay in `include/freetype/config'. */
35
+ /* */
36
+ /*************************************************************************/
37
+
38
+ #ifndef __FTCONFIG_H__
39
+ #define __FTCONFIG_H__
40
+
41
+ #include <ft2build.h>
42
+ #include FT_CONFIG_OPTIONS_H
43
+ #include FT_CONFIG_STANDARD_LIBRARY_H
44
+
45
+
46
+ FT_BEGIN_HEADER
47
+
48
+
49
+ /*************************************************************************/
50
+ /* */
51
+ /* PLATFORM-SPECIFIC CONFIGURATION MACROS */
52
+ /* */
53
+ /* These macros can be toggled to suit a specific system. The current */
54
+ /* ones are defaults used to compile FreeType in an ANSI C environment */
55
+ /* (16bit compilers are also supported). Copy this file to your own */
56
+ /* `freetype/builds/<system>' directory, and edit it to port the engine. */
57
+ /* */
58
+ /*************************************************************************/
59
+
60
+
61
+ /* There are systems (like the Texas Instruments 'C54x) where a `char' */
62
+ /* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */
63
+ /* `int' has 16 bits also for this system, sizeof(int) gives 1 which */
64
+ /* is probably unexpected. */
65
+ /* */
66
+ /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */
67
+ /* `char' type. */
68
+
69
+ #ifndef FT_CHAR_BIT
70
+ #define FT_CHAR_BIT CHAR_BIT
71
+ #endif
72
+
73
+
74
+ /* The size of an `int' type. */
75
+ #if FT_UINT_MAX == 0xFFFFUL
76
+ #define FT_SIZEOF_INT (16 / FT_CHAR_BIT)
77
+ #elif FT_UINT_MAX == 0xFFFFFFFFUL
78
+ #define FT_SIZEOF_INT (32 / FT_CHAR_BIT)
79
+ #elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
80
+ #define FT_SIZEOF_INT (64 / FT_CHAR_BIT)
81
+ #else
82
+ #error "Unsupported size of `int' type!"
83
+ #endif
84
+
85
+ /* The size of a `long' type. A five-byte `long' (as used e.g. on the */
86
+ /* DM642) is recognized but avoided. */
87
+ #if FT_ULONG_MAX == 0xFFFFFFFFUL
88
+ #define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
89
+ #elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
90
+ #define FT_SIZEOF_LONG (32 / FT_CHAR_BIT)
91
+ #elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
92
+ #define FT_SIZEOF_LONG (64 / FT_CHAR_BIT)
93
+ #else
94
+ #error "Unsupported size of `long' type!"
95
+ #endif
96
+
97
+
98
+ /* Preferred alignment of data */
99
+ #define FT_ALIGNMENT 8
100
+
101
+
102
+ /* FT_UNUSED is a macro used to indicate that a given parameter is not */
103
+ /* used -- this is only used to get rid of unpleasant compiler warnings */
104
+ #ifndef FT_UNUSED
105
+ #define FT_UNUSED( arg ) ( (arg) = (arg) )
106
+ #endif
107
+
108
+
109
+ /*************************************************************************/
110
+ /* */
111
+ /* AUTOMATIC CONFIGURATION MACROS */
112
+ /* */
113
+ /* These macros are computed from the ones defined above. Don't touch */
114
+ /* their definition, unless you know precisely what you are doing. No */
115
+ /* porter should need to mess with them. */
116
+ /* */
117
+ /*************************************************************************/
118
+
119
+
120
+ /*************************************************************************/
121
+ /* */
122
+ /* Mac support */
123
+ /* */
124
+ /* This is the only necessary change, so it is defined here instead */
125
+ /* providing a new configuration file. */
126
+ /* */
127
+ #if ( defined( __APPLE__ ) && !defined( DARWIN_NO_CARBON ) ) || \
128
+ ( defined( __MWERKS__ ) && defined( macintosh ) )
129
+ /* no Carbon frameworks for 64bit 10.4.x */
130
+ #include "AvailabilityMacros.h"
131
+ #if defined( __LP64__ ) && \
132
+ ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
133
+ #define DARWIN_NO_CARBON 1
134
+ #else
135
+ #define FT_MACINTOSH 1
136
+ #endif
137
+
138
+ #elif defined( __SC__ ) || defined( __MRC__ )
139
+ /* Classic MacOS compilers */
140
+ #include "ConditionalMacros.h"
141
+ #if TARGET_OS_MAC
142
+ #define FT_MACINTOSH 1
143
+ #endif
144
+
145
+ #endif
146
+
147
+
148
+ /*************************************************************************/
149
+ /* */
150
+ /* <Section> */
151
+ /* basic_types */
152
+ /* */
153
+ /*************************************************************************/
154
+
155
+
156
+ /*************************************************************************/
157
+ /* */
158
+ /* <Type> */
159
+ /* FT_Int16 */
160
+ /* */
161
+ /* <Description> */
162
+ /* A typedef for a 16bit signed integer type. */
163
+ /* */
164
+ typedef signed short FT_Int16;
165
+
166
+
167
+ /*************************************************************************/
168
+ /* */
169
+ /* <Type> */
170
+ /* FT_UInt16 */
171
+ /* */
172
+ /* <Description> */
173
+ /* A typedef for a 16bit unsigned integer type. */
174
+ /* */
175
+ typedef unsigned short FT_UInt16;
176
+
177
+ /* */
178
+
179
+
180
+ /* this #if 0 ... #endif clause is for documentation purposes */
181
+ #if 0
182
+
183
+ /*************************************************************************/
184
+ /* */
185
+ /* <Type> */
186
+ /* FT_Int32 */
187
+ /* */
188
+ /* <Description> */
189
+ /* A typedef for a 32bit signed integer type. The size depends on */
190
+ /* the configuration. */
191
+ /* */
192
+ typedef signed XXX FT_Int32;
193
+
194
+
195
+ /*************************************************************************/
196
+ /* */
197
+ /* <Type> */
198
+ /* FT_UInt32 */
199
+ /* */
200
+ /* A typedef for a 32bit unsigned integer type. The size depends on */
201
+ /* the configuration. */
202
+ /* */
203
+ typedef unsigned XXX FT_UInt32;
204
+
205
+ /* */
206
+
207
+ #endif
208
+
209
+ #if FT_SIZEOF_INT == (32 / FT_CHAR_BIT)
210
+
211
+ typedef signed int FT_Int32;
212
+ typedef unsigned int FT_UInt32;
213
+
214
+ #elif FT_SIZEOF_LONG == (32 / FT_CHAR_BIT)
215
+
216
+ typedef signed long FT_Int32;
217
+ typedef unsigned long FT_UInt32;
218
+
219
+ #else
220
+ #error "no 32bit type found -- please check your configuration files"
221
+ #endif
222
+
223
+
224
+ /* look up an integer type that is at least 32 bits */
225
+ #if FT_SIZEOF_INT >= (32 / FT_CHAR_BIT)
226
+
227
+ typedef int FT_Fast;
228
+ typedef unsigned int FT_UFast;
229
+
230
+ #elif FT_SIZEOF_LONG >= (32 / FT_CHAR_BIT)
231
+
232
+ typedef long FT_Fast;
233
+ typedef unsigned long FT_UFast;
234
+
235
+ #endif
236
+
237
+
238
+ /* determine whether we have a 64-bit int type for platforms without */
239
+ /* Autoconf */
240
+ #if FT_SIZEOF_LONG == (64 / FT_CHAR_BIT)
241
+
242
+ /* FT_LONG64 must be defined if a 64-bit type is available */
243
+ #define FT_LONG64
244
+ #define FT_INT64 long
245
+
246
+ #elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
247
+
248
+ /* this compiler provides the __int64 type */
249
+ #define FT_LONG64
250
+ #define FT_INT64 __int64
251
+
252
+ #elif defined( __BORLANDC__ ) /* Borland C++ */
253
+
254
+ /* XXXX: We should probably check the value of __BORLANDC__ in order */
255
+ /* to test the compiler version. */
256
+
257
+ /* this compiler provides the __int64 type */
258
+ #define FT_LONG64
259
+ #define FT_INT64 __int64
260
+
261
+ #elif defined( __WATCOMC__ ) /* Watcom C++ */
262
+
263
+ /* Watcom doesn't provide 64-bit data types */
264
+
265
+ #elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
266
+
267
+ #define FT_LONG64
268
+ #define FT_INT64 long long int
269
+
270
+ #elif defined( __GNUC__ )
271
+
272
+ /* GCC provides the `long long' type */
273
+ #define FT_LONG64
274
+ #define FT_INT64 long long int
275
+
276
+ #endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
277
+
278
+
279
+ /*************************************************************************/
280
+ /* */
281
+ /* A 64-bit data type will create compilation problems if you compile */
282
+ /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */
283
+ /* is defined. You can however ignore this rule by defining the */
284
+ /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */
285
+ /* */
286
+ #if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 )
287
+
288
+ #ifdef __STDC__
289
+
290
+ /* undefine the 64-bit macros in strict ANSI compilation mode */
291
+ #undef FT_LONG64
292
+ #undef FT_INT64
293
+
294
+ #endif /* __STDC__ */
295
+
296
+ #endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */
297
+
298
+
299
+ #define FT_BEGIN_STMNT do {
300
+ #define FT_END_STMNT } while ( 0 )
301
+ #define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
302
+
303
+
304
+ #ifndef FT_CONFIG_OPTION_NO_ASSEMBLER
305
+ /* Provide assembler fragments for performance-critical functions. */
306
+ /* These must be defined `static __inline__' with GCC. */
307
+
308
+ #if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */
309
+ #define FT_MULFIX_ASSEMBLER FT_MulFix_arm
310
+
311
+ /* documentation is in freetype.h */
312
+
313
+ static __inline FT_Int32
314
+ FT_MulFix_arm( FT_Int32 a,
315
+ FT_Int32 b )
316
+ {
317
+ register FT_Int32 t, t2;
318
+
319
+
320
+ __asm
321
+ {
322
+ smull t2, t, b, a /* (lo=t2,hi=t) = a*b */
323
+ mov a, t, asr #31 /* a = (hi >> 31) */
324
+ add a, a, #0x8000 /* a += 0x8000 */
325
+ adds t2, t2, a /* t2 += a */
326
+ adc t, t, #0 /* t += carry */
327
+ mov a, t2, lsr #16 /* a = t2 >> 16 */
328
+ orr a, a, t, lsl #16 /* a |= t << 16 */
329
+ }
330
+ return a;
331
+ }
332
+
333
+ #endif /* __CC_ARM || __ARMCC__ */
334
+
335
+
336
+ #ifdef __GNUC__
337
+
338
+ #if defined( __arm__ ) && !defined( __thumb__ ) && \
339
+ !( defined( __CC_ARM ) || defined( __ARMCC__ ) )
340
+ #define FT_MULFIX_ASSEMBLER FT_MulFix_arm
341
+
342
+ /* documentation is in freetype.h */
343
+
344
+ static __inline__ FT_Int32
345
+ FT_MulFix_arm( FT_Int32 a,
346
+ FT_Int32 b )
347
+ {
348
+ register FT_Int32 t, t2;
349
+
350
+
351
+ asm __volatile__ (
352
+ "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */
353
+ "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */
354
+ "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */
355
+ "adds %1, %1, %0\n\t" /* %1 += %0 */
356
+ "adc %2, %2, #0\n\t" /* %2 += carry */
357
+ "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */
358
+ "orr %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */
359
+ : "=r"(a), "=&r"(t2), "=&r"(t)
360
+ : "r"(a), "r"(b) );
361
+ return a;
362
+ }
363
+
364
+ #endif /* __arm__ && !__thumb__ && !( __CC_ARM || __ARMCC__ ) */
365
+
366
+ #if defined( __i386__ )
367
+ #define FT_MULFIX_ASSEMBLER FT_MulFix_i386
368
+
369
+ /* documentation is in freetype.h */
370
+
371
+ static __inline__ FT_Int32
372
+ FT_MulFix_i386( FT_Int32 a,
373
+ FT_Int32 b )
374
+ {
375
+ register FT_Int32 result;
376
+
377
+
378
+ __asm__ __volatile__ (
379
+ "imul %%edx\n"
380
+ "movl %%edx, %%ecx\n"
381
+ "sarl $31, %%ecx\n"
382
+ "addl $0x8000, %%ecx\n"
383
+ "addl %%ecx, %%eax\n"
384
+ "adcl $0, %%edx\n"
385
+ "shrl $16, %%eax\n"
386
+ "shll $16, %%edx\n"
387
+ "addl %%edx, %%eax\n"
388
+ : "=a"(result), "=d"(b)
389
+ : "a"(a), "d"(b)
390
+ : "%ecx", "cc" );
391
+ return result;
392
+ }
393
+
394
+ #endif /* i386 */
395
+
396
+ #endif /* __GNUC__ */
397
+
398
+ #endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */
399
+
400
+
401
+ #ifdef FT_CONFIG_OPTION_INLINE_MULFIX
402
+ #ifdef FT_MULFIX_ASSEMBLER
403
+ #define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER
404
+ #endif
405
+ #endif
406
+
407
+
408
+ #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
409
+
410
+ #define FT_LOCAL( x ) static x
411
+ #define FT_LOCAL_DEF( x ) static x
412
+
413
+ #else
414
+
415
+ #ifdef __cplusplus
416
+ #define FT_LOCAL( x ) extern "C" x
417
+ #define FT_LOCAL_DEF( x ) extern "C" x
418
+ #else
419
+ #define FT_LOCAL( x ) extern x
420
+ #define FT_LOCAL_DEF( x ) x
421
+ #endif
422
+
423
+ #endif /* FT_MAKE_OPTION_SINGLE_OBJECT */
424
+
425
+
426
+ #ifndef FT_BASE
427
+
428
+ #ifdef __cplusplus
429
+ #define FT_BASE( x ) extern "C" x
430
+ #else
431
+ #define FT_BASE( x ) extern x
432
+ #endif
433
+
434
+ #endif /* !FT_BASE */
435
+
436
+
437
+ #ifndef FT_BASE_DEF
438
+
439
+ #ifdef __cplusplus
440
+ #define FT_BASE_DEF( x ) x
441
+ #else
442
+ #define FT_BASE_DEF( x ) x
443
+ #endif
444
+
445
+ #endif /* !FT_BASE_DEF */
446
+
447
+
448
+ #ifndef FT_EXPORT
449
+
450
+ #ifdef __cplusplus
451
+ #define FT_EXPORT( x ) extern "C" x
452
+ #else
453
+ #define FT_EXPORT( x ) extern x
454
+ #endif
455
+
456
+ #endif /* !FT_EXPORT */
457
+
458
+
459
+ #ifndef FT_EXPORT_DEF
460
+
461
+ #ifdef __cplusplus
462
+ #define FT_EXPORT_DEF( x ) extern "C" x
463
+ #else
464
+ #define FT_EXPORT_DEF( x ) extern x
465
+ #endif
466
+
467
+ #endif /* !FT_EXPORT_DEF */
468
+
469
+
470
+ #ifndef FT_EXPORT_VAR
471
+
472
+ #ifdef __cplusplus
473
+ #define FT_EXPORT_VAR( x ) extern "C" x
474
+ #else
475
+ #define FT_EXPORT_VAR( x ) extern x
476
+ #endif
477
+
478
+ #endif /* !FT_EXPORT_VAR */
479
+
480
+ /* The following macros are needed to compile the library with a */
481
+ /* C++ compiler and with 16bit compilers. */
482
+ /* */
483
+
484
+ /* This is special. Within C++, you must specify `extern "C"' for */
485
+ /* functions which are used via function pointers, and you also */
486
+ /* must do that for structures which contain function pointers to */
487
+ /* assure C linkage -- it's not possible to have (local) anonymous */
488
+ /* functions which are accessed by (global) function pointers. */
489
+ /* */
490
+ /* */
491
+ /* FT_CALLBACK_DEF is used to _define_ a callback function. */
492
+ /* */
493
+ /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */
494
+ /* contains pointers to callback functions. */
495
+ /* */
496
+ /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */
497
+ /* that contains pointers to callback functions. */
498
+ /* */
499
+ /* */
500
+ /* Some 16bit compilers have to redefine these macros to insert */
501
+ /* the infamous `_cdecl' or `__fastcall' declarations. */
502
+ /* */
503
+ #ifndef FT_CALLBACK_DEF
504
+ #ifdef __cplusplus
505
+ #define FT_CALLBACK_DEF( x ) extern "C" x
506
+ #else
507
+ #define FT_CALLBACK_DEF( x ) static x
508
+ #endif
509
+ #endif /* FT_CALLBACK_DEF */
510
+
511
+ #ifndef FT_CALLBACK_TABLE
512
+ #ifdef __cplusplus
513
+ #define FT_CALLBACK_TABLE extern "C"
514
+ #define FT_CALLBACK_TABLE_DEF extern "C"
515
+ #else
516
+ #define FT_CALLBACK_TABLE extern
517
+ #define FT_CALLBACK_TABLE_DEF /* nothing */
518
+ #endif
519
+ #endif /* FT_CALLBACK_TABLE */
520
+
521
+
522
+ FT_END_HEADER
523
+
524
+
525
+ #endif /* __FTCONFIG_H__ */
526
+
527
+
528
+ /* END */