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,179 @@
|
|
1
|
+
/***************************************************************************/
|
2
|
+
/* */
|
3
|
+
/* ftcalc.h */
|
4
|
+
/* */
|
5
|
+
/* Arithmetic computations (specification). */
|
6
|
+
/* */
|
7
|
+
/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 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
|
+
#ifndef __FTCALC_H__
|
20
|
+
#define __FTCALC_H__
|
21
|
+
|
22
|
+
|
23
|
+
#include <ft2build.h>
|
24
|
+
#include FT_FREETYPE_H
|
25
|
+
|
26
|
+
|
27
|
+
FT_BEGIN_HEADER
|
28
|
+
|
29
|
+
|
30
|
+
/*************************************************************************/
|
31
|
+
/* */
|
32
|
+
/* <Function> */
|
33
|
+
/* FT_FixedSqrt */
|
34
|
+
/* */
|
35
|
+
/* <Description> */
|
36
|
+
/* Computes the square root of a 16.16 fixed point value. */
|
37
|
+
/* */
|
38
|
+
/* <Input> */
|
39
|
+
/* x :: The value to compute the root for. */
|
40
|
+
/* */
|
41
|
+
/* <Return> */
|
42
|
+
/* The result of `sqrt(x)'. */
|
43
|
+
/* */
|
44
|
+
/* <Note> */
|
45
|
+
/* This function is not very fast. */
|
46
|
+
/* */
|
47
|
+
FT_BASE( FT_Int32 )
|
48
|
+
FT_SqrtFixed( FT_Int32 x );
|
49
|
+
|
50
|
+
|
51
|
+
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
52
|
+
|
53
|
+
/*************************************************************************/
|
54
|
+
/* */
|
55
|
+
/* <Function> */
|
56
|
+
/* FT_Sqrt32 */
|
57
|
+
/* */
|
58
|
+
/* <Description> */
|
59
|
+
/* Computes the square root of an Int32 integer (which will be */
|
60
|
+
/* handled as an unsigned long value). */
|
61
|
+
/* */
|
62
|
+
/* <Input> */
|
63
|
+
/* x :: The value to compute the root for. */
|
64
|
+
/* */
|
65
|
+
/* <Return> */
|
66
|
+
/* The result of `sqrt(x)'. */
|
67
|
+
/* */
|
68
|
+
FT_EXPORT( FT_Int32 )
|
69
|
+
FT_Sqrt32( FT_Int32 x );
|
70
|
+
|
71
|
+
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
|
72
|
+
|
73
|
+
|
74
|
+
/*************************************************************************/
|
75
|
+
/* */
|
76
|
+
/* FT_MulDiv() and FT_MulFix() are declared in freetype.h. */
|
77
|
+
/* */
|
78
|
+
/*************************************************************************/
|
79
|
+
|
80
|
+
|
81
|
+
#ifdef TT_USE_BYTECODE_INTERPRETER
|
82
|
+
|
83
|
+
/*************************************************************************/
|
84
|
+
/* */
|
85
|
+
/* <Function> */
|
86
|
+
/* FT_MulDiv_No_Round */
|
87
|
+
/* */
|
88
|
+
/* <Description> */
|
89
|
+
/* A very simple function used to perform the computation `(a*b)/c' */
|
90
|
+
/* (without rounding) with maximal accuracy (it uses a 64-bit */
|
91
|
+
/* intermediate integer whenever necessary). */
|
92
|
+
/* */
|
93
|
+
/* This function isn't necessarily as fast as some processor specific */
|
94
|
+
/* operations, but is at least completely portable. */
|
95
|
+
/* */
|
96
|
+
/* <Input> */
|
97
|
+
/* a :: The first multiplier. */
|
98
|
+
/* b :: The second multiplier. */
|
99
|
+
/* c :: The divisor. */
|
100
|
+
/* */
|
101
|
+
/* <Return> */
|
102
|
+
/* The result of `(a*b)/c'. This function never traps when trying to */
|
103
|
+
/* divide by zero; it simply returns `MaxInt' or `MinInt' depending */
|
104
|
+
/* on the signs of `a' and `b'. */
|
105
|
+
/* */
|
106
|
+
FT_BASE( FT_Long )
|
107
|
+
FT_MulDiv_No_Round( FT_Long a,
|
108
|
+
FT_Long b,
|
109
|
+
FT_Long c );
|
110
|
+
|
111
|
+
#endif /* TT_USE_BYTECODE_INTERPRETER */
|
112
|
+
|
113
|
+
|
114
|
+
/*
|
115
|
+
* A variant of FT_Matrix_Multiply which scales its result afterwards.
|
116
|
+
* The idea is that both `a' and `b' are scaled by factors of 10 so that
|
117
|
+
* the values are as precise as possible to get a correct result during
|
118
|
+
* the 64bit multiplication. Let `sa' and `sb' be the scaling factors of
|
119
|
+
* `a' and `b', respectively, then the scaling factor of the result is
|
120
|
+
* `sa*sb'.
|
121
|
+
*/
|
122
|
+
FT_BASE( void )
|
123
|
+
FT_Matrix_Multiply_Scaled( const FT_Matrix* a,
|
124
|
+
FT_Matrix *b,
|
125
|
+
FT_Long scaling );
|
126
|
+
|
127
|
+
|
128
|
+
/*
|
129
|
+
* A variant of FT_Vector_Transform. See comments for
|
130
|
+
* FT_Matrix_Multiply_Scaled.
|
131
|
+
*/
|
132
|
+
|
133
|
+
FT_BASE( void )
|
134
|
+
FT_Vector_Transform_Scaled( FT_Vector* vector,
|
135
|
+
const FT_Matrix* matrix,
|
136
|
+
FT_Long scaling );
|
137
|
+
|
138
|
+
|
139
|
+
/*
|
140
|
+
* Return -1, 0, or +1, depending on the orientation of a given corner.
|
141
|
+
* We use the Cartesian coordinate system, with positive vertical values
|
142
|
+
* going upwards. The function returns +1 if the corner turns to the
|
143
|
+
* left, -1 to the right, and 0 for undecidable cases.
|
144
|
+
*/
|
145
|
+
FT_BASE( FT_Int )
|
146
|
+
ft_corner_orientation( FT_Pos in_x,
|
147
|
+
FT_Pos in_y,
|
148
|
+
FT_Pos out_x,
|
149
|
+
FT_Pos out_y );
|
150
|
+
|
151
|
+
/*
|
152
|
+
* Return TRUE if a corner is flat or nearly flat. This is equivalent to
|
153
|
+
* saying that the angle difference between the `in' and `out' vectors is
|
154
|
+
* very small.
|
155
|
+
*/
|
156
|
+
FT_BASE( FT_Int )
|
157
|
+
ft_corner_is_flat( FT_Pos in_x,
|
158
|
+
FT_Pos in_y,
|
159
|
+
FT_Pos out_x,
|
160
|
+
FT_Pos out_y );
|
161
|
+
|
162
|
+
|
163
|
+
#define INT_TO_F26DOT6( x ) ( (FT_Long)(x) << 6 )
|
164
|
+
#define INT_TO_F2DOT14( x ) ( (FT_Long)(x) << 14 )
|
165
|
+
#define INT_TO_FIXED( x ) ( (FT_Long)(x) << 16 )
|
166
|
+
#define F2DOT14_TO_FIXED( x ) ( (FT_Long)(x) << 2 )
|
167
|
+
#define FLOAT_TO_FIXED( x ) ( (FT_Long)( x * 65536.0 ) )
|
168
|
+
#define FIXED_TO_INT( x ) ( FT_RoundFix( x ) >> 16 )
|
169
|
+
|
170
|
+
#define ROUND_F26DOT6( x ) ( x >= 0 ? ( ( (x) + 32 ) & -64 ) \
|
171
|
+
: ( -( ( 32 - (x) ) & -64 ) ) )
|
172
|
+
|
173
|
+
|
174
|
+
FT_END_HEADER
|
175
|
+
|
176
|
+
#endif /* __FTCALC_H__ */
|
177
|
+
|
178
|
+
|
179
|
+
/* END */
|
@@ -0,0 +1,250 @@
|
|
1
|
+
/***************************************************************************/
|
2
|
+
/* */
|
3
|
+
/* ftdebug.h */
|
4
|
+
/* */
|
5
|
+
/* Debugging and logging component (specification). */
|
6
|
+
/* */
|
7
|
+
/* Copyright 1996-2001, 2002, 2004, 2006, 2007, 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
|
+
/* IMPORTANT: A description of FreeType's debugging support can be */
|
18
|
+
/* found in `docs/DEBUG.TXT'. Read it if you need to use or */
|
19
|
+
/* understand this code. */
|
20
|
+
/* */
|
21
|
+
/***************************************************************************/
|
22
|
+
|
23
|
+
|
24
|
+
#ifndef __FTDEBUG_H__
|
25
|
+
#define __FTDEBUG_H__
|
26
|
+
|
27
|
+
|
28
|
+
#include <ft2build.h>
|
29
|
+
#include FT_CONFIG_CONFIG_H
|
30
|
+
#include FT_FREETYPE_H
|
31
|
+
|
32
|
+
|
33
|
+
FT_BEGIN_HEADER
|
34
|
+
|
35
|
+
|
36
|
+
/* force the definition of FT_DEBUG_LEVEL_ERROR if FT_DEBUG_LEVEL_TRACE */
|
37
|
+
/* is already defined; this simplifies the following #ifdefs */
|
38
|
+
/* */
|
39
|
+
#ifdef FT_DEBUG_LEVEL_TRACE
|
40
|
+
#undef FT_DEBUG_LEVEL_ERROR
|
41
|
+
#define FT_DEBUG_LEVEL_ERROR
|
42
|
+
#endif
|
43
|
+
|
44
|
+
|
45
|
+
/*************************************************************************/
|
46
|
+
/* */
|
47
|
+
/* Define the trace enums as well as the trace levels array when they */
|
48
|
+
/* are needed. */
|
49
|
+
/* */
|
50
|
+
/*************************************************************************/
|
51
|
+
|
52
|
+
#ifdef FT_DEBUG_LEVEL_TRACE
|
53
|
+
|
54
|
+
#define FT_TRACE_DEF( x ) trace_ ## x ,
|
55
|
+
|
56
|
+
/* defining the enumeration */
|
57
|
+
typedef enum FT_Trace_
|
58
|
+
{
|
59
|
+
#include FT_INTERNAL_TRACE_H
|
60
|
+
trace_count
|
61
|
+
|
62
|
+
} FT_Trace;
|
63
|
+
|
64
|
+
|
65
|
+
/* defining the array of trace levels, provided by `src/base/ftdebug.c' */
|
66
|
+
extern int ft_trace_levels[trace_count];
|
67
|
+
|
68
|
+
#undef FT_TRACE_DEF
|
69
|
+
|
70
|
+
#endif /* FT_DEBUG_LEVEL_TRACE */
|
71
|
+
|
72
|
+
|
73
|
+
/*************************************************************************/
|
74
|
+
/* */
|
75
|
+
/* Define the FT_TRACE macro */
|
76
|
+
/* */
|
77
|
+
/* IMPORTANT! */
|
78
|
+
/* */
|
79
|
+
/* Each component must define the macro FT_COMPONENT to a valid FT_Trace */
|
80
|
+
/* value before using any TRACE macro. */
|
81
|
+
/* */
|
82
|
+
/*************************************************************************/
|
83
|
+
|
84
|
+
#ifdef FT_DEBUG_LEVEL_TRACE
|
85
|
+
|
86
|
+
#define FT_TRACE( level, varformat ) \
|
87
|
+
do \
|
88
|
+
{ \
|
89
|
+
if ( ft_trace_levels[FT_COMPONENT] >= level ) \
|
90
|
+
FT_Message varformat; \
|
91
|
+
} while ( 0 )
|
92
|
+
|
93
|
+
#else /* !FT_DEBUG_LEVEL_TRACE */
|
94
|
+
|
95
|
+
#define FT_TRACE( level, varformat ) do { } while ( 0 ) /* nothing */
|
96
|
+
|
97
|
+
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
98
|
+
|
99
|
+
|
100
|
+
/*************************************************************************/
|
101
|
+
/* */
|
102
|
+
/* <Function> */
|
103
|
+
/* FT_Trace_Get_Count */
|
104
|
+
/* */
|
105
|
+
/* <Description> */
|
106
|
+
/* Return the number of available trace components. */
|
107
|
+
/* */
|
108
|
+
/* <Return> */
|
109
|
+
/* The number of trace components. 0 if FreeType 2 is not built with */
|
110
|
+
/* FT_DEBUG_LEVEL_TRACE definition. */
|
111
|
+
/* */
|
112
|
+
/* <Note> */
|
113
|
+
/* This function may be useful if you want to access elements of */
|
114
|
+
/* the internal `ft_trace_levels' array by an index. */
|
115
|
+
/* */
|
116
|
+
FT_BASE( FT_Int )
|
117
|
+
FT_Trace_Get_Count( void );
|
118
|
+
|
119
|
+
|
120
|
+
/*************************************************************************/
|
121
|
+
/* */
|
122
|
+
/* <Function> */
|
123
|
+
/* FT_Trace_Get_Name */
|
124
|
+
/* */
|
125
|
+
/* <Description> */
|
126
|
+
/* Return the name of a trace component. */
|
127
|
+
/* */
|
128
|
+
/* <Input> */
|
129
|
+
/* The index of the trace component. */
|
130
|
+
/* */
|
131
|
+
/* <Return> */
|
132
|
+
/* The name of the trace component. This is a statically allocated */
|
133
|
+
/* C string, so do not free it after use. NULL if FreeType 2 is not */
|
134
|
+
/* built with FT_DEBUG_LEVEL_TRACE definition. */
|
135
|
+
/* */
|
136
|
+
/* <Note> */
|
137
|
+
/* Use @FT_Trace_Get_Count to get the number of available trace */
|
138
|
+
/* components. */
|
139
|
+
/* */
|
140
|
+
/* This function may be useful if you want to control FreeType 2's */
|
141
|
+
/* debug level in your application. */
|
142
|
+
/* */
|
143
|
+
FT_BASE( const char * )
|
144
|
+
FT_Trace_Get_Name( FT_Int idx );
|
145
|
+
|
146
|
+
|
147
|
+
/*************************************************************************/
|
148
|
+
/* */
|
149
|
+
/* You need two opening and closing parentheses! */
|
150
|
+
/* */
|
151
|
+
/* Example: FT_TRACE0(( "Value is %i", foo )) */
|
152
|
+
/* */
|
153
|
+
/* Output of the FT_TRACEX macros is sent to stderr. */
|
154
|
+
/* */
|
155
|
+
/*************************************************************************/
|
156
|
+
|
157
|
+
#define FT_TRACE0( varformat ) FT_TRACE( 0, varformat )
|
158
|
+
#define FT_TRACE1( varformat ) FT_TRACE( 1, varformat )
|
159
|
+
#define FT_TRACE2( varformat ) FT_TRACE( 2, varformat )
|
160
|
+
#define FT_TRACE3( varformat ) FT_TRACE( 3, varformat )
|
161
|
+
#define FT_TRACE4( varformat ) FT_TRACE( 4, varformat )
|
162
|
+
#define FT_TRACE5( varformat ) FT_TRACE( 5, varformat )
|
163
|
+
#define FT_TRACE6( varformat ) FT_TRACE( 6, varformat )
|
164
|
+
#define FT_TRACE7( varformat ) FT_TRACE( 7, varformat )
|
165
|
+
|
166
|
+
|
167
|
+
/*************************************************************************/
|
168
|
+
/* */
|
169
|
+
/* Define the FT_ERROR macro. */
|
170
|
+
/* */
|
171
|
+
/* Output of this macro is sent to stderr. */
|
172
|
+
/* */
|
173
|
+
/*************************************************************************/
|
174
|
+
|
175
|
+
#ifdef FT_DEBUG_LEVEL_ERROR
|
176
|
+
|
177
|
+
#define FT_ERROR( varformat ) FT_Message varformat
|
178
|
+
|
179
|
+
#else /* !FT_DEBUG_LEVEL_ERROR */
|
180
|
+
|
181
|
+
#define FT_ERROR( varformat ) do { } while ( 0 ) /* nothing */
|
182
|
+
|
183
|
+
#endif /* !FT_DEBUG_LEVEL_ERROR */
|
184
|
+
|
185
|
+
|
186
|
+
/*************************************************************************/
|
187
|
+
/* */
|
188
|
+
/* Define the FT_ASSERT macro. */
|
189
|
+
/* */
|
190
|
+
/*************************************************************************/
|
191
|
+
|
192
|
+
#ifdef FT_DEBUG_LEVEL_ERROR
|
193
|
+
|
194
|
+
#define FT_ASSERT( condition ) \
|
195
|
+
do \
|
196
|
+
{ \
|
197
|
+
if ( !( condition ) ) \
|
198
|
+
FT_Panic( "assertion failed on line %d of file %s\n", \
|
199
|
+
__LINE__, __FILE__ ); \
|
200
|
+
} while ( 0 )
|
201
|
+
|
202
|
+
#else /* !FT_DEBUG_LEVEL_ERROR */
|
203
|
+
|
204
|
+
#define FT_ASSERT( condition ) do { } while ( 0 )
|
205
|
+
|
206
|
+
#endif /* !FT_DEBUG_LEVEL_ERROR */
|
207
|
+
|
208
|
+
|
209
|
+
/*************************************************************************/
|
210
|
+
/* */
|
211
|
+
/* Define `FT_Message' and `FT_Panic' when needed. */
|
212
|
+
/* */
|
213
|
+
/*************************************************************************/
|
214
|
+
|
215
|
+
#ifdef FT_DEBUG_LEVEL_ERROR
|
216
|
+
|
217
|
+
#include "stdio.h" /* for vfprintf() */
|
218
|
+
|
219
|
+
/* print a message */
|
220
|
+
FT_BASE( void )
|
221
|
+
FT_Message( const char* fmt,
|
222
|
+
... );
|
223
|
+
|
224
|
+
/* print a message and exit */
|
225
|
+
FT_BASE( void )
|
226
|
+
FT_Panic( const char* fmt,
|
227
|
+
... );
|
228
|
+
|
229
|
+
#endif /* FT_DEBUG_LEVEL_ERROR */
|
230
|
+
|
231
|
+
|
232
|
+
FT_BASE( void )
|
233
|
+
ft_debug_init( void );
|
234
|
+
|
235
|
+
|
236
|
+
#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
|
237
|
+
|
238
|
+
/* We disable the warning `conditional expression is constant' here */
|
239
|
+
/* in order to compile cleanly with the maximum level of warnings. */
|
240
|
+
#pragma warning( disable : 4127 )
|
241
|
+
|
242
|
+
#endif /* _MSC_VER */
|
243
|
+
|
244
|
+
|
245
|
+
FT_END_HEADER
|
246
|
+
|
247
|
+
#endif /* __FTDEBUG_H__ */
|
248
|
+
|
249
|
+
|
250
|
+
/* END */
|
@@ -0,0 +1,422 @@
|
|
1
|
+
/***************************************************************************/
|
2
|
+
/* */
|
3
|
+
/* ftdriver.h */
|
4
|
+
/* */
|
5
|
+
/* FreeType font driver interface (specification). */
|
6
|
+
/* */
|
7
|
+
/* Copyright 1996-2001, 2002, 2003, 2006, 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 __FTDRIVER_H__
|
20
|
+
#define __FTDRIVER_H__
|
21
|
+
|
22
|
+
|
23
|
+
#include <ft2build.h>
|
24
|
+
#include FT_MODULE_H
|
25
|
+
|
26
|
+
|
27
|
+
FT_BEGIN_HEADER
|
28
|
+
|
29
|
+
|
30
|
+
typedef FT_Error
|
31
|
+
(*FT_Face_InitFunc)( FT_Stream stream,
|
32
|
+
FT_Face face,
|
33
|
+
FT_Int typeface_index,
|
34
|
+
FT_Int num_params,
|
35
|
+
FT_Parameter* parameters );
|
36
|
+
|
37
|
+
typedef void
|
38
|
+
(*FT_Face_DoneFunc)( FT_Face face );
|
39
|
+
|
40
|
+
|
41
|
+
typedef FT_Error
|
42
|
+
(*FT_Size_InitFunc)( FT_Size size );
|
43
|
+
|
44
|
+
typedef void
|
45
|
+
(*FT_Size_DoneFunc)( FT_Size size );
|
46
|
+
|
47
|
+
|
48
|
+
typedef FT_Error
|
49
|
+
(*FT_Slot_InitFunc)( FT_GlyphSlot slot );
|
50
|
+
|
51
|
+
typedef void
|
52
|
+
(*FT_Slot_DoneFunc)( FT_GlyphSlot slot );
|
53
|
+
|
54
|
+
|
55
|
+
typedef FT_Error
|
56
|
+
(*FT_Size_RequestFunc)( FT_Size size,
|
57
|
+
FT_Size_Request req );
|
58
|
+
|
59
|
+
typedef FT_Error
|
60
|
+
(*FT_Size_SelectFunc)( FT_Size size,
|
61
|
+
FT_ULong size_index );
|
62
|
+
|
63
|
+
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
64
|
+
|
65
|
+
typedef FT_Error
|
66
|
+
(*FT_Size_ResetPointsFunc)( FT_Size size,
|
67
|
+
FT_F26Dot6 char_width,
|
68
|
+
FT_F26Dot6 char_height,
|
69
|
+
FT_UInt horz_resolution,
|
70
|
+
FT_UInt vert_resolution );
|
71
|
+
|
72
|
+
typedef FT_Error
|
73
|
+
(*FT_Size_ResetPixelsFunc)( FT_Size size,
|
74
|
+
FT_UInt pixel_width,
|
75
|
+
FT_UInt pixel_height );
|
76
|
+
|
77
|
+
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
|
78
|
+
|
79
|
+
typedef FT_Error
|
80
|
+
(*FT_Slot_LoadFunc)( FT_GlyphSlot slot,
|
81
|
+
FT_Size size,
|
82
|
+
FT_UInt glyph_index,
|
83
|
+
FT_Int32 load_flags );
|
84
|
+
|
85
|
+
|
86
|
+
typedef FT_UInt
|
87
|
+
(*FT_CharMap_CharIndexFunc)( FT_CharMap charmap,
|
88
|
+
FT_Long charcode );
|
89
|
+
|
90
|
+
typedef FT_Long
|
91
|
+
(*FT_CharMap_CharNextFunc)( FT_CharMap charmap,
|
92
|
+
FT_Long charcode );
|
93
|
+
|
94
|
+
|
95
|
+
typedef FT_Error
|
96
|
+
(*FT_Face_GetKerningFunc)( FT_Face face,
|
97
|
+
FT_UInt left_glyph,
|
98
|
+
FT_UInt right_glyph,
|
99
|
+
FT_Vector* kerning );
|
100
|
+
|
101
|
+
|
102
|
+
typedef FT_Error
|
103
|
+
(*FT_Face_AttachFunc)( FT_Face face,
|
104
|
+
FT_Stream stream );
|
105
|
+
|
106
|
+
|
107
|
+
typedef FT_Error
|
108
|
+
(*FT_Face_GetAdvancesFunc)( FT_Face face,
|
109
|
+
FT_UInt first,
|
110
|
+
FT_UInt count,
|
111
|
+
FT_Int32 flags,
|
112
|
+
FT_Fixed* advances );
|
113
|
+
|
114
|
+
|
115
|
+
/*************************************************************************/
|
116
|
+
/* */
|
117
|
+
/* <Struct> */
|
118
|
+
/* FT_Driver_ClassRec */
|
119
|
+
/* */
|
120
|
+
/* <Description> */
|
121
|
+
/* The font driver class. This structure mostly contains pointers to */
|
122
|
+
/* driver methods. */
|
123
|
+
/* */
|
124
|
+
/* <Fields> */
|
125
|
+
/* root :: The parent module. */
|
126
|
+
/* */
|
127
|
+
/* face_object_size :: The size of a face object in bytes. */
|
128
|
+
/* */
|
129
|
+
/* size_object_size :: The size of a size object in bytes. */
|
130
|
+
/* */
|
131
|
+
/* slot_object_size :: The size of a glyph object in bytes. */
|
132
|
+
/* */
|
133
|
+
/* init_face :: The format-specific face constructor. */
|
134
|
+
/* */
|
135
|
+
/* done_face :: The format-specific face destructor. */
|
136
|
+
/* */
|
137
|
+
/* init_size :: The format-specific size constructor. */
|
138
|
+
/* */
|
139
|
+
/* done_size :: The format-specific size destructor. */
|
140
|
+
/* */
|
141
|
+
/* init_slot :: The format-specific slot constructor. */
|
142
|
+
/* */
|
143
|
+
/* done_slot :: The format-specific slot destructor. */
|
144
|
+
/* */
|
145
|
+
/* */
|
146
|
+
/* load_glyph :: A function handle to load a glyph to a slot. */
|
147
|
+
/* This field is mandatory! */
|
148
|
+
/* */
|
149
|
+
/* get_kerning :: A function handle to return the unscaled */
|
150
|
+
/* kerning for a given pair of glyphs. Can be */
|
151
|
+
/* set to 0 if the format doesn't support */
|
152
|
+
/* kerning. */
|
153
|
+
/* */
|
154
|
+
/* attach_file :: This function handle is used to read */
|
155
|
+
/* additional data for a face from another */
|
156
|
+
/* file/stream. For example, this can be used to */
|
157
|
+
/* add data from AFM or PFM files on a Type 1 */
|
158
|
+
/* face, or a CIDMap on a CID-keyed face. */
|
159
|
+
/* */
|
160
|
+
/* get_advances :: A function handle used to return advance */
|
161
|
+
/* widths of `count' glyphs (in font units), */
|
162
|
+
/* starting at `first'. The `vertical' flag must */
|
163
|
+
/* be set to get vertical advance heights. The */
|
164
|
+
/* `advances' buffer is caller-allocated. */
|
165
|
+
/* Currently not implemented. The idea of this */
|
166
|
+
/* function is to be able to perform */
|
167
|
+
/* device-independent text layout without loading */
|
168
|
+
/* a single glyph image. */
|
169
|
+
/* */
|
170
|
+
/* request_size :: A handle to a function used to request the new */
|
171
|
+
/* character size. Can be set to 0 if the */
|
172
|
+
/* scaling done in the base layer suffices. */
|
173
|
+
/* */
|
174
|
+
/* select_size :: A handle to a function used to select a new */
|
175
|
+
/* fixed size. It is used only if */
|
176
|
+
/* @FT_FACE_FLAG_FIXED_SIZES is set. Can be set */
|
177
|
+
/* to 0 if the scaling done in the base layer */
|
178
|
+
/* suffices. */
|
179
|
+
/* <Note> */
|
180
|
+
/* Most function pointers, with the exception of `load_glyph', can be */
|
181
|
+
/* set to 0 to indicate a default behaviour. */
|
182
|
+
/* */
|
183
|
+
typedef struct FT_Driver_ClassRec_
|
184
|
+
{
|
185
|
+
FT_Module_Class root;
|
186
|
+
|
187
|
+
FT_Long face_object_size;
|
188
|
+
FT_Long size_object_size;
|
189
|
+
FT_Long slot_object_size;
|
190
|
+
|
191
|
+
FT_Face_InitFunc init_face;
|
192
|
+
FT_Face_DoneFunc done_face;
|
193
|
+
|
194
|
+
FT_Size_InitFunc init_size;
|
195
|
+
FT_Size_DoneFunc done_size;
|
196
|
+
|
197
|
+
FT_Slot_InitFunc init_slot;
|
198
|
+
FT_Slot_DoneFunc done_slot;
|
199
|
+
|
200
|
+
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
201
|
+
|
202
|
+
FT_Size_ResetPointsFunc set_char_sizes;
|
203
|
+
FT_Size_ResetPixelsFunc set_pixel_sizes;
|
204
|
+
|
205
|
+
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
|
206
|
+
|
207
|
+
FT_Slot_LoadFunc load_glyph;
|
208
|
+
|
209
|
+
FT_Face_GetKerningFunc get_kerning;
|
210
|
+
FT_Face_AttachFunc attach_file;
|
211
|
+
FT_Face_GetAdvancesFunc get_advances;
|
212
|
+
|
213
|
+
/* since version 2.2 */
|
214
|
+
FT_Size_RequestFunc request_size;
|
215
|
+
FT_Size_SelectFunc select_size;
|
216
|
+
|
217
|
+
} FT_Driver_ClassRec, *FT_Driver_Class;
|
218
|
+
|
219
|
+
|
220
|
+
/*
|
221
|
+
* The following functions are used as stubs for `set_char_sizes' and
|
222
|
+
* `set_pixel_sizes'; the code uses `request_size' and `select_size'
|
223
|
+
* functions instead.
|
224
|
+
*
|
225
|
+
* Implementation is in `src/base/ftobjs.c'.
|
226
|
+
*/
|
227
|
+
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
228
|
+
|
229
|
+
FT_BASE( FT_Error )
|
230
|
+
ft_stub_set_char_sizes( FT_Size size,
|
231
|
+
FT_F26Dot6 width,
|
232
|
+
FT_F26Dot6 height,
|
233
|
+
FT_UInt horz_res,
|
234
|
+
FT_UInt vert_res );
|
235
|
+
|
236
|
+
FT_BASE( FT_Error )
|
237
|
+
ft_stub_set_pixel_sizes( FT_Size size,
|
238
|
+
FT_UInt width,
|
239
|
+
FT_UInt height );
|
240
|
+
|
241
|
+
#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */
|
242
|
+
|
243
|
+
/*************************************************************************/
|
244
|
+
/* */
|
245
|
+
/* <Macro> */
|
246
|
+
/* FT_DECLARE_DRIVER */
|
247
|
+
/* */
|
248
|
+
/* <Description> */
|
249
|
+
/* Used to create a forward declaration of a */
|
250
|
+
/* FT_Driver_ClassRec stract instance. */
|
251
|
+
/* */
|
252
|
+
/* <Macro> */
|
253
|
+
/* FT_DEFINE_DRIVER */
|
254
|
+
/* */
|
255
|
+
/* <Description> */
|
256
|
+
/* Used to initialize an instance of FT_Driver_ClassRec struct. */
|
257
|
+
/* */
|
258
|
+
/* When FT_CONFIG_OPTION_PIC is defined a Create funtion will need */
|
259
|
+
/* to called with a pointer where the allocated stracture is returned.*/
|
260
|
+
/* And when it is no longer needed a Destroy function needs */
|
261
|
+
/* to be called to release that allocation. */
|
262
|
+
/* fcinit.c (ft_create_default_module_classes) already contains */
|
263
|
+
/* a mechanism to call these functions for the default modules */
|
264
|
+
/* described in ftmodule.h */
|
265
|
+
/* */
|
266
|
+
/* Notice that the created Create and Destroy functions call */
|
267
|
+
/* pic_init and pic_free function to allow you to manually allocate */
|
268
|
+
/* and initialize any additional global data, like module specific */
|
269
|
+
/* interface, and put them in the global pic container defined in */
|
270
|
+
/* ftpic.h. if you don't need them just implement the functions as */
|
271
|
+
/* empty to resolve the link error. */
|
272
|
+
/* */
|
273
|
+
/* When FT_CONFIG_OPTION_PIC is not defined the struct will be */
|
274
|
+
/* allocated in the global scope (or the scope where the macro */
|
275
|
+
/* is used). */
|
276
|
+
/* */
|
277
|
+
#ifndef FT_CONFIG_OPTION_PIC
|
278
|
+
|
279
|
+
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
280
|
+
#define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \
|
281
|
+
a_, b_,
|
282
|
+
#else
|
283
|
+
#define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_)
|
284
|
+
#endif
|
285
|
+
|
286
|
+
#define FT_DECLARE_DRIVER(class_) \
|
287
|
+
FT_CALLBACK_TABLE \
|
288
|
+
const FT_Driver_ClassRec class_;
|
289
|
+
|
290
|
+
#define FT_DEFINE_DRIVER(class_, \
|
291
|
+
flags_, size_, name_, version_, requires_, \
|
292
|
+
interface_, init_, done_, get_interface_, \
|
293
|
+
face_object_size_, size_object_size_, \
|
294
|
+
slot_object_size_, init_face_, done_face_, \
|
295
|
+
init_size_, done_size_, init_slot_, done_slot_, \
|
296
|
+
old_set_char_sizes_, old_set_pixel_sizes_, \
|
297
|
+
load_glyph_, get_kerning_, attach_file_, \
|
298
|
+
get_advances_, request_size_, select_size_ ) \
|
299
|
+
FT_CALLBACK_TABLE_DEF \
|
300
|
+
const FT_Driver_ClassRec class_ = \
|
301
|
+
{ \
|
302
|
+
FT_DEFINE_ROOT_MODULE(flags_,size_,name_,version_,requires_,interface_, \
|
303
|
+
init_,done_,get_interface_) \
|
304
|
+
\
|
305
|
+
face_object_size_, \
|
306
|
+
size_object_size_, \
|
307
|
+
slot_object_size_, \
|
308
|
+
\
|
309
|
+
init_face_, \
|
310
|
+
done_face_, \
|
311
|
+
\
|
312
|
+
init_size_, \
|
313
|
+
done_size_, \
|
314
|
+
\
|
315
|
+
init_slot_, \
|
316
|
+
done_slot_, \
|
317
|
+
\
|
318
|
+
FT_DEFINE_DRIVERS_OLD_INTERNALS(old_set_char_sizes_, old_set_pixel_sizes_) \
|
319
|
+
\
|
320
|
+
load_glyph_, \
|
321
|
+
\
|
322
|
+
get_kerning_, \
|
323
|
+
attach_file_, \
|
324
|
+
get_advances_, \
|
325
|
+
\
|
326
|
+
request_size_, \
|
327
|
+
select_size_ \
|
328
|
+
};
|
329
|
+
|
330
|
+
#else /* FT_CONFIG_OPTION_PIC */
|
331
|
+
|
332
|
+
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
333
|
+
#define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_) \
|
334
|
+
clazz->set_char_sizes = a_; \
|
335
|
+
clazz->set_pixel_sizes = b_;
|
336
|
+
#else
|
337
|
+
#define FT_DEFINE_DRIVERS_OLD_INTERNALS(a_,b_)
|
338
|
+
#endif
|
339
|
+
|
340
|
+
#define FT_DECLARE_DRIVER(class_) FT_DECLARE_MODULE(class_)
|
341
|
+
|
342
|
+
#define FT_DEFINE_DRIVER(class_, \
|
343
|
+
flags_, size_, name_, version_, requires_, \
|
344
|
+
interface_, init_, done_, get_interface_, \
|
345
|
+
face_object_size_, size_object_size_, \
|
346
|
+
slot_object_size_, init_face_, done_face_, \
|
347
|
+
init_size_, done_size_, init_slot_, done_slot_, \
|
348
|
+
old_set_char_sizes_, old_set_pixel_sizes_, \
|
349
|
+
load_glyph_, get_kerning_, attach_file_, \
|
350
|
+
get_advances_, request_size_, select_size_ ) \
|
351
|
+
void class_##_pic_free( FT_Library library ); \
|
352
|
+
FT_Error class_##_pic_init( FT_Library library ); \
|
353
|
+
\
|
354
|
+
void \
|
355
|
+
FT_Destroy_Class_##class_( FT_Library library, \
|
356
|
+
FT_Module_Class* clazz ) \
|
357
|
+
{ \
|
358
|
+
FT_Memory memory = library->memory; \
|
359
|
+
FT_Driver_Class dclazz = (FT_Driver_Class)clazz; \
|
360
|
+
class_##_pic_free( library ); \
|
361
|
+
if ( dclazz ) \
|
362
|
+
FT_FREE( dclazz ); \
|
363
|
+
} \
|
364
|
+
\
|
365
|
+
FT_Error \
|
366
|
+
FT_Create_Class_##class_( FT_Library library, \
|
367
|
+
FT_Module_Class** output_class ) \
|
368
|
+
{ \
|
369
|
+
FT_Driver_Class clazz; \
|
370
|
+
FT_Error error; \
|
371
|
+
FT_Memory memory = library->memory; \
|
372
|
+
\
|
373
|
+
if ( FT_ALLOC( clazz, sizeof(*clazz) ) ) \
|
374
|
+
return error; \
|
375
|
+
\
|
376
|
+
error = class_##_pic_init( library ); \
|
377
|
+
if(error) \
|
378
|
+
{ \
|
379
|
+
FT_FREE( clazz ); \
|
380
|
+
return error; \
|
381
|
+
} \
|
382
|
+
\
|
383
|
+
FT_DEFINE_ROOT_MODULE(flags_,size_,name_,version_,requires_,interface_, \
|
384
|
+
init_,done_,get_interface_) \
|
385
|
+
\
|
386
|
+
clazz->face_object_size = face_object_size_; \
|
387
|
+
clazz->size_object_size = size_object_size_; \
|
388
|
+
clazz->slot_object_size = slot_object_size_; \
|
389
|
+
\
|
390
|
+
clazz->init_face = init_face_; \
|
391
|
+
clazz->done_face = done_face_; \
|
392
|
+
\
|
393
|
+
clazz->init_size = init_size_; \
|
394
|
+
clazz->done_size = done_size_; \
|
395
|
+
\
|
396
|
+
clazz->init_slot = init_slot_; \
|
397
|
+
clazz->done_slot = done_slot_; \
|
398
|
+
\
|
399
|
+
FT_DEFINE_DRIVERS_OLD_INTERNALS(old_set_char_sizes_, old_set_pixel_sizes_) \
|
400
|
+
\
|
401
|
+
clazz->load_glyph = load_glyph_; \
|
402
|
+
\
|
403
|
+
clazz->get_kerning = get_kerning_; \
|
404
|
+
clazz->attach_file = attach_file_; \
|
405
|
+
clazz->get_advances = get_advances_; \
|
406
|
+
\
|
407
|
+
clazz->request_size = request_size_; \
|
408
|
+
clazz->select_size = select_size_; \
|
409
|
+
\
|
410
|
+
*output_class = (FT_Module_Class*)clazz; \
|
411
|
+
return FT_Err_Ok; \
|
412
|
+
}
|
413
|
+
|
414
|
+
|
415
|
+
#endif /* FT_CONFIG_OPTION_PIC */
|
416
|
+
|
417
|
+
FT_END_HEADER
|
418
|
+
|
419
|
+
#endif /* __FTDRIVER_H__ */
|
420
|
+
|
421
|
+
|
422
|
+
/* END */
|