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,206 @@
1
+ /***************************************************************************/
2
+ /* */
3
+ /* fterrors.h */
4
+ /* */
5
+ /* FreeType error code handling (specification). */
6
+ /* */
7
+ /* Copyright 1996-2001, 2002, 2004, 2007 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 special header file is used to define the handling of FT2 */
22
+ /* enumeration constants. It can also be used to generate error message */
23
+ /* strings with a small macro trick explained below. */
24
+ /* */
25
+ /* I - Error Formats */
26
+ /* ----------------- */
27
+ /* */
28
+ /* The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be */
29
+ /* defined in ftoption.h in order to make the higher byte indicate */
30
+ /* the module where the error has happened (this is not compatible */
31
+ /* with standard builds of FreeType 2). You can then use the macro */
32
+ /* FT_ERROR_BASE macro to extract the generic error code from an */
33
+ /* FT_Error value. */
34
+ /* */
35
+ /* */
36
+ /* II - Error Message strings */
37
+ /* -------------------------- */
38
+ /* */
39
+ /* The error definitions below are made through special macros that */
40
+ /* allow client applications to build a table of error message strings */
41
+ /* if they need it. The strings are not included in a normal build of */
42
+ /* FreeType 2 to save space (most client applications do not use */
43
+ /* them). */
44
+ /* */
45
+ /* To do so, you have to define the following macros before including */
46
+ /* this file: */
47
+ /* */
48
+ /* FT_ERROR_START_LIST :: */
49
+ /* This macro is called before anything else to define the start of */
50
+ /* the error list. It is followed by several FT_ERROR_DEF calls */
51
+ /* (see below). */
52
+ /* */
53
+ /* FT_ERROR_DEF( e, v, s ) :: */
54
+ /* This macro is called to define one single error. */
55
+ /* `e' is the error code identifier (e.g. FT_Err_Invalid_Argument). */
56
+ /* `v' is the error numerical value. */
57
+ /* `s' is the corresponding error string. */
58
+ /* */
59
+ /* FT_ERROR_END_LIST :: */
60
+ /* This macro ends the list. */
61
+ /* */
62
+ /* Additionally, you have to undefine __FTERRORS_H__ before #including */
63
+ /* this file. */
64
+ /* */
65
+ /* Here is a simple example: */
66
+ /* */
67
+ /* { */
68
+ /* #undef __FTERRORS_H__ */
69
+ /* #define FT_ERRORDEF( e, v, s ) { e, s }, */
70
+ /* #define FT_ERROR_START_LIST { */
71
+ /* #define FT_ERROR_END_LIST { 0, 0 } }; */
72
+ /* */
73
+ /* const struct */
74
+ /* { */
75
+ /* int err_code; */
76
+ /* const char* err_msg; */
77
+ /* } ft_errors[] = */
78
+ /* */
79
+ /* #include FT_ERRORS_H */
80
+ /* } */
81
+ /* */
82
+ /*************************************************************************/
83
+
84
+
85
+ #ifndef __FTERRORS_H__
86
+ #define __FTERRORS_H__
87
+
88
+
89
+ /* include module base error codes */
90
+ #include FT_MODULE_ERRORS_H
91
+
92
+
93
+ /*******************************************************************/
94
+ /*******************************************************************/
95
+ /***** *****/
96
+ /***** SETUP MACROS *****/
97
+ /***** *****/
98
+ /*******************************************************************/
99
+ /*******************************************************************/
100
+
101
+
102
+ #undef FT_NEED_EXTERN_C
103
+
104
+ #undef FT_ERR_XCAT
105
+ #undef FT_ERR_CAT
106
+
107
+ #define FT_ERR_XCAT( x, y ) x ## y
108
+ #define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y )
109
+
110
+
111
+ /* FT_ERR_PREFIX is used as a prefix for error identifiers. */
112
+ /* By default, we use `FT_Err_'. */
113
+ /* */
114
+ #ifndef FT_ERR_PREFIX
115
+ #define FT_ERR_PREFIX FT_Err_
116
+ #endif
117
+
118
+
119
+ /* FT_ERR_BASE is used as the base for module-specific errors. */
120
+ /* */
121
+ #ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS
122
+
123
+ #ifndef FT_ERR_BASE
124
+ #define FT_ERR_BASE FT_Mod_Err_Base
125
+ #endif
126
+
127
+ #else
128
+
129
+ #undef FT_ERR_BASE
130
+ #define FT_ERR_BASE 0
131
+
132
+ #endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */
133
+
134
+
135
+ /* If FT_ERRORDEF is not defined, we need to define a simple */
136
+ /* enumeration type. */
137
+ /* */
138
+ #ifndef FT_ERRORDEF
139
+
140
+ #define FT_ERRORDEF( e, v, s ) e = v,
141
+ #define FT_ERROR_START_LIST enum {
142
+ #define FT_ERROR_END_LIST FT_ERR_CAT( FT_ERR_PREFIX, Max ) };
143
+
144
+ #ifdef __cplusplus
145
+ #define FT_NEED_EXTERN_C
146
+ extern "C" {
147
+ #endif
148
+
149
+ #endif /* !FT_ERRORDEF */
150
+
151
+
152
+ /* this macro is used to define an error */
153
+ #define FT_ERRORDEF_( e, v, s ) \
154
+ FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
155
+
156
+ /* this is only used for <module>_Err_Ok, which must be 0! */
157
+ #define FT_NOERRORDEF_( e, v, s ) \
158
+ FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
159
+
160
+
161
+ #ifdef FT_ERROR_START_LIST
162
+ FT_ERROR_START_LIST
163
+ #endif
164
+
165
+
166
+ /* now include the error codes */
167
+ #include FT_ERROR_DEFINITIONS_H
168
+
169
+
170
+ #ifdef FT_ERROR_END_LIST
171
+ FT_ERROR_END_LIST
172
+ #endif
173
+
174
+
175
+ /*******************************************************************/
176
+ /*******************************************************************/
177
+ /***** *****/
178
+ /***** SIMPLE CLEANUP *****/
179
+ /***** *****/
180
+ /*******************************************************************/
181
+ /*******************************************************************/
182
+
183
+ #ifdef FT_NEED_EXTERN_C
184
+ }
185
+ #endif
186
+
187
+ #undef FT_ERROR_START_LIST
188
+ #undef FT_ERROR_END_LIST
189
+
190
+ #undef FT_ERRORDEF
191
+ #undef FT_ERRORDEF_
192
+ #undef FT_NOERRORDEF_
193
+
194
+ #undef FT_NEED_EXTERN_C
195
+ #undef FT_ERR_CONCAT
196
+ #undef FT_ERR_BASE
197
+
198
+ /* FT_KEEP_ERR_PREFIX is needed for ftvalid.h */
199
+ #ifndef FT_KEEP_ERR_PREFIX
200
+ #undef FT_ERR_PREFIX
201
+ #endif
202
+
203
+ #endif /* __FTERRORS_H__ */
204
+
205
+
206
+ /* END */
@@ -0,0 +1,120 @@
1
+ /***************************************************************************/
2
+ /* */
3
+ /* ftgasp.h */
4
+ /* */
5
+ /* Access of TrueType's `gasp' table (specification). */
6
+ /* */
7
+ /* Copyright 2007, 2008 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
+ #ifndef _FT_GASP_H_
20
+ #define _FT_GASP_H_
21
+
22
+ #include <ft2build.h>
23
+ #include FT_FREETYPE_H
24
+
25
+ #ifdef FREETYPE_H
26
+ #error "freetype.h of FreeType 1 has been loaded!"
27
+ #error "Please fix the directory search order for header files"
28
+ #error "so that freetype.h of FreeType 2 is found first."
29
+ #endif
30
+
31
+
32
+ /***************************************************************************
33
+ *
34
+ * @section:
35
+ * gasp_table
36
+ *
37
+ * @title:
38
+ * Gasp Table
39
+ *
40
+ * @abstract:
41
+ * Retrieving TrueType `gasp' table entries.
42
+ *
43
+ * @description:
44
+ * The function @FT_Get_Gasp can be used to query a TrueType or OpenType
45
+ * font for specific entries in its `gasp' table, if any. This is
46
+ * mainly useful when implementing native TrueType hinting with the
47
+ * bytecode interpreter to duplicate the Windows text rendering results.
48
+ */
49
+
50
+ /*************************************************************************
51
+ *
52
+ * @enum:
53
+ * FT_GASP_XXX
54
+ *
55
+ * @description:
56
+ * A list of values and/or bit-flags returned by the @FT_Get_Gasp
57
+ * function.
58
+ *
59
+ * @values:
60
+ * FT_GASP_NO_TABLE ::
61
+ * This special value means that there is no GASP table in this face.
62
+ * It is up to the client to decide what to do.
63
+ *
64
+ * FT_GASP_DO_GRIDFIT ::
65
+ * Grid-fitting and hinting should be performed at the specified ppem.
66
+ * This *really* means TrueType bytecode interpretation.
67
+ *
68
+ * FT_GASP_DO_GRAY ::
69
+ * Anti-aliased rendering should be performed at the specified ppem.
70
+ *
71
+ * FT_GASP_SYMMETRIC_SMOOTHING ::
72
+ * Smoothing along multiple axes must be used with ClearType.
73
+ *
74
+ * FT_GASP_SYMMETRIC_GRIDFIT ::
75
+ * Grid-fitting must be used with ClearType's symmetric smoothing.
76
+ *
77
+ * @note:
78
+ * `ClearType' is Microsoft's implementation of LCD rendering, partly
79
+ * protected by patents.
80
+ *
81
+ * @since:
82
+ * 2.3.0
83
+ */
84
+ #define FT_GASP_NO_TABLE -1
85
+ #define FT_GASP_DO_GRIDFIT 0x01
86
+ #define FT_GASP_DO_GRAY 0x02
87
+ #define FT_GASP_SYMMETRIC_SMOOTHING 0x08
88
+ #define FT_GASP_SYMMETRIC_GRIDFIT 0x10
89
+
90
+
91
+ /*************************************************************************
92
+ *
93
+ * @func:
94
+ * FT_Get_Gasp
95
+ *
96
+ * @description:
97
+ * Read the `gasp' table from a TrueType or OpenType font file and
98
+ * return the entry corresponding to a given character pixel size.
99
+ *
100
+ * @input:
101
+ * face :: The source face handle.
102
+ * ppem :: The vertical character pixel size.
103
+ *
104
+ * @return:
105
+ * Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no
106
+ * `gasp' table in the face.
107
+ *
108
+ * @since:
109
+ * 2.3.0
110
+ */
111
+ FT_EXPORT( FT_Int )
112
+ FT_Get_Gasp( FT_Face face,
113
+ FT_UInt ppem );
114
+
115
+ /* */
116
+
117
+ #endif /* _FT_GASP_H_ */
118
+
119
+
120
+ /* END */
@@ -0,0 +1,613 @@
1
+ /***************************************************************************/
2
+ /* */
3
+ /* ftglyph.h */
4
+ /* */
5
+ /* FreeType convenience functions to handle glyphs (specification). */
6
+ /* */
7
+ /* Copyright 1996-2001, 2002, 2003, 2006, 2008, 2009 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 file contains the definition of several convenience functions */
22
+ /* that can be used by client applications to easily retrieve glyph */
23
+ /* bitmaps and outlines from a given face. */
24
+ /* */
25
+ /* These functions should be optional if you are writing a font server */
26
+ /* or text layout engine on top of FreeType. However, they are pretty */
27
+ /* handy for many other simple uses of the library. */
28
+ /* */
29
+ /*************************************************************************/
30
+
31
+
32
+ #ifndef __FTGLYPH_H__
33
+ #define __FTGLYPH_H__
34
+
35
+
36
+ #include <ft2build.h>
37
+ #include FT_FREETYPE_H
38
+
39
+ #ifdef FREETYPE_H
40
+ #error "freetype.h of FreeType 1 has been loaded!"
41
+ #error "Please fix the directory search order for header files"
42
+ #error "so that freetype.h of FreeType 2 is found first."
43
+ #endif
44
+
45
+
46
+ FT_BEGIN_HEADER
47
+
48
+
49
+ /*************************************************************************/
50
+ /* */
51
+ /* <Section> */
52
+ /* glyph_management */
53
+ /* */
54
+ /* <Title> */
55
+ /* Glyph Management */
56
+ /* */
57
+ /* <Abstract> */
58
+ /* Generic interface to manage individual glyph data. */
59
+ /* */
60
+ /* <Description> */
61
+ /* This section contains definitions used to manage glyph data */
62
+ /* through generic FT_Glyph objects. Each of them can contain a */
63
+ /* bitmap, a vector outline, or even images in other formats. */
64
+ /* */
65
+ /*************************************************************************/
66
+
67
+
68
+ /* forward declaration to a private type */
69
+ typedef struct FT_Glyph_Class_ FT_Glyph_Class;
70
+
71
+
72
+ /*************************************************************************/
73
+ /* */
74
+ /* <Type> */
75
+ /* FT_Glyph */
76
+ /* */
77
+ /* <Description> */
78
+ /* Handle to an object used to model generic glyph images. It is a */
79
+ /* pointer to the @FT_GlyphRec structure and can contain a glyph */
80
+ /* bitmap or pointer. */
81
+ /* */
82
+ /* <Note> */
83
+ /* Glyph objects are not owned by the library. You must thus release */
84
+ /* them manually (through @FT_Done_Glyph) _before_ calling */
85
+ /* @FT_Done_FreeType. */
86
+ /* */
87
+ typedef struct FT_GlyphRec_* FT_Glyph;
88
+
89
+
90
+ /*************************************************************************/
91
+ /* */
92
+ /* <Struct> */
93
+ /* FT_GlyphRec */
94
+ /* */
95
+ /* <Description> */
96
+ /* The root glyph structure contains a given glyph image plus its */
97
+ /* advance width in 16.16 fixed float format. */
98
+ /* */
99
+ /* <Fields> */
100
+ /* library :: A handle to the FreeType library object. */
101
+ /* */
102
+ /* clazz :: A pointer to the glyph's class. Private. */
103
+ /* */
104
+ /* format :: The format of the glyph's image. */
105
+ /* */
106
+ /* advance :: A 16.16 vector that gives the glyph's advance width. */
107
+ /* */
108
+ typedef struct FT_GlyphRec_
109
+ {
110
+ FT_Library library;
111
+ const FT_Glyph_Class* clazz;
112
+ FT_Glyph_Format format;
113
+ FT_Vector advance;
114
+
115
+ } FT_GlyphRec;
116
+
117
+
118
+ /*************************************************************************/
119
+ /* */
120
+ /* <Type> */
121
+ /* FT_BitmapGlyph */
122
+ /* */
123
+ /* <Description> */
124
+ /* A handle to an object used to model a bitmap glyph image. This is */
125
+ /* a sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec. */
126
+ /* */
127
+ typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph;
128
+
129
+
130
+ /*************************************************************************/
131
+ /* */
132
+ /* <Struct> */
133
+ /* FT_BitmapGlyphRec */
134
+ /* */
135
+ /* <Description> */
136
+ /* A structure used for bitmap glyph images. This really is a */
137
+ /* `sub-class' of @FT_GlyphRec. */
138
+ /* */
139
+ /* <Fields> */
140
+ /* root :: The root @FT_Glyph fields. */
141
+ /* */
142
+ /* left :: The left-side bearing, i.e., the horizontal distance */
143
+ /* from the current pen position to the left border of the */
144
+ /* glyph bitmap. */
145
+ /* */
146
+ /* top :: The top-side bearing, i.e., the vertical distance from */
147
+ /* the current pen position to the top border of the glyph */
148
+ /* bitmap. This distance is positive for upwards~y! */
149
+ /* */
150
+ /* bitmap :: A descriptor for the bitmap. */
151
+ /* */
152
+ /* <Note> */
153
+ /* You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have */
154
+ /* `glyph->format == FT_GLYPH_FORMAT_BITMAP'. This lets you access */
155
+ /* the bitmap's contents easily. */
156
+ /* */
157
+ /* The corresponding pixel buffer is always owned by @FT_BitmapGlyph */
158
+ /* and is thus created and destroyed with it. */
159
+ /* */
160
+ typedef struct FT_BitmapGlyphRec_
161
+ {
162
+ FT_GlyphRec root;
163
+ FT_Int left;
164
+ FT_Int top;
165
+ FT_Bitmap bitmap;
166
+
167
+ } FT_BitmapGlyphRec;
168
+
169
+
170
+ /*************************************************************************/
171
+ /* */
172
+ /* <Type> */
173
+ /* FT_OutlineGlyph */
174
+ /* */
175
+ /* <Description> */
176
+ /* A handle to an object used to model an outline glyph image. This */
177
+ /* is a sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec. */
178
+ /* */
179
+ typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph;
180
+
181
+
182
+ /*************************************************************************/
183
+ /* */
184
+ /* <Struct> */
185
+ /* FT_OutlineGlyphRec */
186
+ /* */
187
+ /* <Description> */
188
+ /* A structure used for outline (vectorial) glyph images. This */
189
+ /* really is a `sub-class' of @FT_GlyphRec. */
190
+ /* */
191
+ /* <Fields> */
192
+ /* root :: The root @FT_Glyph fields. */
193
+ /* */
194
+ /* outline :: A descriptor for the outline. */
195
+ /* */
196
+ /* <Note> */
197
+ /* You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have */
198
+ /* `glyph->format == FT_GLYPH_FORMAT_OUTLINE'. This lets you access */
199
+ /* the outline's content easily. */
200
+ /* */
201
+ /* As the outline is extracted from a glyph slot, its coordinates are */
202
+ /* expressed normally in 26.6 pixels, unless the flag */
203
+ /* @FT_LOAD_NO_SCALE was used in @FT_Load_Glyph() or @FT_Load_Char(). */
204
+ /* */
205
+ /* The outline's tables are always owned by the object and are */
206
+ /* destroyed with it. */
207
+ /* */
208
+ typedef struct FT_OutlineGlyphRec_
209
+ {
210
+ FT_GlyphRec root;
211
+ FT_Outline outline;
212
+
213
+ } FT_OutlineGlyphRec;
214
+
215
+
216
+ /*************************************************************************/
217
+ /* */
218
+ /* <Function> */
219
+ /* FT_Get_Glyph */
220
+ /* */
221
+ /* <Description> */
222
+ /* A function used to extract a glyph image from a slot. Note that */
223
+ /* the created @FT_Glyph object must be released with @FT_Done_Glyph. */
224
+ /* */
225
+ /* <Input> */
226
+ /* slot :: A handle to the source glyph slot. */
227
+ /* */
228
+ /* <Output> */
229
+ /* aglyph :: A handle to the glyph object. */
230
+ /* */
231
+ /* <Return> */
232
+ /* FreeType error code. 0~means success. */
233
+ /* */
234
+ FT_EXPORT( FT_Error )
235
+ FT_Get_Glyph( FT_GlyphSlot slot,
236
+ FT_Glyph *aglyph );
237
+
238
+
239
+ /*************************************************************************/
240
+ /* */
241
+ /* <Function> */
242
+ /* FT_Glyph_Copy */
243
+ /* */
244
+ /* <Description> */
245
+ /* A function used to copy a glyph image. Note that the created */
246
+ /* @FT_Glyph object must be released with @FT_Done_Glyph. */
247
+ /* */
248
+ /* <Input> */
249
+ /* source :: A handle to the source glyph object. */
250
+ /* */
251
+ /* <Output> */
252
+ /* target :: A handle to the target glyph object. 0~in case of */
253
+ /* error. */
254
+ /* */
255
+ /* <Return> */
256
+ /* FreeType error code. 0~means success. */
257
+ /* */
258
+ FT_EXPORT( FT_Error )
259
+ FT_Glyph_Copy( FT_Glyph source,
260
+ FT_Glyph *target );
261
+
262
+
263
+ /*************************************************************************/
264
+ /* */
265
+ /* <Function> */
266
+ /* FT_Glyph_Transform */
267
+ /* */
268
+ /* <Description> */
269
+ /* Transform a glyph image if its format is scalable. */
270
+ /* */
271
+ /* <InOut> */
272
+ /* glyph :: A handle to the target glyph object. */
273
+ /* */
274
+ /* <Input> */
275
+ /* matrix :: A pointer to a 2x2 matrix to apply. */
276
+ /* */
277
+ /* delta :: A pointer to a 2d vector to apply. Coordinates are */
278
+ /* expressed in 1/64th of a pixel. */
279
+ /* */
280
+ /* <Return> */
281
+ /* FreeType error code (if not 0, the glyph format is not scalable). */
282
+ /* */
283
+ /* <Note> */
284
+ /* The 2x2 transformation matrix is also applied to the glyph's */
285
+ /* advance vector. */
286
+ /* */
287
+ FT_EXPORT( FT_Error )
288
+ FT_Glyph_Transform( FT_Glyph glyph,
289
+ FT_Matrix* matrix,
290
+ FT_Vector* delta );
291
+
292
+
293
+ /*************************************************************************/
294
+ /* */
295
+ /* <Enum> */
296
+ /* FT_Glyph_BBox_Mode */
297
+ /* */
298
+ /* <Description> */
299
+ /* The mode how the values of @FT_Glyph_Get_CBox are returned. */
300
+ /* */
301
+ /* <Values> */
302
+ /* FT_GLYPH_BBOX_UNSCALED :: */
303
+ /* Return unscaled font units. */
304
+ /* */
305
+ /* FT_GLYPH_BBOX_SUBPIXELS :: */
306
+ /* Return unfitted 26.6 coordinates. */
307
+ /* */
308
+ /* FT_GLYPH_BBOX_GRIDFIT :: */
309
+ /* Return grid-fitted 26.6 coordinates. */
310
+ /* */
311
+ /* FT_GLYPH_BBOX_TRUNCATE :: */
312
+ /* Return coordinates in integer pixels. */
313
+ /* */
314
+ /* FT_GLYPH_BBOX_PIXELS :: */
315
+ /* Return grid-fitted pixel coordinates. */
316
+ /* */
317
+ typedef enum FT_Glyph_BBox_Mode_
318
+ {
319
+ FT_GLYPH_BBOX_UNSCALED = 0,
320
+ FT_GLYPH_BBOX_SUBPIXELS = 0,
321
+ FT_GLYPH_BBOX_GRIDFIT = 1,
322
+ FT_GLYPH_BBOX_TRUNCATE = 2,
323
+ FT_GLYPH_BBOX_PIXELS = 3
324
+
325
+ } FT_Glyph_BBox_Mode;
326
+
327
+
328
+ /*************************************************************************/
329
+ /* */
330
+ /* <Enum> */
331
+ /* ft_glyph_bbox_xxx */
332
+ /* */
333
+ /* <Description> */
334
+ /* These constants are deprecated. Use the corresponding */
335
+ /* @FT_Glyph_BBox_Mode values instead. */
336
+ /* */
337
+ /* <Values> */
338
+ /* ft_glyph_bbox_unscaled :: See @FT_GLYPH_BBOX_UNSCALED. */
339
+ /* ft_glyph_bbox_subpixels :: See @FT_GLYPH_BBOX_SUBPIXELS. */
340
+ /* ft_glyph_bbox_gridfit :: See @FT_GLYPH_BBOX_GRIDFIT. */
341
+ /* ft_glyph_bbox_truncate :: See @FT_GLYPH_BBOX_TRUNCATE. */
342
+ /* ft_glyph_bbox_pixels :: See @FT_GLYPH_BBOX_PIXELS. */
343
+ /* */
344
+ #define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED
345
+ #define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS
346
+ #define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT
347
+ #define ft_glyph_bbox_truncate FT_GLYPH_BBOX_TRUNCATE
348
+ #define ft_glyph_bbox_pixels FT_GLYPH_BBOX_PIXELS
349
+
350
+
351
+ /*************************************************************************/
352
+ /* */
353
+ /* <Function> */
354
+ /* FT_Glyph_Get_CBox */
355
+ /* */
356
+ /* <Description> */
357
+ /* Return a glyph's `control box'. The control box encloses all the */
358
+ /* outline's points, including Bézier control points. Though it */
359
+ /* coincides with the exact bounding box for most glyphs, it can be */
360
+ /* slightly larger in some situations (like when rotating an outline */
361
+ /* which contains Bézier outside arcs). */
362
+ /* */
363
+ /* Computing the control box is very fast, while getting the bounding */
364
+ /* box can take much more time as it needs to walk over all segments */
365
+ /* and arcs in the outline. To get the latter, you can use the */
366
+ /* `ftbbox' component which is dedicated to this single task. */
367
+ /* */
368
+ /* <Input> */
369
+ /* glyph :: A handle to the source glyph object. */
370
+ /* */
371
+ /* mode :: The mode which indicates how to interpret the returned */
372
+ /* bounding box values. */
373
+ /* */
374
+ /* <Output> */
375
+ /* acbox :: The glyph coordinate bounding box. Coordinates are */
376
+ /* expressed in 1/64th of pixels if it is grid-fitted. */
377
+ /* */
378
+ /* <Note> */
379
+ /* Coordinates are relative to the glyph origin, using the y~upwards */
380
+ /* convention. */
381
+ /* */
382
+ /* If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode' */
383
+ /* must be set to @FT_GLYPH_BBOX_UNSCALED to get unscaled font */
384
+ /* units in 26.6 pixel format. The value @FT_GLYPH_BBOX_SUBPIXELS */
385
+ /* is another name for this constant. */
386
+ /* */
387
+ /* Note that the maximum coordinates are exclusive, which means that */
388
+ /* one can compute the width and height of the glyph image (be it in */
389
+ /* integer or 26.6 pixels) as: */
390
+ /* */
391
+ /* { */
392
+ /* width = bbox.xMax - bbox.xMin; */
393
+ /* height = bbox.yMax - bbox.yMin; */
394
+ /* } */
395
+ /* */
396
+ /* Note also that for 26.6 coordinates, if `bbox_mode' is set to */
397
+ /* @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted, */
398
+ /* which corresponds to: */
399
+ /* */
400
+ /* { */
401
+ /* bbox.xMin = FLOOR(bbox.xMin); */
402
+ /* bbox.yMin = FLOOR(bbox.yMin); */
403
+ /* bbox.xMax = CEILING(bbox.xMax); */
404
+ /* bbox.yMax = CEILING(bbox.yMax); */
405
+ /* } */
406
+ /* */
407
+ /* To get the bbox in pixel coordinates, set `bbox_mode' to */
408
+ /* @FT_GLYPH_BBOX_TRUNCATE. */
409
+ /* */
410
+ /* To get the bbox in grid-fitted pixel coordinates, set `bbox_mode' */
411
+ /* to @FT_GLYPH_BBOX_PIXELS. */
412
+ /* */
413
+ FT_EXPORT( void )
414
+ FT_Glyph_Get_CBox( FT_Glyph glyph,
415
+ FT_UInt bbox_mode,
416
+ FT_BBox *acbox );
417
+
418
+
419
+ /*************************************************************************/
420
+ /* */
421
+ /* <Function> */
422
+ /* FT_Glyph_To_Bitmap */
423
+ /* */
424
+ /* <Description> */
425
+ /* Convert a given glyph object to a bitmap glyph object. */
426
+ /* */
427
+ /* <InOut> */
428
+ /* the_glyph :: A pointer to a handle to the target glyph. */
429
+ /* */
430
+ /* <Input> */
431
+ /* render_mode :: An enumeration that describes how the data is */
432
+ /* rendered. */
433
+ /* */
434
+ /* origin :: A pointer to a vector used to translate the glyph */
435
+ /* image before rendering. Can be~0 (if no */
436
+ /* translation). The origin is expressed in */
437
+ /* 26.6 pixels. */
438
+ /* */
439
+ /* destroy :: A boolean that indicates that the original glyph */
440
+ /* image should be destroyed by this function. It is */
441
+ /* never destroyed in case of error. */
442
+ /* */
443
+ /* <Return> */
444
+ /* FreeType error code. 0~means success. */
445
+ /* */
446
+ /* <Note> */
447
+ /* This function does nothing if the glyph format isn't scalable. */
448
+ /* */
449
+ /* The glyph image is translated with the `origin' vector before */
450
+ /* rendering. */
451
+ /* */
452
+ /* The first parameter is a pointer to an @FT_Glyph handle, that will */
453
+ /* be _replaced_ by this function (with newly allocated data). */
454
+ /* Typically, you would use (omitting error handling): */
455
+ /* */
456
+ /* */
457
+ /* { */
458
+ /* FT_Glyph glyph; */
459
+ /* FT_BitmapGlyph glyph_bitmap; */
460
+ /* */
461
+ /* */
462
+ /* // load glyph */
463
+ /* error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT ); */
464
+ /* */
465
+ /* // extract glyph image */
466
+ /* error = FT_Get_Glyph( face->glyph, &glyph ); */
467
+ /* */
468
+ /* // convert to a bitmap (default render mode + destroying old) */
469
+ /* if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) */
470
+ /* { */
471
+ /* error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, */
472
+ /* 0, 1 ); */
473
+ /* if ( error ) // `glyph' unchanged */
474
+ /* ... */
475
+ /* } */
476
+ /* */
477
+ /* // access bitmap content by typecasting */
478
+ /* glyph_bitmap = (FT_BitmapGlyph)glyph; */
479
+ /* */
480
+ /* // do funny stuff with it, like blitting/drawing */
481
+ /* ... */
482
+ /* */
483
+ /* // discard glyph image (bitmap or not) */
484
+ /* FT_Done_Glyph( glyph ); */
485
+ /* } */
486
+ /* */
487
+ /* */
488
+ /* Here another example, again without error handling: */
489
+ /* */
490
+ /* */
491
+ /* { */
492
+ /* FT_Glyph glyphs[MAX_GLYPHS] */
493
+ /* */
494
+ /* */
495
+ /* ... */
496
+ /* */
497
+ /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
498
+ /* error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || */
499
+ /* FT_Get_Glyph ( face->glyph, &glyph[idx] ); */
500
+ /* */
501
+ /* ... */
502
+ /* */
503
+ /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
504
+ /* { */
505
+ /* FT_Glyph bitmap = glyphs[idx]; */
506
+ /* */
507
+ /* */
508
+ /* ... */
509
+ /* */
510
+ /* // after this call, `bitmap' no longer points into */
511
+ /* // the `glyphs' array (and the old value isn't destroyed) */
512
+ /* FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); */
513
+ /* */
514
+ /* ... */
515
+ /* */
516
+ /* FT_Done_Glyph( bitmap ); */
517
+ /* } */
518
+ /* */
519
+ /* ... */
520
+ /* */
521
+ /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */
522
+ /* FT_Done_Glyph( glyphs[idx] ); */
523
+ /* } */
524
+ /* */
525
+ FT_EXPORT( FT_Error )
526
+ FT_Glyph_To_Bitmap( FT_Glyph* the_glyph,
527
+ FT_Render_Mode render_mode,
528
+ FT_Vector* origin,
529
+ FT_Bool destroy );
530
+
531
+
532
+ /*************************************************************************/
533
+ /* */
534
+ /* <Function> */
535
+ /* FT_Done_Glyph */
536
+ /* */
537
+ /* <Description> */
538
+ /* Destroy a given glyph. */
539
+ /* */
540
+ /* <Input> */
541
+ /* glyph :: A handle to the target glyph object. */
542
+ /* */
543
+ FT_EXPORT( void )
544
+ FT_Done_Glyph( FT_Glyph glyph );
545
+
546
+ /* */
547
+
548
+
549
+ /* other helpful functions */
550
+
551
+ /*************************************************************************/
552
+ /* */
553
+ /* <Section> */
554
+ /* computations */
555
+ /* */
556
+ /*************************************************************************/
557
+
558
+
559
+ /*************************************************************************/
560
+ /* */
561
+ /* <Function> */
562
+ /* FT_Matrix_Multiply */
563
+ /* */
564
+ /* <Description> */
565
+ /* Perform the matrix operation `b = a*b'. */
566
+ /* */
567
+ /* <Input> */
568
+ /* a :: A pointer to matrix `a'. */
569
+ /* */
570
+ /* <InOut> */
571
+ /* b :: A pointer to matrix `b'. */
572
+ /* */
573
+ /* <Note> */
574
+ /* The result is undefined if either `a' or `b' is zero. */
575
+ /* */
576
+ FT_EXPORT( void )
577
+ FT_Matrix_Multiply( const FT_Matrix* a,
578
+ FT_Matrix* b );
579
+
580
+
581
+ /*************************************************************************/
582
+ /* */
583
+ /* <Function> */
584
+ /* FT_Matrix_Invert */
585
+ /* */
586
+ /* <Description> */
587
+ /* Invert a 2x2 matrix. Return an error if it can't be inverted. */
588
+ /* */
589
+ /* <InOut> */
590
+ /* matrix :: A pointer to the target matrix. Remains untouched in */
591
+ /* case of error. */
592
+ /* */
593
+ /* <Return> */
594
+ /* FreeType error code. 0~means success. */
595
+ /* */
596
+ FT_EXPORT( FT_Error )
597
+ FT_Matrix_Invert( FT_Matrix* matrix );
598
+
599
+
600
+ /* */
601
+
602
+
603
+ FT_END_HEADER
604
+
605
+ #endif /* __FTGLYPH_H__ */
606
+
607
+
608
+ /* END */
609
+
610
+
611
+ /* Local Variables: */
612
+ /* coding: utf-8 */
613
+ /* End: */