pdf2json 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +9 -0
- data/bin/.gitkeep +0 -0
- data/ext/extconf.rb +30 -0
- data/lib/pdf2json.rb +8 -0
- data/pdf2json-0.52-source/AUTHORS +24 -0
- data/pdf2json-0.52-source/CHANGES +11 -0
- data/pdf2json-0.52-source/Makefile +84 -0
- data/pdf2json-0.52-source/Makefile.in +84 -0
- data/pdf2json-0.52-source/aclocal.m4 +274 -0
- data/pdf2json-0.52-source/aconf-win32.h +86 -0
- data/pdf2json-0.52-source/aconf.h +42 -0
- data/pdf2json-0.52-source/aconf.h.in +41 -0
- data/pdf2json-0.52-source/autom4te.cache/output.0 +6908 -0
- data/pdf2json-0.52-source/autom4te.cache/requests +76 -0
- data/pdf2json-0.52-source/autom4te.cache/traces.0 +466 -0
- data/pdf2json-0.52-source/config.log +1259 -0
- data/pdf2json-0.52-source/config.status +1050 -0
- data/pdf2json-0.52-source/configure +6908 -0
- data/pdf2json-0.52-source/configure.ac +93 -0
- data/pdf2json-0.52-source/doc/pdffonts.1 +130 -0
- data/pdf2json-0.52-source/doc/pdffonts.cat +107 -0
- data/pdf2json-0.52-source/doc/pdffonts.hlp +117 -0
- data/pdf2json-0.52-source/doc/pdfimages.1 +102 -0
- data/pdf2json-0.52-source/doc/pdfimages.cat +92 -0
- data/pdf2json-0.52-source/doc/pdfimages.hlp +101 -0
- data/pdf2json-0.52-source/doc/pdfinfo.1 +158 -0
- data/pdf2json-0.52-source/doc/pdfinfo.cat +119 -0
- data/pdf2json-0.52-source/doc/pdfinfo.hlp +129 -0
- data/pdf2json-0.52-source/doc/pdftoppm.1 +115 -0
- data/pdf2json-0.52-source/doc/pdftoppm.cat +105 -0
- data/pdf2json-0.52-source/doc/pdftoppm.hlp +114 -0
- data/pdf2json-0.52-source/doc/pdftops.1 +229 -0
- data/pdf2json-0.52-source/doc/pdftops.cat +221 -0
- data/pdf2json-0.52-source/doc/pdftops.hlp +231 -0
- data/pdf2json-0.52-source/doc/pdftotext.1 +137 -0
- data/pdf2json-0.52-source/doc/pdftotext.cat +120 -0
- data/pdf2json-0.52-source/doc/pdftotext.hlp +133 -0
- data/pdf2json-0.52-source/doc/sample-xpdfrc +91 -0
- data/pdf2json-0.52-source/doc/xpdf.1 +513 -0
- data/pdf2json-0.52-source/doc/xpdf.cat +476 -0
- data/pdf2json-0.52-source/doc/xpdf.hlp +489 -0
- data/pdf2json-0.52-source/doc/xpdfrc.5 +480 -0
- data/pdf2json-0.52-source/doc/xpdfrc.cat +474 -0
- data/pdf2json-0.52-source/doc/xpdfrc.hlp +479 -0
- data/pdf2json-0.52-source/fofi/.DS_Store +0 -0
- data/pdf2json-0.52-source/fofi/FoFiBase.cc +156 -0
- data/pdf2json-0.52-source/fofi/FoFiBase.h +57 -0
- data/pdf2json-0.52-source/fofi/FoFiBase.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiEncodings.cc +994 -0
- data/pdf2json-0.52-source/fofi/FoFiEncodings.h +36 -0
- data/pdf2json-0.52-source/fofi/FoFiEncodings.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiTrueType.cc +2027 -0
- data/pdf2json-0.52-source/fofi/FoFiTrueType.h +174 -0
- data/pdf2json-0.52-source/fofi/FoFiTrueType.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiType1.cc +252 -0
- data/pdf2json-0.52-source/fofi/FoFiType1.h +59 -0
- data/pdf2json-0.52-source/fofi/FoFiType1.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiType1C.cc +2603 -0
- data/pdf2json-0.52-source/fofi/FoFiType1C.h +233 -0
- data/pdf2json-0.52-source/fofi/FoFiType1C.o +0 -0
- data/pdf2json-0.52-source/fofi/Makefile +70 -0
- data/pdf2json-0.52-source/fofi/Makefile.dep +0 -0
- data/pdf2json-0.52-source/fofi/Makefile.in +70 -0
- data/pdf2json-0.52-source/fofi/libfofi.a +0 -0
- data/pdf2json-0.52-source/fofi/vms_make.com +0 -0
- data/pdf2json-0.52-source/freetype.win32/.DS_Store +0 -0
- data/pdf2json-0.52-source/freetype.win32/include/.DS_Store +0 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftconfig.h +528 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftheader.h +780 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftmodule.h +32 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftoption.h +733 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftstdlib.h +173 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/freetype.h +3919 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftadvanc.h +179 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbbox.h +94 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbdf.h +209 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbitmap.h +227 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftcache.h +1128 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftchapters.h +103 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftcid.h +166 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fterrdef.h +244 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fterrors.h +206 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgasp.h +120 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftglyph.h +613 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgxval.h +358 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgzip.h +102 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftimage.h +1313 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftincrem.h +353 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlcdfil.h +213 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlist.h +277 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlzw.h +99 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmac.h +274 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmm.h +378 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmodapi.h +483 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmoderr.h +155 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftotval.h +203 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftoutln.h +537 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftpfr.h +172 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftrender.h +230 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsizes.h +159 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsnames.h +200 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftstroke.h +716 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsynth.h +80 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsystem.h +347 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fttrigon.h +350 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fttypes.h +588 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftwinfnt.h +274 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftxf86.h +83 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/autohint.h +231 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftcalc.h +179 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftdebug.h +250 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftdriver.h +422 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftgloadr.h +168 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftmemory.h +380 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftobjs.h +1428 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftpic.h +67 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftrfork.h +196 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftserv.h +620 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftstream.h +539 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/fttrace.h +139 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftvalid.h +150 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/internal.h +51 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/pcftypes.h +56 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/psaux.h +873 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/pshints.h +712 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svbdf.h +77 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svcid.h +83 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svgldict.h +82 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svgxval.h +72 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svkern.h +51 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svmm.h +104 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svotval.h +55 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpfr.h +66 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpostnm.h +79 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpscmap.h +164 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpsinfo.h +92 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svsfnt.h +102 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svttcmap.h +106 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svtteng.h +53 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svttglyf.h +67 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svwinfnt.h +50 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svxf86nm.h +55 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/sfnt.h +897 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/t1types.h +270 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/tttypes.h +1543 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/t1tables.h +504 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ttnameid.h +1247 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/tttables.h +759 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/tttags.h +107 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ttunpat.h +59 -0
- data/pdf2json-0.52-source/freetype.win32/include/ft2build.h +39 -0
- data/pdf2json-0.52-source/freetype.win32/lib/freetype_a.lib +0 -0
- data/pdf2json-0.52-source/goo/.DS_Store +0 -0
- data/pdf2json-0.52-source/goo/FixedPoint.cc +118 -0
- data/pdf2json-0.52-source/goo/FixedPoint.h +155 -0
- data/pdf2json-0.52-source/goo/FixedPoint.o +0 -0
- data/pdf2json-0.52-source/goo/GHash.cc +380 -0
- data/pdf2json-0.52-source/goo/GHash.h +78 -0
- data/pdf2json-0.52-source/goo/GHash.o +0 -0
- data/pdf2json-0.52-source/goo/GList.cc +97 -0
- data/pdf2json-0.52-source/goo/GList.h +96 -0
- data/pdf2json-0.52-source/goo/GList.o +0 -0
- data/pdf2json-0.52-source/goo/GMutex.h +49 -0
- data/pdf2json-0.52-source/goo/GString.cc +724 -0
- data/pdf2json-0.52-source/goo/GString.cc.fixed +718 -0
- data/pdf2json-0.52-source/goo/GString.h +136 -0
- data/pdf2json-0.52-source/goo/GString.o +0 -0
- data/pdf2json-0.52-source/goo/ImgWriter.o +0 -0
- data/pdf2json-0.52-source/goo/JpegWriter.o +0 -0
- data/pdf2json-0.52-source/goo/Makefile +72 -0
- data/pdf2json-0.52-source/goo/Makefile.dep +0 -0
- data/pdf2json-0.52-source/goo/Makefile.in +72 -0
- data/pdf2json-0.52-source/goo/PNGWriter.o +0 -0
- data/pdf2json-0.52-source/goo/gfile.cc +731 -0
- data/pdf2json-0.52-source/goo/gfile.h +138 -0
- data/pdf2json-0.52-source/goo/gfile.o +0 -0
- data/pdf2json-0.52-source/goo/gmem.cc +264 -0
- data/pdf2json-0.52-source/goo/gmem.h +79 -0
- data/pdf2json-0.52-source/goo/gmem.o +0 -0
- data/pdf2json-0.52-source/goo/gmempp.cc +32 -0
- data/pdf2json-0.52-source/goo/gmempp.o +0 -0
- data/pdf2json-0.52-source/goo/gtypes.h +29 -0
- data/pdf2json-0.52-source/goo/libGoo.a +0 -0
- data/pdf2json-0.52-source/goo/parseargs.c +190 -0
- data/pdf2json-0.52-source/goo/parseargs.h +71 -0
- data/pdf2json-0.52-source/goo/parseargs.o +0 -0
- data/pdf2json-0.52-source/goo/vms_directory.c +214 -0
- data/pdf2json-0.52-source/goo/vms_dirent.h +67 -0
- data/pdf2json-0.52-source/goo/vms_make.com +82 -0
- data/pdf2json-0.52-source/goo/vms_sys_dirent.h +54 -0
- data/pdf2json-0.52-source/goo/vms_unix_time.h +102 -0
- data/pdf2json-0.52-source/goo/vms_unix_times.c +42 -0
- data/pdf2json-0.52-source/goo/vms_unlink.c +22 -0
- data/pdf2json-0.52-source/ms_make.bat +199 -0
- data/pdf2json-0.52-source/splash/.DS_Store +0 -0
- data/pdf2json-0.52-source/splash/Makefile +103 -0
- data/pdf2json-0.52-source/splash/Makefile.dep +0 -0
- data/pdf2json-0.52-source/splash/Makefile.in +103 -0
- data/pdf2json-0.52-source/splash/Splash.cc +3310 -0
- data/pdf2json-0.52-source/splash/Splash.h +293 -0
- data/pdf2json-0.52-source/splash/Splash.o +0 -0
- data/pdf2json-0.52-source/splash/SplashBitmap.cc +188 -0
- data/pdf2json-0.52-source/splash/SplashBitmap.h +64 -0
- data/pdf2json-0.52-source/splash/SplashBitmap.o +0 -0
- data/pdf2json-0.52-source/splash/SplashClip.cc +382 -0
- data/pdf2json-0.52-source/splash/SplashClip.h +107 -0
- data/pdf2json-0.52-source/splash/SplashClip.o +0 -0
- data/pdf2json-0.52-source/splash/SplashErrorCodes.h +32 -0
- data/pdf2json-0.52-source/splash/SplashFTFont.cc +357 -0
- data/pdf2json-0.52-source/splash/SplashFTFont.h +58 -0
- data/pdf2json-0.52-source/splash/SplashFTFont.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFTFontEngine.cc +179 -0
- data/pdf2json-0.52-source/splash/SplashFTFontEngine.h +65 -0
- data/pdf2json-0.52-source/splash/SplashFTFontEngine.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFTFontFile.cc +114 -0
- data/pdf2json-0.52-source/splash/SplashFTFontFile.h +73 -0
- data/pdf2json-0.52-source/splash/SplashFTFontFile.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFont.cc +176 -0
- data/pdf2json-0.52-source/splash/SplashFont.h +104 -0
- data/pdf2json-0.52-source/splash/SplashFont.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFontEngine.cc +317 -0
- data/pdf2json-0.52-source/splash/SplashFontEngine.h +91 -0
- data/pdf2json-0.52-source/splash/SplashFontEngine.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFontFile.cc +55 -0
- data/pdf2json-0.52-source/splash/SplashFontFile.h +60 -0
- data/pdf2json-0.52-source/splash/SplashFontFile.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFontFileID.cc +23 -0
- data/pdf2json-0.52-source/splash/SplashFontFileID.h +30 -0
- data/pdf2json-0.52-source/splash/SplashFontFileID.o +0 -0
- data/pdf2json-0.52-source/splash/SplashGlyphBitmap.h +26 -0
- data/pdf2json-0.52-source/splash/SplashMath.h +89 -0
- data/pdf2json-0.52-source/splash/SplashPath.cc +184 -0
- data/pdf2json-0.52-source/splash/SplashPath.h +121 -0
- data/pdf2json-0.52-source/splash/SplashPath.o +0 -0
- data/pdf2json-0.52-source/splash/SplashPattern.cc +40 -0
- data/pdf2json-0.52-source/splash/SplashPattern.h +65 -0
- data/pdf2json-0.52-source/splash/SplashPattern.o +0 -0
- data/pdf2json-0.52-source/splash/SplashScreen.cc +383 -0
- data/pdf2json-0.52-source/splash/SplashScreen.h +56 -0
- data/pdf2json-0.52-source/splash/SplashScreen.o +0 -0
- data/pdf2json-0.52-source/splash/SplashState.cc +165 -0
- data/pdf2json-0.52-source/splash/SplashState.h +103 -0
- data/pdf2json-0.52-source/splash/SplashState.o +0 -0
- data/pdf2json-0.52-source/splash/SplashT1Font.cc +287 -0
- data/pdf2json-0.52-source/splash/SplashT1Font.h +57 -0
- data/pdf2json-0.52-source/splash/SplashT1Font.o +0 -0
- data/pdf2json-0.52-source/splash/SplashT1FontEngine.cc +124 -0
- data/pdf2json-0.52-source/splash/SplashT1FontEngine.h +53 -0
- data/pdf2json-0.52-source/splash/SplashT1FontEngine.o +0 -0
- data/pdf2json-0.52-source/splash/SplashT1FontFile.cc +97 -0
- data/pdf2json-0.52-source/splash/SplashT1FontFile.h +58 -0
- data/pdf2json-0.52-source/splash/SplashT1FontFile.o +0 -0
- data/pdf2json-0.52-source/splash/SplashTypes.h +132 -0
- data/pdf2json-0.52-source/splash/SplashXPath.cc +438 -0
- data/pdf2json-0.52-source/splash/SplashXPath.h +100 -0
- data/pdf2json-0.52-source/splash/SplashXPath.o +0 -0
- data/pdf2json-0.52-source/splash/SplashXPathScanner.cc +428 -0
- data/pdf2json-0.52-source/splash/SplashXPathScanner.h +87 -0
- data/pdf2json-0.52-source/splash/SplashXPathScanner.o +0 -0
- data/pdf2json-0.52-source/splash/libsplash.a +0 -0
- data/pdf2json-0.52-source/splash/vms_make.com +0 -0
- data/pdf2json-0.52-source/src/.DS_Store +0 -0
- data/pdf2json-0.52-source/src/GVector.h +101 -0
- data/pdf2json-0.52-source/src/ImgOutputDev.cc +1243 -0
- data/pdf2json-0.52-source/src/ImgOutputDev.h +307 -0
- data/pdf2json-0.52-source/src/ImgOutputDev.o +0 -0
- data/pdf2json-0.52-source/src/Makefile +68 -0
- data/pdf2json-0.52-source/src/Makefile.in +68 -0
- data/pdf2json-0.52-source/src/XmlFonts.cc +367 -0
- data/pdf2json-0.52-source/src/XmlFonts.h +91 -0
- data/pdf2json-0.52-source/src/XmlFonts.o +0 -0
- data/pdf2json-0.52-source/src/XmlLinks.cc +101 -0
- data/pdf2json-0.52-source/src/XmlLinks.h +54 -0
- data/pdf2json-0.52-source/src/XmlLinks.o +0 -0
- data/pdf2json-0.52-source/src/pdf2json +0 -0
- data/pdf2json-0.52-source/src/pdf2json.cc +343 -0
- data/pdf2json-0.52-source/src/pdf2json.o +0 -0
- data/pdf2json-0.52-source/src/pdf2xml.dtd +22 -0
- data/pdf2json-0.52-source/src/pdf2xmljson.dtd +9 -0
- data/pdf2json-0.52-source/xpdf/.DS_Store +0 -0
- data/pdf2json-0.52-source/xpdf/Annot.cc +1556 -0
- data/pdf2json-0.52-source/xpdf/Annot.h +142 -0
- data/pdf2json-0.52-source/xpdf/Annot.o +0 -0
- data/pdf2json-0.52-source/xpdf/Array.cc +73 -0
- data/pdf2json-0.52-source/xpdf/Array.h +58 -0
- data/pdf2json-0.52-source/xpdf/Array.o +0 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFont.cc +65 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFont.h +57 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFont.o +0 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFontTables.cc +4284 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFontTables.h +23 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFontTables.o +0 -0
- data/pdf2json-0.52-source/xpdf/CMap.cc +408 -0
- data/pdf2json-0.52-source/xpdf/CMap.h +102 -0
- data/pdf2json-0.52-source/xpdf/CMap.o +0 -0
- data/pdf2json-0.52-source/xpdf/Catalog.cc +374 -0
- data/pdf2json-0.52-source/xpdf/Catalog.h +97 -0
- data/pdf2json-0.52-source/xpdf/Catalog.o +0 -0
- data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.cc +540 -0
- data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.h +117 -0
- data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.o +0 -0
- data/pdf2json-0.52-source/xpdf/CharTypes.h +24 -0
- data/pdf2json-0.52-source/xpdf/CompactFontTables.h +464 -0
- data/pdf2json-0.52-source/xpdf/CoreOutputDev.cc +61 -0
- data/pdf2json-0.52-source/xpdf/CoreOutputDev.h +61 -0
- data/pdf2json-0.52-source/xpdf/Decrypt.cc +776 -0
- data/pdf2json-0.52-source/xpdf/Decrypt.h +95 -0
- data/pdf2json-0.52-source/xpdf/Decrypt.o +0 -0
- data/pdf2json-0.52-source/xpdf/Dict.cc +95 -0
- data/pdf2json-0.52-source/xpdf/Dict.h +77 -0
- data/pdf2json-0.52-source/xpdf/Dict.o +0 -0
- data/pdf2json-0.52-source/xpdf/Error.cc +38 -0
- data/pdf2json-0.52-source/xpdf/Error.h +23 -0
- data/pdf2json-0.52-source/xpdf/Error.o +0 -0
- data/pdf2json-0.52-source/xpdf/ErrorCodes.h +36 -0
- data/pdf2json-0.52-source/xpdf/FontEncodingTables.cc +1824 -0
- data/pdf2json-0.52-source/xpdf/FontEncodingTables.h +20 -0
- data/pdf2json-0.52-source/xpdf/FontEncodingTables.o +0 -0
- data/pdf2json-0.52-source/xpdf/Function.cc +1573 -0
- data/pdf2json-0.52-source/xpdf/Function.h +229 -0
- data/pdf2json-0.52-source/xpdf/Function.o +0 -0
- data/pdf2json-0.52-source/xpdf/Gfx.cc +4187 -0
- data/pdf2json-0.52-source/xpdf/Gfx.h +312 -0
- data/pdf2json-0.52-source/xpdf/Gfx.o +0 -0
- data/pdf2json-0.52-source/xpdf/GfxFont.cc +1568 -0
- data/pdf2json-0.52-source/xpdf/GfxFont.h +320 -0
- data/pdf2json-0.52-source/xpdf/GfxFont.o +0 -0
- data/pdf2json-0.52-source/xpdf/GfxState.cc +4137 -0
- data/pdf2json-0.52-source/xpdf/GfxState.h +1244 -0
- data/pdf2json-0.52-source/xpdf/GfxState.o +0 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.cc +2924 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.cc.old +2908 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.h +466 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.h.old +463 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.o +0 -0
- data/pdf2json-0.52-source/xpdf/ImageOutputDev.cc +195 -0
- data/pdf2json-0.52-source/xpdf/ImageOutputDev.h +76 -0
- data/pdf2json-0.52-source/xpdf/ImageOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.cc +322 -0
- data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.h +109 -0
- data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.o +0 -0
- data/pdf2json-0.52-source/xpdf/JBIG2Stream.cc +3413 -0
- data/pdf2json-0.52-source/xpdf/JBIG2Stream.h +145 -0
- data/pdf2json-0.52-source/xpdf/JBIG2Stream.o +0 -0
- data/pdf2json-0.52-source/xpdf/JPXStream.cc +3144 -0
- data/pdf2json-0.52-source/xpdf/JPXStream.h +351 -0
- data/pdf2json-0.52-source/xpdf/JPXStream.o +0 -0
- data/pdf2json-0.52-source/xpdf/Lexer.cc +485 -0
- data/pdf2json-0.52-source/xpdf/Lexer.h +80 -0
- data/pdf2json-0.52-source/xpdf/Lexer.o +0 -0
- data/pdf2json-0.52-source/xpdf/Link.cc +806 -0
- data/pdf2json-0.52-source/xpdf/Link.cc.old +784 -0
- data/pdf2json-0.52-source/xpdf/Link.h +415 -0
- data/pdf2json-0.52-source/xpdf/Link.h.old +369 -0
- data/pdf2json-0.52-source/xpdf/Link.o +0 -0
- data/pdf2json-0.52-source/xpdf/Makefile +232 -0
- data/pdf2json-0.52-source/xpdf/Makefile.dep +0 -0
- data/pdf2json-0.52-source/xpdf/Makefile.in +232 -0
- data/pdf2json-0.52-source/xpdf/NameToCharCode.cc +116 -0
- data/pdf2json-0.52-source/xpdf/NameToCharCode.h +42 -0
- data/pdf2json-0.52-source/xpdf/NameToCharCode.o +0 -0
- data/pdf2json-0.52-source/xpdf/NameToUnicodeTable.h +1097 -0
- data/pdf2json-0.52-source/xpdf/Object.cc +231 -0
- data/pdf2json-0.52-source/xpdf/Object.h +303 -0
- data/pdf2json-0.52-source/xpdf/Object.o +0 -0
- data/pdf2json-0.52-source/xpdf/Outline.cc +151 -0
- data/pdf2json-0.52-source/xpdf/Outline.h +76 -0
- data/pdf2json-0.52-source/xpdf/Outline.o +0 -0
- data/pdf2json-0.52-source/xpdf/OutputDev.cc +131 -0
- data/pdf2json-0.52-source/xpdf/OutputDev.h +253 -0
- data/pdf2json-0.52-source/xpdf/OutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/PDFCore.cc +2044 -0
- data/pdf2json-0.52-source/xpdf/PDFCore.h +321 -0
- data/pdf2json-0.52-source/xpdf/PDFDoc.cc +404 -0
- data/pdf2json-0.52-source/xpdf/PDFDoc.h +183 -0
- data/pdf2json-0.52-source/xpdf/PDFDoc.o +0 -0
- data/pdf2json-0.52-source/xpdf/PDFDocEncoding.cc +44 -0
- data/pdf2json-0.52-source/xpdf/PDFDocEncoding.h +16 -0
- data/pdf2json-0.52-source/xpdf/PDFDocEncoding.o +0 -0
- data/pdf2json-0.52-source/xpdf/PSOutputDev.cc +6224 -0
- data/pdf2json-0.52-source/xpdf/PSOutputDev.h +395 -0
- data/pdf2json-0.52-source/xpdf/PSOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/PSTokenizer.cc +135 -0
- data/pdf2json-0.52-source/xpdf/PSTokenizer.h +41 -0
- data/pdf2json-0.52-source/xpdf/PSTokenizer.o +0 -0
- data/pdf2json-0.52-source/xpdf/Page.cc +454 -0
- data/pdf2json-0.52-source/xpdf/Page.h +187 -0
- data/pdf2json-0.52-source/xpdf/Page.o +0 -0
- data/pdf2json-0.52-source/xpdf/Parser.cc +227 -0
- data/pdf2json-0.52-source/xpdf/Parser.h +59 -0
- data/pdf2json-0.52-source/xpdf/Parser.o +0 -0
- data/pdf2json-0.52-source/xpdf/PreScanOutputDev.cc +257 -0
- data/pdf2json-0.52-source/xpdf/PreScanOutputDev.h +130 -0
- data/pdf2json-0.52-source/xpdf/PreScanOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/SecurityHandler.cc +390 -0
- data/pdf2json-0.52-source/xpdf/SecurityHandler.h +160 -0
- data/pdf2json-0.52-source/xpdf/SecurityHandler.o +0 -0
- data/pdf2json-0.52-source/xpdf/SplashOutputDev.cc +2845 -0
- data/pdf2json-0.52-source/xpdf/SplashOutputDev.h +247 -0
- data/pdf2json-0.52-source/xpdf/SplashOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/Stream-CCITT.h +459 -0
- data/pdf2json-0.52-source/xpdf/Stream.cc +4627 -0
- data/pdf2json-0.52-source/xpdf/Stream.h +858 -0
- data/pdf2json-0.52-source/xpdf/Stream.o +0 -0
- data/pdf2json-0.52-source/xpdf/TextOutputDev.cc +4090 -0
- data/pdf2json-0.52-source/xpdf/TextOutputDev.h +661 -0
- data/pdf2json-0.52-source/xpdf/TextOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/UTF8.h +56 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.cc +302 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.cc.old +293 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.h +135 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.h.old +123 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.o +0 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMapTables.h +361 -0
- data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.cc +949 -0
- data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.h +20 -0
- data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.o +0 -0
- data/pdf2json-0.52-source/xpdf/XPDFApp.cc +447 -0
- data/pdf2json-0.52-source/xpdf/XPDFApp.h +114 -0
- data/pdf2json-0.52-source/xpdf/XPDFCore.cc +1655 -0
- data/pdf2json-0.52-source/xpdf/XPDFCore.h +251 -0
- data/pdf2json-0.52-source/xpdf/XPDFTree.cc +931 -0
- data/pdf2json-0.52-source/xpdf/XPDFTree.h +45 -0
- data/pdf2json-0.52-source/xpdf/XPDFTreeP.h +87 -0
- data/pdf2json-0.52-source/xpdf/XPDFViewer.cc +3488 -0
- data/pdf2json-0.52-source/xpdf/XPDFViewer.h +352 -0
- data/pdf2json-0.52-source/xpdf/XRef.cc +896 -0
- data/pdf2json-0.52-source/xpdf/XRef.h +133 -0
- data/pdf2json-0.52-source/xpdf/XRef.o +0 -0
- data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.cc +262 -0
- data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.h +341 -0
- data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.o +0 -0
- data/pdf2json-0.52-source/xpdf/about-text.h +48 -0
- data/pdf2json-0.52-source/xpdf/about.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/backArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/backArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/config.h +112 -0
- data/pdf2json-0.52-source/xpdf/dblLeftArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/dblLeftArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/dblRightArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/dblRightArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/find.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/findDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/forwardArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/forwardArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/leftArrow.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/leftArrowDis.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/libXpdf.a +0 -0
- data/pdf2json-0.52-source/xpdf/pdffonts +0 -0
- data/pdf2json-0.52-source/xpdf/pdffonts.cc +298 -0
- data/pdf2json-0.52-source/xpdf/pdffonts.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdfimages +0 -0
- data/pdf2json-0.52-source/xpdf/pdfimages.cc +155 -0
- data/pdf2json-0.52-source/xpdf/pdfimages.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdfinfo +0 -0
- data/pdf2json-0.52-source/xpdf/pdfinfo.cc +387 -0
- data/pdf2json-0.52-source/xpdf/pdfinfo.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdftoppm.cc +203 -0
- data/pdf2json-0.52-source/xpdf/pdftops +0 -0
- data/pdf2json-0.52-source/xpdf/pdftops.cc +344 -0
- data/pdf2json-0.52-source/xpdf/pdftops.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdftotext +0 -0
- data/pdf2json-0.52-source/xpdf/pdftotext.cc +333 -0
- data/pdf2json-0.52-source/xpdf/pdftotext.o +0 -0
- data/pdf2json-0.52-source/xpdf/print.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/printDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/rightArrow.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/rightArrowDis.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/vms_make.com +129 -0
- data/pdf2json-0.52-source/xpdf/xpdf.cc +344 -0
- data/pdf2json-0.52-source/xpdf/xpdfIcon.xpm +62 -0
- data/pdf2json.gemspec +29 -0
- metadata +518 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
/***************************************************************************/
|
2
|
+
/* */
|
3
|
+
/* ftgloadr.h */
|
4
|
+
/* */
|
5
|
+
/* The FreeType glyph loader (specification). */
|
6
|
+
/* */
|
7
|
+
/* Copyright 2002, 2003, 2005, 2006 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 __FTGLOADR_H__
|
20
|
+
#define __FTGLOADR_H__
|
21
|
+
|
22
|
+
|
23
|
+
#include <ft2build.h>
|
24
|
+
#include FT_FREETYPE_H
|
25
|
+
|
26
|
+
|
27
|
+
FT_BEGIN_HEADER
|
28
|
+
|
29
|
+
|
30
|
+
/*************************************************************************/
|
31
|
+
/* */
|
32
|
+
/* <Struct> */
|
33
|
+
/* FT_GlyphLoader */
|
34
|
+
/* */
|
35
|
+
/* <Description> */
|
36
|
+
/* The glyph loader is an internal object used to load several glyphs */
|
37
|
+
/* together (for example, in the case of composites). */
|
38
|
+
/* */
|
39
|
+
/* <Note> */
|
40
|
+
/* The glyph loader implementation is not part of the high-level API, */
|
41
|
+
/* hence the forward structure declaration. */
|
42
|
+
/* */
|
43
|
+
typedef struct FT_GlyphLoaderRec_* FT_GlyphLoader ;
|
44
|
+
|
45
|
+
|
46
|
+
#if 0 /* moved to freetype.h in version 2.2 */
|
47
|
+
#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1
|
48
|
+
#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2
|
49
|
+
#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4
|
50
|
+
#define FT_SUBGLYPH_FLAG_SCALE 8
|
51
|
+
#define FT_SUBGLYPH_FLAG_XY_SCALE 0x40
|
52
|
+
#define FT_SUBGLYPH_FLAG_2X2 0x80
|
53
|
+
#define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200
|
54
|
+
#endif
|
55
|
+
|
56
|
+
|
57
|
+
typedef struct FT_SubGlyphRec_
|
58
|
+
{
|
59
|
+
FT_Int index;
|
60
|
+
FT_UShort flags;
|
61
|
+
FT_Int arg1;
|
62
|
+
FT_Int arg2;
|
63
|
+
FT_Matrix transform;
|
64
|
+
|
65
|
+
} FT_SubGlyphRec;
|
66
|
+
|
67
|
+
|
68
|
+
typedef struct FT_GlyphLoadRec_
|
69
|
+
{
|
70
|
+
FT_Outline outline; /* outline */
|
71
|
+
FT_Vector* extra_points; /* extra points table */
|
72
|
+
FT_Vector* extra_points2; /* second extra points table */
|
73
|
+
FT_UInt num_subglyphs; /* number of subglyphs */
|
74
|
+
FT_SubGlyph subglyphs; /* subglyphs */
|
75
|
+
|
76
|
+
} FT_GlyphLoadRec, *FT_GlyphLoad;
|
77
|
+
|
78
|
+
|
79
|
+
typedef struct FT_GlyphLoaderRec_
|
80
|
+
{
|
81
|
+
FT_Memory memory;
|
82
|
+
FT_UInt max_points;
|
83
|
+
FT_UInt max_contours;
|
84
|
+
FT_UInt max_subglyphs;
|
85
|
+
FT_Bool use_extra;
|
86
|
+
|
87
|
+
FT_GlyphLoadRec base;
|
88
|
+
FT_GlyphLoadRec current;
|
89
|
+
|
90
|
+
void* other; /* for possible future extension? */
|
91
|
+
|
92
|
+
} FT_GlyphLoaderRec;
|
93
|
+
|
94
|
+
|
95
|
+
/* create new empty glyph loader */
|
96
|
+
FT_BASE( FT_Error )
|
97
|
+
FT_GlyphLoader_New( FT_Memory memory,
|
98
|
+
FT_GlyphLoader *aloader );
|
99
|
+
|
100
|
+
/* add an extra points table to a glyph loader */
|
101
|
+
FT_BASE( FT_Error )
|
102
|
+
FT_GlyphLoader_CreateExtra( FT_GlyphLoader loader );
|
103
|
+
|
104
|
+
/* destroy a glyph loader */
|
105
|
+
FT_BASE( void )
|
106
|
+
FT_GlyphLoader_Done( FT_GlyphLoader loader );
|
107
|
+
|
108
|
+
/* reset a glyph loader (frees everything int it) */
|
109
|
+
FT_BASE( void )
|
110
|
+
FT_GlyphLoader_Reset( FT_GlyphLoader loader );
|
111
|
+
|
112
|
+
/* rewind a glyph loader */
|
113
|
+
FT_BASE( void )
|
114
|
+
FT_GlyphLoader_Rewind( FT_GlyphLoader loader );
|
115
|
+
|
116
|
+
/* check that there is enough space to add `n_points' and `n_contours' */
|
117
|
+
/* to the glyph loader */
|
118
|
+
FT_BASE( FT_Error )
|
119
|
+
FT_GlyphLoader_CheckPoints( FT_GlyphLoader loader,
|
120
|
+
FT_UInt n_points,
|
121
|
+
FT_UInt n_contours );
|
122
|
+
|
123
|
+
|
124
|
+
#define FT_GLYPHLOADER_CHECK_P( _loader, _count ) \
|
125
|
+
( (_count) == 0 || ((_loader)->base.outline.n_points + \
|
126
|
+
(_loader)->current.outline.n_points + \
|
127
|
+
(unsigned long)(_count)) <= (_loader)->max_points )
|
128
|
+
|
129
|
+
#define FT_GLYPHLOADER_CHECK_C( _loader, _count ) \
|
130
|
+
( (_count) == 0 || ((_loader)->base.outline.n_contours + \
|
131
|
+
(_loader)->current.outline.n_contours + \
|
132
|
+
(unsigned long)(_count)) <= (_loader)->max_contours )
|
133
|
+
|
134
|
+
#define FT_GLYPHLOADER_CHECK_POINTS( _loader, _points,_contours ) \
|
135
|
+
( ( FT_GLYPHLOADER_CHECK_P( _loader, _points ) && \
|
136
|
+
FT_GLYPHLOADER_CHECK_C( _loader, _contours ) ) \
|
137
|
+
? 0 \
|
138
|
+
: FT_GlyphLoader_CheckPoints( (_loader), (_points), (_contours) ) )
|
139
|
+
|
140
|
+
|
141
|
+
/* check that there is enough space to add `n_subs' sub-glyphs to */
|
142
|
+
/* a glyph loader */
|
143
|
+
FT_BASE( FT_Error )
|
144
|
+
FT_GlyphLoader_CheckSubGlyphs( FT_GlyphLoader loader,
|
145
|
+
FT_UInt n_subs );
|
146
|
+
|
147
|
+
/* prepare a glyph loader, i.e. empty the current glyph */
|
148
|
+
FT_BASE( void )
|
149
|
+
FT_GlyphLoader_Prepare( FT_GlyphLoader loader );
|
150
|
+
|
151
|
+
/* add the current glyph to the base glyph */
|
152
|
+
FT_BASE( void )
|
153
|
+
FT_GlyphLoader_Add( FT_GlyphLoader loader );
|
154
|
+
|
155
|
+
/* copy points from one glyph loader to another */
|
156
|
+
FT_BASE( FT_Error )
|
157
|
+
FT_GlyphLoader_CopyPoints( FT_GlyphLoader target,
|
158
|
+
FT_GlyphLoader source );
|
159
|
+
|
160
|
+
/* */
|
161
|
+
|
162
|
+
|
163
|
+
FT_END_HEADER
|
164
|
+
|
165
|
+
#endif /* __FTGLOADR_H__ */
|
166
|
+
|
167
|
+
|
168
|
+
/* END */
|
@@ -0,0 +1,380 @@
|
|
1
|
+
/***************************************************************************/
|
2
|
+
/* */
|
3
|
+
/* ftmemory.h */
|
4
|
+
/* */
|
5
|
+
/* The FreeType memory management macros (specification). */
|
6
|
+
/* */
|
7
|
+
/* Copyright 1996-2001, 2002, 2004, 2005, 2006, 2007, 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
|
+
#ifndef __FTMEMORY_H__
|
20
|
+
#define __FTMEMORY_H__
|
21
|
+
|
22
|
+
|
23
|
+
#include <ft2build.h>
|
24
|
+
#include FT_CONFIG_CONFIG_H
|
25
|
+
#include FT_TYPES_H
|
26
|
+
|
27
|
+
|
28
|
+
FT_BEGIN_HEADER
|
29
|
+
|
30
|
+
|
31
|
+
/*************************************************************************/
|
32
|
+
/* */
|
33
|
+
/* <Macro> */
|
34
|
+
/* FT_SET_ERROR */
|
35
|
+
/* */
|
36
|
+
/* <Description> */
|
37
|
+
/* This macro is used to set an implicit `error' variable to a given */
|
38
|
+
/* expression's value (usually a function call), and convert it to a */
|
39
|
+
/* boolean which is set whenever the value is != 0. */
|
40
|
+
/* */
|
41
|
+
#undef FT_SET_ERROR
|
42
|
+
#define FT_SET_ERROR( expression ) \
|
43
|
+
( ( error = (expression) ) != 0 )
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
/*************************************************************************/
|
48
|
+
/*************************************************************************/
|
49
|
+
/*************************************************************************/
|
50
|
+
/**** ****/
|
51
|
+
/**** ****/
|
52
|
+
/**** M E M O R Y ****/
|
53
|
+
/**** ****/
|
54
|
+
/**** ****/
|
55
|
+
/*************************************************************************/
|
56
|
+
/*************************************************************************/
|
57
|
+
/*************************************************************************/
|
58
|
+
|
59
|
+
|
60
|
+
/*
|
61
|
+
* C++ refuses to handle statements like p = (void*)anything, with `p' a
|
62
|
+
* typed pointer. Since we don't have a `typeof' operator in standard
|
63
|
+
* C++, we have to use a template to emulate it.
|
64
|
+
*/
|
65
|
+
|
66
|
+
#ifdef __cplusplus
|
67
|
+
|
68
|
+
extern "C++"
|
69
|
+
template <typename T> inline T*
|
70
|
+
cplusplus_typeof( T*,
|
71
|
+
void *v )
|
72
|
+
{
|
73
|
+
return static_cast <T*> ( v );
|
74
|
+
}
|
75
|
+
|
76
|
+
#define FT_ASSIGNP( p, val ) (p) = cplusplus_typeof( (p), (val) )
|
77
|
+
|
78
|
+
#else
|
79
|
+
|
80
|
+
#define FT_ASSIGNP( p, val ) (p) = (val)
|
81
|
+
|
82
|
+
#endif
|
83
|
+
|
84
|
+
|
85
|
+
|
86
|
+
#ifdef FT_DEBUG_MEMORY
|
87
|
+
|
88
|
+
FT_BASE( const char* ) _ft_debug_file;
|
89
|
+
FT_BASE( long ) _ft_debug_lineno;
|
90
|
+
|
91
|
+
#define FT_DEBUG_INNER( exp ) ( _ft_debug_file = __FILE__, \
|
92
|
+
_ft_debug_lineno = __LINE__, \
|
93
|
+
(exp) )
|
94
|
+
|
95
|
+
#define FT_ASSIGNP_INNER( p, exp ) ( _ft_debug_file = __FILE__, \
|
96
|
+
_ft_debug_lineno = __LINE__, \
|
97
|
+
FT_ASSIGNP( p, exp ) )
|
98
|
+
|
99
|
+
#else /* !FT_DEBUG_MEMORY */
|
100
|
+
|
101
|
+
#define FT_DEBUG_INNER( exp ) (exp)
|
102
|
+
#define FT_ASSIGNP_INNER( p, exp ) FT_ASSIGNP( p, exp )
|
103
|
+
|
104
|
+
#endif /* !FT_DEBUG_MEMORY */
|
105
|
+
|
106
|
+
|
107
|
+
/*
|
108
|
+
* The allocation functions return a pointer, and the error code
|
109
|
+
* is written to through the `p_error' parameter. See below for
|
110
|
+
* for documentation.
|
111
|
+
*/
|
112
|
+
|
113
|
+
FT_BASE( FT_Pointer )
|
114
|
+
ft_mem_alloc( FT_Memory memory,
|
115
|
+
FT_Long size,
|
116
|
+
FT_Error *p_error );
|
117
|
+
|
118
|
+
FT_BASE( FT_Pointer )
|
119
|
+
ft_mem_qalloc( FT_Memory memory,
|
120
|
+
FT_Long size,
|
121
|
+
FT_Error *p_error );
|
122
|
+
|
123
|
+
FT_BASE( FT_Pointer )
|
124
|
+
ft_mem_realloc( FT_Memory memory,
|
125
|
+
FT_Long item_size,
|
126
|
+
FT_Long cur_count,
|
127
|
+
FT_Long new_count,
|
128
|
+
void* block,
|
129
|
+
FT_Error *p_error );
|
130
|
+
|
131
|
+
FT_BASE( FT_Pointer )
|
132
|
+
ft_mem_qrealloc( FT_Memory memory,
|
133
|
+
FT_Long item_size,
|
134
|
+
FT_Long cur_count,
|
135
|
+
FT_Long new_count,
|
136
|
+
void* block,
|
137
|
+
FT_Error *p_error );
|
138
|
+
|
139
|
+
FT_BASE( void )
|
140
|
+
ft_mem_free( FT_Memory memory,
|
141
|
+
const void* P );
|
142
|
+
|
143
|
+
|
144
|
+
#define FT_MEM_ALLOC( ptr, size ) \
|
145
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_alloc( memory, (size), &error ) )
|
146
|
+
|
147
|
+
#define FT_MEM_FREE( ptr ) \
|
148
|
+
FT_BEGIN_STMNT \
|
149
|
+
ft_mem_free( memory, (ptr) ); \
|
150
|
+
(ptr) = NULL; \
|
151
|
+
FT_END_STMNT
|
152
|
+
|
153
|
+
#define FT_MEM_NEW( ptr ) \
|
154
|
+
FT_MEM_ALLOC( ptr, sizeof ( *(ptr) ) )
|
155
|
+
|
156
|
+
#define FT_MEM_REALLOC( ptr, cursz, newsz ) \
|
157
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, 1, \
|
158
|
+
(cursz), (newsz), \
|
159
|
+
(ptr), &error ) )
|
160
|
+
|
161
|
+
#define FT_MEM_QALLOC( ptr, size ) \
|
162
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_qalloc( memory, (size), &error ) )
|
163
|
+
|
164
|
+
#define FT_MEM_QNEW( ptr ) \
|
165
|
+
FT_MEM_QALLOC( ptr, sizeof ( *(ptr) ) )
|
166
|
+
|
167
|
+
#define FT_MEM_QREALLOC( ptr, cursz, newsz ) \
|
168
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, 1, \
|
169
|
+
(cursz), (newsz), \
|
170
|
+
(ptr), &error ) )
|
171
|
+
|
172
|
+
#define FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz ) \
|
173
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, sizeof ( *(ptr) ), \
|
174
|
+
(cursz), (newsz), \
|
175
|
+
(ptr), &error ) )
|
176
|
+
|
177
|
+
#define FT_MEM_ALLOC_MULT( ptr, count, item_size ) \
|
178
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, (item_size), \
|
179
|
+
0, (count), \
|
180
|
+
NULL, &error ) )
|
181
|
+
|
182
|
+
#define FT_MEM_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \
|
183
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, (itmsz), \
|
184
|
+
(oldcnt), (newcnt), \
|
185
|
+
(ptr), &error ) )
|
186
|
+
|
187
|
+
#define FT_MEM_QALLOC_MULT( ptr, count, item_size ) \
|
188
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, (item_size), \
|
189
|
+
0, (count), \
|
190
|
+
NULL, &error ) )
|
191
|
+
|
192
|
+
#define FT_MEM_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz) \
|
193
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, (itmsz), \
|
194
|
+
(oldcnt), (newcnt), \
|
195
|
+
(ptr), &error ) )
|
196
|
+
|
197
|
+
|
198
|
+
#define FT_MEM_SET_ERROR( cond ) ( (cond), error != 0 )
|
199
|
+
|
200
|
+
|
201
|
+
#define FT_MEM_SET( dest, byte, count ) ft_memset( dest, byte, count )
|
202
|
+
|
203
|
+
#define FT_MEM_COPY( dest, source, count ) ft_memcpy( dest, source, count )
|
204
|
+
|
205
|
+
#define FT_MEM_MOVE( dest, source, count ) ft_memmove( dest, source, count )
|
206
|
+
|
207
|
+
|
208
|
+
#define FT_MEM_ZERO( dest, count ) FT_MEM_SET( dest, 0, count )
|
209
|
+
|
210
|
+
#define FT_ZERO( p ) FT_MEM_ZERO( p, sizeof ( *(p) ) )
|
211
|
+
|
212
|
+
|
213
|
+
#define FT_ARRAY_ZERO( dest, count ) \
|
214
|
+
FT_MEM_ZERO( dest, (count) * sizeof ( *(dest) ) )
|
215
|
+
|
216
|
+
#define FT_ARRAY_COPY( dest, source, count ) \
|
217
|
+
FT_MEM_COPY( dest, source, (count) * sizeof ( *(dest) ) )
|
218
|
+
|
219
|
+
#define FT_ARRAY_MOVE( dest, source, count ) \
|
220
|
+
FT_MEM_MOVE( dest, source, (count) * sizeof ( *(dest) ) )
|
221
|
+
|
222
|
+
|
223
|
+
/*
|
224
|
+
* Return the maximum number of addressable elements in an array.
|
225
|
+
* We limit ourselves to INT_MAX, rather than UINT_MAX, to avoid
|
226
|
+
* any problems.
|
227
|
+
*/
|
228
|
+
#define FT_ARRAY_MAX( ptr ) ( FT_INT_MAX / sizeof ( *(ptr) ) )
|
229
|
+
|
230
|
+
#define FT_ARRAY_CHECK( ptr, count ) ( (count) <= FT_ARRAY_MAX( ptr ) )
|
231
|
+
|
232
|
+
|
233
|
+
/*************************************************************************/
|
234
|
+
/* */
|
235
|
+
/* The following functions macros expect that their pointer argument is */
|
236
|
+
/* _typed_ in order to automatically compute array element sizes. */
|
237
|
+
/* */
|
238
|
+
|
239
|
+
#define FT_MEM_NEW_ARRAY( ptr, count ) \
|
240
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, sizeof ( *(ptr) ), \
|
241
|
+
0, (count), \
|
242
|
+
NULL, &error ) )
|
243
|
+
|
244
|
+
#define FT_MEM_RENEW_ARRAY( ptr, cursz, newsz ) \
|
245
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_realloc( memory, sizeof ( *(ptr) ), \
|
246
|
+
(cursz), (newsz), \
|
247
|
+
(ptr), &error ) )
|
248
|
+
|
249
|
+
#define FT_MEM_QNEW_ARRAY( ptr, count ) \
|
250
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, sizeof ( *(ptr) ), \
|
251
|
+
0, (count), \
|
252
|
+
NULL, &error ) )
|
253
|
+
|
254
|
+
#define FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz ) \
|
255
|
+
FT_ASSIGNP_INNER( ptr, ft_mem_qrealloc( memory, sizeof ( *(ptr) ), \
|
256
|
+
(cursz), (newsz), \
|
257
|
+
(ptr), &error ) )
|
258
|
+
|
259
|
+
|
260
|
+
#define FT_ALLOC( ptr, size ) \
|
261
|
+
FT_MEM_SET_ERROR( FT_MEM_ALLOC( ptr, size ) )
|
262
|
+
|
263
|
+
#define FT_REALLOC( ptr, cursz, newsz ) \
|
264
|
+
FT_MEM_SET_ERROR( FT_MEM_REALLOC( ptr, cursz, newsz ) )
|
265
|
+
|
266
|
+
#define FT_ALLOC_MULT( ptr, count, item_size ) \
|
267
|
+
FT_MEM_SET_ERROR( FT_MEM_ALLOC_MULT( ptr, count, item_size ) )
|
268
|
+
|
269
|
+
#define FT_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \
|
270
|
+
FT_MEM_SET_ERROR( FT_MEM_REALLOC_MULT( ptr, oldcnt, \
|
271
|
+
newcnt, itmsz ) )
|
272
|
+
|
273
|
+
#define FT_QALLOC( ptr, size ) \
|
274
|
+
FT_MEM_SET_ERROR( FT_MEM_QALLOC( ptr, size ) )
|
275
|
+
|
276
|
+
#define FT_QREALLOC( ptr, cursz, newsz ) \
|
277
|
+
FT_MEM_SET_ERROR( FT_MEM_QREALLOC( ptr, cursz, newsz ) )
|
278
|
+
|
279
|
+
#define FT_QALLOC_MULT( ptr, count, item_size ) \
|
280
|
+
FT_MEM_SET_ERROR( FT_MEM_QALLOC_MULT( ptr, count, item_size ) )
|
281
|
+
|
282
|
+
#define FT_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz ) \
|
283
|
+
FT_MEM_SET_ERROR( FT_MEM_QREALLOC_MULT( ptr, oldcnt, \
|
284
|
+
newcnt, itmsz ) )
|
285
|
+
|
286
|
+
#define FT_FREE( ptr ) FT_MEM_FREE( ptr )
|
287
|
+
|
288
|
+
#define FT_NEW( ptr ) FT_MEM_SET_ERROR( FT_MEM_NEW( ptr ) )
|
289
|
+
|
290
|
+
#define FT_NEW_ARRAY( ptr, count ) \
|
291
|
+
FT_MEM_SET_ERROR( FT_MEM_NEW_ARRAY( ptr, count ) )
|
292
|
+
|
293
|
+
#define FT_RENEW_ARRAY( ptr, curcnt, newcnt ) \
|
294
|
+
FT_MEM_SET_ERROR( FT_MEM_RENEW_ARRAY( ptr, curcnt, newcnt ) )
|
295
|
+
|
296
|
+
#define FT_QNEW( ptr ) \
|
297
|
+
FT_MEM_SET_ERROR( FT_MEM_QNEW( ptr ) )
|
298
|
+
|
299
|
+
#define FT_QNEW_ARRAY( ptr, count ) \
|
300
|
+
FT_MEM_SET_ERROR( FT_MEM_NEW_ARRAY( ptr, count ) )
|
301
|
+
|
302
|
+
#define FT_QRENEW_ARRAY( ptr, curcnt, newcnt ) \
|
303
|
+
FT_MEM_SET_ERROR( FT_MEM_RENEW_ARRAY( ptr, curcnt, newcnt ) )
|
304
|
+
|
305
|
+
|
306
|
+
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
307
|
+
|
308
|
+
FT_BASE( FT_Error )
|
309
|
+
FT_Alloc( FT_Memory memory,
|
310
|
+
FT_Long size,
|
311
|
+
void* *P );
|
312
|
+
|
313
|
+
FT_BASE( FT_Error )
|
314
|
+
FT_QAlloc( FT_Memory memory,
|
315
|
+
FT_Long size,
|
316
|
+
void* *p );
|
317
|
+
|
318
|
+
FT_BASE( FT_Error )
|
319
|
+
FT_Realloc( FT_Memory memory,
|
320
|
+
FT_Long current,
|
321
|
+
FT_Long size,
|
322
|
+
void* *P );
|
323
|
+
|
324
|
+
FT_BASE( FT_Error )
|
325
|
+
FT_QRealloc( FT_Memory memory,
|
326
|
+
FT_Long current,
|
327
|
+
FT_Long size,
|
328
|
+
void* *p );
|
329
|
+
|
330
|
+
FT_BASE( void )
|
331
|
+
FT_Free( FT_Memory memory,
|
332
|
+
void* *P );
|
333
|
+
|
334
|
+
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
|
335
|
+
|
336
|
+
|
337
|
+
FT_BASE( FT_Pointer )
|
338
|
+
ft_mem_strdup( FT_Memory memory,
|
339
|
+
const char* str,
|
340
|
+
FT_Error *p_error );
|
341
|
+
|
342
|
+
FT_BASE( FT_Pointer )
|
343
|
+
ft_mem_dup( FT_Memory memory,
|
344
|
+
const void* address,
|
345
|
+
FT_ULong size,
|
346
|
+
FT_Error *p_error );
|
347
|
+
|
348
|
+
#define FT_MEM_STRDUP( dst, str ) \
|
349
|
+
(dst) = (char*)ft_mem_strdup( memory, (const char*)(str), &error )
|
350
|
+
|
351
|
+
#define FT_STRDUP( dst, str ) \
|
352
|
+
FT_MEM_SET_ERROR( FT_MEM_STRDUP( dst, str ) )
|
353
|
+
|
354
|
+
#define FT_MEM_DUP( dst, address, size ) \
|
355
|
+
(dst) = ft_mem_dup( memory, (address), (FT_ULong)(size), &error )
|
356
|
+
|
357
|
+
#define FT_DUP( dst, address, size ) \
|
358
|
+
FT_MEM_SET_ERROR( FT_MEM_DUP( dst, address, size ) )
|
359
|
+
|
360
|
+
|
361
|
+
/* Return >= 1 if a truncation occurs. */
|
362
|
+
/* Return 0 if the source string fits the buffer. */
|
363
|
+
/* This is *not* the same as strlcpy(). */
|
364
|
+
FT_BASE( FT_Int )
|
365
|
+
ft_mem_strcpyn( char* dst,
|
366
|
+
const char* src,
|
367
|
+
FT_ULong size );
|
368
|
+
|
369
|
+
#define FT_STRCPYN( dst, src, size ) \
|
370
|
+
ft_mem_strcpyn( (char*)dst, (const char*)(src), (FT_ULong)(size) )
|
371
|
+
|
372
|
+
/* */
|
373
|
+
|
374
|
+
|
375
|
+
FT_END_HEADER
|
376
|
+
|
377
|
+
#endif /* __FTMEMORY_H__ */
|
378
|
+
|
379
|
+
|
380
|
+
/* END */
|