pdf2json 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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 */