Copy disabled (too large)
Download .txt
Showing preview only (33,123K chars total). Download the full file to get everything.
Repository: jijinggang/sumatrapdf
Branch: master
Commit: fb867d27b9ce
Files: 2279
Total size: 31.1 MB
Directory structure:
gitextract_n015uj4t/
├── .clang-format
├── .gitattributes
├── .gitignore
├── AUTHORS
├── COPYING
├── COPYING.BSD
├── TRANSLATORS
├── appveyor.yml
├── docs/
│ ├── codingstyle.txt
│ ├── mui-html-fusion.txt
│ ├── releasenotes.txt
│ ├── releaseplan.txt
│ ├── settings/
│ │ ├── langs3.1.html
│ │ ├── langs3.2.html
│ │ ├── settings3.1.html
│ │ └── settings3.2.html
│ ├── sumatrapdfrestrict.ini
│ ├── wishlist-lua.txt
│ ├── wishlist-tabs.txt
│ └── wishlist.txt
├── drmem-sup.txt
├── ext/
│ ├── CHMLib/
│ │ ├── AUTHORS
│ │ ├── COPYING
│ │ ├── NEWS
│ │ ├── NOTES
│ │ ├── README
│ │ └── src/
│ │ ├── Makefile.am
│ │ ├── Makefile.simple
│ │ ├── chm_http.c
│ │ ├── chm_lib.c
│ │ ├── chm_lib.h
│ │ ├── enum_chmLib.c
│ │ ├── enumdir_chmLib.c
│ │ ├── extract_chmLib.c
│ │ ├── lzx.c
│ │ ├── lzx.h
│ │ └── test_chmLib.c
│ ├── _patches/
│ │ ├── CHMLib.patch
│ │ ├── bzip2.patch
│ │ ├── freetype2.patch
│ │ ├── libdjvu.patch
│ │ ├── libjpeg-turbo.patch
│ │ ├── openjpeg.patch
│ │ └── synctex.patch
│ ├── bzip2/
│ │ ├── CHANGES
│ │ ├── LICENSE
│ │ ├── blocksort.c
│ │ ├── bz_internal_error.c
│ │ ├── bzip_all.c
│ │ ├── bzlib.c
│ │ ├── bzlib.h
│ │ ├── bzlib_private.h
│ │ ├── compress.c
│ │ ├── crctable.c
│ │ ├── decompress.c
│ │ ├── huffman.c
│ │ └── randtable.c
│ ├── freetype2/
│ │ ├── ChangeLog
│ │ ├── FTL.TXT
│ │ ├── config/
│ │ │ ├── ft2build.h
│ │ │ ├── sumatrapdf_ftmodule.h
│ │ │ └── sumatrapdf_ftoption.h
│ │ ├── include/
│ │ │ ├── config/
│ │ │ │ ├── ftconfig.h
│ │ │ │ ├── ftheader.h
│ │ │ │ ├── ftmodule.h
│ │ │ │ ├── ftoption.h
│ │ │ │ └── ftstdlib.h
│ │ │ ├── freetype.h
│ │ │ ├── ft2build.h
│ │ │ ├── ftadvanc.h
│ │ │ ├── ftautoh.h
│ │ │ ├── ftbbox.h
│ │ │ ├── ftbdf.h
│ │ │ ├── ftbitmap.h
│ │ │ ├── ftbzip2.h
│ │ │ ├── ftcache.h
│ │ │ ├── ftcffdrv.h
│ │ │ ├── ftchapters.h
│ │ │ ├── ftcid.h
│ │ │ ├── fterrdef.h
│ │ │ ├── fterrors.h
│ │ │ ├── ftgasp.h
│ │ │ ├── ftglyph.h
│ │ │ ├── ftgxval.h
│ │ │ ├── ftgzip.h
│ │ │ ├── ftimage.h
│ │ │ ├── ftincrem.h
│ │ │ ├── ftlcdfil.h
│ │ │ ├── ftlist.h
│ │ │ ├── ftlzw.h
│ │ │ ├── ftmac.h
│ │ │ ├── ftmm.h
│ │ │ ├── ftmodapi.h
│ │ │ ├── ftmoderr.h
│ │ │ ├── ftotval.h
│ │ │ ├── ftoutln.h
│ │ │ ├── ftpfr.h
│ │ │ ├── ftrender.h
│ │ │ ├── ftsizes.h
│ │ │ ├── ftsnames.h
│ │ │ ├── ftstroke.h
│ │ │ ├── ftsynth.h
│ │ │ ├── ftsystem.h
│ │ │ ├── fttrigon.h
│ │ │ ├── ftttdrv.h
│ │ │ ├── fttypes.h
│ │ │ ├── ftwinfnt.h
│ │ │ ├── ftxf86.h
│ │ │ ├── internal/
│ │ │ │ ├── autohint.h
│ │ │ │ ├── ftcalc.h
│ │ │ │ ├── ftdebug.h
│ │ │ │ ├── ftdriver.h
│ │ │ │ ├── ftgloadr.h
│ │ │ │ ├── ftmemory.h
│ │ │ │ ├── ftobjs.h
│ │ │ │ ├── ftpic.h
│ │ │ │ ├── ftrfork.h
│ │ │ │ ├── ftserv.h
│ │ │ │ ├── ftstream.h
│ │ │ │ ├── fttrace.h
│ │ │ │ ├── ftvalid.h
│ │ │ │ ├── internal.h
│ │ │ │ ├── psaux.h
│ │ │ │ ├── pshints.h
│ │ │ │ ├── services/
│ │ │ │ │ ├── svbdf.h
│ │ │ │ │ ├── svcid.h
│ │ │ │ │ ├── svgldict.h
│ │ │ │ │ ├── svgxval.h
│ │ │ │ │ ├── svkern.h
│ │ │ │ │ ├── svmm.h
│ │ │ │ │ ├── svotval.h
│ │ │ │ │ ├── svpfr.h
│ │ │ │ │ ├── svpostnm.h
│ │ │ │ │ ├── svprop.h
│ │ │ │ │ ├── svpscmap.h
│ │ │ │ │ ├── svpsinfo.h
│ │ │ │ │ ├── svsfnt.h
│ │ │ │ │ ├── svttcmap.h
│ │ │ │ │ ├── svtteng.h
│ │ │ │ │ ├── svttglyf.h
│ │ │ │ │ ├── svwinfnt.h
│ │ │ │ │ └── svxf86nm.h
│ │ │ │ ├── sfnt.h
│ │ │ │ ├── t1types.h
│ │ │ │ └── tttypes.h
│ │ │ ├── t1tables.h
│ │ │ ├── ttnameid.h
│ │ │ ├── tttables.h
│ │ │ ├── tttags.h
│ │ │ └── ttunpat.h
│ │ └── src/
│ │ ├── Jamfile
│ │ ├── autofit/
│ │ │ ├── Jamfile
│ │ │ ├── afangles.c
│ │ │ ├── afangles.h
│ │ │ ├── afblue.c
│ │ │ ├── afblue.cin
│ │ │ ├── afblue.h
│ │ │ ├── afblue.hin
│ │ │ ├── afcjk.c
│ │ │ ├── afcjk.h
│ │ │ ├── afcover.h
│ │ │ ├── afdummy.c
│ │ │ ├── afdummy.h
│ │ │ ├── aferrors.h
│ │ │ ├── afglobal.c
│ │ │ ├── afglobal.h
│ │ │ ├── afhints.c
│ │ │ ├── afhints.h
│ │ │ ├── afindic.c
│ │ │ ├── afindic.h
│ │ │ ├── aflatin.c
│ │ │ ├── aflatin.h
│ │ │ ├── aflatin2.c
│ │ │ ├── aflatin2.h
│ │ │ ├── afloader.c
│ │ │ ├── afloader.h
│ │ │ ├── afmodule.c
│ │ │ ├── afmodule.h
│ │ │ ├── afpic.c
│ │ │ ├── afpic.h
│ │ │ ├── afranges.c
│ │ │ ├── afranges.h
│ │ │ ├── afscript.h
│ │ │ ├── afstyles.h
│ │ │ ├── aftypes.h
│ │ │ ├── afwarp.c
│ │ │ ├── afwarp.h
│ │ │ ├── afwrtsys.h
│ │ │ ├── autofit.c
│ │ │ ├── hbshim.c
│ │ │ ├── hbshim.h
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── base/
│ │ │ ├── Jamfile
│ │ │ ├── basepic.c
│ │ │ ├── basepic.h
│ │ │ ├── ftadvanc.c
│ │ │ ├── ftapi.c
│ │ │ ├── ftbase.c
│ │ │ ├── ftbase.h
│ │ │ ├── ftbbox.c
│ │ │ ├── ftbdf.c
│ │ │ ├── ftbitmap.c
│ │ │ ├── ftcalc.c
│ │ │ ├── ftcid.c
│ │ │ ├── ftdbgmem.c
│ │ │ ├── ftdebug.c
│ │ │ ├── ftfstype.c
│ │ │ ├── ftgasp.c
│ │ │ ├── ftgloadr.c
│ │ │ ├── ftglyph.c
│ │ │ ├── ftgxval.c
│ │ │ ├── ftinit.c
│ │ │ ├── ftlcdfil.c
│ │ │ ├── ftmac.c
│ │ │ ├── ftmm.c
│ │ │ ├── ftobjs.c
│ │ │ ├── ftotval.c
│ │ │ ├── ftoutln.c
│ │ │ ├── ftpatent.c
│ │ │ ├── ftpfr.c
│ │ │ ├── ftpic.c
│ │ │ ├── ftrfork.c
│ │ │ ├── ftsnames.c
│ │ │ ├── ftstream.c
│ │ │ ├── ftstroke.c
│ │ │ ├── ftsynth.c
│ │ │ ├── ftsystem.c
│ │ │ ├── fttrigon.c
│ │ │ ├── fttype1.c
│ │ │ ├── ftutil.c
│ │ │ ├── ftwinfnt.c
│ │ │ ├── ftxf86.c
│ │ │ ├── md5.c
│ │ │ ├── md5.h
│ │ │ └── rules.mk
│ │ ├── bdf/
│ │ │ ├── Jamfile
│ │ │ ├── README
│ │ │ ├── bdf.c
│ │ │ ├── bdf.h
│ │ │ ├── bdfdrivr.c
│ │ │ ├── bdfdrivr.h
│ │ │ ├── bdferror.h
│ │ │ ├── bdflib.c
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── bzip2/
│ │ │ ├── Jamfile
│ │ │ ├── ftbzip2.c
│ │ │ └── rules.mk
│ │ ├── cache/
│ │ │ ├── Jamfile
│ │ │ ├── ftcache.c
│ │ │ ├── ftcbasic.c
│ │ │ ├── ftccache.c
│ │ │ ├── ftccache.h
│ │ │ ├── ftccback.h
│ │ │ ├── ftccmap.c
│ │ │ ├── ftcerror.h
│ │ │ ├── ftcglyph.c
│ │ │ ├── ftcglyph.h
│ │ │ ├── ftcimage.c
│ │ │ ├── ftcimage.h
│ │ │ ├── ftcmanag.c
│ │ │ ├── ftcmanag.h
│ │ │ ├── ftcmru.c
│ │ │ ├── ftcmru.h
│ │ │ ├── ftcsbits.c
│ │ │ ├── ftcsbits.h
│ │ │ └── rules.mk
│ │ ├── cff/
│ │ │ ├── Jamfile
│ │ │ ├── cf2arrst.c
│ │ │ ├── cf2arrst.h
│ │ │ ├── cf2blues.c
│ │ │ ├── cf2blues.h
│ │ │ ├── cf2error.c
│ │ │ ├── cf2error.h
│ │ │ ├── cf2fixed.h
│ │ │ ├── cf2font.c
│ │ │ ├── cf2font.h
│ │ │ ├── cf2ft.c
│ │ │ ├── cf2ft.h
│ │ │ ├── cf2glue.h
│ │ │ ├── cf2hints.c
│ │ │ ├── cf2hints.h
│ │ │ ├── cf2intrp.c
│ │ │ ├── cf2intrp.h
│ │ │ ├── cf2read.c
│ │ │ ├── cf2read.h
│ │ │ ├── cf2stack.c
│ │ │ ├── cf2stack.h
│ │ │ ├── cf2types.h
│ │ │ ├── cff.c
│ │ │ ├── cffcmap.c
│ │ │ ├── cffcmap.h
│ │ │ ├── cffdrivr.c
│ │ │ ├── cffdrivr.h
│ │ │ ├── cfferrs.h
│ │ │ ├── cffgload.c
│ │ │ ├── cffgload.h
│ │ │ ├── cffload.c
│ │ │ ├── cffload.h
│ │ │ ├── cffobjs.c
│ │ │ ├── cffobjs.h
│ │ │ ├── cffparse.c
│ │ │ ├── cffparse.h
│ │ │ ├── cffpic.c
│ │ │ ├── cffpic.h
│ │ │ ├── cfftoken.h
│ │ │ ├── cfftypes.h
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── cid/
│ │ │ ├── Jamfile
│ │ │ ├── ciderrs.h
│ │ │ ├── cidgload.c
│ │ │ ├── cidgload.h
│ │ │ ├── cidload.c
│ │ │ ├── cidload.h
│ │ │ ├── cidobjs.c
│ │ │ ├── cidobjs.h
│ │ │ ├── cidparse.c
│ │ │ ├── cidparse.h
│ │ │ ├── cidriver.c
│ │ │ ├── cidriver.h
│ │ │ ├── cidtoken.h
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ └── type1cid.c
│ │ ├── gxvalid/
│ │ │ ├── Jamfile
│ │ │ ├── README
│ │ │ ├── gxvalid.c
│ │ │ ├── gxvalid.h
│ │ │ ├── gxvbsln.c
│ │ │ ├── gxvcommn.c
│ │ │ ├── gxvcommn.h
│ │ │ ├── gxverror.h
│ │ │ ├── gxvfeat.c
│ │ │ ├── gxvfeat.h
│ │ │ ├── gxvfgen.c
│ │ │ ├── gxvjust.c
│ │ │ ├── gxvkern.c
│ │ │ ├── gxvlcar.c
│ │ │ ├── gxvmod.c
│ │ │ ├── gxvmod.h
│ │ │ ├── gxvmort.c
│ │ │ ├── gxvmort.h
│ │ │ ├── gxvmort0.c
│ │ │ ├── gxvmort1.c
│ │ │ ├── gxvmort2.c
│ │ │ ├── gxvmort4.c
│ │ │ ├── gxvmort5.c
│ │ │ ├── gxvmorx.c
│ │ │ ├── gxvmorx.h
│ │ │ ├── gxvmorx0.c
│ │ │ ├── gxvmorx1.c
│ │ │ ├── gxvmorx2.c
│ │ │ ├── gxvmorx4.c
│ │ │ ├── gxvmorx5.c
│ │ │ ├── gxvopbd.c
│ │ │ ├── gxvprop.c
│ │ │ ├── gxvtrak.c
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── gzip/
│ │ │ ├── Jamfile
│ │ │ ├── adler32.c
│ │ │ ├── ftgzip.c
│ │ │ ├── infblock.c
│ │ │ ├── infblock.h
│ │ │ ├── infcodes.c
│ │ │ ├── infcodes.h
│ │ │ ├── inffixed.h
│ │ │ ├── inflate.c
│ │ │ ├── inftrees.c
│ │ │ ├── inftrees.h
│ │ │ ├── infutil.c
│ │ │ ├── infutil.h
│ │ │ ├── rules.mk
│ │ │ ├── zconf.h
│ │ │ ├── zlib.h
│ │ │ ├── zutil.c
│ │ │ └── zutil.h
│ │ ├── lzw/
│ │ │ ├── Jamfile
│ │ │ ├── ftlzw.c
│ │ │ ├── ftzopen.c
│ │ │ ├── ftzopen.h
│ │ │ └── rules.mk
│ │ ├── otvalid/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── otvalid.c
│ │ │ ├── otvalid.h
│ │ │ ├── otvbase.c
│ │ │ ├── otvcommn.c
│ │ │ ├── otvcommn.h
│ │ │ ├── otverror.h
│ │ │ ├── otvgdef.c
│ │ │ ├── otvgpos.c
│ │ │ ├── otvgpos.h
│ │ │ ├── otvgsub.c
│ │ │ ├── otvjstf.c
│ │ │ ├── otvmath.c
│ │ │ ├── otvmod.c
│ │ │ ├── otvmod.h
│ │ │ └── rules.mk
│ │ ├── pcf/
│ │ │ ├── Jamfile
│ │ │ ├── README
│ │ │ ├── module.mk
│ │ │ ├── pcf.c
│ │ │ ├── pcf.h
│ │ │ ├── pcfdrivr.c
│ │ │ ├── pcfdrivr.h
│ │ │ ├── pcferror.h
│ │ │ ├── pcfread.c
│ │ │ ├── pcfread.h
│ │ │ ├── pcfutil.c
│ │ │ ├── pcfutil.h
│ │ │ └── rules.mk
│ │ ├── pfr/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── pfr.c
│ │ │ ├── pfrcmap.c
│ │ │ ├── pfrcmap.h
│ │ │ ├── pfrdrivr.c
│ │ │ ├── pfrdrivr.h
│ │ │ ├── pfrerror.h
│ │ │ ├── pfrgload.c
│ │ │ ├── pfrgload.h
│ │ │ ├── pfrload.c
│ │ │ ├── pfrload.h
│ │ │ ├── pfrobjs.c
│ │ │ ├── pfrobjs.h
│ │ │ ├── pfrsbit.c
│ │ │ ├── pfrsbit.h
│ │ │ ├── pfrtypes.h
│ │ │ └── rules.mk
│ │ ├── psaux/
│ │ │ ├── Jamfile
│ │ │ ├── afmparse.c
│ │ │ ├── afmparse.h
│ │ │ ├── module.mk
│ │ │ ├── psaux.c
│ │ │ ├── psauxerr.h
│ │ │ ├── psauxmod.c
│ │ │ ├── psauxmod.h
│ │ │ ├── psconv.c
│ │ │ ├── psconv.h
│ │ │ ├── psobjs.c
│ │ │ ├── psobjs.h
│ │ │ ├── rules.mk
│ │ │ ├── t1cmap.c
│ │ │ ├── t1cmap.h
│ │ │ ├── t1decode.c
│ │ │ └── t1decode.h
│ │ ├── pshinter/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── pshalgo.c
│ │ │ ├── pshalgo.h
│ │ │ ├── pshglob.c
│ │ │ ├── pshglob.h
│ │ │ ├── pshinter.c
│ │ │ ├── pshmod.c
│ │ │ ├── pshmod.h
│ │ │ ├── pshnterr.h
│ │ │ ├── pshpic.c
│ │ │ ├── pshpic.h
│ │ │ ├── pshrec.c
│ │ │ ├── pshrec.h
│ │ │ └── rules.mk
│ │ ├── psnames/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── psmodule.c
│ │ │ ├── psmodule.h
│ │ │ ├── psnamerr.h
│ │ │ ├── psnames.c
│ │ │ ├── pspic.c
│ │ │ ├── pspic.h
│ │ │ ├── pstables.h
│ │ │ └── rules.mk
│ │ ├── raster/
│ │ │ ├── Jamfile
│ │ │ ├── ftmisc.h
│ │ │ ├── ftraster.c
│ │ │ ├── ftraster.h
│ │ │ ├── ftrend1.c
│ │ │ ├── ftrend1.h
│ │ │ ├── module.mk
│ │ │ ├── raster.c
│ │ │ ├── rasterrs.h
│ │ │ ├── rastpic.c
│ │ │ ├── rastpic.h
│ │ │ └── rules.mk
│ │ ├── sfnt/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── pngshim.c
│ │ │ ├── pngshim.h
│ │ │ ├── rules.mk
│ │ │ ├── sfdriver.c
│ │ │ ├── sfdriver.h
│ │ │ ├── sferrors.h
│ │ │ ├── sfnt.c
│ │ │ ├── sfntpic.c
│ │ │ ├── sfntpic.h
│ │ │ ├── sfobjs.c
│ │ │ ├── sfobjs.h
│ │ │ ├── ttbdf.c
│ │ │ ├── ttbdf.h
│ │ │ ├── ttcmap.c
│ │ │ ├── ttcmap.h
│ │ │ ├── ttcmapc.h
│ │ │ ├── ttkern.c
│ │ │ ├── ttkern.h
│ │ │ ├── ttload.c
│ │ │ ├── ttload.h
│ │ │ ├── ttmtx.c
│ │ │ ├── ttmtx.h
│ │ │ ├── ttpost.c
│ │ │ ├── ttpost.h
│ │ │ ├── ttsbit.c
│ │ │ └── ttsbit.h
│ │ ├── smooth/
│ │ │ ├── Jamfile
│ │ │ ├── ftgrays.c
│ │ │ ├── ftgrays.h
│ │ │ ├── ftsmerrs.h
│ │ │ ├── ftsmooth.c
│ │ │ ├── ftsmooth.h
│ │ │ ├── ftspic.c
│ │ │ ├── ftspic.h
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ └── smooth.c
│ │ ├── tools/
│ │ │ ├── Jamfile
│ │ │ ├── afblue.pl
│ │ │ ├── apinames.c
│ │ │ ├── chktrcmp.py
│ │ │ ├── cordic.py
│ │ │ ├── docmaker/
│ │ │ │ ├── content.py
│ │ │ │ ├── docbeauty.py
│ │ │ │ ├── docmaker.py
│ │ │ │ ├── formatter.py
│ │ │ │ ├── sources.py
│ │ │ │ ├── tohtml.py
│ │ │ │ └── utils.py
│ │ │ ├── ftrandom/
│ │ │ │ ├── Makefile
│ │ │ │ ├── README
│ │ │ │ └── ftrandom.c
│ │ │ ├── glnames.py
│ │ │ ├── test_afm.c
│ │ │ ├── test_bbox.c
│ │ │ └── test_trig.c
│ │ ├── truetype/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ ├── truetype.c
│ │ │ ├── ttdriver.c
│ │ │ ├── ttdriver.h
│ │ │ ├── tterrors.h
│ │ │ ├── ttgload.c
│ │ │ ├── ttgload.h
│ │ │ ├── ttgxvar.c
│ │ │ ├── ttgxvar.h
│ │ │ ├── ttinterp.c
│ │ │ ├── ttinterp.h
│ │ │ ├── ttobjs.c
│ │ │ ├── ttobjs.h
│ │ │ ├── ttpic.c
│ │ │ ├── ttpic.h
│ │ │ ├── ttpload.c
│ │ │ ├── ttpload.h
│ │ │ ├── ttsubpix.c
│ │ │ └── ttsubpix.h
│ │ ├── type1/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ ├── t1afm.c
│ │ │ ├── t1afm.h
│ │ │ ├── t1driver.c
│ │ │ ├── t1driver.h
│ │ │ ├── t1errors.h
│ │ │ ├── t1gload.c
│ │ │ ├── t1gload.h
│ │ │ ├── t1load.c
│ │ │ ├── t1load.h
│ │ │ ├── t1objs.c
│ │ │ ├── t1objs.h
│ │ │ ├── t1parse.c
│ │ │ ├── t1parse.h
│ │ │ ├── t1tokens.h
│ │ │ └── type1.c
│ │ ├── type42/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ ├── t42drivr.c
│ │ │ ├── t42drivr.h
│ │ │ ├── t42error.h
│ │ │ ├── t42objs.c
│ │ │ ├── t42objs.h
│ │ │ ├── t42parse.c
│ │ │ ├── t42parse.h
│ │ │ ├── t42types.h
│ │ │ └── type42.c
│ │ └── winfonts/
│ │ ├── Jamfile
│ │ ├── fnterrs.h
│ │ ├── module.mk
│ │ ├── rules.mk
│ │ ├── winfnt.c
│ │ └── winfnt.h
│ ├── jbig2dec/
│ │ ├── CHANGES
│ │ ├── COPYING
│ │ ├── LICENSE
│ │ ├── Makefile.am
│ │ ├── Makefile.unix
│ │ ├── README
│ │ ├── annex-h.jbig2
│ │ ├── autogen.sh
│ │ ├── config_win32.h
│ │ ├── configure.ac
│ │ ├── getopt.c
│ │ ├── getopt.h
│ │ ├── getopt1.c
│ │ ├── jbig2.c
│ │ ├── jbig2.h
│ │ ├── jbig2_arith.c
│ │ ├── jbig2_arith.h
│ │ ├── jbig2_arith_iaid.c
│ │ ├── jbig2_arith_iaid.h
│ │ ├── jbig2_arith_int.c
│ │ ├── jbig2_arith_int.h
│ │ ├── jbig2_generic.c
│ │ ├── jbig2_generic.h
│ │ ├── jbig2_halftone.c
│ │ ├── jbig2_halftone.h
│ │ ├── jbig2_huffman.c
│ │ ├── jbig2_huffman.h
│ │ ├── jbig2_hufftab.h
│ │ ├── jbig2_image.c
│ │ ├── jbig2_image.h
│ │ ├── jbig2_image_pbm.c
│ │ ├── jbig2_image_png.c
│ │ ├── jbig2_metadata.c
│ │ ├── jbig2_metadata.h
│ │ ├── jbig2_mmr.c
│ │ ├── jbig2_mmr.h
│ │ ├── jbig2_page.c
│ │ ├── jbig2_priv.h
│ │ ├── jbig2_refinement.c
│ │ ├── jbig2_segment.c
│ │ ├── jbig2_symbol_dict.c
│ │ ├── jbig2_symbol_dict.h
│ │ ├── jbig2_text.c
│ │ ├── jbig2_text.h
│ │ ├── jbig2dec.1
│ │ ├── jbig2dec.c
│ │ ├── memcmp.c
│ │ ├── memento.c
│ │ ├── memento.h
│ │ ├── msvc.mak
│ │ ├── os_types.h
│ │ ├── pbm2png.c
│ │ ├── sha1.c
│ │ ├── sha1.h
│ │ ├── snprintf.c
│ │ └── test_jbig2dec.py
│ ├── libdjvu/
│ │ ├── Arrays.cpp
│ │ ├── Arrays.h
│ │ ├── BSByteStream.cpp
│ │ ├── BSByteStream.h
│ │ ├── BSEncodeByteStream.cpp
│ │ ├── ByteStream.cpp
│ │ ├── ByteStream.h
│ │ ├── COPYRIGHT
│ │ ├── DataPool.cpp
│ │ ├── DataPool.h
│ │ ├── DjVmDir.cpp
│ │ ├── DjVmDir.h
│ │ ├── DjVmDir0.cpp
│ │ ├── DjVmDir0.h
│ │ ├── DjVmDoc.cpp
│ │ ├── DjVmDoc.h
│ │ ├── DjVmNav.cpp
│ │ ├── DjVmNav.h
│ │ ├── DjVuAnno.cpp
│ │ ├── DjVuAnno.h
│ │ ├── DjVuDocEditor.cpp
│ │ ├── DjVuDocEditor.h
│ │ ├── DjVuDocument.cpp
│ │ ├── DjVuDocument.h
│ │ ├── DjVuDumpHelper.cpp
│ │ ├── DjVuDumpHelper.h
│ │ ├── DjVuErrorList.cpp
│ │ ├── DjVuErrorList.h
│ │ ├── DjVuFile.cpp
│ │ ├── DjVuFile.h
│ │ ├── DjVuFileCache.cpp
│ │ ├── DjVuFileCache.h
│ │ ├── DjVuGlobal.cpp
│ │ ├── DjVuGlobal.h
│ │ ├── DjVuGlobalMemory.cpp
│ │ ├── DjVuImage.cpp
│ │ ├── DjVuImage.h
│ │ ├── DjVuInfo.cpp
│ │ ├── DjVuInfo.h
│ │ ├── DjVuMessage.cpp
│ │ ├── DjVuMessage.h
│ │ ├── DjVuMessageLite.cpp
│ │ ├── DjVuMessageLite.h
│ │ ├── DjVuNavDir.cpp
│ │ ├── DjVuNavDir.h
│ │ ├── DjVuPalette.cpp
│ │ ├── DjVuPalette.h
│ │ ├── DjVuPort.cpp
│ │ ├── DjVuPort.h
│ │ ├── DjVuText.cpp
│ │ ├── DjVuText.h
│ │ ├── DjVuToPS.cpp
│ │ ├── DjVuToPS.h
│ │ ├── GBitmap.cpp
│ │ ├── GBitmap.h
│ │ ├── GContainer.cpp
│ │ ├── GContainer.h
│ │ ├── GException.cpp
│ │ ├── GException.h
│ │ ├── GIFFManager.cpp
│ │ ├── GIFFManager.h
│ │ ├── GMapAreas.cpp
│ │ ├── GMapAreas.h
│ │ ├── GOS.cpp
│ │ ├── GOS.h
│ │ ├── GPixmap.cpp
│ │ ├── GPixmap.h
│ │ ├── GRect.cpp
│ │ ├── GRect.h
│ │ ├── GScaler.cpp
│ │ ├── GScaler.h
│ │ ├── GSmartPointer.cpp
│ │ ├── GSmartPointer.h
│ │ ├── GString.cpp
│ │ ├── GString.h
│ │ ├── GThreads.cpp
│ │ ├── GThreads.h
│ │ ├── GURL.cpp
│ │ ├── GURL.h
│ │ ├── GUnicode.cpp
│ │ ├── IFFByteStream.cpp
│ │ ├── IFFByteStream.h
│ │ ├── IW44EncodeCodec.cpp
│ │ ├── IW44Image.cpp
│ │ ├── IW44Image.h
│ │ ├── JB2EncodeCodec.cpp
│ │ ├── JB2Image.cpp
│ │ ├── JB2Image.h
│ │ ├── JPEGDecoder.cpp
│ │ ├── JPEGDecoder.h
│ │ ├── MMRDecoder.cpp
│ │ ├── MMRDecoder.h
│ │ ├── MMX.cpp
│ │ ├── MMX.h
│ │ ├── Makefile.dep
│ │ ├── Makefile.in
│ │ ├── Template.h
│ │ ├── UnicodeByteStream.cpp
│ │ ├── UnicodeByteStream.h
│ │ ├── XMLParser.cpp
│ │ ├── XMLParser.h
│ │ ├── XMLTags.cpp
│ │ ├── XMLTags.h
│ │ ├── ZPCodec.cpp
│ │ ├── ZPCodec.h
│ │ ├── atomic.cpp
│ │ ├── atomic.h
│ │ ├── ddjvuapi.cpp
│ │ ├── ddjvuapi.h
│ │ ├── ddjvuapi.pc.in
│ │ ├── debug.cpp
│ │ ├── debug.h
│ │ ├── djvu_all.cpp
│ │ ├── miniexp.cpp
│ │ └── miniexp.h
│ ├── libjpeg-turbo/
│ │ ├── BUILDING.txt
│ │ ├── CMakeLists.txt
│ │ ├── ChangeLog.txt
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── README-turbo.txt
│ │ ├── acinclude.m4
│ │ ├── aclocal.m4
│ │ ├── bmp.c
│ │ ├── bmp.h
│ │ ├── cderror.h
│ │ ├── cdjpeg.c
│ │ ├── cdjpeg.h
│ │ ├── change.log
│ │ ├── cjpeg.1
│ │ ├── cjpeg.c
│ │ ├── coderules.txt
│ │ ├── compile
│ │ ├── config.guess
│ │ ├── config.h
│ │ ├── config.h.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── depcomp
│ │ ├── djpeg.1
│ │ ├── djpeg.c
│ │ ├── doxygen.config
│ │ ├── example.c
│ │ ├── install-sh
│ │ ├── jaricom.c
│ │ ├── jcapimin.c
│ │ ├── jcapistd.c
│ │ ├── jcarith.c
│ │ ├── jccoefct.c
│ │ ├── jccolext.c
│ │ ├── jccolor.c
│ │ ├── jcdctmgr.c
│ │ ├── jchuff.c
│ │ ├── jchuff.h
│ │ ├── jcinit.c
│ │ ├── jcmainct.c
│ │ ├── jcmarker.c
│ │ ├── jcmaster.c
│ │ ├── jcomapi.c
│ │ ├── jconfig.h
│ │ ├── jconfig.h.in
│ │ ├── jconfig.txt
│ │ ├── jcparam.c
│ │ ├── jcphuff.c
│ │ ├── jcprepct.c
│ │ ├── jcsample.c
│ │ ├── jcstest.c
│ │ ├── jctrans.c
│ │ ├── jdapimin.c
│ │ ├── jdapistd.c
│ │ ├── jdarith.c
│ │ ├── jdatadst-tj.c
│ │ ├── jdatadst.c
│ │ ├── jdatasrc-tj.c
│ │ ├── jdatasrc.c
│ │ ├── jdcoefct.c
│ │ ├── jdcolext.c
│ │ ├── jdcolor.c
│ │ ├── jdct.h
│ │ ├── jddctmgr.c
│ │ ├── jdhuff.c
│ │ ├── jdhuff.h
│ │ ├── jdinput.c
│ │ ├── jdmainct.c
│ │ ├── jdmarker.c
│ │ ├── jdmaster.c
│ │ ├── jdmerge.c
│ │ ├── jdmrgext.c
│ │ ├── jdphuff.c
│ │ ├── jdpostct.c
│ │ ├── jdsample.c
│ │ ├── jdtrans.c
│ │ ├── jerror.c
│ │ ├── jerror.h
│ │ ├── jfdctflt.c
│ │ ├── jfdctfst.c
│ │ ├── jfdctint.c
│ │ ├── jidctflt.c
│ │ ├── jidctfst.c
│ │ ├── jidctint.c
│ │ ├── jidctred.c
│ │ ├── jinclude.h
│ │ ├── jmemmgr.c
│ │ ├── jmemnobs.c
│ │ ├── jmemsys.h
│ │ ├── jmorecfg.h
│ │ ├── jpegcomp.h
│ │ ├── jpegint.h
│ │ ├── jpeglib.h
│ │ ├── jpegtran.1
│ │ ├── jpegtran.c
│ │ ├── jquant1.c
│ │ ├── jquant2.c
│ │ ├── jsimd.h
│ │ ├── jsimd_none.c
│ │ ├── jsimddct.h
│ │ ├── jutils.c
│ │ ├── jversion.h
│ │ ├── libjpeg.map.in
│ │ ├── libjpeg.txt
│ │ ├── ltmain.sh
│ │ ├── missing
│ │ ├── rdbmp.c
│ │ ├── rdcolmap.c
│ │ ├── rdgif.c
│ │ ├── rdjpgcom.1
│ │ ├── rdjpgcom.c
│ │ ├── rdppm.c
│ │ ├── rdrle.c
│ │ ├── rdswitch.c
│ │ ├── rdtarga.c
│ │ ├── simd/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── jcclrmmx.asm
│ │ │ ├── jcclrss2-64.asm
│ │ │ ├── jcclrss2.asm
│ │ │ ├── jccolmmx.asm
│ │ │ ├── jccolss2-64.asm
│ │ │ ├── jccolss2.asm
│ │ │ ├── jcgrammx.asm
│ │ │ ├── jcgrass2-64.asm
│ │ │ ├── jcgrass2.asm
│ │ │ ├── jcgrymmx.asm
│ │ │ ├── jcgryss2-64.asm
│ │ │ ├── jcgryss2.asm
│ │ │ ├── jcolsamp.inc
│ │ │ ├── jcqnt3dn.asm
│ │ │ ├── jcqntmmx.asm
│ │ │ ├── jcqnts2f-64.asm
│ │ │ ├── jcqnts2f.asm
│ │ │ ├── jcqnts2i-64.asm
│ │ │ ├── jcqnts2i.asm
│ │ │ ├── jcqntsse.asm
│ │ │ ├── jcsammmx.asm
│ │ │ ├── jcsamss2-64.asm
│ │ │ ├── jcsamss2.asm
│ │ │ ├── jdclrmmx.asm
│ │ │ ├── jdclrss2-64.asm
│ │ │ ├── jdclrss2.asm
│ │ │ ├── jdcolmmx.asm
│ │ │ ├── jdcolss2-64.asm
│ │ │ ├── jdcolss2.asm
│ │ │ ├── jdct.inc
│ │ │ ├── jdmermmx.asm
│ │ │ ├── jdmerss2-64.asm
│ │ │ ├── jdmerss2.asm
│ │ │ ├── jdmrgmmx.asm
│ │ │ ├── jdmrgss2-64.asm
│ │ │ ├── jdmrgss2.asm
│ │ │ ├── jdsammmx.asm
│ │ │ ├── jdsamss2-64.asm
│ │ │ ├── jdsamss2.asm
│ │ │ ├── jf3dnflt.asm
│ │ │ ├── jfmmxfst.asm
│ │ │ ├── jfmmxint.asm
│ │ │ ├── jfss2fst-64.asm
│ │ │ ├── jfss2fst.asm
│ │ │ ├── jfss2int-64.asm
│ │ │ ├── jfss2int.asm
│ │ │ ├── jfsseflt-64.asm
│ │ │ ├── jfsseflt.asm
│ │ │ ├── ji3dnflt.asm
│ │ │ ├── jimmxfst.asm
│ │ │ ├── jimmxint.asm
│ │ │ ├── jimmxred.asm
│ │ │ ├── jiss2flt-64.asm
│ │ │ ├── jiss2flt.asm
│ │ │ ├── jiss2fst-64.asm
│ │ │ ├── jiss2fst.asm
│ │ │ ├── jiss2int-64.asm
│ │ │ ├── jiss2int.asm
│ │ │ ├── jiss2red-64.asm
│ │ │ ├── jiss2red.asm
│ │ │ ├── jisseflt.asm
│ │ │ ├── jsimd.h
│ │ │ ├── jsimd_arm.c
│ │ │ ├── jsimd_arm_neon.S
│ │ │ ├── jsimd_i386.c
│ │ │ ├── jsimd_x86_64.c
│ │ │ ├── jsimdcfg.inc.h
│ │ │ ├── jsimdcpu.asm
│ │ │ ├── jsimdext.inc
│ │ │ └── nasm_lt.sh
│ │ ├── structure.txt
│ │ ├── tjbench.c
│ │ ├── tjbenchtest.in
│ │ ├── tjbenchtest.java.in
│ │ ├── tjexampletest.in
│ │ ├── tjunittest.c
│ │ ├── tjutil.c
│ │ ├── tjutil.h
│ │ ├── transupp.c
│ │ ├── transupp.h
│ │ ├── turbojpeg-jni.c
│ │ ├── turbojpeg-mapfile
│ │ ├── turbojpeg-mapfile.jni
│ │ ├── turbojpeg.c
│ │ ├── turbojpeg.h
│ │ ├── usage.txt
│ │ ├── win/
│ │ │ ├── config.h.in
│ │ │ ├── jconfig.h.in
│ │ │ ├── jpeg62-memsrcdst.def
│ │ │ ├── jpeg62.def
│ │ │ ├── jpeg7-memsrcdst.def
│ │ │ ├── jpeg7.def
│ │ │ ├── jpeg8.def
│ │ │ └── jsimdcfg.inc
│ │ ├── wizard.txt
│ │ ├── wrbmp.c
│ │ ├── wrgif.c
│ │ ├── wrjpgcom.1
│ │ ├── wrjpgcom.c
│ │ ├── wrppm.c
│ │ ├── wrrle.c
│ │ └── wrtarga.c
│ ├── libwebp/
│ │ ├── COPYING
│ │ ├── dec/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── alpha.c
│ │ │ ├── alphai.h
│ │ │ ├── buffer.c
│ │ │ ├── decode_vp8.h
│ │ │ ├── frame.c
│ │ │ ├── idec.c
│ │ │ ├── io.c
│ │ │ ├── quant.c
│ │ │ ├── tree.c
│ │ │ ├── vp8.c
│ │ │ ├── vp8i.h
│ │ │ ├── vp8l.c
│ │ │ ├── vp8li.h
│ │ │ ├── webp.c
│ │ │ └── webpi.h
│ │ ├── dsp/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── alpha_processing.c
│ │ │ ├── alpha_processing_sse2.c
│ │ │ ├── cpu.c
│ │ │ ├── dec.c
│ │ │ ├── dec_clip_tables.c
│ │ │ ├── dec_mips32.c
│ │ │ ├── dec_neon.c
│ │ │ ├── dec_sse2.c
│ │ │ ├── dsp.h
│ │ │ ├── enc.c
│ │ │ ├── enc_avx2.c
│ │ │ ├── enc_mips32.c
│ │ │ ├── enc_neon.c
│ │ │ ├── enc_sse2.c
│ │ │ ├── lossless.c
│ │ │ ├── lossless.h
│ │ │ ├── lossless_mips32.c
│ │ │ ├── lossless_neon.c
│ │ │ ├── lossless_sse2.c
│ │ │ ├── neon.h
│ │ │ ├── upsampling.c
│ │ │ ├── upsampling_neon.c
│ │ │ ├── upsampling_sse2.c
│ │ │ ├── yuv.c
│ │ │ ├── yuv.h
│ │ │ ├── yuv_mips32.c
│ │ │ ├── yuv_sse2.c
│ │ │ └── yuv_tables_sse2.h
│ │ ├── enc/
│ │ │ ├── backward_references.h
│ │ │ └── histogram.h
│ │ ├── utils/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── bit_reader.c
│ │ │ ├── bit_reader.h
│ │ │ ├── bit_reader_inl.h
│ │ │ ├── bit_writer.c
│ │ │ ├── bit_writer.h
│ │ │ ├── color_cache.c
│ │ │ ├── color_cache.h
│ │ │ ├── endian_inl.h
│ │ │ ├── filters.c
│ │ │ ├── filters.h
│ │ │ ├── huffman.c
│ │ │ ├── huffman.h
│ │ │ ├── huffman_encode.c
│ │ │ ├── huffman_encode.h
│ │ │ ├── quant_levels.c
│ │ │ ├── quant_levels.h
│ │ │ ├── quant_levels_dec.c
│ │ │ ├── quant_levels_dec.h
│ │ │ ├── random.c
│ │ │ ├── random.h
│ │ │ ├── rescaler.c
│ │ │ ├── rescaler.h
│ │ │ ├── thread.c
│ │ │ ├── thread.h
│ │ │ ├── utils.c
│ │ │ └── utils.h
│ │ └── webp/
│ │ ├── config.h.in
│ │ ├── decode.h
│ │ ├── demux.h
│ │ ├── encode.h
│ │ ├── format_constants.h
│ │ ├── mux.h
│ │ ├── mux_types.h
│ │ └── types.h
│ ├── lzma/
│ │ ├── 7zC.txt
│ │ ├── 7zFormat.txt
│ │ ├── Asm/
│ │ │ ├── arm/
│ │ │ │ └── 7zCrcOpt.asm
│ │ │ └── x86/
│ │ │ ├── 7zAsm.asm
│ │ │ ├── 7zCrcOpt.asm
│ │ │ └── AesOpt.asm
│ │ ├── C/
│ │ │ ├── 7z.h
│ │ │ ├── 7zAlloc.c
│ │ │ ├── 7zAlloc.h
│ │ │ ├── 7zBuf.c
│ │ │ ├── 7zBuf.h
│ │ │ ├── 7zBuf2.c
│ │ │ ├── 7zCrc.c
│ │ │ ├── 7zCrc.h
│ │ │ ├── 7zCrcOpt.c
│ │ │ ├── 7zDec.c
│ │ │ ├── 7zFile.c
│ │ │ ├── 7zFile.h
│ │ │ ├── 7zIn.c
│ │ │ ├── 7zStream.c
│ │ │ ├── 7zVersion.h
│ │ │ ├── 7zVersion.rc
│ │ │ ├── Alloc.c
│ │ │ ├── Alloc.h
│ │ │ ├── Bcj2.c
│ │ │ ├── Bcj2.h
│ │ │ ├── Bra.c
│ │ │ ├── Bra.h
│ │ │ ├── Bra86.c
│ │ │ ├── BraIA64.c
│ │ │ ├── CpuArch.c
│ │ │ ├── CpuArch.h
│ │ │ ├── Delta.c
│ │ │ ├── Delta.h
│ │ │ ├── LzFind.c
│ │ │ ├── LzFind.h
│ │ │ ├── LzFindMt.c
│ │ │ ├── LzFindMt.h
│ │ │ ├── LzHash.h
│ │ │ ├── Lzma2Dec.c
│ │ │ ├── Lzma2Dec.h
│ │ │ ├── Lzma2Enc.c
│ │ │ ├── Lzma2Enc.h
│ │ │ ├── Lzma86.h
│ │ │ ├── Lzma86Dec.c
│ │ │ ├── Lzma86Enc.c
│ │ │ ├── LzmaDec.c
│ │ │ ├── LzmaDec.h
│ │ │ ├── LzmaEnc.c
│ │ │ ├── LzmaEnc.h
│ │ │ ├── LzmaLib.c
│ │ │ ├── LzmaLib.h
│ │ │ ├── MtCoder.c
│ │ │ ├── MtCoder.h
│ │ │ ├── Ppmd.h
│ │ │ ├── Ppmd7.c
│ │ │ ├── Ppmd7.h
│ │ │ ├── Ppmd7Dec.c
│ │ │ ├── Ppmd7Enc.c
│ │ │ ├── RotateDefs.h
│ │ │ ├── Sha256.c
│ │ │ ├── Sha256.h
│ │ │ ├── Threads.c
│ │ │ ├── Threads.h
│ │ │ ├── Types.h
│ │ │ ├── Util/
│ │ │ │ ├── 7z/
│ │ │ │ │ ├── 7z.dsp
│ │ │ │ │ ├── 7z.dsw
│ │ │ │ │ ├── 7zMain.c
│ │ │ │ │ ├── makefile
│ │ │ │ │ └── makefile.gcc
│ │ │ │ ├── Lzma/
│ │ │ │ │ ├── LzmaUtil.c
│ │ │ │ │ ├── LzmaUtil.dsp
│ │ │ │ │ ├── LzmaUtil.dsw
│ │ │ │ │ ├── makefile
│ │ │ │ │ └── makefile.gcc
│ │ │ │ ├── LzmaLib/
│ │ │ │ │ ├── LzmaLib.def
│ │ │ │ │ ├── LzmaLib.dsp
│ │ │ │ │ ├── LzmaLib.dsw
│ │ │ │ │ ├── LzmaLibExports.c
│ │ │ │ │ ├── makefile
│ │ │ │ │ └── resource.rc
│ │ │ │ └── SfxSetup/
│ │ │ │ ├── SfxSetup.c
│ │ │ │ ├── SfxSetup.dsp
│ │ │ │ ├── SfxSetup.dsw
│ │ │ │ ├── makefile
│ │ │ │ ├── makefile_con
│ │ │ │ └── resource.rc
│ │ │ ├── Xz.c
│ │ │ ├── Xz.h
│ │ │ ├── XzCrc64.c
│ │ │ ├── XzCrc64.h
│ │ │ ├── XzDec.c
│ │ │ ├── XzEnc.c
│ │ │ ├── XzEnc.h
│ │ │ └── XzIn.c
│ │ ├── Methods.txt
│ │ ├── history.txt
│ │ └── lzma.txt
│ ├── makefile.msvc
│ ├── openjpeg/
│ │ ├── CMakeLists.txt
│ │ ├── LICENSE
│ │ ├── bio.c
│ │ ├── bio.h
│ │ ├── cidx_manager.c
│ │ ├── cidx_manager.h
│ │ ├── cio.c
│ │ ├── cio.h
│ │ ├── dwt.c
│ │ ├── dwt.h
│ │ ├── event.c
│ │ ├── event.h
│ │ ├── function_list.c
│ │ ├── function_list.h
│ │ ├── image.c
│ │ ├── image.h
│ │ ├── indexbox_manager.h
│ │ ├── invert.c
│ │ ├── invert.h
│ │ ├── j2k.c
│ │ ├── j2k.h
│ │ ├── jp2.c
│ │ ├── jp2.h
│ │ ├── libopenjp2.pc.cmake.in
│ │ ├── mct.c
│ │ ├── mct.h
│ │ ├── mqc.c
│ │ ├── mqc.h
│ │ ├── openjpeg.c
│ │ ├── openjpeg.h
│ │ ├── opj_clock.c
│ │ ├── opj_clock.h
│ │ ├── opj_codec.h
│ │ ├── opj_config.h
│ │ ├── opj_config.h.cmake.in
│ │ ├── opj_config_private.h
│ │ ├── opj_config_private.h.cmake.in
│ │ ├── opj_includes.h
│ │ ├── opj_intmath.h
│ │ ├── opj_inttypes.h
│ │ ├── opj_malloc.h
│ │ ├── opj_stdint.h
│ │ ├── phix_manager.c
│ │ ├── pi.c
│ │ ├── pi.h
│ │ ├── ppix_manager.c
│ │ ├── raw.c
│ │ ├── raw.h
│ │ ├── t1.c
│ │ ├── t1.h
│ │ ├── t1_generate_luts.c
│ │ ├── t1_luts.h
│ │ ├── t2.c
│ │ ├── t2.h
│ │ ├── tcd.c
│ │ ├── tcd.h
│ │ ├── tgt.c
│ │ ├── tgt.h
│ │ ├── thix_manager.c
│ │ └── tpix_manager.c
│ ├── synctex/
│ │ ├── synctex_parser.c
│ │ ├── synctex_parser.h
│ │ ├── synctex_parser_local.h
│ │ ├── synctex_parser_readme.txt
│ │ ├── synctex_parser_utils.c
│ │ ├── synctex_parser_utils.h
│ │ └── synctex_parser_version.txt
│ ├── unarr/
│ │ ├── AUTHORS
│ │ ├── COPYING
│ │ ├── Makefile
│ │ ├── README
│ │ ├── _7z/
│ │ │ ├── _7z.c
│ │ │ └── _7z.h
│ │ ├── common/
│ │ │ ├── allocator.h
│ │ │ ├── conv.c
│ │ │ ├── crc32.c
│ │ │ ├── custalloc.c
│ │ │ ├── stream.c
│ │ │ ├── unarr-imp.h
│ │ │ └── unarr.c
│ │ ├── lzmasdk/
│ │ │ ├── 7zTypes.h
│ │ │ ├── CpuArch.c
│ │ │ ├── CpuArch.h
│ │ │ ├── LzmaDec.c
│ │ │ ├── LzmaDec.h
│ │ │ ├── Ppmd.h
│ │ │ ├── Ppmd7.c
│ │ │ ├── Ppmd7.h
│ │ │ ├── Ppmd7Dec.c
│ │ │ ├── Ppmd8.c
│ │ │ ├── Ppmd8.h
│ │ │ ├── Ppmd8Dec.c
│ │ │ └── Precomp.h
│ │ ├── main.c
│ │ ├── rar/
│ │ │ ├── filter-rar.c
│ │ │ ├── huffman-rar.c
│ │ │ ├── lzss.h
│ │ │ ├── parse-rar.c
│ │ │ ├── rar.c
│ │ │ ├── rar.h
│ │ │ ├── rarvm.c
│ │ │ ├── rarvm.h
│ │ │ └── uncompress-rar.c
│ │ ├── tar/
│ │ │ ├── parse-tar.c
│ │ │ ├── tar.c
│ │ │ └── tar.h
│ │ ├── unarr.h
│ │ └── zip/
│ │ ├── inflate.c
│ │ ├── inflate.h
│ │ ├── parse-zip.c
│ │ ├── uncompress-zip.c
│ │ ├── zip.c
│ │ └── zip.h
│ ├── versions.txt
│ └── zlib/
│ ├── adler32.c
│ ├── compress.c
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── zconf.h
│ ├── zlib.h
│ ├── zutil.c
│ └── zutil.h
├── makefile.deps
├── makefile.msvc
├── mupdf/
│ ├── CHANGES
│ ├── CONTRIBUTORS
│ ├── COPYING
│ ├── Makefile
│ ├── Makerules
│ ├── Makethird
│ ├── README
│ ├── SumatraMuPDF.patch
│ ├── docs/
│ │ ├── example.c
│ │ ├── man/
│ │ │ ├── mudraw.1
│ │ │ ├── mupdf.1
│ │ │ └── mutool.1
│ │ ├── multi-threaded.c
│ │ ├── naming.txt
│ │ ├── overview.txt
│ │ ├── progressive.txt
│ │ └── refcount.txt
│ ├── font_base14.asm
│ ├── include/
│ │ └── mupdf/
│ │ ├── cbz.h
│ │ ├── fitz/
│ │ │ ├── annotation.h
│ │ │ ├── bitmap.h
│ │ │ ├── buffer.h
│ │ │ ├── colorspace.h
│ │ │ ├── compressed-buffer.h
│ │ │ ├── context.h
│ │ │ ├── crypt.h
│ │ │ ├── device.h
│ │ │ ├── display-list.h
│ │ │ ├── document.h
│ │ │ ├── filter.h
│ │ │ ├── font.h
│ │ │ ├── function.h
│ │ │ ├── getopt.h
│ │ │ ├── glyph-cache.h
│ │ │ ├── glyph.h
│ │ │ ├── hash.h
│ │ │ ├── image.h
│ │ │ ├── link.h
│ │ │ ├── math.h
│ │ │ ├── meta.h
│ │ │ ├── outline.h
│ │ │ ├── output-pcl.h
│ │ │ ├── output-png.h
│ │ │ ├── output-pnm.h
│ │ │ ├── output-pwg.h
│ │ │ ├── output-svg.h
│ │ │ ├── output-tga.h
│ │ │ ├── output.h
│ │ │ ├── path.h
│ │ │ ├── pixmap.h
│ │ │ ├── shade.h
│ │ │ ├── store.h
│ │ │ ├── stream.h
│ │ │ ├── string.h
│ │ │ ├── structured-text.h
│ │ │ ├── system.h
│ │ │ ├── text.h
│ │ │ ├── transition.h
│ │ │ ├── tree.h
│ │ │ ├── unzip.h
│ │ │ ├── version.h
│ │ │ ├── write-document.h
│ │ │ └── xml.h
│ │ ├── fitz.h
│ │ ├── img.h
│ │ ├── pdf/
│ │ │ ├── annot.h
│ │ │ ├── appearance.h
│ │ │ ├── cmap.h
│ │ │ ├── crypt.h
│ │ │ ├── document.h
│ │ │ ├── event.h
│ │ │ ├── field.h
│ │ │ ├── font.h
│ │ │ ├── javascript.h
│ │ │ ├── object.h
│ │ │ ├── output-pdf.h
│ │ │ ├── page.h
│ │ │ ├── parse.h
│ │ │ ├── resource.h
│ │ │ ├── widget.h
│ │ │ └── xref.h
│ │ ├── pdf-tools.h
│ │ ├── pdf.h
│ │ ├── tiff.h
│ │ └── xps.h
│ ├── makefile.msvc
│ ├── platform/
│ │ └── win32/
│ │ ├── README.txt
│ │ ├── generate.bat
│ │ ├── libmupdf.vcproj
│ │ ├── mudraw.vcproj
│ │ ├── mujstest.vcproj
│ │ ├── mupdf-curl.vcproj
│ │ ├── mupdf.sln
│ │ ├── mupdf.vcproj
│ │ └── mutool.vcproj
│ ├── resources/
│ │ ├── certs/
│ │ │ └── AdobeCA.p7c
│ │ ├── cmaps/
│ │ │ ├── README
│ │ │ ├── cns/
│ │ │ │ ├── Adobe-CNS1-0
│ │ │ │ ├── Adobe-CNS1-1
│ │ │ │ ├── Adobe-CNS1-2
│ │ │ │ ├── Adobe-CNS1-3
│ │ │ │ ├── Adobe-CNS1-4
│ │ │ │ ├── Adobe-CNS1-5
│ │ │ │ ├── Adobe-CNS1-6
│ │ │ │ ├── Adobe-CNS1-UCS2
│ │ │ │ ├── B5-H
│ │ │ │ ├── B5-V
│ │ │ │ ├── B5pc-H
│ │ │ │ ├── B5pc-V
│ │ │ │ ├── CNS-EUC-H
│ │ │ │ ├── CNS-EUC-V
│ │ │ │ ├── CNS1-H
│ │ │ │ ├── CNS1-V
│ │ │ │ ├── CNS2-H
│ │ │ │ ├── CNS2-V
│ │ │ │ ├── ETHK-B5-H
│ │ │ │ ├── ETHK-B5-V
│ │ │ │ ├── ETen-B5-H
│ │ │ │ ├── ETen-B5-V
│ │ │ │ ├── ETenms-B5-H
│ │ │ │ ├── ETenms-B5-V
│ │ │ │ ├── HKdla-B5-H
│ │ │ │ ├── HKdla-B5-V
│ │ │ │ ├── HKdlb-B5-H
│ │ │ │ ├── HKdlb-B5-V
│ │ │ │ ├── HKgccs-B5-H
│ │ │ │ ├── HKgccs-B5-V
│ │ │ │ ├── HKm314-B5-H
│ │ │ │ ├── HKm314-B5-V
│ │ │ │ ├── HKm471-B5-H
│ │ │ │ ├── HKm471-B5-V
│ │ │ │ ├── HKscs-B5-H
│ │ │ │ ├── HKscs-B5-V
│ │ │ │ ├── UniCNS-UCS2-H
│ │ │ │ ├── UniCNS-UCS2-V
│ │ │ │ ├── UniCNS-UTF16-H
│ │ │ │ ├── UniCNS-UTF16-V
│ │ │ │ ├── UniCNS-UTF32-H
│ │ │ │ ├── UniCNS-UTF32-V
│ │ │ │ ├── UniCNS-UTF8-H
│ │ │ │ ├── UniCNS-UTF8-V
│ │ │ │ └── UniCNS-X
│ │ │ ├── gb/
│ │ │ │ ├── Adobe-GB1-0
│ │ │ │ ├── Adobe-GB1-1
│ │ │ │ ├── Adobe-GB1-2
│ │ │ │ ├── Adobe-GB1-3
│ │ │ │ ├── Adobe-GB1-4
│ │ │ │ ├── Adobe-GB1-5
│ │ │ │ ├── Adobe-GB1-UCS2
│ │ │ │ ├── GB-EUC-H
│ │ │ │ ├── GB-EUC-V
│ │ │ │ ├── GB-H
│ │ │ │ ├── GB-V
│ │ │ │ ├── GBK-EUC-H
│ │ │ │ ├── GBK-EUC-V
│ │ │ │ ├── GBK2K-H
│ │ │ │ ├── GBK2K-V
│ │ │ │ ├── GBKp-EUC-H
│ │ │ │ ├── GBKp-EUC-V
│ │ │ │ ├── GBT-EUC-H
│ │ │ │ ├── GBT-EUC-V
│ │ │ │ ├── GBT-H
│ │ │ │ ├── GBT-V
│ │ │ │ ├── GBTpc-EUC-H
│ │ │ │ ├── GBTpc-EUC-V
│ │ │ │ ├── GBpc-EUC-H
│ │ │ │ ├── GBpc-EUC-V
│ │ │ │ ├── UniGB-UCS2-H
│ │ │ │ ├── UniGB-UCS2-V
│ │ │ │ ├── UniGB-UTF16-H
│ │ │ │ ├── UniGB-UTF16-V
│ │ │ │ ├── UniGB-UTF32-H
│ │ │ │ ├── UniGB-UTF32-V
│ │ │ │ ├── UniGB-UTF8-H
│ │ │ │ ├── UniGB-UTF8-V
│ │ │ │ └── UniGB-X
│ │ │ ├── japan/
│ │ │ │ ├── 78-EUC-H
│ │ │ │ ├── 78-EUC-V
│ │ │ │ ├── 78-H
│ │ │ │ ├── 78-RKSJ-H
│ │ │ │ ├── 78-RKSJ-V
│ │ │ │ ├── 78-V
│ │ │ │ ├── 78ms-RKSJ-H
│ │ │ │ ├── 78ms-RKSJ-V
│ │ │ │ ├── 83pv-RKSJ-H
│ │ │ │ ├── 90ms-RKSJ-H
│ │ │ │ ├── 90ms-RKSJ-V
│ │ │ │ ├── 90msp-RKSJ-H
│ │ │ │ ├── 90msp-RKSJ-V
│ │ │ │ ├── 90pv-RKSJ-H
│ │ │ │ ├── 90pv-RKSJ-V
│ │ │ │ ├── Add-H
│ │ │ │ ├── Add-RKSJ-H
│ │ │ │ ├── Add-RKSJ-V
│ │ │ │ ├── Add-V
│ │ │ │ ├── Adobe-Japan1-0
│ │ │ │ ├── Adobe-Japan1-1
│ │ │ │ ├── Adobe-Japan1-2
│ │ │ │ ├── Adobe-Japan1-3
│ │ │ │ ├── Adobe-Japan1-4
│ │ │ │ ├── Adobe-Japan1-5
│ │ │ │ ├── Adobe-Japan1-6
│ │ │ │ ├── Adobe-Japan1-UCS2
│ │ │ │ ├── EUC-H
│ │ │ │ ├── EUC-V
│ │ │ │ ├── Ext-H
│ │ │ │ ├── Ext-RKSJ-H
│ │ │ │ ├── Ext-RKSJ-V
│ │ │ │ ├── Ext-V
│ │ │ │ ├── H
│ │ │ │ ├── Hankaku
│ │ │ │ ├── Hiragana
│ │ │ │ ├── Katakana
│ │ │ │ ├── NWP-H
│ │ │ │ ├── NWP-V
│ │ │ │ ├── RKSJ-H
│ │ │ │ ├── RKSJ-V
│ │ │ │ ├── Roman
│ │ │ │ ├── UniJIS-UCS2-H
│ │ │ │ ├── UniJIS-UCS2-HW-H
│ │ │ │ ├── UniJIS-UCS2-HW-V
│ │ │ │ ├── UniJIS-UCS2-V
│ │ │ │ ├── UniJIS-UTF16-H
│ │ │ │ ├── UniJIS-UTF16-V
│ │ │ │ ├── UniJIS-UTF32-H
│ │ │ │ ├── UniJIS-UTF32-V
│ │ │ │ ├── UniJIS-UTF8-H
│ │ │ │ ├── UniJIS-UTF8-V
│ │ │ │ ├── UniJIS-X
│ │ │ │ ├── UniJIS-X16
│ │ │ │ ├── UniJIS-X32
│ │ │ │ ├── UniJIS-X8
│ │ │ │ ├── UniJIS2004-UTF16-H
│ │ │ │ ├── UniJIS2004-UTF16-V
│ │ │ │ ├── UniJIS2004-UTF32-H
│ │ │ │ ├── UniJIS2004-UTF32-V
│ │ │ │ ├── UniJIS2004-UTF8-H
│ │ │ │ ├── UniJIS2004-UTF8-V
│ │ │ │ ├── UniJISPro-UCS2-HW-V
│ │ │ │ ├── UniJISPro-UCS2-V
│ │ │ │ ├── UniJISPro-UTF8-V
│ │ │ │ ├── UniJISX0213-UTF32-H
│ │ │ │ ├── UniJISX0213-UTF32-V
│ │ │ │ ├── UniJISX02132004-UTF32-H
│ │ │ │ ├── UniJISX02132004-UTF32-V
│ │ │ │ ├── V
│ │ │ │ └── WP-Symbol
│ │ │ └── korea/
│ │ │ ├── Adobe-Korea1-0
│ │ │ ├── Adobe-Korea1-1
│ │ │ ├── Adobe-Korea1-2
│ │ │ ├── Adobe-Korea1-UCS2
│ │ │ ├── KSC-EUC-H
│ │ │ ├── KSC-EUC-V
│ │ │ ├── KSC-H
│ │ │ ├── KSC-Johab-H
│ │ │ ├── KSC-Johab-V
│ │ │ ├── KSC-V
│ │ │ ├── KSCms-UHC-H
│ │ │ ├── KSCms-UHC-HW-H
│ │ │ ├── KSCms-UHC-HW-V
│ │ │ ├── KSCms-UHC-V
│ │ │ ├── KSCpc-EUC-H
│ │ │ ├── KSCpc-EUC-V
│ │ │ ├── UniKS-UCS2-H
│ │ │ ├── UniKS-UCS2-V
│ │ │ ├── UniKS-UTF16-H
│ │ │ ├── UniKS-UTF16-V
│ │ │ ├── UniKS-UTF32-H
│ │ │ ├── UniKS-UTF32-V
│ │ │ ├── UniKS-UTF8-H
│ │ │ ├── UniKS-UTF8-V
│ │ │ └── UniKS-X
│ │ └── fonts/
│ │ ├── droid/
│ │ │ ├── DroidSansFallback.ttc
│ │ │ ├── DroidSansFallbackFull.ttc
│ │ │ └── NOTICE
│ │ └── urw/
│ │ ├── COPYING
│ │ ├── Dingbats.cff
│ │ ├── LICENSE
│ │ ├── NimbusMono-Bold.cff
│ │ ├── NimbusMono-BoldOblique.cff
│ │ ├── NimbusMono-Oblique.cff
│ │ ├── NimbusMono-Regular.cff
│ │ ├── NimbusRomNo9L-Med.cff
│ │ ├── NimbusRomNo9L-MedIta.cff
│ │ ├── NimbusRomNo9L-Reg.cff
│ │ ├── NimbusRomNo9L-RegIta.cff
│ │ ├── NimbusSanL-Bol.cff
│ │ ├── NimbusSanL-BolIta.cff
│ │ ├── NimbusSanL-Reg.cff
│ │ ├── NimbusSanL-RegIta.cff
│ │ └── StandardSymL.cff
│ ├── scripts/
│ │ ├── archive.sh
│ │ ├── bin2hex.c
│ │ ├── cmapcleanx.c
│ │ ├── cmapcleanz.c
│ │ ├── cmapdump.c
│ │ ├── cquote.c
│ │ ├── fontdump.c
│ │ ├── freetype/
│ │ │ ├── slimftmodules.h
│ │ │ └── slimftoptions.h
│ │ ├── gitsetup.sh
│ │ ├── glyphdump.py
│ │ ├── glyphlist.txt
│ │ ├── jpeg/
│ │ │ └── jconfig.h
│ │ ├── openjpeg/
│ │ │ ├── opj_config.h
│ │ │ └── opj_config_private.h
│ │ ├── runtohtml.sh
│ │ └── tohtml.py
│ └── source/
│ ├── cbz/
│ │ └── mucbz.c
│ ├── fitz/
│ │ ├── bbox-device.c
│ │ ├── bitmap.c
│ │ ├── buffer.c
│ │ ├── colorspace.c
│ │ ├── compressed-buffer.c
│ │ ├── context.c
│ │ ├── crypt-aes.c
│ │ ├── crypt-arc4.c
│ │ ├── crypt-md5.c
│ │ ├── crypt-sha2.c
│ │ ├── device.c
│ │ ├── document-all.c
│ │ ├── document-no-run.c
│ │ ├── document.c
│ │ ├── draw-affine.c
│ │ ├── draw-blend.c
│ │ ├── draw-device.c
│ │ ├── draw-edge.c
│ │ ├── draw-glyph.c
│ │ ├── draw-imp.h
│ │ ├── draw-mesh.c
│ │ ├── draw-paint.c
│ │ ├── draw-path.c
│ │ ├── draw-scale-simple.c
│ │ ├── draw-unpack.c
│ │ ├── error.c
│ │ ├── filter-basic.c
│ │ ├── filter-dct.c
│ │ ├── filter-fax.c
│ │ ├── filter-flate.c
│ │ ├── filter-jbig2.c
│ │ ├── filter-leech.c
│ │ ├── filter-lzw.c
│ │ ├── filter-predict.c
│ │ ├── font.c
│ │ ├── ftoa.c
│ │ ├── function.c
│ │ ├── geometry.c
│ │ ├── getopt.c
│ │ ├── glyph.c
│ │ ├── halftone.c
│ │ ├── hash.c
│ │ ├── image.c
│ │ ├── link.c
│ │ ├── list-device.c
│ │ ├── load-jpeg.c
│ │ ├── load-jpx.c
│ │ ├── load-jxr.c
│ │ ├── load-png.c
│ │ ├── load-tiff.c
│ │ ├── memory.c
│ │ ├── outline.c
│ │ ├── output-pcl.c
│ │ ├── output-pwg.c
│ │ ├── output.c
│ │ ├── path.c
│ │ ├── pixmap.c
│ │ ├── printf.c
│ │ ├── shade.c
│ │ ├── stext-device.c
│ │ ├── stext-output.c
│ │ ├── stext-paragraph.c
│ │ ├── stext-search.c
│ │ ├── store.c
│ │ ├── stream-open.c
│ │ ├── stream-prog.c
│ │ ├── stream-read.c
│ │ ├── string.c
│ │ ├── strtod.c
│ │ ├── svg-device.c
│ │ ├── test-device.c
│ │ ├── text.c
│ │ ├── time.c
│ │ ├── trace-device.c
│ │ ├── transition.c
│ │ ├── tree.c
│ │ ├── ucdn.c
│ │ ├── ucdn.h
│ │ ├── unicodedata_db.h
│ │ ├── unzip.c
│ │ └── xml.c
│ ├── img/
│ │ └── muimage.c
│ ├── pdf/
│ │ ├── js/
│ │ │ ├── pdf-js-none.c
│ │ │ ├── pdf-js.c
│ │ │ ├── pdf-jsimp-cpp.c
│ │ │ ├── pdf-jsimp-cpp.h
│ │ │ ├── pdf-jsimp-jscore.c
│ │ │ ├── pdf-jsimp-mu.c
│ │ │ ├── pdf-jsimp-v8.cpp
│ │ │ └── pdf-util.js
│ │ ├── pdf-annot-edit.c
│ │ ├── pdf-annot.c
│ │ ├── pdf-appearance.c
│ │ ├── pdf-clean.c
│ │ ├── pdf-cmap-load.c
│ │ ├── pdf-cmap-parse.c
│ │ ├── pdf-cmap-table.c
│ │ ├── pdf-cmap.c
│ │ ├── pdf-colorspace.c
│ │ ├── pdf-crypt.c
│ │ ├── pdf-device.c
│ │ ├── pdf-encoding.c
│ │ ├── pdf-encodings.h
│ │ ├── pdf-event.c
│ │ ├── pdf-field.c
│ │ ├── pdf-font.c
│ │ ├── pdf-fontfile.c
│ │ ├── pdf-form.c
│ │ ├── pdf-ft-tools.c
│ │ ├── pdf-function.c
│ │ ├── pdf-glyphlist.h
│ │ ├── pdf-image.c
│ │ ├── pdf-interpret-imp.h
│ │ ├── pdf-interpret.c
│ │ ├── pdf-lex.c
│ │ ├── pdf-metrics.c
│ │ ├── pdf-nametree.c
│ │ ├── pdf-object.c
│ │ ├── pdf-op-buffer.c
│ │ ├── pdf-op-filter.c
│ │ ├── pdf-op-run.c
│ │ ├── pdf-outline.c
│ │ ├── pdf-page.c
│ │ ├── pdf-parse.c
│ │ ├── pdf-pattern.c
│ │ ├── pdf-pkcs7.c
│ │ ├── pdf-repair.c
│ │ ├── pdf-run.c
│ │ ├── pdf-shade.c
│ │ ├── pdf-store.c
│ │ ├── pdf-stream.c
│ │ ├── pdf-type3.c
│ │ ├── pdf-unicode.c
│ │ ├── pdf-write.c
│ │ ├── pdf-xobject.c
│ │ ├── pdf-xref-aux.c
│ │ └── pdf-xref.c
│ ├── tiff/
│ │ └── mutiff.c
│ ├── tools/
│ │ ├── mjsgen.c
│ │ ├── mudraw.c
│ │ ├── mutool.c
│ │ ├── pdfclean.c
│ │ ├── pdfextract.c
│ │ ├── pdfinfo.c
│ │ ├── pdfposter.c
│ │ └── pdfshow.c
│ └── xps/
│ ├── xps-common.c
│ ├── xps-doc.c
│ ├── xps-glyphs.c
│ ├── xps-gradient.c
│ ├── xps-image.c
│ ├── xps-outline.c
│ ├── xps-path.c
│ ├── xps-resource.c
│ ├── xps-tile.c
│ ├── xps-util.c
│ └── xps-zip.c
├── premake5.files.lua
├── premake5.lua
├── readme.md
├── scripts/
│ ├── SquareTree.py
│ ├── appveyor-build.bat
│ ├── build-pre-release-and-upload.bat
│ ├── build-release-and-upload.bat
│ ├── build-release.bat
│ ├── build-unarr.bat
│ ├── build.bat
│ ├── check_accesskeys.py
│ ├── clang-fmt.bat
│ ├── coverity.bat
│ ├── dedup_callstacks.py
│ ├── diff.bat
│ ├── efi_cmp.bat
│ ├── efi_cmp.py
│ ├── efi_cmp_with_last.bat
│ ├── gen_htmlparserlookup.py
│ ├── gen_libmupdf.def.py
│ ├── gen_mupdf_generated.bat
│ ├── gen_settings_html.py
│ ├── gen_settingsstructs.py
│ ├── loc.py
│ ├── metadata/
│ │ ├── gen_mui.py
│ │ ├── gen_txt.py
│ │ └── metadata.py
│ ├── obsolete/
│ │ ├── build.py
│ │ ├── buildbot-fix.py
│ │ ├── buildbot-obsolete.py
│ │ ├── buildbot.bat
│ │ ├── buildbot.py
│ │ ├── buildbot_html.py
│ │ ├── runtests.bat
│ │ └── runtests.py
│ ├── reftest.py
│ ├── render-benchmark.py
│ ├── run-regress.bat
│ ├── runflint.py
│ ├── s3.py
│ ├── test-unarr.py
│ ├── test_build.bat
│ ├── trans_download.py
│ ├── trans_gen.py
│ ├── trans_langs.py
│ ├── trans_upload.py
│ ├── update_auto_update_ver.py
│ ├── util.py
│ └── vc.bat
├── src/
│ ├── AppPrefs.cpp
│ ├── AppPrefs.h
│ ├── AppTools.cpp
│ ├── AppTools.h
│ ├── AppUtil.cpp
│ ├── AppUtil.h
│ ├── BaseEngine.h
│ ├── Canvas.cpp
│ ├── Canvas.h
│ ├── Caption.cpp
│ ├── Caption.h
│ ├── ChmDoc.cpp
│ ├── ChmDoc.h
│ ├── ChmModel.cpp
│ ├── ChmModel.h
│ ├── Controller.h
│ ├── CrashHandler.cpp
│ ├── CrashHandler.h
│ ├── DisplayModel.cpp
│ ├── DisplayModel.h
│ ├── DjVuEngine.cpp
│ ├── DjVuEngine.h
│ ├── Doc.cpp
│ ├── Doc.h
│ ├── EbookBase.h
│ ├── EbookController.cpp
│ ├── EbookController.h
│ ├── EbookControls.cpp
│ ├── EbookControls.h
│ ├── EbookDoc.cpp
│ ├── EbookDoc.h
│ ├── EbookEngine.cpp
│ ├── EbookEngine.h
│ ├── EbookFormatter.cpp
│ ├── EbookFormatter.h
│ ├── EbookWinDesc.txt
│ ├── EngineDump.cpp
│ ├── EngineManager.cpp
│ ├── EngineManager.h
│ ├── ExternalViewers.cpp
│ ├── ExternalViewers.h
│ ├── Favorites.cpp
│ ├── Favorites.h
│ ├── FileHistory.cpp
│ ├── FileHistory.h
│ ├── FileModifications.cpp
│ ├── FileModifications.h
│ ├── FileThumbnails.cpp
│ ├── FileThumbnails.h
│ ├── GlobalPrefs.cpp
│ ├── GlobalPrefs.h
│ ├── HtmlFormatter.cpp
│ ├── HtmlFormatter.h
│ ├── ImagesEngine.cpp
│ ├── ImagesEngine.h
│ ├── Menu.cpp
│ ├── Menu.h
│ ├── MobiDoc.cpp
│ ├── MobiDoc.h
│ ├── MuPDF_Exports.cpp
│ ├── MuiEbookPageDef.cpp
│ ├── MuiEbookPageDef.h
│ ├── Notifications.cpp
│ ├── Notifications.h
│ ├── PagesLayoutDef.cpp
│ ├── PagesLayoutDef.h
│ ├── ParseCommandLine.cpp
│ ├── ParseCommandLine.h
│ ├── PdfCreator.cpp
│ ├── PdfCreator.h
│ ├── PdfEngine.cpp
│ ├── PdfEngine.h
│ ├── PdfSync.cpp
│ ├── PdfSync.h
│ ├── Print.cpp
│ ├── Print.h
│ ├── PsEngine.cpp
│ ├── PsEngine.h
│ ├── RenderCache.cpp
│ ├── RenderCache.h
│ ├── Search.cpp
│ ├── Search.h
│ ├── Selection.cpp
│ ├── Selection.h
│ ├── SettingsStructs.cpp
│ ├── SettingsStructs.h
│ ├── StressTesting.cpp
│ ├── StressTesting.h
│ ├── SumatraAbout.cpp
│ ├── SumatraAbout.h
│ ├── SumatraAbout2.cpp
│ ├── SumatraAbout2.h
│ ├── SumatraDialogs.cpp
│ ├── SumatraDialogs.h
│ ├── SumatraPDF.cpp
│ ├── SumatraPDF.exe.manifest
│ ├── SumatraPDF.h
│ ├── SumatraPDF.rc
│ ├── SumatraProperties.cpp
│ ├── SumatraProperties.h
│ ├── SumatraStartup.cpp
│ ├── TabInfo.cpp
│ ├── TabInfo.h
│ ├── TableOfContents.cpp
│ ├── TableOfContents.h
│ ├── Tabs.cpp
│ ├── Tabs.h
│ ├── Tester.cpp
│ ├── Tests.cpp
│ ├── Tests.h
│ ├── TextSearch.cpp
│ ├── TextSearch.h
│ ├── TextSelection.cpp
│ ├── TextSelection.h
│ ├── Toolbar.cpp
│ ├── Toolbar.h
│ ├── Trans_sumatra_txt.cpp
│ ├── Translations.cpp
│ ├── Translations.h
│ ├── UnitTests.cpp
│ ├── Version.h
│ ├── WindowInfo.cpp
│ ├── WindowInfo.h
│ ├── dragcursor.cur
│ ├── ifilter/
│ │ ├── CEpubFilter.cpp
│ │ ├── CEpubFilter.h
│ │ ├── CPdfFilter.cpp
│ │ ├── CPdfFilter.h
│ │ ├── CTeXFilter.cpp
│ │ ├── CTeXFilter.h
│ │ ├── FilterBase.h
│ │ ├── PdfFilter.h
│ │ ├── PdfFilter.rc
│ │ └── PdfFilterDll.cpp
│ ├── installer/
│ │ ├── Install.cpp
│ │ ├── Installer.cpp
│ │ ├── Installer.exe.manifest
│ │ ├── Installer.h
│ │ ├── Installer.rc
│ │ ├── Resource.h
│ │ ├── Trans_installer_txt.cpp
│ │ └── Uninstall.cpp
│ ├── libmupdf.def
│ ├── libmupdf.rc
│ ├── memtrace/
│ │ ├── MemTrace.rc
│ │ ├── MemTraceCollector/
│ │ │ ├── Form1.Designer.cs
│ │ │ ├── Form1.cs
│ │ │ ├── Form1.resx
│ │ │ ├── MemTraceCollector-vs2010.csproj
│ │ │ ├── MemTraceCollector-vs2010.sln
│ │ │ ├── NamedPipeServer.cs
│ │ │ ├── Program.cs
│ │ │ └── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ ├── MemTraceDll.cpp
│ │ ├── MemTraceDll.h
│ │ └── nsWindowsDllInterceptor.h
│ ├── mui/
│ │ ├── MiniMui.cpp
│ │ ├── MiniMui.h
│ │ ├── Mui.cpp
│ │ ├── Mui.h
│ │ ├── MuiBase.cpp
│ │ ├── MuiBase.h
│ │ ├── MuiButton.cpp
│ │ ├── MuiButton.h
│ │ ├── MuiControl.cpp
│ │ ├── MuiControl.h
│ │ ├── MuiCss.cpp
│ │ ├── MuiCss.h
│ │ ├── MuiDefs.cpp
│ │ ├── MuiDefs.h
│ │ ├── MuiEventMgr.cpp
│ │ ├── MuiEventMgr.h
│ │ ├── MuiFromText.cpp
│ │ ├── MuiFromText.h
│ │ ├── MuiGrid.cpp
│ │ ├── MuiGrid.h
│ │ ├── MuiHwndWrapper.cpp
│ │ ├── MuiHwndWrapper.h
│ │ ├── MuiLayout.cpp
│ │ ├── MuiLayout.h
│ │ ├── MuiPainter.cpp
│ │ ├── MuiPainter.h
│ │ ├── MuiScrollBar.cpp
│ │ ├── MuiScrollBar.h
│ │ ├── SvgPath.cpp
│ │ ├── SvgPath.h
│ │ ├── SvgPath_ut.cpp
│ │ ├── TextRender.cpp
│ │ ├── TextRender.h
│ │ └── mui-todo.txt
│ ├── previewer/
│ │ ├── PdfPreview.cpp
│ │ ├── PdfPreview.h
│ │ ├── PdfPreview.rc
│ │ ├── PdfPreviewBase.h
│ │ └── PdfPreviewDll.cpp
│ ├── regress/
│ │ ├── Regress.cpp
│ │ └── Regress00.cpp
│ ├── resource.h
│ ├── sample_mobi.html
│ ├── tools/
│ │ ├── MakeLzSA.cpp
│ │ ├── plugin-test.cpp
│ │ ├── signfile.cpp
│ │ └── test_util.cpp
│ ├── uia/
│ │ ├── Constants.h
│ │ ├── DocumentProvider.cpp
│ │ ├── DocumentProvider.h
│ │ ├── PageProvider.cpp
│ │ ├── PageProvider.h
│ │ ├── Provider.cpp
│ │ ├── Provider.h
│ │ ├── StartPageProvider.cpp
│ │ ├── StartPageProvider.h
│ │ ├── TextRange.cpp
│ │ └── TextRange.h
│ ├── utils/
│ │ ├── ArchUtil.cpp
│ │ ├── ArchUtil.h
│ │ ├── BaseUtil.cpp
│ │ ├── BaseUtil.h
│ │ ├── BitManip.h
│ │ ├── BitReader.cpp
│ │ ├── BitReader.h
│ │ ├── ByteOrderDecoder.cpp
│ │ ├── ByteOrderDecoder.h
│ │ ├── ByteReader.h
│ │ ├── ByteWriter.h
│ │ ├── CmdLineParser.cpp
│ │ ├── CmdLineParser.h
│ │ ├── CryptoUtil.cpp
│ │ ├── CryptoUtil.h
│ │ ├── CssParser.cpp
│ │ ├── CssParser.h
│ │ ├── DbgHelpDyn.cpp
│ │ ├── DbgHelpDyn.h
│ │ ├── DebugLog.cpp
│ │ ├── DebugLog.h
│ │ ├── Dict.cpp
│ │ ├── Dict.h
│ │ ├── DirIter.cpp
│ │ ├── DirIter.h
│ │ ├── Dpi.cpp
│ │ ├── Dpi.h
│ │ ├── FileTransactions.cpp
│ │ ├── FileTransactions.h
│ │ ├── FileUtil.cpp
│ │ ├── FileUtil.h
│ │ ├── FileWatcher.cpp
│ │ ├── FileWatcher.h
│ │ ├── FrameTimeoutCalculator.h
│ │ ├── FzImgReader.cpp
│ │ ├── FzImgReader.h
│ │ ├── GdiPlusUtil.cpp
│ │ ├── GdiPlusUtil.h
│ │ ├── GeomUtil.h
│ │ ├── HtmlParseTest00.html
│ │ ├── HtmlParserLookup.cpp
│ │ ├── HtmlParserLookup.h
│ │ ├── HtmlPrettyPrint.cpp
│ │ ├── HtmlPrettyPrint.h
│ │ ├── HtmlPullParser.cpp
│ │ ├── HtmlPullParser.h
│ │ ├── HtmlWindow.cpp
│ │ ├── HtmlWindow.h
│ │ ├── HttpUtil.cpp
│ │ ├── HttpUtil.h
│ │ ├── JsonParser.cpp
│ │ ├── JsonParser.h
│ │ ├── LzmaSimpleArchive.cpp
│ │ ├── LzmaSimpleArchive.h
│ │ ├── PalmDbReader.cpp
│ │ ├── PalmDbReader.h
│ │ ├── Scoped.h
│ │ ├── SerializeTxt.cpp
│ │ ├── SerializeTxt.h
│ │ ├── SettingsUtil.cpp
│ │ ├── SettingsUtil.h
│ │ ├── SimpleLog.h
│ │ ├── SquareTreeParser.cpp
│ │ ├── SquareTreeParser.h
│ │ ├── StrFormat.cpp
│ │ ├── StrFormat.h
│ │ ├── StrHash.h
│ │ ├── StrSlice.cpp
│ │ ├── StrSlice.h
│ │ ├── StrUtil.cpp
│ │ ├── StrUtil.h
│ │ ├── TgaReader.cpp
│ │ ├── TgaReader.h
│ │ ├── ThreadUtil.cpp
│ │ ├── ThreadUtil.h
│ │ ├── Timer.h
│ │ ├── TrivialHtmlParser.cpp
│ │ ├── TrivialHtmlParser.h
│ │ ├── TxtParser.cpp
│ │ ├── TxtParser.h
│ │ ├── UITask.cpp
│ │ ├── UITask.h
│ │ ├── UtAssert.cpp
│ │ ├── UtAssert.h
│ │ ├── VarintGob.cpp
│ │ ├── VarintGob.h
│ │ ├── Vec.h
│ │ ├── VecSegmented.h
│ │ ├── WebpReader.cpp
│ │ ├── WebpReader.h
│ │ ├── WinDynCalls.cpp
│ │ ├── WinDynCalls.h
│ │ ├── WinUtil.cpp
│ │ ├── WinUtil.h
│ │ ├── ZipUtil.cpp
│ │ ├── ZipUtil.h
│ │ ├── mingw_compat.h
│ │ └── tests/
│ │ ├── BaseUtil_ut.cpp
│ │ ├── ByteOrderDecoder_ut.cpp
│ │ ├── CmdLineParser_ut.cpp
│ │ ├── CryptoUtil_ut.cpp
│ │ ├── CssParser_ut.cpp
│ │ ├── Dict_ut.cpp
│ │ ├── FileUtil_ut.cpp
│ │ ├── HtmlPrettyPrint_ut.cpp
│ │ ├── HtmlPullParser_ut.cpp
│ │ ├── JsonParser_ut.cpp
│ │ ├── SettingsUtil_ut.cpp
│ │ ├── SimpleLog_ut.cpp
│ │ ├── SquareTreeParser_ut.cpp
│ │ ├── StrFormat_ut.cpp
│ │ ├── StrUtil_ut.cpp
│ │ ├── TrivialHtmlParser_ut.cpp
│ │ ├── VarintGob_ut.cpp
│ │ ├── Vec_ut.cpp
│ │ └── WinUtil_ut.cpp
│ └── wingui/
│ ├── DialogSizer.cpp
│ ├── DialogSizer.h
│ ├── EditCtrl.cpp
│ ├── EditCtrl.h
│ ├── FrameRateWnd.cpp
│ ├── FrameRateWnd.h
│ ├── LabelWithCloseWnd.cpp
│ ├── LabelWithCloseWnd.h
│ ├── SplitterWnd.cpp
│ ├── SplitterWnd.h
│ ├── TabsWnd.cpp
│ ├── TabsWnd.h
│ ├── Win32Window.cpp
│ └── Win32Window.h
├── strings/
│ ├── last_uploaded.txt
│ └── translations.txt
├── tools/
│ ├── build/
│ │ ├── analyze.go
│ │ ├── cmd.go
│ │ ├── main.go
│ │ ├── s3.go
│ │ └── util.go
│ ├── buildgo/
│ │ └── main.go
│ ├── clang-fmt.go
│ ├── diff-preview.go
│ ├── efi/
│ │ ├── Dia2Subset.h
│ │ ├── Util.cpp
│ │ ├── Util.h
│ │ ├── efiparse.py
│ │ ├── main.cpp
│ │ └── readme.txt
│ ├── mingw/
│ │ ├── VagrantBootstrap.sh
│ │ ├── Vagrantfile
│ │ ├── build.go
│ │ ├── readme.txt
│ │ └── vagrant_build.sh
│ ├── premake/
│ │ ├── no_op_console.c
│ │ └── no_op_for_premake.cpp
│ ├── regress/
│ │ ├── main.go
│ │ └── tests.txt
│ ├── s3/
│ │ └── main.go
│ └── test-app/
│ ├── Resource.h
│ ├── scratch.cpp
│ ├── stdafx.cpp
│ ├── stdafx.h
│ ├── targetver.h
│ ├── test-app.cpp
│ ├── test-app.h
│ ├── test-app.rc
│ ├── test-app.sln
│ ├── test-app.vcxproj
│ └── test-app.vcxproj.filters
└── vs2015/
├── Installer.vcxproj
├── Installer.vcxproj.filters
├── InstallerNoData.vcxproj
├── InstallerNoData.vcxproj.filters
├── MakeLZSA.vcxproj
├── PdfFilter.vcxproj
├── PdfFilter.vcxproj.filters
├── PdfPreview.vcxproj
├── PdfPreview.vcxproj.filters
├── SumatraPDF-no-MUPDF.vcxproj
├── SumatraPDF.sln
├── SumatraPDF.vcxproj
├── SumatraPDF.vcxproj.filters
├── Uninstaller.vcxproj
├── Uninstaller.vcxproj.filters
├── all.vcxproj
├── buildcmap.vcxproj
├── chm.vcxproj
├── cmapdump.vcxproj
├── efi.vcxproj
├── efi.vcxproj.filters
├── enginedump.vcxproj
├── enginedump.vcxproj.filters
├── engines.vcxproj
├── engines.vcxproj.filters
├── freetype.vcxproj
├── freetype.vcxproj.filters
├── jbig2dec.vcxproj
├── libdjvu.vcxproj
├── libjpeg-turbo.vcxproj
├── libjpeg-turbo.vcxproj.filters
├── libmupdf.vcxproj
├── libmupdf.vcxproj.filters
├── libwebp.vcxproj
├── libwebp.vcxproj.filters
├── mudraw.vcxproj
├── mudraw.vcxproj.filters
├── mui.vcxproj
├── mupdf.vcxproj
├── mupdf.vcxproj.filters
├── mutool.vcxproj
├── mutool.vcxproj.filters
├── openjpeg.vcxproj
├── plugin-test.vcxproj
├── signfile.vcxproj
├── sumatra.vcxproj
├── sumatra.vcxproj.filters
├── synctex.vcxproj
├── test_util.vcxproj
├── test_util.vcxproj.filters
├── uia.vcxproj
├── unarr.vcxproj
├── unarrlib.vcxproj
├── unarrlib.vcxproj.filters
├── utils.vcxproj
├── utils.vcxproj.filters
└── zlib.vcxproj
================================================
FILE CONTENTS
================================================
================================================
FILE: .clang-format
================================================
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
# Must be in sync with clangStyle in tools\clang-fmt.go
BasedOnStyle: Chromium
IndentWidth: 4
ColumnLimit: 100
AccessModifierOffset: -2
PointerAlignment: Left
SpacesBeforeTrailingComments: 1
BinPackParameters: true
================================================
FILE: .gitattributes
================================================
# Disable LF normalization for all files
* -text
================================================
FILE: .gitignore
================================================
scripts/cert.pfx
scripts/config.py
scripts/secrets.json
obj-rel/
obj-dbg/
rel/
rel64/
dbg/
dbg64/
rel-mac/
dbg-mac/
builds/
mupdf/generated/
gyp/*.sln
gyp/*.vcxproj
gyp/*.vcxproj.filters
gyp/*props
gyp/*targets
gyp/*.xml
gyp/Debug/
*.suo
*.opensdf
*.sdf
vs/obj/
*pyc
*.vcxproj.user
bin/premake5.exe
vs2013/
rel/
rel64/
relPrefast/
relPrefast64/
dbg/
dbg64/
bin/cmapdump.exe
bin/pigz.exe
drmemlogs/
src/utils/BuildConfig.h
*.vspx
build-log.txt
analyze-output.txt
analyze-errors.html
*.cov
CoverageReport*
LastCoverageResults.log
*.db
*.opendb
.vscode/.BROWSE.VC.DB-shm
.vscode/.BROWSE.VC.DB-wal
Installer.aps
================================================
FILE: AUTHORS
================================================
SumatraPDF contains code by:
* Alexander Klenin
* Củ Văn Chuối (mrchuoi at gmail.com)
* David Lopez
* Danilo Roascio
* Jarkko Pöyry
* Krzysztof J. Kowalczyk (http://blog.kowalczyk.info)
* Ludo Brands
* Matthew Wilcoxson (matthew.wilcoxson at gmail.com)
* Nathan Jhaveri
* Peter Astrand
* Robert Liu
* Robert Prouse (rprouse at gmail.com)
* Simon Bünzli (zeniko at gmail.com, http://www.zeniko.ch/#SumatraPDF)
* Stefan Stefanov (userchefo at gmail.com)
* Tom Clegg
* vadmium at gmail.com
* Vasily Fomin (vasili.fomin at gmail.com)
* Victor Kozyakin
* William Blum (william.blum at gmail.com, http://william.famille-blum.org/)
Most code under src is licensed as GPL v3 (see COPYING) with the main
exception of code in src/utils and src/mui which has a BSD license
(see COPYING.BSD). Due to mupdf/COPYING, section 13 of the AGPL v3
applies to SumatraPDF as well.
Icons by Zenon, Sonke Tesch, George Georgiou, Robert Hegner,
FAMFAMFAM and Yusuke Kamiyamane.
Windows program icon (gfx/SumatraPDF*.png, gfx/SumatraPDF.ico) by
Alex (koo.studios at gmail.com, old address: zenon38 at gmail.com).
License: CC BY 3.0 (http://creativecommons.org/licenses/by/3.0/).
Translations by various translators (see TRANSLATORS).
External projects are by their various authors:
Project License Type Website
---------------------------------------------------------------------------------------------------------
MuPDF mupdf/COPYING AGPL http://mupdf.com/
bzip2 ext/bzip2/LICENSE http://bzip.org/
CHMLIB ext/CHMLib/COPYING LGPL http://www.jedrea.com/chmlib/
FreeType ext/freetype2/FTL.txt http://www.freetype.org/
jbig2dec ext/jbig2dec/COPYING AGPL http://www.ghostscript.com/jbig2dec.html
libjpeg-turbo ext/.../README-turbo.txt BSD http://libjpeg-turbo.virtualgl.org/
DjVuLibre ext/libdjvu/COPYRIGHT GPL http://djvu.sourceforge.net/
OpenJPEG ext/openjpeg/LICENSE BSD http://www.openjpeg.org/
SyncTeX ext/.../synctex_parser.c http://itexmac.sourceforge.net/SyncTeX.html
zlib ext/zlib/zlib.h http://www.zlib.net/
lzma ext/lzma/lzma.txt http://www.7-zip.org/sdk.html
libwebp ext/libwebp/COPYING BSD https://developers.google.com/speed/webp/
unarr ext/unarr/COPYING LGPL https://github.com/zeniko/unarr
CMap Resources mupdf/.../cmaps/README http://sourceforge.net/adobe/cmap/home/Home/
XySSL mupdf/.../crypt-aes.c BSD http://en.wikipedia.org/wiki/PolarSSL#History
Arcfour mupdf/.../crypt-arc4.c http://tools.ietf.org/html/draft-kaukonen-cipher-arcfour-01
RSA's MD5 mupdf/.../crypt-md5.c http://tools.ietf.org/html/rfc1321
Android mupdf/.../droid/NOTICE APL http://www.droidfonts.com/
Poppler mupdf/.../pdf-annot.c GPL http://poppler.freedesktop.org/
ezgdi mupdf/.../pdf-ft-tools.c GPL http://code.google.com/p/ezgdi/
Fugue Icons CC BY 3.0 http://p.yusukekamiyamane.com/
================================================
FILE: COPYING
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
================================================
FILE: COPYING.BSD
================================================
Copyright 2006-2014 SumatraPDF project authors (see AUTHORS file). All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list
of conditions and the following disclaimer in the documentation and/or other materials
provided with the distribution.
THIS SOFTWARE IS PROVIDED BY SUMATRAPDF PROJECT AUTHORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SUMATRAPDF PROJECT AUTHORS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: TRANSLATORS
================================================
Are you interested in helping to translate Sumatra to your language?
See https://github.com/sumatrapdfreader/sumatrapdf/wiki/Contribute-translation
Translations of Sumatra PDF have been contributed by many people.
Translators that used apptranslator.org can be seen by visiting
http://www.apptranslator.org/app/SumatraPDF
More detailed credits for apptranslator.org translators:
* Suresh Gautam, http://twitter.com/Peace_NP, sureshgautam@gmail.com
* Gorran Kurd, https://twitter.com/GorranKurd
(If you're a translator using apptranslator.org and want more
detailed credit than the link to twitter account available on
apptranslator.org, email me at kkowalczy@gmail.com).
Translators before apptranslator.org was available:
* Maxin B. John (maxinbjohn@gmail.com) - Malayalam
* Uthen Phutneam - Thai
* Brian Musarurwa - Shona
* Mohammed Ottama - Burmese
* Jon Stødle - Norwegian Neo-Norwegian
* Pieter Kotzé - Afrikaans
* Shabab Mustafa (shabab.mustafa@gmail.com) - Bengali
* Soham Chatterjee (soham.chatterjee@gmail.com) - Bengali
* Masley b. Mastil - Malaysian
* Muhammad Syawal bin Halimun www.sabily.org (syawal@sabily.org) - Malaysian
* Drive DRKA (drka2003@mail.ru) - Belarusian
* Яўген Змачынскі - Belarusian
* Albert Bock - Cornish
* Ben Bruch - Cornish
* Steve Harris - Cornish
* Wim Benes - Frisian
* Hasitha Jayasooriya (hasithakj@gmail.com) - Sinhala
* Jegatheesan Veeramalai (vjegatheesh@gmail.com) - Tamil
* N. Ejaz Ahamed (ejaz_nasar@yahoo.co.in) - Tamil
* R. Rajesh Jeba Anbiah (rajeshanbiah.blogspot.com) - Tamil
* Glenn Wall - Welsh
* Rhoslyn Prys Cymraeg/Welsh (post@meddal.com) - Welsh
* Arden Christopher C. Chan - Tagalog
* Mark Angelo F. Racca - Tagalog
* Arnoldas Viburys - Lithuanian
* Rimas Kudelis - Lithuanian
* Viktoras Jakovlevas - Lithuanian
* Brian S. Vangsgaard - Danish
* Claus Ørnfeldt Willemoës - Danish
* Jakob Wadsager - Danish
* Lars J. Helbo - Danish
* Mikkel Vestergaard - Danish
* Nardog (nardog.takoweb.com) - Japanese
* kobachi - Japanese
* Joan Montané - Catalan-Valencian
* Pau Iranzo - Catalan-Valencian
* Beqa Arabuli (arabulibeqa@yahoo.com) - Georgian
* Amos Kotter http://sites.google.com/site/hillasystem/ - Hebrew
* Eyal Berman - Hebrew
* Elly Câmpeanu - Romanian
* Gabriel Lazăr - Romanian
* Joan Montané - Catalan
* Pau Iranzo - Catalan
* Raúl Álvarez - Catalan
* Xulio Gómez Díaz - Galician
* BJ Hill - Norwegian
* Bjørn Aas - Norwegian
* Jon Ivar F. Omland - Norwegian
* Kjell A. A. Holm - Norwegian
* Tommy M. Stephansen - Norwegian
* Slavko Majski - Serbian
* milanso (milanso@gmail.com) - Serbian
* Andriy Ilechko - Ukrainian
* Daniel Bohdan - Ukrainian
* FreeXD (http://blog.ecstart.com/?47979) - Chinese Traditional
* theowoo (http://grnrnat.net.ru/) - Chinese Traditional
* 張修銘 (cges30901@gmail.com) - Chinese Traditional
* Joonas - Finnish
* Olli - Finnish
* Pekka Halmela - Finnish
* Nikolay Ikonomov - Bulgarian
* Христо Бенев (http://hbcom.info) - Bulgarian
* Гоце Митевски (http://www.nicer2.com) - Macedonian
* Горан Обрадовић - Serbian
* Милан Гашић - Serbian
* Славко Мајски - Serbian
* H. Metin ÖZER - Turkish
* Hakan ATAÇ - Turkish
* Kerim Kalamujic (kkalamujic@gmail.com) - Bosnian
* WangKing (http://wkismet.spaces.live.com) - Chinese Simplified
* Aivo Kuhlberg - Estonian
* Cs. Gergely, NoIP (info@mthq.org) - Hungarian
* Csaba Vágányik - Hungarian
* Gábor Zsótér - Hungarian
* Lázár Viktor - Hungarian
* Richard Magyar (magyar_richard@yahoo.com) - Hungarian
* Alif Jum'an (www.boloplekcd.blogspot.com) - Indonesian
* M. Ridwan Hakim (http://rescenin.blogspot.com) - Indonesian
* Muhamad Abdul Rosid - Indonesian
* Ricki Yani Setiawan - Indonesian
* Tri R.A. Wibowo - Indonesian
* Yudi Wibisono (http://yudiwbs.wordpress.com) - Indonesian
* Begina - Polish
* Skiff - Polish
* Bernard Holý - TREVERT - Slovak
* Dalibor - Slovak
* Peter Bartik - Slovak
* Radoslav Zelenák (radoslav.zelenak@elkop.sk) - Slovak
* Damjan Gerl - Slovenian
* Janez Vehovec - Slovenian
* Martin Srebotnjak - Slovenian
* Cecilia B - Swedish
* Linus Persson - Swedish
* Mattias D. - Swedish
* Sebastian Rasmussen - Swedish
* Simon B. - Swedish
* Tommy G. - Swedish
* alex - Swedish
* Umidjon Almasov (u.almasov@gmail.com) - Uzbek
* Besmir Godole - Albanian
* Abu Abdullah (falcon.sheep@gmail.com) - Arabic
* Boubker Talibi - Arabic
* Felark (felark@hotmail.com) - Arabic
* Islam Shoman (http://about.me/drshoman2009) - Arabic
* Mohammed Al-Foulad (http://www.mbsee.info) - Arabic
* Hrant Ohanyan »»» http://haysoft.org (hrantohanyan@mail.am) - Armenian
* Igor G. Olaizola - Basque
* Xabier Aramendi (2011-2012) (https://sites.google.com/site/azpidatziak/) - Basque
* Krunoslav Tomorad (cygnus77@gmail.com) - Croatian
* Stjepan Treger (stjepan.treger@gmail.com) - Croatian
* Jiri Saneistr - Czech
* Kristian Vrhel - Czech
* Martin Ruzicka (martin.ruzicka.cz(at)gmail(dot)com) - Czech
* Pavel Zampach - Czech
* Barry Haveman - Dutch
* Jaap Ginder - Dutch
* Jeroen Baert - Dutch
* Kristof Bal - Dutch
* Marco La Fors - Dutch
* Ricki Yani Setiawan - Dutch
* Robbert Feunekes - Dutch
* Ruud Kok - Dutch
* Stephan Paternotte - Dutch
* Wim Benes - Dutch
* bernard - French
* didier - French
* fiuzzy - French
* laclasse - French
* leo - French
* pconno - French
* phoenix - French
* Dimitris Mytilinaios - Greek
* George Georgiou (geonetor@yahoo.gr) - Greek
* Giorgos Dimopoulos (geodimo1985@gmail.com) - Greek
* XhmikosR - Greek
* Alessandro Mariani - Italian
* Alessandro Visentin - Italian
* Angelo Contardi - Italian
* Antonio Colombo - Italian
* Cosimo Prete Damiano - Italian
* Massimiliano Beltrando - Italian
* Mirco Scottà - Italian
* Roberto Boriotti - Italian
* iBlawgger - Italian
* Adham Beyki (odinay@gmail.com) - Persian
* Ali Nayeri - Persian
* DR. dawood fakhim - Persian
* IRIman (iriman@chmail.ir) - Persian
* Mardi Az Pansad Dastgah Artesh - Persian
* dawoodiran@gmail.com - Persian
* داود فخیم - Persian
* Francisco Fuchs (pontocinza.blogspot.com) - Portuguese - Brazil
* Paulo R. M. Cereda (cereda AT users DOT sf DOT net) - Portuguese - Brazil
* Bruno Rodrigues - Portuguese - Portugal
* Ricardo Santos[bogas] (http://www.meta-morf.pt.vu) - Portuguese - Portugal
* Sérgio Marques , 2010-2012 - Portuguese - Portugal
* Carlos Luna - Spanish
* Javier Gutiérrez [http://guti.isgreat.org] - Spanish
* Jose Virgili - Spanish
* José Luis Rivera [jlrn7@yahoo.com] - Spanish
* Juan Vílchez [http://www.juanvilchez.es] - Spanish
* LinoSP [http://reactos.wordpress.com] - Spanish
* Pedro Sanchez [http://www.pedrosanchez-net.es] - Spanish
* pragmart [http://putolinux.wordpress.com] - Spanish
* Andreas Hopp (teraflop@arcor.de) - German
* Christopher Amann - German
* Lars Wohlfahrt (www.eviltux.de) - German
* Michael (quelbs@gmail.com) - German
* Simon Bünzli (zeniko@gmail.com) - German
* 4Li - Korean
* Han Seung-ho (silversoul@korea.com) - Korean
* Hong Seung-geol (hsgno5@hanmir.com) - Korean
* Karnes Kim (karnes@gmail.com) - Korean
* Dmitry Yerokhin (erodim@mail.ru) - Russian
* Victor Kozyakin - Russian
* Zero-8 - Russian
* Nguyễn Lương Đống (http://sites.google.com/site/nguyenluongdong) - Vietnamese
* Tào Trần Vương Thắng (http://keaclamviectot.blogspot.com) - Vietnamese
================================================
FILE: appveyor.yml
================================================
# docs: http://www.appveyor.com/docs/appveyor-yml
# software installed on build machines: http://www.appveyor.com/docs/installed-software
version: 3.1.{build}
os: Visual Studio 2015
branches:
only:
- master
# set env var when running in appveyor so that we can distinguish
# from running locally
environment:
inappveyor: 1
skip_tags: true
build_script:
- scripts\appveyor-build.bat
test_script:
- rel\test_util.exe
- rel64\test_util.exe
artifacts:
- path: rel\SumatraPDF.exe
- path: rel\Installer.exe
- path: rel\SumatraPDF.pdb.lzsa
- path: rel64\SumatraPDF.exe
- path: rel64\Installer.exe
- path: rel64\SumatraPDF.pdb.lzsa
================================================
FILE: docs/codingstyle.txt
================================================
Over time Sumatra accrued code using different naming styles.
Let's fix that.
This document describes the naming style we should use in
future code (and, as a low priority, convert existing code
to that style).
Coding styles are always controversial because they are mostly
a matter of opinion.
This coding style follows 2 main principles:
* codify the style that is already used frequently in Sumatra
* clean looking code (which is e.g. why we avoid "_" prefixes or postfixes in names)
1. Naming classes, methods, functions, variables
------------------------------------------------
The best way to describe naming style is via examples.
struct ThisIsStruct
{
bool firstMember;
int second;
char seeHowWeAlignNames;
};
class ThisIsClass
{
bool firstDataMember;
int second;
bool ThisIsMethod(int inArgsGoFirst, WCHAR *outArgsGoLast);
};
bool ThisIsFunction(int inArgsGoFirst, int *outArgsGoLast)
{
bool variableName = true;
*outArgsGoLast = 5;
return variableName;
}
int gThisIsGlobalVariable;
2. Tabs vs. spaces
------------------
We use spaces, not tabs, with 4 space indentation.
3. #include statements
----------------------
Our include scheme is not traditional. The rules are:
- .h files don't #include other .h files
- we don't have traditional #ifdef .h header guards
- .cpp files #include "BaseUtil.h" first and then all the necessary
.h files from
1. src/utils
2. rendering engines (which can be used for other applications as well,
e.g. EngineDump, IFilter, PdfPreview)
3. layout controllers (which could be used mostly independently of SumatraPDF as well)
4. ui
(.cpp files should not include any headers from a group below their own)
================================================
FILE: docs/mui-html-fusion.txt
================================================
As web shows, html is a decent way to build UI. In some ways it's better
than traditional way of building UIs (winforms and similar) and in some
ways worse.
Mozilla's XUL, Microsoft's XAML, DirectUI (https://github.com/kjk/directui)
combine those ideas.
Mui could do as well. There are similarities between DrawInstr and
Control and html's layout proces and mui's layouts.
The big idea is to make html element (i.e. currently DrawInstr) to be
first-class citizen in mui and vice-versa.
Ultimately this should allow e.g. implementing the equivalent of the
toolbar, settings and other dialogs, notifications etc. declaratively
in html, with only small amount of code to hook up the actions (like
pressing a button) to code.
Implementation-wise, it requiers the following:
1. Having the equivalent of DrawInstr be a part of mui UI element
hierarchy. Following XAML design, we could introduce a lighter-weight
base class UIElement which would have position/size, css style and
whatever it needs to participate in layouts. Control would derive
from that and add the interactive capability.
2. Ability to instantiate arbitrary mui controls from html parser and
bind code to elements. E.g. our 'update available' dialog could be:
<p>You have version <b>5964</b></p>
<p>New version <b>5972</b> is available. Download new version?</p>
<p><control type=checkbox name=skipcheck>&Skip this version</control></p>
<p align=right>
<control type=button name=dl>Download</control>
<control type=button name=nodl>&No, thanks</control>
</p>
// very sketchy syntax, just to illustrate ideas
UIFragment *frag = FragmentFromHtml(gUpdateDialogHtml);
UpdateAvailableController *controller = new UpdateAvailableController(frag);
Button *btnDl = this->frag->FindElement("button", "dl");
btnDl->Connect(controller::OnDownloadPressed);
Button *btnNoDl = frag->FindElement("button", "nodl");
btnNoDl->Connect(controller::OnNoDownloadPressed);
Controller::OnNoDownloadPressed() {
Checkbox *skipCheck = frag->FindElement("checkbox", "skipcheck");
if (skipCheck->IsOn()) {
} else {
// is off
}
// close the dialog
}
RunDialog(frag);
...
2.1. <control type=foo ...></control> serves as an extension point
where html parser calls mui to interpret a given control syntax.
Mui parses until </control> element and when it returns html
parser continues parsing.
This can be further extended to allow non-core elements as well e.g.
if sumatra defines SumatraButton control, it could do:
mui::RegisterParsingForControl("SumatraButton", MuiControlParserFunc *parserFunc);
2.2 Ability to add name and/or id to UIElement and ability to find
elements of a given type/(name/id), like in html's DOM.
----------------------
Even more ratical idea of how to structure mui is to use DrawInstr-like
mechanizm instead of inheritance. Classes/objects are just a way to
give identity to objects that allows referring to them (for the purpose
of manipulation) at runtime. Html doesn't work that way and instead
uses names/ids/DOM traversal to refer to ui elements and uses
a fixed number of events that apply to each element.
There are practical issues in that e.g. implementing a rounded border
(and other sophisticated painting) for a Button is easier via custom
paint function than by adding such capability in generic way.
-----------------------
================================================
FILE: docs/releasenotes.txt
================================================
The idea is to record here changes that deserve mentioning in
the release notes, as we make them, to make the release process easier.
Next version:
3.2 (????-??-??)
3.1.1 (2015-11-02)
* (re)add support for old processors that don't have SSE2
* support newer versions of unrar.dll
* allow keeping browser plugin if it's already installed
* crash fixes
3.1 (2015-10-24)
* 64bit builds
* all documents are restored at startup if a window with multiple tabs
is closed (or if closing happened through File -> Exit); this can be
disabled through the RestoreSession advanced setting
* printing happens (again) always as image which leads to more reliable
results at the cost of requiring more printer memory; the "Print as Image"
advanced printing option has been removed
* scrolling with touchpad (e.g. on Surface Pro) now works
* many crash and other bug fixes
3.0 (2014-10-18)
* Tabs!
* deprecated the browser plugin (remains installed if used)
* support table of contents and links in ebook UI
* add support for PalmDoc ebooks
* add support for displaying CB7 and CBT comic books (in addition to CBZ and CBR)
* add support for LZMA and PPMd compression in CBZ comic books
* allow saving Comic Book files as PDF
* swapped keybindings:
* F11 : Fullscreen mode (still also Ctrl+Shift+L)
* F5 : Presentation mode (also Shift+F11, still also Ctrl+L)
* added a document measurement helper (invoke by pressing M)
* new advanced settings: FullPathInTitle, UseSysColors (no longer exposed through the Options dialog)
* replaced non-free UnRAR with a free RAR extraction library
(if some CBR files fail to open for you, please download unrar.dll from
http://www.rarlab.com/rar_add.htm and place it alongside SumatraPDF.exe)
* removed support for reading sumatrapdfprefs.dat (when updating from a version prior to
version 2.3, please upgrade to 2.5.2 first and have that convert your settings to the
format introduced in version 2.3 before updating to a later version)
2.5.2 (2014-05-13)
* use less memory for comic book files
* PDF rendering improvements
2.5.1 (2014-05-07):
* hopefully fix frequent ebook crashes
2.5 (2014-05-05):
* 2 page view for ebooks
* new keybindings:
* Ctrl+PgDn, Ctrl+Right : go to next page
* Ctrl+PgUp, Ctrl+Left : go to previous page
* 10x faster ebook layout
* support JP2 images
* new advanced settings: ShowMenuBar, ReloadModifiedDocuments, CustomScreenDPI
* left/right clicking no longer changes pages in fullscreen mode
(use Presentation mode if you rely on this feature)
* fixed multiple crashes
2.4 (2013-10-01):
* full-screen mode for ebooks (Ctrl-L)
* new key bindings:
* F9 - show/hide menu (not remembered after quitting)
* F8 - show/hide toolbar
* support WebP images
* support for RAR5 compressed comic books
* fixed multiple crashes
2.3.2 (2013-05-25):
* fix a bug changing a language using Settings/Change Language menu
2.3.1 (2013-05-23):
* not compiled with SSE2
2.3 (2013-05-22):
* more configurability. Settings are now saved in human-editable
SumatraPDF-settings.txt (instead of binary sumatrapdfprefs.dat)
and there are more settings for customizing Sumatra. For more
documentation see http://blog.kowalczyk.info/software/sumatrapdf/settings.html
* "Go To Page" for ebook format
* add support for OpenXPS documents
* add View/Manga Mode menu item for Comic Book (CBZ/CBR) files
* support Deflate64 in Comic Book (CBZ) files
* new key bindings:
* Ctrl-Up : page up
* Ctrl-Down : page down
* fixed paragraph indentation missing for EPUB documents
* printing with "Use original page sizes" no longer centers pages on paper
* reduced size. Installer is ~1MB smaller
2.2.1 (2013-01-12):
* fixed ebooks sometimes not remembering the viewing position
* fixed Sumatra not exiting when opening files from a network drive
* fixes for most frequent crashes, PDF parsing robustness fixes and
regressions from 2.1.1 introduced in 2.2
2.2 (2012-12-24):
* add support for FictionBook ebook format
* add support for PDF documents encrypted with Acrobat X
* “Print as image” compatibility option for documents that fail to print properly
* -manga-mode [1|true|0|false] for proper display of manga comic books
* fixed a reuse-after-free crash reported by John Leitch from
Microsoft Vulnerability Research (MSVR)
* fixed multiple crashes caused by overflows
2.1.1 (2012-05-07):
* fix a couple of crashes, most importantly crash when resizing some ePub files
2.1 (2012-05-03):
* support for EPUB ebook format
* added menu item to rename a file (contributed by Vasily Fomin)
* support multi-page TIFF files
* support TGA images
* support for some comic book (CBZ) metadata
* support JPEG XR images (available on Windows Vista or later,
for Windows XP the Windows Imaging Component has to be installed)
* fixed multiple heap overflows reported by John Leitch from
Microsoft Vulnerability Research (MSVR) and by Carlo Di Dato (aka shinnai)
* the installer is now signed
2.0.1 (2012-04-08):
* fix loading .mobi files from command line
* fix a crash loading multiple .mobi files at once
* fix a crash showing tooltips for table of contents tree entries
2.0 (2012-04-02):
* support for mobi ebook format
* we can now open CHM documents from network drives
* images from documents can be copied from the context menu
* document colors can be replaced with Windows system colors
(option hidden if Windows displays text black-on-white)
* smaller size thanks to ucrt
1.9 (2011-11-23):
* CHM documents support
* support touch gestures (available on Windows 7 or later)
(contributed by Robert Prouse)
* open linked audio and video files in an external media player
* improved support for PDF transparency groups
1.8 (2011-09-18):
* improved support for PDF form text fields
* various minor improvements and crash fixes
* speedup handling some djvu files
1.7 (2011-07-18):
* favorites
* logical page numbers are displayed and used, if a document
provides them (such as i, ii, iii, etc.)
* allow to restrict SumatraPDF's features with more granularity; see
http://code.google.com/p/sumatrapdf/source/browse/trunk/docs/sumatrapdfrestrict.ini
* -named-dest also matches strings in table of contents
* improved support for EPS files (requires Ghostscript)
* improved support for right-to-left languages e.g. Arabic
* more robust installer (requires to close programs, like a browser, that
are using Sumatra components, preventing them from being over-written
during installation)
1.6 (2011-05-30):
* display Frequently Read list when no document is open
* add support for displaying DjVu documents
* add support for displaying Postscript documents
(requires a recent Ghostscript installation)
* add support for displaying a folder containing images
(to display it, drag the folder over SumatraPDF)
* support clickable links and a Table of Content for XPS documents
* optional previewing of PDF documents in Windows Vista and 7 (creates
thumbnails and displays documents in Explorer's Preview pane)
* display printing progress and allow to cancel it
* add Print toolbar button
1.5.1 (2011-04-27):
* fixes for crashes
1.5 (2011-04-23):
* add support for displaying XPS documents
* add support for displaying CBZ and CBR comic books
* add "Save Shortcut" to create shortcuts to specific places in a document
* add a basic context menu for copying text, link addresses and comments
(and saving and printing for the browser plugin)
* add folder browsing (Ctrl+Shift+Right opens the next PDF document in the
current folder, Ctrl+Shift+Left the previous one)
1.4 (2011-03-12):
* browser plugin for Mozilla Firefox, Google Chrome and Opera for displaying
PDF documents with SumatraPDF inside the browser (does NOT work under MSIE)
* IFilter for PDF to support searching document contents with
Windows Desktop Search (full text search from Windows Vista/7's Start Menu)
* add support for AES-256 encrypted documents
* Right Mouse now drags the document (same as Shift+Left),
Right+Scroll zooms it (same as Ctrl+Scroll)
* add menu item to open with Foxit Reader and PDF-XChange Viewer (if installed)
* add suport for custom installation directories in the installer
* removed -title cmd-line option
* we no longer compress binaries that come with installer with mpress to
avoid anti-virus programs flagging us as a virus. The portable, .zip version
is still compressed with mpress
* fixed an integer overflow reported by Jeroen van der Gun
1.3 (2011-02-04):
* improved text selection and copying. We now mimic the way a browser
or Adobe Reader works: just select text with mouse and use Ctrl+C
to copy it to a clipboard
* Shift+Left Mouse now scrolls the document, Ctrl+Left mouse still
creates a rectangular selection (for copying images)
* 'c' shortcut toggles continuous mode
* '+' / '*' on the numeric keyboard now do zoom and rotation
* added toolbar icons for Fit Page and Fit Width and updated
the look of toolbar icons
* add support for back/forward mouse buttons for back/forward navigation
* 1.2 introduces a new full screen mode and made it the default
full screen mode. Old mode was still available but not easily
discoverable. We've added View/Presentation menu item for
new full screen mode and View/Fullscreen menu item for the old
full screen mode, to make it more discoverable
* new, improved installer
* improved zoom performance (zooming to 6400% no longer crashes)
* text find uses less memory
* further printing improvements
* translation updates
* updated to latest mupdf for misc bugfixes and improvements
* use libjpeg-turbo library instead of libjpeg, for faster decoding
of some PDFs
* updated openjpeg library to version 1.4 and freetype to version 2.4.4
* fixed 2 integer overflows reported by Stefan Cornelius from Secunia Research
1.2 (2010-11-26):
* improved printing: faster and uses less resources
* add Ctrl+Y as a shortcut for Custom Zoom
* add Ctrl+A as a shortcut for Select All Text
* improved full screen mode
* open embedded PDF documents
* allow saving PDF document attachements to disk
* latest fixes and improvements to PDF rendering from mupdf project
1.1 (2010-05-20):
* added book view (“View/Book View” menu item) option. It’s known as “Show Cover Page During Two-Up” in Adobe Reader
* added “File/Properties” menu item, showing basic information about PDF file
* added “File/Send by email” menu
* added export as text. When doing “File/Save As”, change “Save As types” from “PDF documents” to “Text documents”. Don’t expect miracles, though. Conversion to text is not very good in most cases.
* auto-detect commonly used TeX editors for inverse-search command
* bug fixes to PDF handling (more PDFs are shown correctly)
* misc bug fixes and small improvements in UI
* add Ctrl + and Ctrl – as shortcuts for zooming (matches Adobe Reader)
1.0.1 (2009-11-27):
* many memory leaks fixed (Simon Bünzli)
* potential crash due to stack corruption (pointed out by Christophe Devine)
* making Sumatra default PDF reader no longer asks for admin priviledges on Vista/Windows 7
* translation updates
1.0 (2009-11-17):
* lots of small bug fixes and improvements
0.9.4 (2009-07-19):
* improved PDF compatibility (more types of documents can be rendered)
* added settings dialog (contributed by Simon Bünzli)
* improvements in handling unicode
* changed default view from single page to continuous
* SyncTex improvements (contributed by William Blum)
* add option to not remember opened files
* a new icon for documents association (contributed by George Georgiou)
* lots of bugfixes and UI polish
0.9.3 (2008-10-07):
* fix an issue with opening non-ascii files
updated Japanese and Brazillian translation
0.9.2 (2008-10-06):
* ability to disable auto-update check
* improved text rendering - should fix problems with overlapping text
* improved font substition for fonts not present in PDF file
* can now open PDF files with non-ascii names
* improvements to DDE (contributed by Danilo Roascio)
* SyncTex improvements
* improve persistance of state (contributed by Robert Liu)
* fix crash when pressing 'Cancel' when entering a password
* updated translations
0.9.1 (2008-08-22):
* improved rendering of some PDFs
* support for links inside PDF file
* added -restrict and -title cmd-line options (contributed by Matthew Wilcoxson)
* enabled SyncTex support which mistakenly disabled in 0.9
misc fixes and translation updates
0.9 (2008-08-10):
* add Ctrl+P as print shortcut
* add F11 as full-screen shortcut
* password dialog no longer shows the password
* support for AES-encrypted PDF files
* updates to SyncTeX/PdfSync integration (contributed by William Blum)
* add -nameddest command-line option and DDE commands for jumping to named destination(contributed by Alexander Klenin)
* add -reuse-instance command-line option (contributed by William Blum)
* add DDE command to open PDF file (contributed by William Blum)
* removed poppler rendering engine resulting in smaller program and updated to latest mupdf sources
* misc bugfixes and translation updates
0.8.1 (2008-05-27):
* automatic reloading of changed PDFs (contributed by William Blum)
* tex integration (contributed by William Blum)
* updated icon for case-sensitivity selection in find (contributed by Sonke Tesch)
* language change is now a separate dialog instead of a menu
* remember more settings (like default view)
* automatic checks for new versions
* add command-line option -lang $lang
* add command-line option -print-dialog (contributed by Peter Astrand)
* ESC or single mouse click hides selection
* fix showing boxes in table of contents tree
* translation updates (contributed by many people)
0.8 (2008-01-01):
* added search (contributed by MrChuoi)
* added table of contents (contributed by MrChuoi)
* added many translation (contributed by many people)
* new program icon
* fixed printing
* fixed some crashes
* rendering speedups
* fixed loading of some PDFs
* add command-line option -esc-to-exit
* add command-line option -bgcolor $color
0.7 (2007-07-28):
* added ability to select the text and copy to clipboard - contributed by Tomek Weksej
* made it multi-lingual (13 translations contributed by many people)
* added Save As option
* list of recently opened files is updated immediately
* fixed .pdf extension registration on Vista
* added ability to compile as DLL and C# sample application - contributed by Valery Possoz
* mingw compilation fixes and project files for CodeBlocks - contributed by MrChuoi
* fixed a few crashes
* moved the sources to Google Code project hosting
0.6 (2007-04-29):
* enable opening password-protected PDFs
* don't allow printing in PDFs that have printing forbidden
* don't automatically reopen files at startup
* fix opening PDFs from network shares
* new, better icon
* reload the document when changing rendering engine
* improve cursor shown when dragging
* fix toolbar appearance on XP and Vista with classic theme
* when MuPDF engine cannot load a file or render a page, we fallback to * poppler engine to make rendering more robust
* fixed a few crashes
0.5 (2007-03-04):
* fixed rendering problems with some PDF files
* speedups - the application should feel be snappy and there should be less waiting for rendering
* added 'r' keybinding for reloading currently open PDF file
* added <Ctrl>-<Shift>-+ and <Ctrl>-<Shift>-- keybindings to rotate clockwise and counter-clockwise (just like Acrobat Reader)
* fixed a crash or two
0.4 (2007-02-18):
* printing
* ask before registering as a default handler for PDF files
* faster rendering thanks to alternative PDF rendering engine. Previous engine is available as well.
* scrolling with mouse wheel
* fix toolbar issues on win2k
* improve the way fonts directory is found
* improvements to portable mode
* uninstaller completely removes the program
* changed name of preferences files from prefs.txt to sumatrapdfprefs.txt
0.3 (2006-11-25):
* added toolbar for most frequently used operations
* should be more snappy because rendering is done in background and it caches one page ahead
* some things are faster
0.2 (2006-08-06):
* added facing, continuous and continuous facing viewing modes
* remember history of opened files
* session saving i.e. on exit remember which files are opened and restore the session when the program is started without any command-line parameters
* ability to open encrypted files
* "Go to page dialog"
* less invasive (less yellow) icon that doesn't jump at you on desktop
* fixed problem where sometimes text wouldn't show (better mapping for fonts; use a default font if can't find the font specified in PDF file)
* handle URI links inside PDF documents
* show "About" screen
* provide a download in a .zip file for those who can't run installation program
* switched to poppler code instead of xpdf
0.1 (2006-06-01):
* first version released
================================================
FILE: docs/releaseplan.txt
================================================
Some ideas for 3.2 release:
- improve tabs (re-arrange with drag&drop, allow moving between windows)
- background loading so that we don't stall on slow filesystem (network drives)
- ebook improvements
- allow changing font size
- change font/bg color
- search
- text selection
- better handle fit-width for files that have non-uniform pages
It's best to make the most risky (most likely to introduce breakage) changes
first so that there is time to stabilize the code. E.g. in 2.2, LoadDocument()
refactoring is such a change.
A random list of things to implement sooner or later:
- html: format text on a line to a baseline
http://www.bobpowell.net/formattingtext.htm
- mobi: links
- ebook ui: links
- mobi: lists (ul, li)
- ebook ui: search
- ebook ui: printing
- ebook ui: allow to change default font name/size, remember it
for a given document in preferences
- ebook ui: 2 page display
- ebook ui: rtl support
- mobi: parse table of content (<html><head><guide><reference type="toc" title="Table of Contents", filepos=$N />)
- ebook ui: change the font size
- ebook ui: change font/background combinations (just 3 options, like in kindle app:
black on white, sepia, white on black)
- ebook ui: change brightness
- ebook ui: table of content
- ebook ui: better (on-screen) ui for bookmarks
- html: hyphenation (http://www.tug.org/docs/liang/)
================================================
FILE: docs/settings/langs3.1.html
================================================
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Languages supported by SumatraPDF 3.1</title>
<style type=text/css>
body {
font-size: 90%;
background-color: #f5f5f5;
}
.txt1 {
/* bold doesn't look good in the fonts above */
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
font-size: 88%;
color: #800; /* this is brown */
}
.txt2 {
font-family: Verdana, Arial, sans-serif;
font-family: serif;
font-size: 90%;
font-weight: bold;
color: #800; /* this is brown */
}
.txt {
font-family: serif;
font-size: 95%;
font-weight: bold;
color: #800; /* this is brown */
color: #000;
background-color: #ececec;
}
.cm {
color: #800; /* this is brown, a bit aggressive */
color: #8c8c8c; /* this is gray */
color: #555; /* this is darker gray */
font-weight: normal;
}
</style>
</head>
<body>
<h2>Languages supported by SumatraPDF</h2>
<p>Languages supported by SumatraPDF. You can use ISO code as a value
of <code>UiLanguage</code> setting in <a href="settings3.1.html">settings file</a>.
</p>
<p>Note: not all languages are fully translated. Help us <a href="http://www.apptranslator.org/app/SumatraPDF">translate SumatraPDF</a>.</p>
<table>
<tr><th>Language name</th><th>ISO code</th></tr>
<tr><td>Afrikaans</td><td>af</td></tr>
<tr><td>Albanian (Shqip)</td><td>sq</td></tr>
<tr><td>Arabic (الْعَرَبيّة)</td><td>ar</td></tr>
<tr><td>Armenian (Հայերեն)</td><td>am</td></tr>
<tr><td>Azerbaijani (Azərbaycanca)</td><td>az</td></tr>
<tr><td>Basque (Euskara)</td><td>eu</td></tr>
<tr><td>Belarusian (Беларуская)</td><td>by</td></tr>
<tr><td>Bengali (বাংলা)</td><td>bn</td></tr>
<tr><td>Bosnian (Bosanski)</td><td>bs</td></tr>
<tr><td>Bulgarian (Български)</td><td>bg</td></tr>
<tr><td>Burmese (ဗမာ စာ)</td><td>mm</td></tr>
<tr><td>Catalan (Català)</td><td>ca</td></tr>
<tr><td>Catalan-Valencian (Català-Valencià)</td><td>ca-xv</td></tr>
<tr><td>Chinese Simplified (简体中文)</td><td>cn</td></tr>
<tr><td>Chinese Traditional (繁體中文)</td><td>tw</td></tr>
<tr><td>Cornish (Kernewek)</td><td>kw</td></tr>
<tr><td>Croatian (Hrvatski)</td><td>hr</td></tr>
<tr><td>Czech (Čeština)</td><td>cz</td></tr>
<tr><td>Danish (Dansk)</td><td>dk</td></tr>
<tr><td>Dutch (Nederlands)</td><td>nl</td></tr>
<tr><td>English</td><td>en</td></tr>
<tr><td>Estonian (Eesti)</td><td>et</td></tr>
<tr><td>Finnish (Suomi)</td><td>fi</td></tr>
<tr><td>French (Français)</td><td>fr</td></tr>
<tr><td>Frisian (Frysk)</td><td>fy-nl</td></tr>
<tr><td>Galician (Galego)</td><td>gl</td></tr>
<tr><td>Georgian (ქართული)</td><td>ka</td></tr>
<tr><td>German (Deutsch)</td><td>de</td></tr>
<tr><td>Greek (Ελληνικά)</td><td>el</td></tr>
<tr><td>Hebrew (עברית)</td><td>he</td></tr>
<tr><td>Hindi (हिंदी)</td><td>hi</td></tr>
<tr><td>Hungarian (Magyar)</td><td>hu</td></tr>
<tr><td>Indonesian (Bahasa Indonesia)</td><td>id</td></tr>
<tr><td>Irish (Gaeilge)</td><td>ga</td></tr>
<tr><td>Italian (Italiano)</td><td>it</td></tr>
<tr><td>Japanese (日本語)</td><td>ja</td></tr>
<tr><td>Javanese (ꦧꦱꦗꦮ)</td><td>jv</td></tr>
<tr><td>Korean (한국어)</td><td>kr</td></tr>
<tr><td>Kurdish (كوردی)</td><td>ku</td></tr>
<tr><td>Latvian (latviešu valoda)</td><td>lv</td></tr>
<tr><td>Lithuanian (Lietuvių)</td><td>lt</td></tr>
<tr><td>Macedonian (македонски)</td><td>mk</td></tr>
<tr><td>Malayalam (മലയാളം)</td><td>ml</td></tr>
<tr><td>Malaysian (Bahasa Melayu)</td><td>my</td></tr>
<tr><td>Nepali (नेपाली)</td><td>ne</td></tr>
<tr><td>Norwegian (Norsk)</td><td>no</td></tr>
<tr><td>Norwegian Neo-Norwegian (Norsk nynorsk)</td><td>nn</td></tr>
<tr><td>Persian (فارسی)</td><td>fa</td></tr>
<tr><td>Polish (Polski)</td><td>pl</td></tr>
<tr><td>Portuguese - Brazil (Português)</td><td>br</td></tr>
<tr><td>Portuguese - Portugal (Português)</td><td>pt</td></tr>
<tr><td>Punjabi (ਪੰਜਾਬੀ)</td><td>pa</td></tr>
<tr><td>Romanian (Română)</td><td>ro</td></tr>
<tr><td>Russian (Русский)</td><td>ru</td></tr>
<tr><td>Serbian (Cyrillic)</td><td>sr-rs</td></tr>
<tr><td>Serbian (Latin)</td><td>sp-rs</td></tr>
<tr><td>Shona (Shona)</td><td>sn</td></tr>
<tr><td>Sinhala (සිංහල)</td><td>si</td></tr>
<tr><td>Slovak (Slovenčina)</td><td>sk</td></tr>
<tr><td>Slovenian (Slovenščina)</td><td>sl</td></tr>
<tr><td>Spanish (Español)</td><td>es</td></tr>
<tr><td>Swedish (Svenska)</td><td>sv</td></tr>
<tr><td>Tagalog (Tagalog)</td><td>tl</td></tr>
<tr><td>Tamil (தமிழ்)</td><td>ta</td></tr>
<tr><td>Thai (ภาษาไทย)</td><td>th</td></tr>
<tr><td>Turkish (Türkçe)</td><td>tr</td></tr>
<tr><td>Ukrainian (Українська)</td><td>uk</td></tr>
<tr><td>Uzbek (O'zbek)</td><td>uz</td></tr>
<tr><td>Vietnamese (Việt Nam)</td><td>vn</td></tr>
<tr><td>Welsh (Cymraeg)</td><td>cy</td></tr>
</table>
</body>
</html>
================================================
FILE: docs/settings/langs3.2.html
================================================
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Languages supported by SumatraPDF 3.2</title>
<style type="text/css">
body {
font-size: 90%;
background-color: #f5f5f5;
}
.txt1 {
/* bold doesn't look good in the fonts above */
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
font-size: 88%;
color: #800; /* this is brown */
}
.txt2 {
font-family: Verdana, Arial, sans-serif;
font-family: serif;
font-size: 90%;
font-weight: bold;
color: #800; /* this is brown */
}
.txt {
font-family: serif;
font-size: 95%;
font-weight: bold;
color: #800; /* this is brown */
color: #000;
background-color: #ececec;
}
.cm {
color: #800; /* this is brown, a bit aggressive */
color: #8c8c8c; /* this is gray */
color: #555; /* this is darker gray */
font-weight: normal;
}
</style>
</head>
<body>
<h2>Languages supported by SumatraPDF 3.2</h2>
<p>Languages supported by SumatraPDF. You can use ISO code as a value
of <code>UiLanguage</code> setting in <a href="settings3.2.html">settings file</a>.
</p>
<p>Note: not all languages are fully translated. Help us <a href="http://www.apptranslator.org/app/SumatraPDF">translate SumatraPDF</a>.</p>
<table>
<tr><th>Language name</th><th>ISO code</th></tr>
<tr><td>Afrikaans</td><td>af</td></tr>
<tr><td>Albanian (Shqip)</td><td>sq</td></tr>
<tr><td>Arabic (الْعَرَبيّة)</td><td>ar</td></tr>
<tr><td>Armenian (Հայերեն)</td><td>am</td></tr>
<tr><td>Azerbaijani (Azərbaycanca)</td><td>az</td></tr>
<tr><td>Basque (Euskara)</td><td>eu</td></tr>
<tr><td>Belarusian (Беларуская)</td><td>by</td></tr>
<tr><td>Bengali (বাংলা)</td><td>bn</td></tr>
<tr><td>Bosnian (Bosanski)</td><td>bs</td></tr>
<tr><td>Bulgarian (Български)</td><td>bg</td></tr>
<tr><td>Burmese (ဗမာ စာ)</td><td>mm</td></tr>
<tr><td>Catalan (Català)</td><td>ca</td></tr>
<tr><td>Catalan-Valencian (Català-Valencià)</td><td>ca-xv</td></tr>
<tr><td>Chinese Simplified (简体中文)</td><td>cn</td></tr>
<tr><td>Chinese Traditional (繁體中文)</td><td>tw</td></tr>
<tr><td>Cornish (Kernewek)</td><td>kw</td></tr>
<tr><td>Croatian (Hrvatski)</td><td>hr</td></tr>
<tr><td>Czech (Čeština)</td><td>cz</td></tr>
<tr><td>Danish (Dansk)</td><td>dk</td></tr>
<tr><td>Dutch (Nederlands)</td><td>nl</td></tr>
<tr><td>English</td><td>en</td></tr>
<tr><td>Estonian (Eesti)</td><td>et</td></tr>
<tr><td>Finnish (Suomi)</td><td>fi</td></tr>
<tr><td>French (Français)</td><td>fr</td></tr>
<tr><td>Frisian (Frysk)</td><td>fy-nl</td></tr>
<tr><td>Galician (Galego)</td><td>gl</td></tr>
<tr><td>Georgian (ქართული)</td><td>ka</td></tr>
<tr><td>German (Deutsch)</td><td>de</td></tr>
<tr><td>Greek (Ελληνικά)</td><td>el</td></tr>
<tr><td>Hebrew (עברית)</td><td>he</td></tr>
<tr><td>Hindi (हिंदी)</td><td>hi</td></tr>
<tr><td>Hungarian (Magyar)</td><td>hu</td></tr>
<tr><td>Indonesian (Bahasa Indonesia)</td><td>id</td></tr>
<tr><td>Irish (Gaeilge)</td><td>ga</td></tr>
<tr><td>Italian (Italiano)</td><td>it</td></tr>
<tr><td>Japanese (日本語)</td><td>ja</td></tr>
<tr><td>Javanese (ꦧꦱꦗꦮ)</td><td>jv</td></tr>
<tr><td>Korean (한국어)</td><td>kr</td></tr>
<tr><td>Kurdish (كوردی)</td><td>ku</td></tr>
<tr><td>Latvian (latviešu valoda)</td><td>lv</td></tr>
<tr><td>Lithuanian (Lietuvių)</td><td>lt</td></tr>
<tr><td>Macedonian (македонски)</td><td>mk</td></tr>
<tr><td>Malayalam (മലയാളം)</td><td>ml</td></tr>
<tr><td>Malaysian (Bahasa Melayu)</td><td>my</td></tr>
<tr><td>Nepali (नेपाली)</td><td>ne</td></tr>
<tr><td>Norwegian (Norsk)</td><td>no</td></tr>
<tr><td>Norwegian Neo-Norwegian (Norsk nynorsk)</td><td>nn</td></tr>
<tr><td>Persian (فارسی)</td><td>fa</td></tr>
<tr><td>Polish (Polski)</td><td>pl</td></tr>
<tr><td>Portuguese - Brazil (Português)</td><td>br</td></tr>
<tr><td>Portuguese - Portugal (Português)</td><td>pt</td></tr>
<tr><td>Punjabi (ਪੰਜਾਬੀ)</td><td>pa</td></tr>
<tr><td>Romanian (Română)</td><td>ro</td></tr>
<tr><td>Russian (Русский)</td><td>ru</td></tr>
<tr><td>Serbian (Cyrillic)</td><td>sr-rs</td></tr>
<tr><td>Serbian (Latin)</td><td>sp-rs</td></tr>
<tr><td>Shona (Shona)</td><td>sn</td></tr>
<tr><td>Sinhala (සිංහල)</td><td>si</td></tr>
<tr><td>Slovak (Slovenčina)</td><td>sk</td></tr>
<tr><td>Slovenian (Slovenščina)</td><td>sl</td></tr>
<tr><td>Spanish (Español)</td><td>es</td></tr>
<tr><td>Swedish (Svenska)</td><td>sv</td></tr>
<tr><td>Tagalog (Tagalog)</td><td>tl</td></tr>
<tr><td>Tamil (தமிழ்)</td><td>ta</td></tr>
<tr><td>Thai (ภาษาไทย)</td><td>th</td></tr>
<tr><td>Turkish (Türkçe)</td><td>tr</td></tr>
<tr><td>Ukrainian (Українська)</td><td>uk</td></tr>
<tr><td>Uzbek (O'zbek)</td><td>uz</td></tr>
<tr><td>Vietnamese (Việt Nam)</td><td>vn</td></tr>
<tr><td>Welsh (Cymraeg)</td><td>cy</td></tr>
</table>
</body>
</html>
================================================
FILE: docs/settings/settings3.1.html
================================================
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Customizing SumatraPDF 3.1</title>
<style type=text/css>
body {
font-size: 90%;
background-color: #f5f5f5;
}
.desc {
padding: 0px 10px 0px 10px;
}
.txt1 {
/* bold doesn't look good in the fonts above */
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
font-size: 88%;
color: #800; /* this is brown */
}
.txt2 {
font-family: Verdana, Arial, sans-serif;
font-family: serif;
font-size: 90%;
font-weight: bold;
color: #800; /* this is brown */
}
.txt {
font-family: serif;
font-size: 95%;
font-weight: bold;
color: #800; /* this is brown */
color: #000;
background-color: #ececec;
border: 1px solid #fff;
border-radius: 10px;
-webkit-border-radius: 10px;
box-shadow: rgba(0, 0, 0, .15) 3px 3px 4px;
-webkit-box-shadow: rgba(0, 0, 0, .15) 3px 3px 4px;
padding: 10px 10px 10px 20px;
}
.cm {
color: #800; /* this is brown, a bit aggressive */
color: #8c8c8c; /* this is gray */
color: #555; /* this is darker gray */
font-weight: normal;
}
</style>
</head>
<body>
<div class=desc>
<h2>Customizing SumatraPDF 3.1</h2>
<p>You can change the look and behavior of
<a href="http://www.sumatrapdfreader.org/">SumatraPDF</a>
by editing the file <code>SumatraPDF-settings.txt</code>. The file is stored in
<code>%APPDATA%\SumatraPDF</code> directory for the installed version or in the
same directory as <code>SumatraPDF.exe</code> executable for the portable version.</p>
<p>Use the menu item <code>Settings -> Advanced Settings...</code> to open the settings file
with your default text editor.</p>
<p>The file is in a simple text format. Below is an explanation of
what the different settings mean and what their default values are.</p>
<p>Highlighted settings can't be changed from the UI. Modifying other settings
directly in this file is not recommended.</p>
<p>If you add or remove lines with square brackets, <b>make sure to always add/remove
square brackets in pairs</b>! Else you risk losing all the data following them.</p>
</div>
<pre class=txt>
<div><span class=cm id="MainWindowBackground">background <a href="#color">color</a> of the non-document windows, traditionally yellow</span>
MainWindowBackground = #fff200
<span class=cm id="EscToExit">if true, Esc key closes SumatraPDF</span>
EscToExit = false
<span class=cm id="ReuseInstance">if true, we'll always open files using existing SumatraPDF process</span>
ReuseInstance = false
<span class=cm id="UseSysColors">if true, we use Windows system <a href="#color">colors</a> for background/text color. Over-rides other settings</span>
UseSysColors = false
<span class=cm id="RestoreSession">if true and SessionData isn't empty, that session will be restored at startup</span>
RestoreSession = true
<span class=cm id="FixedPageUI">customization options for PDF, XPS, DjVu and PostScript UI</span>
FixedPageUI [
<span class=cm id="FixedPageUI_TextColor"><a href="#color">color</a> value with which black (text) will be substituted</span>
TextColor = #000000
<span class=cm id="FixedPageUI_BackgroundColor"><a href="#color">color</a> value with which white (background) will be substituted</span>
BackgroundColor = #ffffff
<span class=cm id="FixedPageUI_SelectionColor"><a href="#color">color</a> value for the text selection rectangle (also used to highlight found text) (introduced in
version 2.4)</span>
SelectionColor = #f5fc0c
<span class=cm id="FixedPageUI_WindowMargin">top, right, bottom and left margin (in that order) between window and document</span>
WindowMargin = 2 4 2 4
<span class=cm id="FixedPageUI_PageSpacing">horizontal and vertical distance between two pages in facing and book view modes</span>
PageSpacing = 4 4
<span class=cm id="FixedPageUI_GradientColors"><a href="#color">colors</a> to use for the gradient from top to bottom (stops will be inserted at regular intervals
throughout the document); currently only up to three <a href="#color">colors</a> are supported; the idea behind this
experimental feature is that the background might allow to subconsciously determine reading
progress; suggested values: #2828aa #28aa28 #aa2828</span>
GradientColors =
]
<span class=cm id="EbookUI">customization options for eBooks (EPUB, Mobi, FictionBook) UI. If UseFixedPageUI is true,
FixedPageUI settings apply instead</span>
EbookUI [
<span class=cm id="EbookUI_FontName">name of the font. takes effect after re-opening the document</span>
FontName = Georgia
<span class=cm id="EbookUI_FontSize">size of the font. takes effect after re-opening the document</span>
FontSize = 12.5
<span class=cm id="EbookUI_TextColor"><a href="#color">color</a> for text</span>
TextColor = #5f4b32
<span class=cm id="EbookUI_BackgroundColor"><a href="#color">color</a> of the background (page)</span>
BackgroundColor = #fbf0d9
<span class=cm id="EbookUI_UseFixedPageUI">if true, the UI used for PDF documents will be used for ebooks as well (enables printing and
searching, disables automatic reflow)</span>
UseFixedPageUI = false
]
<span class=cm id="ComicBookUI">customization options for Comic Book and images UI</span>
ComicBookUI [
<span class=cm id="ComicBookUI_WindowMargin">top, right, bottom and left margin (in that order) between window and document</span>
WindowMargin = 0 0 0 0
<span class=cm id="ComicBookUI_PageSpacing">horizontal and vertical distance between two pages in facing and book view modes</span>
PageSpacing = 4 4
<span class=cm id="ComicBookUI_CbxMangaMode">if true, default to displaying Comic Book files in manga mode (from right to left if showing 2
pages at a time)</span>
CbxMangaMode = false
]
<span class=cm id="ChmUI">customization options for CHM UI. If UseFixedPageUI is true, FixedPageUI settings apply instead</span>
ChmUI [
<span class=cm id="ChmUI_UseFixedPageUI">if true, the UI used for PDF documents will be used for CHM documents as well</span>
UseFixedPageUI = false
]
<span class=cm id="ExternalViewers">list of additional external viewers for various file types (can have multiple entries for the same
format)</span>
ExternalViewers [
[
<span class=cm id="ExternalViewers_CommandLine">command line with which to call the external viewer, may contain %p for page numer and "%1" for
the file name (add quotation marks around paths containing spaces)</span>
CommandLine =
<span class=cm id="ExternalViewers_Name">name of the external viewer to be shown in the menu (implied by CommandLine if missing)</span>
Name =
<span class=cm id="ExternalViewers_Filter">optional filter for which file types the menu item is to be shown; separate multiple entries
using ';' and don't include any spaces (e.g. *.pdf;*.xps for all PDF and XPS documents)</span>
Filter =
]
]
<span class=cm id="ShowMenubar">if false, the menu bar will be hidden for all newly opened windows (use F9 to show it until the
window closes or Alt to show it just briefly), only applies if UseTabs is false (introduced in
version 2.5)</span>
ShowMenubar = true
<span class=cm id="ReloadModifiedDocuments">if true, a document will be reloaded automatically whenever it's changed (currently doesn't work for
documents shown in the ebook UI) (introduced in version 2.5)</span>
ReloadModifiedDocuments = true
<span class=cm id="FullPathInTitle">if true, we show the full path to a file in the title bar (introduced in version 3.0)</span>
FullPathInTitle = false
<span class=cm id="ZoomLevels">sequence of zoom levels when zooming in/out; all values must lie between 8.33 and 6400</span>
ZoomLevels = 8.33 12.5 18 25 33.33 50 66.67 75 100 125 150 200 300 400 600 800 1000 1200 1600 2000 2400 3200 4800 6400
<span class=cm id="ZoomIncrement">zoom step size in percents relative to the current zoom level. if zero or negative, the values from
ZoomLevels are used instead</span>
ZoomIncrement = 0
<span class=cm id="PrinterDefaults">these override the default settings in the Print dialog</span>
PrinterDefaults [
<span class=cm id="PrinterDefaults_PrintScale">default value for scaling (shrink, fit, none)</span>
PrintScale = shrink
]
<span class=cm id="ForwardSearch">customization options for how we show forward search results (used from LaTeX editors)</span>
ForwardSearch [
<span class=cm id="ForwardSearch_HighlightOffset">when set to a positive value, the forward search highlight style will be changed to a rectangle
at the left of the page (with the indicated amount of margin from the page margin)</span>
HighlightOffset = 0
<span class=cm id="ForwardSearch_HighlightWidth">width of the highlight rectangle (if HighlightOffset is > 0)</span>
HighlightWidth = 15
<span class=cm id="ForwardSearch_HighlightColor"><a href="#color">color</a> used for the forward search highlight</span>
HighlightColor = #6581ff
<span class=cm id="ForwardSearch_HighlightPermanent">if true, highlight remains visible until the next mouse click (instead of fading away
immediately)</span>
HighlightPermanent = false
]
<span class=cm id="DefaultPasswords">a whitespace separated list of passwords to try when opening a password protected document
(passwords containing spaces must be quoted) (introduced in version 2.4)</span>
DefaultPasswords =
<span class=cm id="CustomScreenDPI">actual resolution of the main screen in DPI (if this value isn't positive, the system's UI setting
is used) (introduced in version 2.5)</span>
CustomScreenDPI = 0
</div>
<span class=cm id="RememberStatePerDocument">if true, we store display settings for each document separately (i.e. everything after
UseDefaultState in FileStates)</span>
RememberStatePerDocument = true
<span class=cm id="UiLanguage"><a href="langs3.1.html">ISO code</a> of the current UI language</span>
UiLanguage =
<span class=cm id="ShowToolbar">if true, we show the toolbar at the top of the window</span>
ShowToolbar = true
<span class=cm id="ShowFavorites">if true, we show the Favorites sidebar</span>
ShowFavorites = false
<span class=cm id="AssociatedExtensions">a list of extensions that SumatraPDF has associated itself with and will reassociate if a different
application takes over (e.g. ".pdf .xps .epub")</span>
AssociatedExtensions =
<span class=cm id="AssociateSilently">whether file associations should be fixed silently or only after user feedback</span>
AssociateSilently = false
<span class=cm id="CheckForUpdates">if true, we check once a day if an update is available</span>
CheckForUpdates = true
<span class=cm id="VersionToSkip">we won't ask again to update to this version</span>
VersionToSkip =
<span class=cm id="RememberOpenedFiles">if true, we remember which files we opened and their display settings</span>
RememberOpenedFiles = true
<span class=cm id="InverseSearchCmdLine">pattern used to launch the LaTeX editor when doing inverse search</span>
InverseSearchCmdLine =
<span class=cm id="EnableTeXEnhancements">if true, we expose the SyncTeX inverse search command line in Settings -> Options</span>
EnableTeXEnhancements = false
<span class=cm id="DefaultDisplayMode">default layout of pages. valid values: automatic, single page, facing, book view, continuous,
continuous facing, continuous book view</span>
DefaultDisplayMode = automatic
<span class=cm id="DefaultZoom">default zoom (in %) or one of those values: fit page, fit width, fit content</span>
DefaultZoom = fit page
<span class=cm id="WindowState">default state of the window. 1 is normal, 2 is maximized, 3 is fullscreen, 4 is minimized</span>
WindowState = 1
<span class=cm id="WindowPos">default position (x, y) and size (width, height) of the window</span>
WindowPos = 0 0 0 0
<span class=cm id="ShowToc">if true, we show table of contents (Bookmarks) sidebar if it's present in the document</span>
ShowToc = true
<span class=cm id="SidebarDx">width of favorites/bookmarks sidebar (if shown)</span>
SidebarDx = 0
<span class=cm id="TocDy">if both favorites and bookmarks parts of sidebar are visible, this is the height of bookmarks (table
of contents) part</span>
TocDy = 0
<span class=cm id="ShowStartPage">if true, we show a list of frequently read documents when no document is loaded</span>
ShowStartPage = true
<span class=cm id="UseTabs">if true, documents are opened in tabs instead of new windows (introduced in version 3.0)</span>
UseTabs = true
<span class=cm id="FileStates">information about opened files (in most recently used order)</span>
FileStates [
[
<span class=cm id="FileStates_FilePath">path of the document</span>
FilePath =
<span class=cm id="FileStates_Favorites">Values which are persisted for bookmarks/favorites</span>
Favorites [
[
<span class=cm id="Favorites_Name">name of this favorite as shown in the menu</span>
Name =
<span class=cm id="Favorites_PageNo">number of the bookmarked page</span>
PageNo = 0
<span class=cm id="Favorites_PageLabel">label for this page (only present if logical and physical page numbers are not the same)</span>
PageLabel =
]
]
<span class=cm id="FileStates_IsPinned">a document can be "pinned" to the Frequently Read list so that it isn't displaced by recently
opened documents</span>
IsPinned = false
<span class=cm id="FileStates_IsMissing">if true, the file is considered missing and won't be shown in any list</span>
IsMissing = false
<span class=cm id="FileStates_OpenCount">number of times this document has been opened recently</span>
OpenCount = 0
<span class=cm id="FileStates_DecryptionKey">data required to open a password protected document without having to ask for the password again</span>
DecryptionKey =
<span class=cm id="FileStates_UseDefaultState">if true, we use global defaults when opening this file (instead of the values below)</span>
UseDefaultState = false
<span class=cm id="FileStates_DisplayMode">layout of pages. valid values: automatic, single page, facing, book view, continuous, continuous
facing, continuous book view</span>
DisplayMode = automatic
<span class=cm id="FileStates_ScrollPos">how far this document has been scrolled (in x and y direction)</span>
ScrollPos = 0 0
<span class=cm id="FileStates_PageNo">number of the last read page</span>
PageNo = 1
<span class=cm id="FileStates_Zoom">zoom (in %) or one of those values: fit page, fit width, fit content</span>
Zoom = fit page
<span class=cm id="FileStates_Rotation">how far pages have been rotated as a multiple of 90 degrees</span>
Rotation = 0
<span class=cm id="FileStates_WindowState">state of the window. 1 is normal, 2 is maximized, 3 is fullscreen, 4 is minimized</span>
WindowState = 0
<span class=cm id="FileStates_WindowPos">default position (can be on any monitor)</span>
WindowPos = 0 0 0 0
<span class=cm id="FileStates_ShowToc">if true, we show table of contents (Bookmarks) sidebar if it's present in the document</span>
ShowToc = true
<span class=cm id="FileStates_SidebarDx">width of the left sidebar panel containing the table of contents</span>
SidebarDx = 0
<span class=cm id="FileStates_DisplayR2L">if true, the document is displayed right-to-left in facing and book view modes (only used for
comic book documents)</span>
DisplayR2L = false
<span class=cm id="FileStates_ReparseIdx">data required to restore the last read page in the ebook UI</span>
ReparseIdx = 0
<span class=cm id="FileStates_TocState">data required to determine which parts of the table of contents have been expanded</span>
TocState =
]
]
<span class=cm id="SessionData">state of the last session, usage depends on RestoreSession (introduced in version 3.1)</span>
SessionData [
[
<span class=cm id="SessionData_TabStates">data required for restoring the view state of a single tab</span>
TabStates [
[
<span class=cm id="TabStates_FilePath">path of the document</span>
FilePath =
<span class=cm id="TabStates_DisplayMode">same as FileStates -> DisplayMode</span>
DisplayMode = automatic
<span class=cm id="TabStates_PageNo">number of the last read page</span>
PageNo = 1
<span class=cm id="TabStates_Zoom">same as FileStates -> Zoom</span>
Zoom = fit page
<span class=cm id="TabStates_Rotation">same as FileStates -> Rotation</span>
Rotation = 0
<span class=cm id="TabStates_ScrollPos">how far this document has been scrolled (in x and y direction)</span>
ScrollPos = 0 0
<span class=cm id="TabStates_ShowToc">if true, the table of contents was shown when the document was closed</span>
ShowToc = true
<span class=cm id="TabStates_TocState">same as FileStates -> TocState</span>
TocState =
]
]
<span class=cm id="SessionData_TabIndex">index of the currently selected tab (1-based)</span>
TabIndex = 1
<span class=cm id="SessionData_WindowState">same as FileState -> WindowState</span>
WindowState = 0
<span class=cm id="SessionData_WindowPos">default position (can be on any monitor)</span>
WindowPos = 0 0 0 0
<span class=cm id="SessionData_SidebarDx">width of favorites/bookmarks sidebar (if shown)</span>
SidebarDx = 0
]
]
<span class=cm id="ReopenOnce">data required for reloading documents after an auto-update (introduced in version 3.0)</span>
ReopenOnce =
<span class=cm id="TimeOfLastUpdateCheck">data required to determine when SumatraPDF last checked for updates</span>
TimeOfLastUpdateCheck = 0 0
<span class=cm id="OpenCountWeek">value required to determine recency for the OpenCount value in FileStates</span>
OpenCountWeek = 0
</pre>
<div class=desc>
<h3 id="color">Syntax for color values</h3>
<p>
The syntax for colors is: <code>#rrggbb</code>.</p>
<p>The components are hex values (ranging from 00 to FF) and stand for:
<ul>
<li><code>rr</code> : red component</li>
<li><code>gg</code> : green component</li>
<li><code>bb</code> : blue component</li>
</ul>
For example #ff0000 means red color. You can use <a href="http://www.colorpicker.com/">
Color Picker</a> or <a href="http://mudcu.be/sphere/">Sphere</a> or
<a href="http://colorschemedesigner.com/">ColorScheme Designer</a> to pick a color.
</p>
</div>
</body>
</html>
================================================
FILE: docs/settings/settings3.2.html
================================================
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Customizing SumatraPDF 3.2</title>
<style type="text/css">
body {
font-size: 90%;
background-color: #f5f5f5;
}
.desc {
padding: 0px 10px 0px 10px;
}
.txt1 {
/* bold doesn't look good in the fonts above */
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
font-size: 88%;
color: #800; /* this is brown */
}
.txt2 {
font-family: Verdana, Arial, sans-serif;
font-family: serif;
font-size: 90%;
font-weight: bold;
color: #800; /* this is brown */
}
.txt {
font-family: serif;
font-size: 95%;
font-weight: bold;
color: #800; /* this is brown */
color: #000;
background-color: #ececec;
border: 1px solid #fff;
border-radius: 10px;
-webkit-border-radius: 10px;
box-shadow: rgba(0, 0, 0, .15) 3px 3px 4px;
-webkit-box-shadow: rgba(0, 0, 0, .15) 3px 3px 4px;
padding: 10px 10px 10px 20px;
}
.cm {
color: #800; /* this is brown, a bit aggressive */
color: #8c8c8c; /* this is gray */
color: #555; /* this is darker gray */
font-weight: normal;
}
</style>
</head>
<body>
<div class="desc">
<h2>Customizing SumatraPDF 3.2</h2>
<p>You can change the look and behavior of
<a href="http://www.sumatrapdfreader.org/">SumatraPDF</a>
by editing the file <code>SumatraPDF-settings.txt</code>. The file is stored in
<code>%APPDATA%\SumatraPDF</code> directory for the installed version or in the
same directory as <code>SumatraPDF.exe</code> executable for the portable version.</p>
<p>Use the menu item <code>Settings -> Advanced Settings...</code> to open the settings file
with your default text editor.</p>
<p>The file is in a simple text format. Below is an explanation of
what the different settings mean and what their default values are.</p>
<p>Highlighted settings can't be changed from the UI. Modifying other settings
directly in this file is not recommended.</p>
<p>If you add or remove lines with square brackets, <b>make sure to always add/remove
square brackets in pairs</b>! Else you risk losing all the data following them.</p>
</div>
<pre class="txt">
<div><span class="cm" id="MainWindowBackground">background <a href="#color">color</a> of the non-document windows, traditionally yellow</span>
MainWindowBackground = #fff200
<span class="cm" id="EscToExit">if true, Esc key closes SumatraPDF</span>
EscToExit = false
<span class="cm" id="ReuseInstance">if true, we'll always open files using existing SumatraPDF process</span>
ReuseInstance = false
<span class="cm" id="UseSysColors">if true, we use Windows system <a href="#color">colors</a> for background/text color. Over-rides other settings</span>
UseSysColors = false
<span class="cm" id="RestoreSession">if true and SessionData isn't empty, that session will be restored at startup</span>
RestoreSession = true
<span class="cm" id="FixedPageUI">customization options for PDF, XPS, DjVu and PostScript UI</span>
FixedPageUI [
<span class="cm" id="FixedPageUI_TextColor"><a href="#color">color</a> value with which black (text) will be substituted</span>
TextColor = #000000
<span class="cm" id="FixedPageUI_BackgroundColor"><a href="#color">color</a> value with which white (background) will be substituted</span>
BackgroundColor = #ffffff
<span class="cm" id="FixedPageUI_SelectionColor"><a href="#color">color</a> value for the text selection rectangle (also used to highlight found text) (introduced in
version 2.4)</span>
SelectionColor = #f5fc0c
<span class="cm" id="FixedPageUI_WindowMargin">top, right, bottom and left margin (in that order) between window and document</span>
WindowMargin = 2 4 2 4
<span class="cm" id="FixedPageUI_PageSpacing">horizontal and vertical distance between two pages in facing and book view modes</span>
PageSpacing = 4 4
<span class="cm" id="FixedPageUI_GradientColors"><a href="#color">colors</a> to use for the gradient from top to bottom (stops will be inserted at regular intervals
throughout the document); currently only up to three <a href="#color">colors</a> are supported; the idea behind this
experimental feature is that the background might allow to subconsciously determine reading
progress; suggested values: #2828aa #28aa28 #aa2828</span>
GradientColors =
]
<span class="cm" id="EbookUI">customization options for eBooks (EPUB, Mobi, FictionBook) UI. If UseFixedPageUI is true,
FixedPageUI settings apply instead</span>
EbookUI [
<span class="cm" id="EbookUI_FontName">name of the font. takes effect after re-opening the document</span>
FontName = Georgia
<span class="cm" id="EbookUI_FontSize">size of the font. takes effect after re-opening the document</span>
FontSize = 12.5
<span class="cm" id="EbookUI_TextColor"><a href="#color">color</a> for text</span>
TextColor = #5f4b32
<span class="cm" id="EbookUI_BackgroundColor"><a href="#color">color</a> of the background (page)</span>
BackgroundColor = #fbf0d9
<span class="cm" id="EbookUI_UseFixedPageUI">if true, the UI used for PDF documents will be used for ebooks as well (enables printing and
searching, disables automatic reflow)</span>
UseFixedPageUI = false
]
<span class="cm" id="ComicBookUI">customization options for Comic Book and images UI</span>
ComicBookUI [
<span class="cm" id="ComicBookUI_WindowMargin">top, right, bottom and left margin (in that order) between window and document</span>
WindowMargin = 0 0 0 0
<span class="cm" id="ComicBookUI_PageSpacing">horizontal and vertical distance between two pages in facing and book view modes</span>
PageSpacing = 4 4
<span class="cm" id="ComicBookUI_CbxMangaMode">if true, default to displaying Comic Book files in manga mode (from right to left if showing 2
pages at a time)</span>
CbxMangaMode = false
]
<span class="cm" id="ChmUI">customization options for CHM UI. If UseFixedPageUI is true, FixedPageUI settings apply instead</span>
ChmUI [
<span class="cm" id="ChmUI_UseFixedPageUI">if true, the UI used for PDF documents will be used for CHM documents as well</span>
UseFixedPageUI = false
]
<span class="cm" id="ExternalViewers">list of additional external viewers for various file types (can have multiple entries for the same
format)</span>
ExternalViewers [
[
<span class="cm" id="ExternalViewers_CommandLine">command line with which to call the external viewer, may contain %p for page numer and "%1" for
the file name (add quotation marks around paths containing spaces)</span>
CommandLine =
<span class="cm" id="ExternalViewers_Name">name of the external viewer to be shown in the menu (implied by CommandLine if missing)</span>
Name =
<span class="cm" id="ExternalViewers_Filter">optional filter for which file types the menu item is to be shown; separate multiple entries
using ';' and don't include any spaces (e.g. *.pdf;*.xps for all PDF and XPS documents)</span>
Filter =
]
]
<span class="cm" id="ShowMenubar">if false, the menu bar will be hidden for all newly opened windows (use F9 to show it until the
window closes or Alt to show it just briefly), only applies if UseTabs is false (introduced in
version 2.5)</span>
ShowMenubar = true
<span class="cm" id="ReloadModifiedDocuments">if true, a document will be reloaded automatically whenever it's changed (currently doesn't work for
documents shown in the ebook UI) (introduced in version 2.5)</span>
ReloadModifiedDocuments = true
<span class="cm" id="FullPathInTitle">if true, we show the full path to a file in the title bar (introduced in version 3.0)</span>
FullPathInTitle = false
<span class="cm" id="ZoomLevels">sequence of zoom levels when zooming in/out; all values must lie between 8.33 and 6400</span>
ZoomLevels = 8.33 12.5 18 25 33.33 50 66.67 75 100 125 150 200 300 400 600 800 1000 1200 1600 2000 2400 3200 4800 6400
<span class="cm" id="ZoomIncrement">zoom step size in percents relative to the current zoom level. if zero or negative, the values from
ZoomLevels are used instead</span>
ZoomIncrement = 0
<span class="cm" id="PrinterDefaults">these override the default settings in the Print dialog</span>
PrinterDefaults [
<span class="cm" id="PrinterDefaults_PrintScale">default value for scaling (shrink, fit, none)</span>
PrintScale = shrink
]
<span class="cm" id="ForwardSearch">customization options for how we show forward search results (used from LaTeX editors)</span>
ForwardSearch [
<span class="cm" id="ForwardSearch_HighlightOffset">when set to a positive value, the forward search highlight style will be changed to a rectangle
at the left of the page (with the indicated amount of margin from the page margin)</span>
HighlightOffset = 0
<span class="cm" id="ForwardSearch_HighlightWidth">width of the highlight rectangle (if HighlightOffset is > 0)</span>
HighlightWidth = 15
<span class="cm" id="ForwardSearch_HighlightColor"><a href="#color">color</a> used for the forward search highlight</span>
HighlightColor = #6581ff
<span class="cm" id="ForwardSearch_HighlightPermanent">if true, highlight remains visible until the next mouse click (instead of fading away
immediately)</span>
HighlightPermanent = false
]
<span class="cm" id="DefaultPasswords">a whitespace separated list of passwords to try when opening a password protected document
(passwords containing spaces must be quoted) (introduced in version 2.4)</span>
DefaultPasswords =
<span class="cm" id="CustomScreenDPI">actual resolution of the main screen in DPI (if this value isn't positive, the system's UI setting
is used) (introduced in version 2.5)</span>
CustomScreenDPI = 0
</div>
<span class="cm" id="RememberStatePerDocument">if true, we store display settings for each document separately (i.e. everything after
UseDefaultState in FileStates)</span>
RememberStatePerDocument = true
<span class="cm" id="UiLanguage"><a href="langs3.2.html">ISO code</a> of the current UI language</span>
UiLanguage =
<span class="cm" id="ShowToolbar">if true, we show the toolbar at the top of the window</span>
ShowToolbar = true
<span class="cm" id="ShowFavorites">if true, we show the Favorites sidebar</span>
ShowFavorites = false
<span class="cm" id="AssociatedExtensions">a list of extensions that SumatraPDF has associated itself with and will reassociate if a different
application takes over (e.g. ".pdf .xps .epub")</span>
AssociatedExtensions =
<span class="cm" id="AssociateSilently">whether file associations should be fixed silently or only after user feedback</span>
AssociateSilently = false
<span class="cm" id="CheckForUpdates">if true, we check once a day if an update is available</span>
CheckForUpdates = true
<span class="cm" id="VersionToSkip">we won't ask again to update to this version</span>
VersionToSkip =
<span class="cm" id="RememberOpenedFiles">if true, we remember which files we opened and their display settings</span>
RememberOpenedFiles = true
<span class="cm" id="InverseSearchCmdLine">pattern used to launch the LaTeX editor when doing inverse search</span>
InverseSearchCmdLine =
<span class="cm" id="EnableTeXEnhancements">if true, we expose the SyncTeX inverse search command line in Settings -> Options</span>
EnableTeXEnhancements = false
<span class="cm" id="DefaultDisplayMode">default layout of pages. valid values: automatic, single page, facing, book view, continuous,
continuous facing, continuous book view</span>
DefaultDisplayMode = automatic
<span class="cm" id="DefaultZoom">default zoom (in %) or one of those values: fit page, fit width, fit content</span>
DefaultZoom = fit page
<span class="cm" id="WindowState">default state of the window. 1 is normal, 2 is maximized, 3 is fullscreen, 4 is minimized</span>
WindowState = 1
<span class="cm" id="WindowPos">default position (x, y) and size (width, height) of the window</span>
WindowPos = 0 0 0 0
<span class="cm" id="ShowToc">if true, we show table of contents (Bookmarks) sidebar if it's present in the document</span>
ShowToc = true
<span class="cm" id="SidebarDx">width of favorites/bookmarks sidebar (if shown)</span>
SidebarDx = 0
<span class="cm" id="TocDy">if both favorites and bookmarks parts of sidebar are visible, this is the height of bookmarks (table
of contents) part</span>
TocDy = 0
<span class="cm" id="ShowStartPage">if true, we show a list of frequently read documents when no document is loaded</span>
ShowStartPage = true
<span class="cm" id="UseTabs">if true, documents are opened in tabs instead of new windows (introduced in version 3.0)</span>
UseTabs = true
<span class="cm" id="FileStates">information about opened files (in most recently used order)</span>
FileStates [
[
<span class="cm" id="FileStates_FilePath">path of the document</span>
FilePath =
<span class="cm" id="FileStates_Favorites">Values which are persisted for bookmarks/favorites</span>
Favorites [
[
<span class="cm" id="Favorites_Name">name of this favorite as shown in the menu</span>
Name =
<span class="cm" id="Favorites_PageNo">number of the bookmarked page</span>
PageNo = 0
<span class="cm" id="Favorites_PageLabel">label for this page (only present if logical and physical page numbers are not the same)</span>
PageLabel =
]
]
<span class="cm" id="FileStates_IsPinned">a document can be "pinned" to the Frequently Read list so that it isn't displaced by recently
opened documents</span>
IsPinned = false
<span class="cm" id="FileStates_IsMissing">if true, the file is considered missing and won't be shown in any list</span>
IsMissing = false
<span class="cm" id="FileStates_OpenCount">number of times this document has been opened recently</span>
OpenCount = 0
<span class="cm" id="FileStates_DecryptionKey">data required to open a password protected document without having to ask for the password again</span>
DecryptionKey =
<span class="cm" id="FileStates_UseDefaultState">if true, we use global defaults when opening this file (instead of the values below)</span>
UseDefaultState = false
<span class="cm" id="FileStates_DisplayMode">layout of pages. valid values: automatic, single page, facing, book view, continuous, continuous
facing, continuous book view</span>
DisplayMode = automatic
<span class="cm" id="FileStates_ScrollPos">how far this document has been scrolled (in x and y direction)</span>
ScrollPos = 0 0
<span class="cm" id="FileStates_PageNo">number of the last read page</span>
PageNo = 1
<span class="cm" id="FileStates_Zoom">zoom (in %) or one of those values: fit page, fit width, fit content</span>
Zoom = fit page
<span class="cm" id="FileStates_Rotation">how far pages have been rotated as a multiple of 90 degrees</span>
Rotation = 0
<span class="cm" id="FileStates_WindowState">state of the window. 1 is normal, 2 is maximized, 3 is fullscreen, 4 is minimized</span>
WindowState = 0
<span class="cm" id="FileStates_WindowPos">default position (can be on any monitor)</span>
WindowPos = 0 0 0 0
<span class="cm" id="FileStates_ShowToc">if true, we show table of contents (Bookmarks) sidebar if it's present in the document</span>
ShowToc = true
<span class="cm" id="FileStates_SidebarDx">width of the left sidebar panel containing the table of contents</span>
SidebarDx = 0
<span class="cm" id="FileStates_DisplayR2L">if true, the document is displayed right-to-left in facing and book view modes (only used for
comic book documents)</span>
DisplayR2L = false
<span class="cm" id="FileStates_ReparseIdx">data required to restore the last read page in the ebook UI</span>
ReparseIdx = 0
<span class="cm" id="FileStates_TocState">data required to determine which parts of the table of contents have been expanded</span>
TocState =
]
]
<span class="cm" id="SessionData">state of the last session, usage depends on RestoreSession (introduced in version 3.1)</span>
SessionData [
[
<span class="cm" id="SessionData_TabStates">data required for restoring the view state of a single tab</span>
TabStates [
[
<span class="cm" id="TabStates_FilePath">path of the document</span>
FilePath =
<span class="cm" id="TabStates_DisplayMode">same as FileStates -> DisplayMode</span>
DisplayMode = automatic
<span class="cm" id="TabStates_PageNo">number of the last read page</span>
PageNo = 1
<span class="cm" id="TabStates_Zoom">same as FileStates -> Zoom</span>
Zoom = fit page
<span class="cm" id="TabStates_Rotation">same as FileStates -> Rotation</span>
Rotation = 0
<span class="cm" id="TabStates_ScrollPos">how far this document has been scrolled (in x and y direction)</span>
ScrollPos = 0 0
<span class="cm" id="TabStates_ShowToc">if true, the table of contents was shown when the document was closed</span>
ShowToc = true
<span class="cm" id="TabStates_TocState">same as FileStates -> TocState</span>
TocState =
]
]
<span class="cm" id="SessionData_TabIndex">index of the currently selected tab (1-based)</span>
TabIndex = 1
<span class="cm" id="SessionData_WindowState">same as FileState -> WindowState</span>
WindowState = 0
<span class="cm" id="SessionData_WindowPos">default position (can be on any monitor)</span>
WindowPos = 0 0 0 0
<span class="cm" id="SessionData_SidebarDx">width of favorites/bookmarks sidebar (if shown)</span>
SidebarDx = 0
]
]
<span class="cm" id="ReopenOnce">data required for reloading documents after an auto-update (introduced in version 3.0)</span>
ReopenOnce =
<span class="cm" id="TimeOfLastUpdateCheck">data required to determine when SumatraPDF last checked for updates</span>
TimeOfLastUpdateCheck = 0 0
<span class="cm" id="OpenCountWeek">value required to determine recency for the OpenCount value in FileStates</span>
OpenCountWeek = 0
</pre>
<div class="desc">
<h3 id="color">Syntax for color values</h3>
<p>
The syntax for colors is: <code>#rrggbb</code>.</p>
<p>The components are hex values (ranging from 00 to FF) and stand for:
<ul>
<li><code>rr</code> : red component</li>
<li><code>gg</code> : green component</li>
<li><code>bb</code> : blue component</li>
</ul>
For example #ff0000 means red color. You can use <a href="http://www.colorpicker.com/">
Color Picker</a> or <a href="http://mudcu.be/sphere/">Sphere</a> or
<a href="http://colorschemedesigner.com/">ColorScheme Designer</a> to pick a color.
</p>
</div>
</body>
</html>
================================================
FILE: docs/sumatrapdfrestrict.ini
================================================
; This is an example configuration file which can be used
; to disable some of SumatraPDF's functionality.
; To apply this configuration, copy this file into
; the same directory as SumatraPDF.exe.
; All settings listed below can have a value of either
; 0 for disabling the feature or 1 for enabling the feature
; (missing settings default to 0).
[Policies]
; Whether SumatraPDF should be allowed to access the Internet.
; Needed for:
; * Checking for updates
; * Sending crash reports
InternetAccess = 1
; Whether SumatraPDF should allow access to the file system.
; Needed for:
; * Opening files through dialog
; * Saving file or bookmark shortcut
; * Opening a web browser after a click on a hyperlink
; * Launching external PDF viewers, LaTeX source editors or media players
; * Displaying Frequently Read page (also requires SavePreferences)
; * Reopening recently opened files
; * Print dialog
DiskAccess = 1
; Whether SumatraPDF should save user preferences on exit.
; Needed for:
; * Changing settings
; * Favorites menu
; * Remembering recently opened files (includes Frequently Read page)
SavePreferences = 1
; Whether SumatraPDF should be allowed to write to the Registry.
; Needed for:
; * Making SumatraPDF a default PDF viewer
RegistryAccess = 1
; Whether SumatraPDF should be allowed to print.
; Needed for:
; * Printing (parts of) a document
PrinterAccess = 1
; Whether users should be allowed to select and copy content.
; Needed for:
; * Selecting with the mouse
; * Select all
; * Copying the selection
CopySelection = 1
; Whether SumatraPDF should be allowed to cover the entire screen.
; Needed for:
; * Fullscreen mode and Presentation mode
FullscreenAccess = 1
; What protocols for links inside documents should be passed
; on to the operating system (e.g. for opening a browser).
; Default: http,https,mailto (web links and email addresses)
LinkProtocols = http,https,mailto
; What file types should be opened in an external application
; if they're linked to by a (PDF) document and can't be opened
; within SumatraPDF itself (use "*" for all types)
; These file types are stored as "PerceivedType" in the Registry,
; common values: audio, video, image, document, text, system
; Default: audio,video,webpage
SafeFileTypes = audio,video,webpage
================================================
FILE: docs/wishlist-lua.txt
================================================
## Idea
Write as much of Sumatra as possible in Lua
## Why
1. Writing Sumatra becomes harder and harder due to long compilation times
2. Writing in Lua would be faster thanks to garbage collection, closures and
other higher-level functionality
3. As a result of 1, testing different approaches (e.g. to layout system) is
too expensive so we don't do it. With lua we could hopefully test various
things by writing small scripts
4. We're writing half-assed functionality that Lua would give us for free.
Layout definitions that we parse from text (EbookWinDesc.txt) could be lua
script.
Settings file could be de(serialized) lua data.
MuiCss.h is a semi-dynamic system that would naturally could be done via lua
objects.
5. With lua it would be possible to add new code to running app, without the
long re-compilation needed with C.
## How
The ultimate goal would be to have lua be the driver and call C functions
(as opposed to C code calling Lua scripts).
The road from here to that will be long. Here's a possible approach:
- validate writing UI code with luajit is sensible by writing sample apps.
In those apps recreate some of the Sumatra functionality.
- write luajit FFI bindings to libraries we use
- integrate luajit and replace some small functionality with lua code
(e.g. parsing layout definitions)
- everything else
Such project would require lots of effort and would take a long time but I'm
very interested in exploring this approach.
## References
LuaJit
. http://luajit.org/
. Because it's faster than Lua and has great FFI which allows calling Windows
APIs
MoonScript
. http://moonscript.org
. Because it's much better syntax than Lua (inspired by CoffeeScript) and
it's fully interoperable with Lua (it compiles to Lua)
Various win32 API bindings
https://code.google.com/p/lua-files/source/browse/#hg%2Fwinapi
https://github.com/Wiladams/LJIT2Win32
https://github.com/Wiladams/TINN
================================================
FILE: docs/wishlist-tabs.txt
================================================
Summary of tab-related work.
TBD means "to be designed" i.e. a decision about the behavior must be made
Must have:
. we already are not very good at showing error messages. Need to make sure
that in the tab world, a failure to load document is shown to the user in some
way
. will probably release tabs as 3.0, as it's a big feature
Nice to have:
. tear-off tabs i.e. move out so that tab can become a window or be moved
between windows
. "start page" behaves like in chrome i.e. it stays as a tab when we open new
document (i.e. a document doesn't replace a start page). It can be closed
manually (and re-appears when last tab in the window is closed). We can
provide an option to change the behavior (i.e. don't keep "start page" as
a tab as there's argument that if we only have one document in the window,
we don't have to show tab strip, which saves screen space)
. save and restore session (opened files when tabs enabled and closing a window
with multiple tabs). Like chrome.
Done:
. TBD: go single-process? Currently we might end up with multiple Sumatra processes.
Currently it doesn't matter much but if we implement moving tabs between
windows, it'll be much easier to do it if all windows belong to the same
process. Otherwise we would have to marshall quite a bit of state across
processes.
. tabs must be above all content (i.e. toolbar will be inside the tab) to match
chrome/firefox and also because when we have tabs in ebook window, tab bar
would jump around the window since there is no toolbar in ebook window
. TBD: when a document is loaded as tab, the size of the window over-rides
the size previously remembered. But should we remember that size or try
to preserve the size from the time it was the only document in the window?
Probably remember as otherwise it'll be complicated and the rule would be
rather magical (which is not a good thing).
. tab support in ebook window
================================================
FILE: docs/wishlist.txt
================================================
A list of random ideas, big and small. In no particular order. Those that are
marked "risky" are likely to cause disturbance to existing code, so should be
done at the beginning of the dev cycle. I also estimate the complexity (time to
implement) as low/med/high
-- fullscreen (low)
See if http://stackoverflow.com/questions/2382464/win32-full-screen-and-hiding-taskbar
has better way of switching to fullscreen
-- text viewer (high)
Important thing: make it work even with gigantic files by limiting how much of
the file we load in memory (1-10 MB?). We would only build and index for each
line, consisting of:
* position in the file
* length in bytes
* encoding (to support various encodings; but we would start by only supporting
ascii/utf8)
* measured size of this line
We would build that index for the whole file in the background thread, then
only load the needed part as the user scrolls through the document.
-- hex viewer (high)
-- search for ebook UI (med)
-- thumbnails (med)
Many viewers have an option to navigate document via thumbnails.
For perf, we could cache thumbnails as a single, webp-encoded image + info
about where a thumbnail for a given page is within the image (similar to
sprite technique in web dev)
-- wclang build (med)
To get static analysis from clang, use wclang (https://github.com/tpoechtrager/wclang).
Would require writing a makefile and probably code changes to acommodate
mingw winapi headers.
Then would need another buildbot script (wclang only works on Linux).
-- toolbar improvements (med, risky)
Ditch using toolbar control for the toolbar and use more mui-like approach.
That would allow us to have overlaid toolbar (shown semi-transparent over the
content). Also we could add an option to make it vertical. Also an option to
have it user-configurable (via advanced settings, allow specifying the order
of controls in the toolbar).
This would also help in unifying full-screen modes (overlaid, auto-hidden
toolbar is a better match for full-screen mode than the current one).
-- change fit width mode
Make all pages have uniform size. Currently they all have uniform zoom ratio
and one big page can make other pages really small.
-- better looking notifications (med)
Visual style of notifications is dated. Use more modern look e.g. inspired by
Chrome or Android.
-- loading errors are not always reported (low)
In some cases we don't show document loading errors (e.g. drag&drop a file that
fails to load). We need to show them as notifications
-- more detail when page doesn't render
I think we sometimes get bug reports when PDF page doesn't render because of
running out of memory. It would be good to show the exact cause of page
rendering failure instead of generic "failed to render" message.
-- faster re-layout for ebooks (med, risky)
Layout time is dominated by measuring strings.
Split layout into 2 or 3 phases:
* generate instructions (text fragments, images, font/style changes etc.)
* measure strings, images etc.
* calculating positions of the elements given page dx/dy and break them into pages
When users resizes the window, we would only need to redo phase 3. A small
complication: when a string doesn't fit in a single line, we need to split
it into to string instructions. We would need to be able to do it e.g. by
adding a "compound" instruction, that just contains one or more other instructions.
That way the istruction stream would be almost-immutable, and we could turn
a e.g. a long string into 2 smaller strings by replacing string instruction with
"compound" instructions that points to the original string instructions (so that we
can undo that in the next layout) and 2 or more substrings.
Changing default font would require redoing phase 2 and 3.
-- ebook: re-introduce preserving top of page after re-layout (risky, med)
The code to preserve current top of page after re-layout was so complicated
that I had to remove it in order to implement dual pages in ebook mode.
It would be nice to bring it back in a saner way and without the problem
of breaking the styling.
It would be easier if we implement faster re-layout as described above and
have every element remember its reparse point (instead of having it on a
per-page basis).
That way we would generate instructions just once. A page would just be:
(index of first instruction, number of instructions).
We could avoid breaking styling because now we have access to the whole instruction
stream and we could quickly scan back instructions from any point to find
formatting instructions and recover current styling.
-- improve find UI (med, risky)
The one I like the best is in Chrome browser (with
modification needed for specyfing search parameters like case sensitivity
and additions like 'match whole words' modifier). Another nice implementation
is in Kindle PC reader.
We could then free up significant amount of space in the toolbar.
-- manual cropping of margins for PDFs (med, risky)
Screen space is always at premium and most PDFs have very wasteful
margins. Good Reader has a really nice feature for manual cropping of margins
(http://www.goodiware.com/gr-man-view-pdf.html#crop). They have a mode for
manually selecting visible part of the PDF, similar to how many graphics
program implement cropping. Cropping can be set for all pages or separately
for odd/even pages. Cropping can also be reset. After cropping, the program
only shows the non-cropped part. This would be especially valuable for small
screens (netbooks/small laptops).
Note: Automatic cropping is currently implemented as "Fit Content" View mode.
Note to note: it's similar but not really the same. One big difference is that
with this style of cropping, for the purpose of layout and display the cropped
part doesn't exist. Fit Content positions the page so that it's out of the view,
but change zoom and it's really there.
Plus, automatic cropping has limitations. There are many cases where a PDF has
lots of white-space but cannot be cropped because has some small thing there,
like a page number.
-- Editing/saving of PDF forms (high)
-- PDF JavaScript support using mujs (low, risky)
-- Integration with web-based backup/viewer system (high)
The idea is that users could easily backup their PDFs on the server. They would
have a convenient access to those PDFs from Sumatra as well as being able to
view them on the web. Basically it would be private Scribd for PDFs only. The
web service would have to be paid (since on-line storage is rather expensive)
but there would be free accounts (with quota, similar to how Dropbox works).
-- Direct integration with Dropbox (high)
They have APIs. Being able to list, download and read PDF files in Dropbox
account. Not sure if that makes sense, though, since having Dropbox pretty much
means the files are locally anyway.
-- Integration with Scribd (high)
As an alternative (or addition) to Dropbox integration. Being able to search for
PDF documents on Scribd and download/view them in Sumatra. They have APIs
(http://www.scribd.com/developers).
-- Document library management (high)
Similar to how e.g. Picasa manages photos or iTunes anages mp3 files.
User would tell us which directories contain PDF and oher supported files
(or, on Win 7, we could use windows search or scan the whole hard-drive to
automatically find all files). We would index the files (their filenames, metadata,
maybe extract text for full-text search), build thumbnails and allow efficient
browsing/searching those files.
This would be a good feature for those who have large collections of PDFs
(compared to using file explorer or open file dialog for locating the file).
-- Native client version (super high)
https://developers.google.com/native-client/.
There are some challenges (need completely custom UI, fonts aren't as easy
to get at, CHM support would be much harder). The upside is we would have
no-install, browser hosted (well, at least in Chrome) app.
-- mac version (super high)
-- use SafeInt (low)
We have quite a few places where we do integer overflow checks. Explore
doing that in a systematic way, using SafeInt (http://safeint.codeplex.com/) or
similar library (or extract useful stuff for us from SafeInt)
-- use pdfium (high)
Google released https://pdfium.googlesource.com/pdfium/ which is Foxit codebase
under BSD license.
It would probably be a bunch of work to integrate this (although at first it
could be done alongside mupdf, since we have necessary abstractions to plug
another engine). So that's the downside.
I've briefly looked at the code and it might have some benefits over mupdf:
* they have hooks for form editing (which should make implementing this much
easier)
* their priting code looks more efficient
* they probably support some of the more advanced PDF features
* they are probably faster and (thanks to Google) more secure
================================================
FILE: drmem-sup.txt
================================================
# Supressions for DrMemory
# Run as: ..\drmemory\bin\drmemory.exe -suppress drmem-sup.txt -- .\rel\SumatraPDF.exe
# Probably needs to be updated for different OS versions
# quite a few false positives come from inside __scrt_common_main_seh
#
# Suppression for startup code
UNINITIALIZED READ
name=crt startup issues
...
SumatraPDF.exe!__scrt_common_main_seh
# wcslen in crt startup
UNADDRESSABLE ACCESS
name=wcslen in crt startup
SumatraPDF.exe!wcsnlen
...
SumatraPDF.exe!__scrt_common_main_seh
KERNEL32.dll!BaseThreadInitThunk
# wcslen from str::FmtV
UNADDRESSABLE ACCESS
name=wcslen from FmtV
SumatraPDF.exe!wcsnlen
...
SumatraPDF.exe!str::FmtV
# parallels driver
UNINITIALIZED READ
name=parallels driver
...
PrlToolsShellExt.dll!*
# GetLocaleInfoW
UNINITIALIZED READ
name=GetLocaleInfoW
...
SumatraPDF.exe!GetMeasurementSystem
# GetUserInfoWord
UNINITIALIZED READ
name=GetUserInfoWord
KERNELBASE.dll!GetUserInfoWord
...
SumatraPDF.exe!FormatSystemTime
# GetDateFormatW from kernelbase.dll and kernel32.dll
UNINITIALIZED READ
name=GetDateFormatW
*!GetDateFormatW
...
SumatraPDF.exe!FormatSystemTime
# GetUserInfo
UNINITIALIZED READ
name=GetUserInfo
KERNELBASE.dll!GetUserInfo
# weird leak
LEAK
name=weird leak
...
SumatraPDF.exe!pre_c_initialization
# ddjvu_context_create
UNINITIALIZED READ
name=ddjvu_context_create
...
SumatraPDF.exe!ddjvu_context_create
# ddjvu_context_create #2
UNADDRESSABLE ACCESS
name=ddjvu_context_create #2
...
SumatraPDF.exe!ddjvu_context_create
================================================
FILE: ext/CHMLib/AUTHORS
================================================
Jed Wing <jedwin@ugcs.caltech.edu>
includes modified LZX code from cabextract-0.5 by Stuart Caie.
Thanks to:
iDEFENSE for reporting the stack overflow vulnerability.
Palasik Sandor for reporting and fixing the LZX buffer overrun vulnerability.
David Huseby for enhancements to the chm_enumerate functionality.
Vitaly Bursov for compilation fixes for x86-64.
Vadim Zeitlin for a patch to clean up and fix some deficiencies in the
configure script.
Stan Tobias for bugfixes and index-page improvement to chm_http.
Andrew Hodgetts for major portability improvement.
Rich Erwin for his work towards Windows CE support.
Pabs for bug fixes and suggestions.
Antony Dovgal for setting up autoconf/automake based build process.
Ragnar Hojland Espinosa for patches to make chm_http more useful.
Razvan Cojocaru for forwarding along information regarding building on OS X.
Anyone else I've forgotten.
================================================
FILE: ext/CHMLib/COPYING
================================================
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations
below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
^L
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it
becomes a de-facto standard. To achieve this, non-free programs must
be allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
^L
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control
compilation and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
^L
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
^L
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least
three years, to give the same user the materials specified in
Subsection 6a, above, for a charge no more than the cost of
performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
^L
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
^L
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply, and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License
may add an explicit geographical distribution limitation excluding those
countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
^L
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
^L
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms
of the ordinary General Public License).
To apply these terms, attach the following notices to the library.
It is safest to attach them to the start of each source file to most
effectively convey the exclusion of warranty; and each file should
have at least the "copyright" line and a pointer to where the full
notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or
your school, if any, to sign a "copyright disclaimer" for the library,
if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James
Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
================================================
FILE: ext/CHMLib/NEWS
================================================
Changes from 0.39 to 0.40
- chm_http bug fixed (chm_http begins to refuse connections)
- bashism in contrib/mozilla_helper.sh
- patch to use stdint.h (from Goswin von Brederlow)
- patch to fix soname (from Julien Lemoine, via Kartik Mistry)
- fix for extract_chmLib with empty files (from Paul Wise)
Changes from 0.38 to 0.39
- Security fix: eliminated all uses of alloca and similar, in favor of
malloc/free. This was in response to an iDefense security advisory.
- Added autoconf/automake support (patch from Antony Dovgal)
- Added contrib/mozilla_helper.sh from Kyle Davenport
Changes from 0.37 to 0.38
- Fix for reading some chm files. Running over a large directory of chm
files, about 1% of them turned out to be unreadable. This resulted from
an incomplete understanding of one of the header fields (index_root).
Apparently, this can take negative values other than -1.
- Security fix for extract_chmLib. Pathnames containing a ".." element
will not be extracted. There doesn't seem to be a legitimate reason to
use ".." as a path element in a chm file.
Changes from 0.36 to 0.37
- Major security fix for stack overflow vulnerability:
http://www.sven-tantau.de/public_files/chmlib/chmlib_20051126.txt
- Corrected the broken Makefile.in.
Changes from 0.35 to 0.36
- Major security fix (iDEFENSE Security Advisory IDEF1099 - Stack Overflow
Vulnerability)
- Major security fix from Palasik Sandor (LZX decompression buffer overrun)
- Bugfix/enhancement from David Huseby to make the "what" flags to
chm_enumerate work correctly, and to pass the flags along to the callback
function (via the chmUnitInfo structure) so that the callback doesn't
need to re-parse the filename.
- Compilation fixes for x86-64 from Vitaly V. Bursov.
- Miscellaneous fixes to the configure script, including some significant
cleanup by Vadim Zeitlin. The changes from Vadim should also allow the
configure script to correctly configure the build on OS X, where it was
previously failing to note that pread64 doesn't work.
- Minor update to the Makefile.in to do a mkdir before the install, in case
the specified INSTALLPREFIX directory is non-existent
Changes from 0.32 to 0.35
- UTF-8 filenames, while still not handled correctly, are handled a little
more gracefully. That is to say, the library doesn't fail to open files
with filenames using characters outside the ASCII subset. I'm very
interested in any information as to the "right" way to handle filenames
of this sort.
- Files not containing a compressed section are handled properly, such as
.chw files. These files seem to contain information about compression,
but the information is invalid or empty. The library deals gracefully
with this now.
- Files compressed with different options were not being decompressed
properly. In particular, if the "reset interval" for the compressed
section was other than 2 block sizes, it could fail to read some of the
files.
- The caching system was improved slightly, in conjunction with this
previous bugfix.
Changes from 0.3 to 0.32:
- [Rich Erwin] Minor portability fixes for Windows CE.
- [Pabs] Minor bugfix regarding detecting directory entries versus empty files.
- [Antony Dovgal] autoconf-based build process
- [Ragnar Hojland Espinosa] Feature additions for chm_http:
* Use SO_REUSEADDR
* Allow --bind= and --port= command line arguments
- Simple makefile has been fixed (finally) to use gcc instead of gcc-3.2. (Sorry, everybody!)
Changes from 0.2 to 0.3:
- initial attempt at portability to Win32.
- bugfixes from Stan Tobias:
* memory corruption error with caching system
* case insensitivity, to match with the Windows semantics
- modification to chm_http by Stan Tobias:
* when the user requests the page '/', they get a page with links to
all of the files in the archive
- Andrew Hodgetts has ported the library to Solaris and Irix. See README for details.
- Stuart Caie has granted permission to relicense under the LGPL.
================================================
FILE: ext/CHMLib/NOTES
================================================
CHMLIB 0.40 Installation
=======================
-----
Linux/Unix and Windows (Cygwin)
-----
I. Relevant options:
CHM_MT: build library with synchronization for thread-safety
CHM_USE_PREAD: use pread instead of lseek/read
CHM_USE_IO64: support 64-bit file I/O
Modify the INSTALLPREFIX to change the installation location.
Except on platforms where they need to be disabled, I recommend leaving all
three options enabled. OS X, however, in particular, seems to need pread
and io64 disabled.
II. autoconf/automake-style build
./configure [options]
make
su
make install
III. old-style (plain Makefile) build
cd src
<edit Makefile.simple if necessary>
make -f Makefile.old
su
make install
To use the library, see chm_lib.h, and the included example programs:
test_chmLib.c
enum_chmLib.c
chm_http.c
-------
Windows (MSVC++, Win CE SDK)
-------
I. Relevant options:
CHM_MT: build library with synchronization for thread-safety
II. Windows Standard Build
Unzip ChmLib-vs6.zip in the src directory, and open the ChmLib.dsw file in
Developer Studio. (This was developed on Developer Studio 6. I don't know
if that matters.) You may wish to enable or disable certain features by
adding preprocessor defines under the project settings dialog:
CHM_MT: build library with synchronization for thread-safety
CHM_MT is enabled by default in the Windows build.
The resultant library is called chmlib.lib.
To use the library, see chm_lib.h, and the included example programs:
test_chmLib.c
enum_chmLib.c
chm_http.c
The example programs should also show up in the Visual Studio workspace,
except for chm_http. I don't know enough about Windows network programming
to try to get that one working. Other than that one, all the other examples
run without any problems.
III. Windows CE Build
Unzip ChmLib-ce.zip in the src directory. I don't know much beyond that,
as I have no familiarity with Windows CE, but this should be a good
starting point. These project files are from Rich Erwin, who also supplied
the necessary code changes to get it running.
Sparc (Solaris)
---------------
Andrew Hodgetts has gotten the library compilable and working on Sparc
Solaris machines, with CPUs ranging from a Sun4m (Sparc5) up through an
UltraSparcIII (SunFireV880). He has managed the compilation using both GCC and
SunProC, although, he notes, some modification to the Makefile was required,
since SunProC does not understand the -fPIC flag, which GCC uses for Position
Independent Code.
MIPS (SGI Irix)
---------------
Andrew Hodgetts has gotten the library compilable and working on SGI MIPS
machines running Irix; this was using only the standard MIPS compiler, not GCC.
He reported that the -n32 flag was required in the Makefile. He also reported
that the MIPS compiler was fairly verbose with the warning messages, but that
the simple examples that came with the library seemed to work.
OS X
----
Apparently, various people have gotten the library compiled for OS X. From
what I've heard, the secret is to disable pread and io64, and possibly to use
the 'libtool' from fink, instead of the one included with the standard
developers kit.
BSD variants
----
I've heard that the library has been compiled on BSD variants. I haven't
heard of any particular difficulties.
Other Unix variants
-------------------
The code has been written with an eye on portability. Presently, I've only
personally compiled on Linux and Windows, albeit on a variety of Linux
configurations, but, as reported above, Andrew Hodgetts has reported successful
use of the library on both Solaris machines and MIPS machines.. After I get
version 0.3 out, I may try to get it compiling on some of the machines I have
at work. This code may or may not compile out of the box with, for instance,
*BSD or other Unix variants. I welcome any patches that increase the
portability of this code.
Platforms that I have access to at work, and may attempt to support after
version 0.3:
- AIX
- maybe Tru64
================================================
FILE: ext/CHMLib/README
================================================
CHMLIB 0.40a
===========
-------
SUMMARY
-------
chmlib is a small library designed for accessing MS ITSS files. The ITSS file
format is used for Microsoft Html Help files (.chm), which have been the
predominant medium for software documentation from Microsoft during the past
several years, having superceded the previously used .hlp file format.
Note that this is NOT the same as the OLE structured storage file format used
by MS Excel, Word, and so on. Instead, it is a different file format which
fulfills a similar purpose. Both file formats may be accessed via instances
of the IStorage COM interface, which is essentially an "acts like a
filesystem" interface.
-------
FILE FORMAT SUPPORT
-------
Lookup of files in the archive is supported, and should be relatively quick.
Reading of files in the archive is also supported.
Writing is not supported, but may be added in the future.
In terms of support for the ITSS file format, there are a few places in which
the support provided by this library is not fully general:
1. ITSS files whose names contain UTF-8 characters which are not part of the
ASCII subset will not currently be dealt with gracefully. Currently, the
filenames are not converted from UTF-8, but are instead returned as-is. I'm
very interested in hearing any suggestions as to the "right" way to handle
this.
2. Only version 3 ITSS files are supported at present, though some work has
gone towards divining the differences between different versions of the
file format. It is possible that version 2 ITSS files might work properly
with this library, but unconfirmed.
3. Archives larger than 4 GB should be supported just fine, but if they
contain files larger than 4GB, this library may break. Fortunately, this
seems somewhat unlikely.
If you run into .chm files (or files you suspect are ITSS files) that this
library doesn't work with, please contact me so I can fix the library.
-------
PORTABILITY
-------
This software is maintained on an x86-64 Debian GNU/Linux machine using gcc
4.x. It has been compiled on various other Linux distributions, using versions
of gcc from 2.95 through 4.4. Win32 support is provided.
Chmlib apparently works on OS X, with some tweaks. In particular, disabling
pread and io64 apparently works.
Finally, Andrew Hodgetts has ported to Solaris and IRIX:
On Monday, 7 Oct 2002, Andrew Hodgetts wrote:
> Solaris(Sun):
>
> I used both SunProC and GCC on the solaris machines to compile. They
> both worked ok.
> However, both required -lsocket on the link line of the Makefile or you
> recieve linking errors.
>
> I have this working on CPUs ranging from Sun4m (Sparc5) through to
> UltraSparcIII (SunFireV880).
>
> Irix (SGI):
>
> I only testing with the MIPS compiler (not GCC). All worked ok - lots of
> warning messages, but it always does that.
He further noted that:
> ... for NON GCC compilers, a little tweaking may be required, but nothing too
> complex. ie SunProC doesn't understand -fPIC for library building. Irix
> required -n32 (new 32bit libraries) etc. These are things that someone who
> uses the OS and compiler should be used to dealing with.
-------
CREDITS
-------
* Stuart Caie: the LZX decompression code, and for granting permission to
re-license under the LGPL.
* Sven Tantau: identification of a stack-overflow security flaw and a quick fix
for the problem; identification of a possible security danger in the example
program "extract_chmLib"
* iDEFENSE Labs: identification of a nasty stack-overflow security flaw
* Palasik Sandor: identification of a potential security flaw in lzx.c as well
as a quick fix for the problem
* David Huseby: An excellent patch to the chm_enumerate functionality, relating
to the "what" flags, which didn't work entirely correctly before
* Vadim Zeitlin: Configure script cleanup, including an important update to
allow detection of platforms where pread64 doesn't work. (OS X)
* Vitaly V. Bursov: Compilation on x86-64.
* mc: A suggestion to add a "mkdir" to the install step.
* Stan Tobias: bugfixes and the added 'index page' feature of chm_http.
* Andrew Hodgetts: porting to Solaris and IRIX, as well as fixing some
little-endian biases in the code.
* Rich Erwin: Windows CE support.
* Pabs: bug fixes and suggestions.
* Kartik Mistry: Debian package maintainer
* Antony Dovgal: setting up autoconf/automake based build process.
* Ragnar Hojland Espinosa: patches to make chm_http more useful.
* Razvan Cojocaru: forwarding along information regarding building on OS X.
* Julien Lemoine: creating and maintaining the Debian package of chmlib.
* Prarit Bhargava: Compilation on ia64
* Jean-Marc Vanel: elimination of compilation warnings in extract_chmLib
* Sisyphus & Matej Spiller-Muys: Compilation under MinGW32
* Kyle Davenport: helper script for using chm_http with mozilla
* Matthew Daniel & Mark Rosenstand: help to sort out issues with the build
system.
* Anyone else I've forgotten. (?)
================================================
FILE: ext/CHMLib/src/Makefile.am
================================================
lib_LTLIBRARIES=libchm.la
libchm_la_SOURCES=chm_lib.c lzx.c
libchm_la_LDFLAGS=-version-info 1
include_HEADERS=chm_lib.h lzx.h
if EXAMPLES
bin_PROGRAMS=chm_http enum_chmLib enumdir_chmLib extract_chmLib test_chmLib
enum_chmLib_SOURCES=enum_chmLib.c
enum_chmLib_LDADD=libchm.la
chm_http_SOURCES=chm_http.c
chm_http_LDADD=libchm.la
enumdir_chmLib_SOURCES=enumdir_chmLib.c
enumdir_chmLib_LDADD=libchm.la
extract_chmLib_SOURCES=extract_chmLib.c
extract_chmLib_LDADD=libchm.la
test_chmLib_SOURCES=test_chmLib.c
test_chmLib_LDADD=libchm.la
endif ##EXAMPLES
================================================
FILE: ext/CHMLib/src/Makefile.simple
================================================
## Available defines for building chm_lib with particular options
# CHM_MT: build thread-safe version of chm_lib
# CHM_USE_PREAD: build chm_lib to use pread/pread64 for all I/O
# CHM_USE_IO64: build chm_lib to support 64-bit file I/O
#
# Note: LDFLAGS must contain -lpthread if you are using -DCHM_MT.
#
#CFLAGS=-DCHM_MT -DCHM_USE_PREAD -DCHM_USE_IO64
CFLAGS=-DCHM_MT -DCHM_USE_PREAD -DCHM_USE_IO64 -g -DDMALLOC_DISABLE
LDFLAGS=-lpthread
INSTALLPREFIX=/usr/local
CC=gcc
LD=gcc
LIBTOOL=libtool
CP=/bin/cp
EXAMPLES=test_chmLib enum_chmLib enumdir_chmLib chm_http extract_chmLib
all: libchm.la
examples: ${EXAMPLES}
%.lo: %.c
${LIBTOOL} --mode=compile ${CC} -c -o $@ $^ ${CFLAGS}
libchm.la: chm_lib.lo lzx.lo
${LIBTOOL} --mode=link ${LD} -o $@ $^ ${LDFLAGS} -rpath ${INSTALLPREFIX}/lib
install: libchm.la
chmod a+r libchm.la
${LIBTOOL} --mode=install ${CP} libchm.la ${INSTALLPREFIX}/lib
${CP} chm_lib.h ${INSTALLPREFIX}/include
clean:
rm -fr libchm.la *.o *.lo .libs ${EXAMPLES}
test_chmLib: test_chmLib.c
${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}
enum_chmLib: enum_chmLib.c
${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}
enumdir_chmLib: enumdir_chmLib.c
${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}
extract_chmLib: extract_chmLib.c
${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm ${CFLAGS}
chm_http: chm_http.c
${CC} -o $@ $^ -I${INSTALLPREFIX}/include -L${INSTALLPREFIX}/lib -lchm -lpthread ${CFLAGS}
================================================
FILE: ext/CHMLib/src/chm_http.c
================================================
/* $Id: chm_http.c,v 1.7 2002/10/08 03:43:33 jedwin Exp $ */
/***************************************************************************
* chm_http.c - CHM archive test driver *
* ------------------- *
* *
* author: Jed Wing <jedwin@ugcs.caltech.edu> *
* notes: This is a slightly more complex test driver for the chm *
* routines. It also serves the purpose of making .chm html *
* help files viewable from a text mode browser, which was my *
* original purpose for all of this. *
* *
* It is not included with the expectation that it will be of *
* use to others; nor is it included as an example of a *
* stunningly good implementation of an HTTP server. It is, *
* in fact, probably badly broken for any serious usage. *
* *
* Nevertheless, it is another example program, and it does *
* serve a purpose for me, so I've included it as well. *
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 2.1 of the *
* License, or (at your option) any later version. *
* *
***************************************************************************/
#include "chm_lib.h"
/* standard system includes */
#define _REENTRANT
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#if __sun || __sgi
#include <strings.h>
#define strrchr rindex
#endif
/* includes for networking */
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
/* threading includes */
#include <pthread.h>
#include <getopt.h>
int config_port = 8080;
char config_bind[65536] = "0.0.0.0";
static void usage(const char *argv0)
{
#ifdef CHM_HTTP_SIMPLE
fprintf(stderr, "usage: %s <filename>\n", argv0);
#else
fprintf(stderr, "usage: %s [--port=PORT] [--bind=IP] <filename>\n", argv0);
#endif
exit(1);
}
static void chmhttp_server(const char *filename);
int main(int c, char **v)
{
#ifdef CHM_HTTP_SIMPLE
if (c < 2)
usage(v[0]);
/* run the server */
chmhttp_server(v[1]);
#else
int optindex = 0;
struct option longopts[] =
{
{ "port", required_argument, 0, 'p' },
{ "bind", required_argument, 0, 'b' },
{ "help", no_argument, 0, 'h' },
{ 0, 0, 0, 0 }
};
while (1)
{
int o;
o = getopt_long (c, v, "n:b:h", longopts, &optindex);
if (o < 0)
{
break;
}
switch (o)
{
case 'p':
config_port = atoi (optarg);
if (config_port <= 0)
{
fprintf(stderr, "bad port number (%s)\n", optarg);
exit(1);
}
break;
case 'b':
strncpy (config_bind, optarg, 65536);
config_bind[65535] = '\0';
break;
case 'h':
usage (v[0]);
break;
}
}
if (optind + 1 != c)
{
usage (v[0]);
}
/* run the server */
chmhttp_server(v[optind]);
#endif
/* NOT REACHED */
return 0;
}
struct chmHttpServer
{
int socket;
struct chmFile *file;
};
struct chmHttpSlave
{
int fd;
struct chmHttpServer *server;
};
static void *_slave(void *param);
static void chmhttp_server(const char *filename)
{
struct chmHttpServer server;
struct chmHttpSlave *slave;
struct sockaddr_in bindAddr;
int addrLen;
pthread_t tid;
int one = 1;
/* open file */
if ((server.file = chm_open(filename)) == NULL)
{
fprintf(stderr, "couldn't open file '%s'\n", filename);
exit(2);
}
/* create socket */
server.socket = socket(AF_INET, SOCK_STREAM, 0);
memset(&bindAddr, 0, sizeof(struct sockaddr_in));
bindAddr.sin_family = AF_INET;
bindAddr.sin_port = htons(config_port);
bindAddr.sin_addr.s_addr = inet_addr(config_bind);
if (setsockopt (server.socket, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)))
{
perror ("setsockopt");
exit(3);
}
if (bind(server.socket,
(struct sockaddr *)&bindAddr,
sizeof(struct sockaddr_in)) < 0)
{
close(server.socket);
server.socket = -1;
fprintf(stderr, "couldn't bind to ip %s port %d\n", config_bind, config_port);
exit(3);
}
/* listen for connections */
listen(server.socket, 75);
addrLen = sizeof(struct sockaddr);
while(1)
{
slave = (struct chmHttpSlave *)malloc(sizeof(struct chmHttpSlave));
slave->server = &server;
slave->fd = accept(server.socket, (struct sockaddr *)&bindAddr, &addrLen);
if (slave->fd == -1)
break;
pthread_create(&tid, NULL, _slave, (void *)slave);
pthread_detach(tid);
}
free(slave);
}
static void service_request(int fd, struct chmFile *file);
static void *_slave(void *param)
{
struct chmHttpSlave *slave;
struct chmFile *file;
/* grab our relevant information */
slave = (struct chmHttpSlave *)param;
file = slave->server->file;
/* handle request */
service_request(slave->fd, file);
/* free our resources and return */
close(slave->fd);
free(slave);
return NULL;
}
static const char CONTENT_404[] = "HTTP/1.1 404 File not found\r\nConnection: close\r\nContent-Type: text/html; charset=iso-8859-1\r\n\r\n<html><head><title>404 File Not Found</title></head><body><h1>404 File not found</h1></body></html>\r\n";
static const char CONTENT_500[] = "HTTP/1.1 500 Unknown thing\r\nConnection: close\r\nContent-Type: text/html; charset=iso-8859-1\r\n\r\n<html><head><title>500 Unknown thing</title></head><body><h1>500 Unknown thing</h1></body></html>\r\n";
static const char INTERNAL_ERROR[] = "HTTP/1.1 500 Internal error\r\nConnection: close\r\nContent-Type: text/html; charset=iso-8859-1\r\n\r\n<html><head><title>500 Unknown thing</title></head><body><h1>500 Server error</h1></body></html>\r\n";
struct mime_mapping
{
const char *ext;
const char *ctype;
};
struct mime_mapping mime_types[] =
{ { ".htm", "text/html" },
{ ".html", "text/html" },
{ ".css", "text/css" },
{ ".gif", "image/gif" },
{ ".jpg", "image/jpeg" },
{ ".jpeg", "image/jpeg" },
{ ".jpe", "image/jpeg" },
{ ".bmp", "image/bitmap" },
{ ".png", "image/png" }
};
static const char *lookup_mime(const char *ext)
{
int i;
if (ext != NULL)
{
for (i=0; i<sizeof(mime_types)/sizeof(struct mime_mapping); i++)
{
if (strcasecmp(mime_types[i].ext, ext) == 0)
return mime_types[i].ctype;
}
}
return "application/octet-stream";
}
static int _print_ui_index(struct chmFile *h, struct chmUnitInfo *ui,
void *context)
{
FILE *fout = (FILE*) context;
fprintf(fout,
"<tr>"
"<td align=right>%8d\n</td>"
"<td><a href=\"%s\">%s</a></td>"
"</tr>",
(int)ui->length, ui->path, ui->path);
return CHM_ENUMERATOR_CONTINUE;
}
static void deliver_index(FILE *fout, struct chmFile *file)
{
fprintf(fout,
"HTTP/1.1 200 OK\r\n"
"Connection: close\r\n"
/* "Content-Length: 1000000\r\n" */
"Content-Type: text/html\r\n\r\n"
"<h2><u>CHM contents:</u></h2>"
"<body><table>"
"<tr><td><h5>Size:</h5></td><td><h5>File:</h5></td></tr>"
"<tt>");
if (! chm_enumerate(file, CHM_ENUMERATE_ALL, _print_ui_index, fout))
fprintf(fout,"<br> *** ERROR ***\r\n");
fprintf(fout,"</tt> </table></body></html>");
}
static void deliver_content(FILE *fout, const char *filename, struct chmFile *file)
{
struct chmUnitInfo ui;
const char *ext;
unsigned char buffer[65536];
int swath, offset;
if (strcmp(filename,"/") == 0)
{
deliver_index(fout,file);
fclose(fout);
return;
}
/* try to find the file */
if (chm_resolve_object(file, filename, &ui) != CHM_RESOLVE_SUCCESS)
{
fprintf(fout, CONTENT_404);
fclose(fout);
return;
}
/* send the file back */
ext = strrchr(filename, '.');
fprintf(fout, "HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Length: %d\r\nContent-Type: %s\r\n\r\n",
(int)ui.length,
lookup_mime(ext));
/* pump the data out */
swath = 65536;
offset = 0;
while (offset < ui.length)
{
if ((ui.length - offset) < 65536)
swath = ui.length - offset;
else
swath = 65536;
swath = (int)chm_retrieve_object(file, &ui, buffer, offset, swath);
offset += swath;
fwrite(buffer, 1, swath, fout);
}
fclose(fout);
}
static void service_request(int fd, struct chmFile *file)
{
char buffer[4096];
char buffer2[4096];
char *end;
FILE *fout = fdopen(fd, "w+b");
if (fout == NULL)
{
perror("chm_http: failed to fdopen client stream");
write(fd, INTERNAL_ERROR, strlen(INTERNAL_ERROR));
close(fd);
return;
}
fgets(buffer, 4096, fout);
while (1)
{
if (fgets(buffer2, 4096, fout) == NULL)
break;
if (buffer2[0] == '\r' || buffer2[0] == '\n' || buffer2[0] == '\0')
break;
}
end = strrchr(buffer, ' ');
if (strncmp(end+1, "HTTP", 4) == 0)
*end = '\0';
if (strncmp(buffer, "GET ", 4) == 0)
deliver_content(fout, buffer+4, file);
else
{
fprintf(fout, CONTENT_500);
fclose(fout);
return;
}
}
================================================
FILE: ext/CHMLib/src/chm_lib.c
================================================
/* $Id: chm_lib.c,v 1.19 2003/09/07 13:01:43 jedwin Exp $ */
/***************************************************************************
* chm_lib.c - CHM archive manipulation routines *
* ------------------- *
* *
* author: Jed Wing <jedwin@ugcs.caltech.edu> *
* version: 0.3 *
* notes: These routines are meant for the manipulation of microsoft *
* .chm (compiled html help) files, but may likely be used *
* for the manipulation of any ITSS archive, if ever ITSS *
* archives are used for any other purpose. *
* *
* Note also that the section names are statically handled. *
* To be entirely correct, the section names should be read *
* from the section names meta-file, and then the various *
* content sections and the "transforms" to apply to the data *
* they contain should be inferred from the section name and *
* the meta-files referenced using that name; however, all of *
* the files I've been able to get my hands on appear to have *
* only two sections: Uncompressed and MSCompressed. *
* Additionally, the ITSS.DLL file included with Windows does *
* not appear to handle any different transforms than the *
* simple LZX-transform. Furthermore, the list of transforms *
* to apply is broken, in that only half the required space *
* is allocated for the list. (It appears as though the *
* space is allocated for ASCII strings, but the strings are *
* written as unicode. As a result, only the first half of *
* the string appears.) So this is probably not too big of *
* a deal, at least until CHM v4 (MS .lit files), which also *
* incorporate encryption, of some description. *
* *
* switches: CHM_MT: compile library with thread-safety *
* *
* switches (Linux only): *
* CHM_USE_PREAD: compile library to use pread instead of *
* lseek/read *
* CHM_USE_IO64: compile library to support full 64-bit I/O *
* as is needed to properly deal with the *
* 64-bit file offsets. *
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 2.1 of the *
* License, or (at your option) any later version. *
* *
***************************************************************************/
#include "chm_lib.h"
#ifdef CHM_MT
#define _REENTRANT
#endif
#include "lzx.h"
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#ifdef CHM_DEBUG
#include <stdio.h>
#endif
#if __sun || __sgi
#include <strings.h>
#endif
#ifdef WIN32
#include <windows.h>
#include <malloc.h>
#ifdef _WIN32_WCE
#define strcasecmp _stricmp
#define strncasecmp _strnicmp
#else
#define strcasecmp stricmp
#define strncasecmp strnicmp
#endif
#else
/* basic Linux system includes */
#define _XOPEN_SOURCE 500
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
/* #include <dmalloc.h> */
#endif
/* includes/defines for threading, if using them */
#ifdef CHM_MT
#ifdef WIN32
#define CHM_ACQUIRE_LOCK(a) do { \
EnterCriticalSection(&(a)); \
} while(0)
#define CHM_RELEASE_LOCK(a) do { \
LeaveCriticalSection(&(a)); \
} while(0)
#else
#include <pthread.h>
#define CHM_ACQUIRE_LOCK(a) do { \
pthread_mutex_lock(&(a)); \
} while(0)
#define CHM_RELEASE_LOCK(a) do { \
pthread_mutex_unlock(&(a)); \
} while(0)
#endif
#else
#define CHM_ACQUIRE_LOCK(a) /* do nothing */
#define CHM_RELEASE_LOCK(a) /* do nothing */
#endif
#ifdef WIN32
#define CHM_NULL_FD (INVALID_HANDLE_VALUE)
#define CHM_USE_WIN32IO 1
#define CHM_CLOSE_FILE(fd) CloseHa
gitextract_n015uj4t/
├── .clang-format
├── .gitattributes
├── .gitignore
├── AUTHORS
├── COPYING
├── COPYING.BSD
├── TRANSLATORS
├── appveyor.yml
├── docs/
│ ├── codingstyle.txt
│ ├── mui-html-fusion.txt
│ ├── releasenotes.txt
│ ├── releaseplan.txt
│ ├── settings/
│ │ ├── langs3.1.html
│ │ ├── langs3.2.html
│ │ ├── settings3.1.html
│ │ └── settings3.2.html
│ ├── sumatrapdfrestrict.ini
│ ├── wishlist-lua.txt
│ ├── wishlist-tabs.txt
│ └── wishlist.txt
├── drmem-sup.txt
├── ext/
│ ├── CHMLib/
│ │ ├── AUTHORS
│ │ ├── COPYING
│ │ ├── NEWS
│ │ ├── NOTES
│ │ ├── README
│ │ └── src/
│ │ ├── Makefile.am
│ │ ├── Makefile.simple
│ │ ├── chm_http.c
│ │ ├── chm_lib.c
│ │ ├── chm_lib.h
│ │ ├── enum_chmLib.c
│ │ ├── enumdir_chmLib.c
│ │ ├── extract_chmLib.c
│ │ ├── lzx.c
│ │ ├── lzx.h
│ │ └── test_chmLib.c
│ ├── _patches/
│ │ ├── CHMLib.patch
│ │ ├── bzip2.patch
│ │ ├── freetype2.patch
│ │ ├── libdjvu.patch
│ │ ├── libjpeg-turbo.patch
│ │ ├── openjpeg.patch
│ │ └── synctex.patch
│ ├── bzip2/
│ │ ├── CHANGES
│ │ ├── LICENSE
│ │ ├── blocksort.c
│ │ ├── bz_internal_error.c
│ │ ├── bzip_all.c
│ │ ├── bzlib.c
│ │ ├── bzlib.h
│ │ ├── bzlib_private.h
│ │ ├── compress.c
│ │ ├── crctable.c
│ │ ├── decompress.c
│ │ ├── huffman.c
│ │ └── randtable.c
│ ├── freetype2/
│ │ ├── ChangeLog
│ │ ├── FTL.TXT
│ │ ├── config/
│ │ │ ├── ft2build.h
│ │ │ ├── sumatrapdf_ftmodule.h
│ │ │ └── sumatrapdf_ftoption.h
│ │ ├── include/
│ │ │ ├── config/
│ │ │ │ ├── ftconfig.h
│ │ │ │ ├── ftheader.h
│ │ │ │ ├── ftmodule.h
│ │ │ │ ├── ftoption.h
│ │ │ │ └── ftstdlib.h
│ │ │ ├── freetype.h
│ │ │ ├── ft2build.h
│ │ │ ├── ftadvanc.h
│ │ │ ├── ftautoh.h
│ │ │ ├── ftbbox.h
│ │ │ ├── ftbdf.h
│ │ │ ├── ftbitmap.h
│ │ │ ├── ftbzip2.h
│ │ │ ├── ftcache.h
│ │ │ ├── ftcffdrv.h
│ │ │ ├── ftchapters.h
│ │ │ ├── ftcid.h
│ │ │ ├── fterrdef.h
│ │ │ ├── fterrors.h
│ │ │ ├── ftgasp.h
│ │ │ ├── ftglyph.h
│ │ │ ├── ftgxval.h
│ │ │ ├── ftgzip.h
│ │ │ ├── ftimage.h
│ │ │ ├── ftincrem.h
│ │ │ ├── ftlcdfil.h
│ │ │ ├── ftlist.h
│ │ │ ├── ftlzw.h
│ │ │ ├── ftmac.h
│ │ │ ├── ftmm.h
│ │ │ ├── ftmodapi.h
│ │ │ ├── ftmoderr.h
│ │ │ ├── ftotval.h
│ │ │ ├── ftoutln.h
│ │ │ ├── ftpfr.h
│ │ │ ├── ftrender.h
│ │ │ ├── ftsizes.h
│ │ │ ├── ftsnames.h
│ │ │ ├── ftstroke.h
│ │ │ ├── ftsynth.h
│ │ │ ├── ftsystem.h
│ │ │ ├── fttrigon.h
│ │ │ ├── ftttdrv.h
│ │ │ ├── fttypes.h
│ │ │ ├── ftwinfnt.h
│ │ │ ├── ftxf86.h
│ │ │ ├── internal/
│ │ │ │ ├── autohint.h
│ │ │ │ ├── ftcalc.h
│ │ │ │ ├── ftdebug.h
│ │ │ │ ├── ftdriver.h
│ │ │ │ ├── ftgloadr.h
│ │ │ │ ├── ftmemory.h
│ │ │ │ ├── ftobjs.h
│ │ │ │ ├── ftpic.h
│ │ │ │ ├── ftrfork.h
│ │ │ │ ├── ftserv.h
│ │ │ │ ├── ftstream.h
│ │ │ │ ├── fttrace.h
│ │ │ │ ├── ftvalid.h
│ │ │ │ ├── internal.h
│ │ │ │ ├── psaux.h
│ │ │ │ ├── pshints.h
│ │ │ │ ├── services/
│ │ │ │ │ ├── svbdf.h
│ │ │ │ │ ├── svcid.h
│ │ │ │ │ ├── svgldict.h
│ │ │ │ │ ├── svgxval.h
│ │ │ │ │ ├── svkern.h
│ │ │ │ │ ├── svmm.h
│ │ │ │ │ ├── svotval.h
│ │ │ │ │ ├── svpfr.h
│ │ │ │ │ ├── svpostnm.h
│ │ │ │ │ ├── svprop.h
│ │ │ │ │ ├── svpscmap.h
│ │ │ │ │ ├── svpsinfo.h
│ │ │ │ │ ├── svsfnt.h
│ │ │ │ │ ├── svttcmap.h
│ │ │ │ │ ├── svtteng.h
│ │ │ │ │ ├── svttglyf.h
│ │ │ │ │ ├── svwinfnt.h
│ │ │ │ │ └── svxf86nm.h
│ │ │ │ ├── sfnt.h
│ │ │ │ ├── t1types.h
│ │ │ │ └── tttypes.h
│ │ │ ├── t1tables.h
│ │ │ ├── ttnameid.h
│ │ │ ├── tttables.h
│ │ │ ├── tttags.h
│ │ │ └── ttunpat.h
│ │ └── src/
│ │ ├── Jamfile
│ │ ├── autofit/
│ │ │ ├── Jamfile
│ │ │ ├── afangles.c
│ │ │ ├── afangles.h
│ │ │ ├── afblue.c
│ │ │ ├── afblue.cin
│ │ │ ├── afblue.h
│ │ │ ├── afblue.hin
│ │ │ ├── afcjk.c
│ │ │ ├── afcjk.h
│ │ │ ├── afcover.h
│ │ │ ├── afdummy.c
│ │ │ ├── afdummy.h
│ │ │ ├── aferrors.h
│ │ │ ├── afglobal.c
│ │ │ ├── afglobal.h
│ │ │ ├── afhints.c
│ │ │ ├── afhints.h
│ │ │ ├── afindic.c
│ │ │ ├── afindic.h
│ │ │ ├── aflatin.c
│ │ │ ├── aflatin.h
│ │ │ ├── aflatin2.c
│ │ │ ├── aflatin2.h
│ │ │ ├── afloader.c
│ │ │ ├── afloader.h
│ │ │ ├── afmodule.c
│ │ │ ├── afmodule.h
│ │ │ ├── afpic.c
│ │ │ ├── afpic.h
│ │ │ ├── afranges.c
│ │ │ ├── afranges.h
│ │ │ ├── afscript.h
│ │ │ ├── afstyles.h
│ │ │ ├── aftypes.h
│ │ │ ├── afwarp.c
│ │ │ ├── afwarp.h
│ │ │ ├── afwrtsys.h
│ │ │ ├── autofit.c
│ │ │ ├── hbshim.c
│ │ │ ├── hbshim.h
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── base/
│ │ │ ├── Jamfile
│ │ │ ├── basepic.c
│ │ │ ├── basepic.h
│ │ │ ├── ftadvanc.c
│ │ │ ├── ftapi.c
│ │ │ ├── ftbase.c
│ │ │ ├── ftbase.h
│ │ │ ├── ftbbox.c
│ │ │ ├── ftbdf.c
│ │ │ ├── ftbitmap.c
│ │ │ ├── ftcalc.c
│ │ │ ├── ftcid.c
│ │ │ ├── ftdbgmem.c
│ │ │ ├── ftdebug.c
│ │ │ ├── ftfstype.c
│ │ │ ├── ftgasp.c
│ │ │ ├── ftgloadr.c
│ │ │ ├── ftglyph.c
│ │ │ ├── ftgxval.c
│ │ │ ├── ftinit.c
│ │ │ ├── ftlcdfil.c
│ │ │ ├── ftmac.c
│ │ │ ├── ftmm.c
│ │ │ ├── ftobjs.c
│ │ │ ├── ftotval.c
│ │ │ ├── ftoutln.c
│ │ │ ├── ftpatent.c
│ │ │ ├── ftpfr.c
│ │ │ ├── ftpic.c
│ │ │ ├── ftrfork.c
│ │ │ ├── ftsnames.c
│ │ │ ├── ftstream.c
│ │ │ ├── ftstroke.c
│ │ │ ├── ftsynth.c
│ │ │ ├── ftsystem.c
│ │ │ ├── fttrigon.c
│ │ │ ├── fttype1.c
│ │ │ ├── ftutil.c
│ │ │ ├── ftwinfnt.c
│ │ │ ├── ftxf86.c
│ │ │ ├── md5.c
│ │ │ ├── md5.h
│ │ │ └── rules.mk
│ │ ├── bdf/
│ │ │ ├── Jamfile
│ │ │ ├── README
│ │ │ ├── bdf.c
│ │ │ ├── bdf.h
│ │ │ ├── bdfdrivr.c
│ │ │ ├── bdfdrivr.h
│ │ │ ├── bdferror.h
│ │ │ ├── bdflib.c
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── bzip2/
│ │ │ ├── Jamfile
│ │ │ ├── ftbzip2.c
│ │ │ └── rules.mk
│ │ ├── cache/
│ │ │ ├── Jamfile
│ │ │ ├── ftcache.c
│ │ │ ├── ftcbasic.c
│ │ │ ├── ftccache.c
│ │ │ ├── ftccache.h
│ │ │ ├── ftccback.h
│ │ │ ├── ftccmap.c
│ │ │ ├── ftcerror.h
│ │ │ ├── ftcglyph.c
│ │ │ ├── ftcglyph.h
│ │ │ ├── ftcimage.c
│ │ │ ├── ftcimage.h
│ │ │ ├── ftcmanag.c
│ │ │ ├── ftcmanag.h
│ │ │ ├── ftcmru.c
│ │ │ ├── ftcmru.h
│ │ │ ├── ftcsbits.c
│ │ │ ├── ftcsbits.h
│ │ │ └── rules.mk
│ │ ├── cff/
│ │ │ ├── Jamfile
│ │ │ ├── cf2arrst.c
│ │ │ ├── cf2arrst.h
│ │ │ ├── cf2blues.c
│ │ │ ├── cf2blues.h
│ │ │ ├── cf2error.c
│ │ │ ├── cf2error.h
│ │ │ ├── cf2fixed.h
│ │ │ ├── cf2font.c
│ │ │ ├── cf2font.h
│ │ │ ├── cf2ft.c
│ │ │ ├── cf2ft.h
│ │ │ ├── cf2glue.h
│ │ │ ├── cf2hints.c
│ │ │ ├── cf2hints.h
│ │ │ ├── cf2intrp.c
│ │ │ ├── cf2intrp.h
│ │ │ ├── cf2read.c
│ │ │ ├── cf2read.h
│ │ │ ├── cf2stack.c
│ │ │ ├── cf2stack.h
│ │ │ ├── cf2types.h
│ │ │ ├── cff.c
│ │ │ ├── cffcmap.c
│ │ │ ├── cffcmap.h
│ │ │ ├── cffdrivr.c
│ │ │ ├── cffdrivr.h
│ │ │ ├── cfferrs.h
│ │ │ ├── cffgload.c
│ │ │ ├── cffgload.h
│ │ │ ├── cffload.c
│ │ │ ├── cffload.h
│ │ │ ├── cffobjs.c
│ │ │ ├── cffobjs.h
│ │ │ ├── cffparse.c
│ │ │ ├── cffparse.h
│ │ │ ├── cffpic.c
│ │ │ ├── cffpic.h
│ │ │ ├── cfftoken.h
│ │ │ ├── cfftypes.h
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── cid/
│ │ │ ├── Jamfile
│ │ │ ├── ciderrs.h
│ │ │ ├── cidgload.c
│ │ │ ├── cidgload.h
│ │ │ ├── cidload.c
│ │ │ ├── cidload.h
│ │ │ ├── cidobjs.c
│ │ │ ├── cidobjs.h
│ │ │ ├── cidparse.c
│ │ │ ├── cidparse.h
│ │ │ ├── cidriver.c
│ │ │ ├── cidriver.h
│ │ │ ├── cidtoken.h
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ └── type1cid.c
│ │ ├── gxvalid/
│ │ │ ├── Jamfile
│ │ │ ├── README
│ │ │ ├── gxvalid.c
│ │ │ ├── gxvalid.h
│ │ │ ├── gxvbsln.c
│ │ │ ├── gxvcommn.c
│ │ │ ├── gxvcommn.h
│ │ │ ├── gxverror.h
│ │ │ ├── gxvfeat.c
│ │ │ ├── gxvfeat.h
│ │ │ ├── gxvfgen.c
│ │ │ ├── gxvjust.c
│ │ │ ├── gxvkern.c
│ │ │ ├── gxvlcar.c
│ │ │ ├── gxvmod.c
│ │ │ ├── gxvmod.h
│ │ │ ├── gxvmort.c
│ │ │ ├── gxvmort.h
│ │ │ ├── gxvmort0.c
│ │ │ ├── gxvmort1.c
│ │ │ ├── gxvmort2.c
│ │ │ ├── gxvmort4.c
│ │ │ ├── gxvmort5.c
│ │ │ ├── gxvmorx.c
│ │ │ ├── gxvmorx.h
│ │ │ ├── gxvmorx0.c
│ │ │ ├── gxvmorx1.c
│ │ │ ├── gxvmorx2.c
│ │ │ ├── gxvmorx4.c
│ │ │ ├── gxvmorx5.c
│ │ │ ├── gxvopbd.c
│ │ │ ├── gxvprop.c
│ │ │ ├── gxvtrak.c
│ │ │ ├── module.mk
│ │ │ └── rules.mk
│ │ ├── gzip/
│ │ │ ├── Jamfile
│ │ │ ├── adler32.c
│ │ │ ├── ftgzip.c
│ │ │ ├── infblock.c
│ │ │ ├── infblock.h
│ │ │ ├── infcodes.c
│ │ │ ├── infcodes.h
│ │ │ ├── inffixed.h
│ │ │ ├── inflate.c
│ │ │ ├── inftrees.c
│ │ │ ├── inftrees.h
│ │ │ ├── infutil.c
│ │ │ ├── infutil.h
│ │ │ ├── rules.mk
│ │ │ ├── zconf.h
│ │ │ ├── zlib.h
│ │ │ ├── zutil.c
│ │ │ └── zutil.h
│ │ ├── lzw/
│ │ │ ├── Jamfile
│ │ │ ├── ftlzw.c
│ │ │ ├── ftzopen.c
│ │ │ ├── ftzopen.h
│ │ │ └── rules.mk
│ │ ├── otvalid/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── otvalid.c
│ │ │ ├── otvalid.h
│ │ │ ├── otvbase.c
│ │ │ ├── otvcommn.c
│ │ │ ├── otvcommn.h
│ │ │ ├── otverror.h
│ │ │ ├── otvgdef.c
│ │ │ ├── otvgpos.c
│ │ │ ├── otvgpos.h
│ │ │ ├── otvgsub.c
│ │ │ ├── otvjstf.c
│ │ │ ├── otvmath.c
│ │ │ ├── otvmod.c
│ │ │ ├── otvmod.h
│ │ │ └── rules.mk
│ │ ├── pcf/
│ │ │ ├── Jamfile
│ │ │ ├── README
│ │ │ ├── module.mk
│ │ │ ├── pcf.c
│ │ │ ├── pcf.h
│ │ │ ├── pcfdrivr.c
│ │ │ ├── pcfdrivr.h
│ │ │ ├── pcferror.h
│ │ │ ├── pcfread.c
│ │ │ ├── pcfread.h
│ │ │ ├── pcfutil.c
│ │ │ ├── pcfutil.h
│ │ │ └── rules.mk
│ │ ├── pfr/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── pfr.c
│ │ │ ├── pfrcmap.c
│ │ │ ├── pfrcmap.h
│ │ │ ├── pfrdrivr.c
│ │ │ ├── pfrdrivr.h
│ │ │ ├── pfrerror.h
│ │ │ ├── pfrgload.c
│ │ │ ├── pfrgload.h
│ │ │ ├── pfrload.c
│ │ │ ├── pfrload.h
│ │ │ ├── pfrobjs.c
│ │ │ ├── pfrobjs.h
│ │ │ ├── pfrsbit.c
│ │ │ ├── pfrsbit.h
│ │ │ ├── pfrtypes.h
│ │ │ └── rules.mk
│ │ ├── psaux/
│ │ │ ├── Jamfile
│ │ │ ├── afmparse.c
│ │ │ ├── afmparse.h
│ │ │ ├── module.mk
│ │ │ ├── psaux.c
│ │ │ ├── psauxerr.h
│ │ │ ├── psauxmod.c
│ │ │ ├── psauxmod.h
│ │ │ ├── psconv.c
│ │ │ ├── psconv.h
│ │ │ ├── psobjs.c
│ │ │ ├── psobjs.h
│ │ │ ├── rules.mk
│ │ │ ├── t1cmap.c
│ │ │ ├── t1cmap.h
│ │ │ ├── t1decode.c
│ │ │ └── t1decode.h
│ │ ├── pshinter/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── pshalgo.c
│ │ │ ├── pshalgo.h
│ │ │ ├── pshglob.c
│ │ │ ├── pshglob.h
│ │ │ ├── pshinter.c
│ │ │ ├── pshmod.c
│ │ │ ├── pshmod.h
│ │ │ ├── pshnterr.h
│ │ │ ├── pshpic.c
│ │ │ ├── pshpic.h
│ │ │ ├── pshrec.c
│ │ │ ├── pshrec.h
│ │ │ └── rules.mk
│ │ ├── psnames/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── psmodule.c
│ │ │ ├── psmodule.h
│ │ │ ├── psnamerr.h
│ │ │ ├── psnames.c
│ │ │ ├── pspic.c
│ │ │ ├── pspic.h
│ │ │ ├── pstables.h
│ │ │ └── rules.mk
│ │ ├── raster/
│ │ │ ├── Jamfile
│ │ │ ├── ftmisc.h
│ │ │ ├── ftraster.c
│ │ │ ├── ftraster.h
│ │ │ ├── ftrend1.c
│ │ │ ├── ftrend1.h
│ │ │ ├── module.mk
│ │ │ ├── raster.c
│ │ │ ├── rasterrs.h
│ │ │ ├── rastpic.c
│ │ │ ├── rastpic.h
│ │ │ └── rules.mk
│ │ ├── sfnt/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── pngshim.c
│ │ │ ├── pngshim.h
│ │ │ ├── rules.mk
│ │ │ ├── sfdriver.c
│ │ │ ├── sfdriver.h
│ │ │ ├── sferrors.h
│ │ │ ├── sfnt.c
│ │ │ ├── sfntpic.c
│ │ │ ├── sfntpic.h
│ │ │ ├── sfobjs.c
│ │ │ ├── sfobjs.h
│ │ │ ├── ttbdf.c
│ │ │ ├── ttbdf.h
│ │ │ ├── ttcmap.c
│ │ │ ├── ttcmap.h
│ │ │ ├── ttcmapc.h
│ │ │ ├── ttkern.c
│ │ │ ├── ttkern.h
│ │ │ ├── ttload.c
│ │ │ ├── ttload.h
│ │ │ ├── ttmtx.c
│ │ │ ├── ttmtx.h
│ │ │ ├── ttpost.c
│ │ │ ├── ttpost.h
│ │ │ ├── ttsbit.c
│ │ │ └── ttsbit.h
│ │ ├── smooth/
│ │ │ ├── Jamfile
│ │ │ ├── ftgrays.c
│ │ │ ├── ftgrays.h
│ │ │ ├── ftsmerrs.h
│ │ │ ├── ftsmooth.c
│ │ │ ├── ftsmooth.h
│ │ │ ├── ftspic.c
│ │ │ ├── ftspic.h
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ └── smooth.c
│ │ ├── tools/
│ │ │ ├── Jamfile
│ │ │ ├── afblue.pl
│ │ │ ├── apinames.c
│ │ │ ├── chktrcmp.py
│ │ │ ├── cordic.py
│ │ │ ├── docmaker/
│ │ │ │ ├── content.py
│ │ │ │ ├── docbeauty.py
│ │ │ │ ├── docmaker.py
│ │ │ │ ├── formatter.py
│ │ │ │ ├── sources.py
│ │ │ │ ├── tohtml.py
│ │ │ │ └── utils.py
│ │ │ ├── ftrandom/
│ │ │ │ ├── Makefile
│ │ │ │ ├── README
│ │ │ │ └── ftrandom.c
│ │ │ ├── glnames.py
│ │ │ ├── test_afm.c
│ │ │ ├── test_bbox.c
│ │ │ └── test_trig.c
│ │ ├── truetype/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ ├── truetype.c
│ │ │ ├── ttdriver.c
│ │ │ ├── ttdriver.h
│ │ │ ├── tterrors.h
│ │ │ ├── ttgload.c
│ │ │ ├── ttgload.h
│ │ │ ├── ttgxvar.c
│ │ │ ├── ttgxvar.h
│ │ │ ├── ttinterp.c
│ │ │ ├── ttinterp.h
│ │ │ ├── ttobjs.c
│ │ │ ├── ttobjs.h
│ │ │ ├── ttpic.c
│ │ │ ├── ttpic.h
│ │ │ ├── ttpload.c
│ │ │ ├── ttpload.h
│ │ │ ├── ttsubpix.c
│ │ │ └── ttsubpix.h
│ │ ├── type1/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ ├── t1afm.c
│ │ │ ├── t1afm.h
│ │ │ ├── t1driver.c
│ │ │ ├── t1driver.h
│ │ │ ├── t1errors.h
│ │ │ ├── t1gload.c
│ │ │ ├── t1gload.h
│ │ │ ├── t1load.c
│ │ │ ├── t1load.h
│ │ │ ├── t1objs.c
│ │ │ ├── t1objs.h
│ │ │ ├── t1parse.c
│ │ │ ├── t1parse.h
│ │ │ ├── t1tokens.h
│ │ │ └── type1.c
│ │ ├── type42/
│ │ │ ├── Jamfile
│ │ │ ├── module.mk
│ │ │ ├── rules.mk
│ │ │ ├── t42drivr.c
│ │ │ ├── t42drivr.h
│ │ │ ├── t42error.h
│ │ │ ├── t42objs.c
│ │ │ ├── t42objs.h
│ │ │ ├── t42parse.c
│ │ │ ├── t42parse.h
│ │ │ ├── t42types.h
│ │ │ └── type42.c
│ │ └── winfonts/
│ │ ├── Jamfile
│ │ ├── fnterrs.h
│ │ ├── module.mk
│ │ ├── rules.mk
│ │ ├── winfnt.c
│ │ └── winfnt.h
│ ├── jbig2dec/
│ │ ├── CHANGES
│ │ ├── COPYING
│ │ ├── LICENSE
│ │ ├── Makefile.am
│ │ ├── Makefile.unix
│ │ ├── README
│ │ ├── annex-h.jbig2
│ │ ├── autogen.sh
│ │ ├── config_win32.h
│ │ ├── configure.ac
│ │ ├── getopt.c
│ │ ├── getopt.h
│ │ ├── getopt1.c
│ │ ├── jbig2.c
│ │ ├── jbig2.h
│ │ ├── jbig2_arith.c
│ │ ├── jbig2_arith.h
│ │ ├── jbig2_arith_iaid.c
│ │ ├── jbig2_arith_iaid.h
│ │ ├── jbig2_arith_int.c
│ │ ├── jbig2_arith_int.h
│ │ ├── jbig2_generic.c
│ │ ├── jbig2_generic.h
│ │ ├── jbig2_halftone.c
│ │ ├── jbig2_halftone.h
│ │ ├── jbig2_huffman.c
│ │ ├── jbig2_huffman.h
│ │ ├── jbig2_hufftab.h
│ │ ├── jbig2_image.c
│ │ ├── jbig2_image.h
│ │ ├── jbig2_image_pbm.c
│ │ ├── jbig2_image_png.c
│ │ ├── jbig2_metadata.c
│ │ ├── jbig2_metadata.h
│ │ ├── jbig2_mmr.c
│ │ ├── jbig2_mmr.h
│ │ ├── jbig2_page.c
│ │ ├── jbig2_priv.h
│ │ ├── jbig2_refinement.c
│ │ ├── jbig2_segment.c
│ │ ├── jbig2_symbol_dict.c
│ │ ├── jbig2_symbol_dict.h
│ │ ├── jbig2_text.c
│ │ ├── jbig2_text.h
│ │ ├── jbig2dec.1
│ │ ├── jbig2dec.c
│ │ ├── memcmp.c
│ │ ├── memento.c
│ │ ├── memento.h
│ │ ├── msvc.mak
│ │ ├── os_types.h
│ │ ├── pbm2png.c
│ │ ├── sha1.c
│ │ ├── sha1.h
│ │ ├── snprintf.c
│ │ └── test_jbig2dec.py
│ ├── libdjvu/
│ │ ├── Arrays.cpp
│ │ ├── Arrays.h
│ │ ├── BSByteStream.cpp
│ │ ├── BSByteStream.h
│ │ ├── BSEncodeByteStream.cpp
│ │ ├── ByteStream.cpp
│ │ ├── ByteStream.h
│ │ ├── COPYRIGHT
│ │ ├── DataPool.cpp
│ │ ├── DataPool.h
│ │ ├── DjVmDir.cpp
│ │ ├── DjVmDir.h
│ │ ├── DjVmDir0.cpp
│ │ ├── DjVmDir0.h
│ │ ├── DjVmDoc.cpp
│ │ ├── DjVmDoc.h
│ │ ├── DjVmNav.cpp
│ │ ├── DjVmNav.h
│ │ ├── DjVuAnno.cpp
│ │ ├── DjVuAnno.h
│ │ ├── DjVuDocEditor.cpp
│ │ ├── DjVuDocEditor.h
│ │ ├── DjVuDocument.cpp
│ │ ├── DjVuDocument.h
│ │ ├── DjVuDumpHelper.cpp
│ │ ├── DjVuDumpHelper.h
│ │ ├── DjVuErrorList.cpp
│ │ ├── DjVuErrorList.h
│ │ ├── DjVuFile.cpp
│ │ ├── DjVuFile.h
│ │ ├── DjVuFileCache.cpp
│ │ ├── DjVuFileCache.h
│ │ ├── DjVuGlobal.cpp
│ │ ├── DjVuGlobal.h
│ │ ├── DjVuGlobalMemory.cpp
│ │ ├── DjVuImage.cpp
│ │ ├── DjVuImage.h
│ │ ├── DjVuInfo.cpp
│ │ ├── DjVuInfo.h
│ │ ├── DjVuMessage.cpp
│ │ ├── DjVuMessage.h
│ │ ├── DjVuMessageLite.cpp
│ │ ├── DjVuMessageLite.h
│ │ ├── DjVuNavDir.cpp
│ │ ├── DjVuNavDir.h
│ │ ├── DjVuPalette.cpp
│ │ ├── DjVuPalette.h
│ │ ├── DjVuPort.cpp
│ │ ├── DjVuPort.h
│ │ ├── DjVuText.cpp
│ │ ├── DjVuText.h
│ │ ├── DjVuToPS.cpp
│ │ ├── DjVuToPS.h
│ │ ├── GBitmap.cpp
│ │ ├── GBitmap.h
│ │ ├── GContainer.cpp
│ │ ├── GContainer.h
│ │ ├── GException.cpp
│ │ ├── GException.h
│ │ ├── GIFFManager.cpp
│ │ ├── GIFFManager.h
│ │ ├── GMapAreas.cpp
│ │ ├── GMapAreas.h
│ │ ├── GOS.cpp
│ │ ├── GOS.h
│ │ ├── GPixmap.cpp
│ │ ├── GPixmap.h
│ │ ├── GRect.cpp
│ │ ├── GRect.h
│ │ ├── GScaler.cpp
│ │ ├── GScaler.h
│ │ ├── GSmartPointer.cpp
│ │ ├── GSmartPointer.h
│ │ ├── GString.cpp
│ │ ├── GString.h
│ │ ├── GThreads.cpp
│ │ ├── GThreads.h
│ │ ├── GURL.cpp
│ │ ├── GURL.h
│ │ ├── GUnicode.cpp
│ │ ├── IFFByteStream.cpp
│ │ ├── IFFByteStream.h
│ │ ├── IW44EncodeCodec.cpp
│ │ ├── IW44Image.cpp
│ │ ├── IW44Image.h
│ │ ├── JB2EncodeCodec.cpp
│ │ ├── JB2Image.cpp
│ │ ├── JB2Image.h
│ │ ├── JPEGDecoder.cpp
│ │ ├── JPEGDecoder.h
│ │ ├── MMRDecoder.cpp
│ │ ├── MMRDecoder.h
│ │ ├── MMX.cpp
│ │ ├── MMX.h
│ │ ├── Makefile.dep
│ │ ├── Makefile.in
│ │ ├── Template.h
│ │ ├── UnicodeByteStream.cpp
│ │ ├── UnicodeByteStream.h
│ │ ├── XMLParser.cpp
│ │ ├── XMLParser.h
│ │ ├── XMLTags.cpp
│ │ ├── XMLTags.h
│ │ ├── ZPCodec.cpp
│ │ ├── ZPCodec.h
│ │ ├── atomic.cpp
│ │ ├── atomic.h
│ │ ├── ddjvuapi.cpp
│ │ ├── ddjvuapi.h
│ │ ├── ddjvuapi.pc.in
│ │ ├── debug.cpp
│ │ ├── debug.h
│ │ ├── djvu_all.cpp
│ │ ├── miniexp.cpp
│ │ └── miniexp.h
│ ├── libjpeg-turbo/
│ │ ├── BUILDING.txt
│ │ ├── CMakeLists.txt
│ │ ├── ChangeLog.txt
│ │ ├── Makefile.am
│ │ ├── Makefile.in
│ │ ├── README
│ │ ├── README-turbo.txt
│ │ ├── acinclude.m4
│ │ ├── aclocal.m4
│ │ ├── bmp.c
│ │ ├── bmp.h
│ │ ├── cderror.h
│ │ ├── cdjpeg.c
│ │ ├── cdjpeg.h
│ │ ├── change.log
│ │ ├── cjpeg.1
│ │ ├── cjpeg.c
│ │ ├── coderules.txt
│ │ ├── compile
│ │ ├── config.guess
│ │ ├── config.h
│ │ ├── config.h.in
│ │ ├── config.sub
│ │ ├── configure
│ │ ├── configure.ac
│ │ ├── depcomp
│ │ ├── djpeg.1
│ │ ├── djpeg.c
│ │ ├── doxygen.config
│ │ ├── example.c
│ │ ├── install-sh
│ │ ├── jaricom.c
│ │ ├── jcapimin.c
│ │ ├── jcapistd.c
│ │ ├── jcarith.c
│ │ ├── jccoefct.c
│ │ ├── jccolext.c
│ │ ├── jccolor.c
│ │ ├── jcdctmgr.c
│ │ ├── jchuff.c
│ │ ├── jchuff.h
│ │ ├── jcinit.c
│ │ ├── jcmainct.c
│ │ ├── jcmarker.c
│ │ ├── jcmaster.c
│ │ ├── jcomapi.c
│ │ ├── jconfig.h
│ │ ├── jconfig.h.in
│ │ ├── jconfig.txt
│ │ ├── jcparam.c
│ │ ├── jcphuff.c
│ │ ├── jcprepct.c
│ │ ├── jcsample.c
│ │ ├── jcstest.c
│ │ ├── jctrans.c
│ │ ├── jdapimin.c
│ │ ├── jdapistd.c
│ │ ├── jdarith.c
│ │ ├── jdatadst-tj.c
│ │ ├── jdatadst.c
│ │ ├── jdatasrc-tj.c
│ │ ├── jdatasrc.c
│ │ ├── jdcoefct.c
│ │ ├── jdcolext.c
│ │ ├── jdcolor.c
│ │ ├── jdct.h
│ │ ├── jddctmgr.c
│ │ ├── jdhuff.c
│ │ ├── jdhuff.h
│ │ ├── jdinput.c
│ │ ├── jdmainct.c
│ │ ├── jdmarker.c
│ │ ├── jdmaster.c
│ │ ├── jdmerge.c
│ │ ├── jdmrgext.c
│ │ ├── jdphuff.c
│ │ ├── jdpostct.c
│ │ ├── jdsample.c
│ │ ├── jdtrans.c
│ │ ├── jerror.c
│ │ ├── jerror.h
│ │ ├── jfdctflt.c
│ │ ├── jfdctfst.c
│ │ ├── jfdctint.c
│ │ ├── jidctflt.c
│ │ ├── jidctfst.c
│ │ ├── jidctint.c
│ │ ├── jidctred.c
│ │ ├── jinclude.h
│ │ ├── jmemmgr.c
│ │ ├── jmemnobs.c
│ │ ├── jmemsys.h
│ │ ├── jmorecfg.h
│ │ ├── jpegcomp.h
│ │ ├── jpegint.h
│ │ ├── jpeglib.h
│ │ ├── jpegtran.1
│ │ ├── jpegtran.c
│ │ ├── jquant1.c
│ │ ├── jquant2.c
│ │ ├── jsimd.h
│ │ ├── jsimd_none.c
│ │ ├── jsimddct.h
│ │ ├── jutils.c
│ │ ├── jversion.h
│ │ ├── libjpeg.map.in
│ │ ├── libjpeg.txt
│ │ ├── ltmain.sh
│ │ ├── missing
│ │ ├── rdbmp.c
│ │ ├── rdcolmap.c
│ │ ├── rdgif.c
│ │ ├── rdjpgcom.1
│ │ ├── rdjpgcom.c
│ │ ├── rdppm.c
│ │ ├── rdrle.c
│ │ ├── rdswitch.c
│ │ ├── rdtarga.c
│ │ ├── simd/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── jcclrmmx.asm
│ │ │ ├── jcclrss2-64.asm
│ │ │ ├── jcclrss2.asm
│ │ │ ├── jccolmmx.asm
│ │ │ ├── jccolss2-64.asm
│ │ │ ├── jccolss2.asm
│ │ │ ├── jcgrammx.asm
│ │ │ ├── jcgrass2-64.asm
│ │ │ ├── jcgrass2.asm
│ │ │ ├── jcgrymmx.asm
│ │ │ ├── jcgryss2-64.asm
│ │ │ ├── jcgryss2.asm
│ │ │ ├── jcolsamp.inc
│ │ │ ├── jcqnt3dn.asm
│ │ │ ├── jcqntmmx.asm
│ │ │ ├── jcqnts2f-64.asm
│ │ │ ├── jcqnts2f.asm
│ │ │ ├── jcqnts2i-64.asm
│ │ │ ├── jcqnts2i.asm
│ │ │ ├── jcqntsse.asm
│ │ │ ├── jcsammmx.asm
│ │ │ ├── jcsamss2-64.asm
│ │ │ ├── jcsamss2.asm
│ │ │ ├── jdclrmmx.asm
│ │ │ ├── jdclrss2-64.asm
│ │ │ ├── jdclrss2.asm
│ │ │ ├── jdcolmmx.asm
│ │ │ ├── jdcolss2-64.asm
│ │ │ ├── jdcolss2.asm
│ │ │ ├── jdct.inc
│ │ │ ├── jdmermmx.asm
│ │ │ ├── jdmerss2-64.asm
│ │ │ ├── jdmerss2.asm
│ │ │ ├── jdmrgmmx.asm
│ │ │ ├── jdmrgss2-64.asm
│ │ │ ├── jdmrgss2.asm
│ │ │ ├── jdsammmx.asm
│ │ │ ├── jdsamss2-64.asm
│ │ │ ├── jdsamss2.asm
│ │ │ ├── jf3dnflt.asm
│ │ │ ├── jfmmxfst.asm
│ │ │ ├── jfmmxint.asm
│ │ │ ├── jfss2fst-64.asm
│ │ │ ├── jfss2fst.asm
│ │ │ ├── jfss2int-64.asm
│ │ │ ├── jfss2int.asm
│ │ │ ├── jfsseflt-64.asm
│ │ │ ├── jfsseflt.asm
│ │ │ ├── ji3dnflt.asm
│ │ │ ├── jimmxfst.asm
│ │ │ ├── jimmxint.asm
│ │ │ ├── jimmxred.asm
│ │ │ ├── jiss2flt-64.asm
│ │ │ ├── jiss2flt.asm
│ │ │ ├── jiss2fst-64.asm
│ │ │ ├── jiss2fst.asm
│ │ │ ├── jiss2int-64.asm
│ │ │ ├── jiss2int.asm
│ │ │ ├── jiss2red-64.asm
│ │ │ ├── jiss2red.asm
│ │ │ ├── jisseflt.asm
│ │ │ ├── jsimd.h
│ │ │ ├── jsimd_arm.c
│ │ │ ├── jsimd_arm_neon.S
│ │ │ ├── jsimd_i386.c
│ │ │ ├── jsimd_x86_64.c
│ │ │ ├── jsimdcfg.inc.h
│ │ │ ├── jsimdcpu.asm
│ │ │ ├── jsimdext.inc
│ │ │ └── nasm_lt.sh
│ │ ├── structure.txt
│ │ ├── tjbench.c
│ │ ├── tjbenchtest.in
│ │ ├── tjbenchtest.java.in
│ │ ├── tjexampletest.in
│ │ ├── tjunittest.c
│ │ ├── tjutil.c
│ │ ├── tjutil.h
│ │ ├── transupp.c
│ │ ├── transupp.h
│ │ ├── turbojpeg-jni.c
│ │ ├── turbojpeg-mapfile
│ │ ├── turbojpeg-mapfile.jni
│ │ ├── turbojpeg.c
│ │ ├── turbojpeg.h
│ │ ├── usage.txt
│ │ ├── win/
│ │ │ ├── config.h.in
│ │ │ ├── jconfig.h.in
│ │ │ ├── jpeg62-memsrcdst.def
│ │ │ ├── jpeg62.def
│ │ │ ├── jpeg7-memsrcdst.def
│ │ │ ├── jpeg7.def
│ │ │ ├── jpeg8.def
│ │ │ └── jsimdcfg.inc
│ │ ├── wizard.txt
│ │ ├── wrbmp.c
│ │ ├── wrgif.c
│ │ ├── wrjpgcom.1
│ │ ├── wrjpgcom.c
│ │ ├── wrppm.c
│ │ ├── wrrle.c
│ │ └── wrtarga.c
│ ├── libwebp/
│ │ ├── COPYING
│ │ ├── dec/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── alpha.c
│ │ │ ├── alphai.h
│ │ │ ├── buffer.c
│ │ │ ├── decode_vp8.h
│ │ │ ├── frame.c
│ │ │ ├── idec.c
│ │ │ ├── io.c
│ │ │ ├── quant.c
│ │ │ ├── tree.c
│ │ │ ├── vp8.c
│ │ │ ├── vp8i.h
│ │ │ ├── vp8l.c
│ │ │ ├── vp8li.h
│ │ │ ├── webp.c
│ │ │ └── webpi.h
│ │ ├── dsp/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── alpha_processing.c
│ │ │ ├── alpha_processing_sse2.c
│ │ │ ├── cpu.c
│ │ │ ├── dec.c
│ │ │ ├── dec_clip_tables.c
│ │ │ ├── dec_mips32.c
│ │ │ ├── dec_neon.c
│ │ │ ├── dec_sse2.c
│ │ │ ├── dsp.h
│ │ │ ├── enc.c
│ │ │ ├── enc_avx2.c
│ │ │ ├── enc_mips32.c
│ │ │ ├── enc_neon.c
│ │ │ ├── enc_sse2.c
│ │ │ ├── lossless.c
│ │ │ ├── lossless.h
│ │ │ ├── lossless_mips32.c
│ │ │ ├── lossless_neon.c
│ │ │ ├── lossless_sse2.c
│ │ │ ├── neon.h
│ │ │ ├── upsampling.c
│ │ │ ├── upsampling_neon.c
│ │ │ ├── upsampling_sse2.c
│ │ │ ├── yuv.c
│ │ │ ├── yuv.h
│ │ │ ├── yuv_mips32.c
│ │ │ ├── yuv_sse2.c
│ │ │ └── yuv_tables_sse2.h
│ │ ├── enc/
│ │ │ ├── backward_references.h
│ │ │ └── histogram.h
│ │ ├── utils/
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── bit_reader.c
│ │ │ ├── bit_reader.h
│ │ │ ├── bit_reader_inl.h
│ │ │ ├── bit_writer.c
│ │ │ ├── bit_writer.h
│ │ │ ├── color_cache.c
│ │ │ ├── color_cache.h
│ │ │ ├── endian_inl.h
│ │ │ ├── filters.c
│ │ │ ├── filters.h
│ │ │ ├── huffman.c
│ │ │ ├── huffman.h
│ │ │ ├── huffman_encode.c
│ │ │ ├── huffman_encode.h
│ │ │ ├── quant_levels.c
│ │ │ ├── quant_levels.h
│ │ │ ├── quant_levels_dec.c
│ │ │ ├── quant_levels_dec.h
│ │ │ ├── random.c
│ │ │ ├── random.h
│ │ │ ├── rescaler.c
│ │ │ ├── rescaler.h
│ │ │ ├── thread.c
│ │ │ ├── thread.h
│ │ │ ├── utils.c
│ │ │ └── utils.h
│ │ └── webp/
│ │ ├── config.h.in
│ │ ├── decode.h
│ │ ├── demux.h
│ │ ├── encode.h
│ │ ├── format_constants.h
│ │ ├── mux.h
│ │ ├── mux_types.h
│ │ └── types.h
│ ├── lzma/
│ │ ├── 7zC.txt
│ │ ├── 7zFormat.txt
│ │ ├── Asm/
│ │ │ ├── arm/
│ │ │ │ └── 7zCrcOpt.asm
│ │ │ └── x86/
│ │ │ ├── 7zAsm.asm
│ │ │ ├── 7zCrcOpt.asm
│ │ │ └── AesOpt.asm
│ │ ├── C/
│ │ │ ├── 7z.h
│ │ │ ├── 7zAlloc.c
│ │ │ ├── 7zAlloc.h
│ │ │ ├── 7zBuf.c
│ │ │ ├── 7zBuf.h
│ │ │ ├── 7zBuf2.c
│ │ │ ├── 7zCrc.c
│ │ │ ├── 7zCrc.h
│ │ │ ├── 7zCrcOpt.c
│ │ │ ├── 7zDec.c
│ │ │ ├── 7zFile.c
│ │ │ ├── 7zFile.h
│ │ │ ├── 7zIn.c
│ │ │ ├── 7zStream.c
│ │ │ ├── 7zVersion.h
│ │ │ ├── 7zVersion.rc
│ │ │ ├── Alloc.c
│ │ │ ├── Alloc.h
│ │ │ ├── Bcj2.c
│ │ │ ├── Bcj2.h
│ │ │ ├── Bra.c
│ │ │ ├── Bra.h
│ │ │ ├── Bra86.c
│ │ │ ├── BraIA64.c
│ │ │ ├── CpuArch.c
│ │ │ ├── CpuArch.h
│ │ │ ├── Delta.c
│ │ │ ├── Delta.h
│ │ │ ├── LzFind.c
│ │ │ ├── LzFind.h
│ │ │ ├── LzFindMt.c
│ │ │ ├── LzFindMt.h
│ │ │ ├── LzHash.h
│ │ │ ├── Lzma2Dec.c
│ │ │ ├── Lzma2Dec.h
│ │ │ ├── Lzma2Enc.c
│ │ │ ├── Lzma2Enc.h
│ │ │ ├── Lzma86.h
│ │ │ ├── Lzma86Dec.c
│ │ │ ├── Lzma86Enc.c
│ │ │ ├── LzmaDec.c
│ │ │ ├── LzmaDec.h
│ │ │ ├── LzmaEnc.c
│ │ │ ├── LzmaEnc.h
│ │ │ ├── LzmaLib.c
│ │ │ ├── LzmaLib.h
│ │ │ ├── MtCoder.c
│ │ │ ├── MtCoder.h
│ │ │ ├── Ppmd.h
│ │ │ ├── Ppmd7.c
│ │ │ ├── Ppmd7.h
│ │ │ ├── Ppmd7Dec.c
│ │ │ ├── Ppmd7Enc.c
│ │ │ ├── RotateDefs.h
│ │ │ ├── Sha256.c
│ │ │ ├── Sha256.h
│ │ │ ├── Threads.c
│ │ │ ├── Threads.h
│ │ │ ├── Types.h
│ │ │ ├── Util/
│ │ │ │ ├── 7z/
│ │ │ │ │ ├── 7z.dsp
│ │ │ │ │ ├── 7z.dsw
│ │ │ │ │ ├── 7zMain.c
│ │ │ │ │ ├── makefile
│ │ │ │ │ └── makefile.gcc
│ │ │ │ ├── Lzma/
│ │ │ │ │ ├── LzmaUtil.c
│ │ │ │ │ ├── LzmaUtil.dsp
│ │ │ │ │ ├── LzmaUtil.dsw
│ │ │ │ │ ├── makefile
│ │ │ │ │ └── makefile.gcc
│ │ │ │ ├── LzmaLib/
│ │ │ │ │ ├── LzmaLib.def
│ │ │ │ │ ├── LzmaLib.dsp
│ │ │ │ │ ├── LzmaLib.dsw
│ │ │ │ │ ├── LzmaLibExports.c
│ │ │ │ │ ├── makefile
│ │ │ │ │ └── resource.rc
│ │ │ │ └── SfxSetup/
│ │ │ │ ├── SfxSetup.c
│ │ │ │ ├── SfxSetup.dsp
│ │ │ │ ├── SfxSetup.dsw
│ │ │ │ ├── makefile
│ │ │ │ ├── makefile_con
│ │ │ │ └── resource.rc
│ │ │ ├── Xz.c
│ │ │ ├── Xz.h
│ │ │ ├── XzCrc64.c
│ │ │ ├── XzCrc64.h
│ │ │ ├── XzDec.c
│ │ │ ├── XzEnc.c
│ │ │ ├── XzEnc.h
│ │ │ └── XzIn.c
│ │ ├── Methods.txt
│ │ ├── history.txt
│ │ └── lzma.txt
│ ├── makefile.msvc
│ ├── openjpeg/
│ │ ├── CMakeLists.txt
│ │ ├── LICENSE
│ │ ├── bio.c
│ │ ├── bio.h
│ │ ├── cidx_manager.c
│ │ ├── cidx_manager.h
│ │ ├── cio.c
│ │ ├── cio.h
│ │ ├── dwt.c
│ │ ├── dwt.h
│ │ ├── event.c
│ │ ├── event.h
│ │ ├── function_list.c
│ │ ├── function_list.h
│ │ ├── image.c
│ │ ├── image.h
│ │ ├── indexbox_manager.h
│ │ ├── invert.c
│ │ ├── invert.h
│ │ ├── j2k.c
│ │ ├── j2k.h
│ │ ├── jp2.c
│ │ ├── jp2.h
│ │ ├── libopenjp2.pc.cmake.in
│ │ ├── mct.c
│ │ ├── mct.h
│ │ ├── mqc.c
│ │ ├── mqc.h
│ │ ├── openjpeg.c
│ │ ├── openjpeg.h
│ │ ├── opj_clock.c
│ │ ├── opj_clock.h
│ │ ├── opj_codec.h
│ │ ├── opj_config.h
│ │ ├── opj_config.h.cmake.in
│ │ ├── opj_config_private.h
│ │ ├── opj_config_private.h.cmake.in
│ │ ├── opj_includes.h
│ │ ├── opj_intmath.h
│ │ ├── opj_inttypes.h
│ │ ├── opj_malloc.h
│ │ ├── opj_stdint.h
│ │ ├── phix_manager.c
│ │ ├── pi.c
│ │ ├── pi.h
│ │ ├── ppix_manager.c
│ │ ├── raw.c
│ │ ├── raw.h
│ │ ├── t1.c
│ │ ├── t1.h
│ │ ├── t1_generate_luts.c
│ │ ├── t1_luts.h
│ │ ├── t2.c
│ │ ├── t2.h
│ │ ├── tcd.c
│ │ ├── tcd.h
│ │ ├── tgt.c
│ │ ├── tgt.h
│ │ ├── thix_manager.c
│ │ └── tpix_manager.c
│ ├── synctex/
│ │ ├── synctex_parser.c
│ │ ├── synctex_parser.h
│ │ ├── synctex_parser_local.h
│ │ ├── synctex_parser_readme.txt
│ │ ├── synctex_parser_utils.c
│ │ ├── synctex_parser_utils.h
│ │ └── synctex_parser_version.txt
│ ├── unarr/
│ │ ├── AUTHORS
│ │ ├── COPYING
│ │ ├── Makefile
│ │ ├── README
│ │ ├── _7z/
│ │ │ ├── _7z.c
│ │ │ └── _7z.h
│ │ ├── common/
│ │ │ ├── allocator.h
│ │ │ ├── conv.c
│ │ │ ├── crc32.c
│ │ │ ├── custalloc.c
│ │ │ ├── stream.c
│ │ │ ├── unarr-imp.h
│ │ │ └── unarr.c
│ │ ├── lzmasdk/
│ │ │ ├── 7zTypes.h
│ │ │ ├── CpuArch.c
│ │ │ ├── CpuArch.h
│ │ │ ├── LzmaDec.c
│ │ │ ├── LzmaDec.h
│ │ │ ├── Ppmd.h
│ │ │ ├── Ppmd7.c
│ │ │ ├── Ppmd7.h
│ │ │ ├── Ppmd7Dec.c
│ │ │ ├── Ppmd8.c
│ │ │ ├── Ppmd8.h
│ │ │ ├── Ppmd8Dec.c
│ │ │ └── Precomp.h
│ │ ├── main.c
│ │ ├── rar/
│ │ │ ├── filter-rar.c
│ │ │ ├── huffman-rar.c
│ │ │ ├── lzss.h
│ │ │ ├── parse-rar.c
│ │ │ ├── rar.c
│ │ │ ├── rar.h
│ │ │ ├── rarvm.c
│ │ │ ├── rarvm.h
│ │ │ └── uncompress-rar.c
│ │ ├── tar/
│ │ │ ├── parse-tar.c
│ │ │ ├── tar.c
│ │ │ └── tar.h
│ │ ├── unarr.h
│ │ └── zip/
│ │ ├── inflate.c
│ │ ├── inflate.h
│ │ ├── parse-zip.c
│ │ ├── uncompress-zip.c
│ │ ├── zip.c
│ │ └── zip.h
│ ├── versions.txt
│ └── zlib/
│ ├── adler32.c
│ ├── compress.c
│ ├── crc32.c
│ ├── crc32.h
│ ├── deflate.c
│ ├── deflate.h
│ ├── gzclose.c
│ ├── gzguts.h
│ ├── gzlib.c
│ ├── gzread.c
│ ├── gzwrite.c
│ ├── infback.c
│ ├── inffast.c
│ ├── inffast.h
│ ├── inffixed.h
│ ├── inflate.c
│ ├── inflate.h
│ ├── inftrees.c
│ ├── inftrees.h
│ ├── trees.c
│ ├── trees.h
│ ├── uncompr.c
│ ├── zconf.h
│ ├── zlib.h
│ ├── zutil.c
│ └── zutil.h
├── makefile.deps
├── makefile.msvc
├── mupdf/
│ ├── CHANGES
│ ├── CONTRIBUTORS
│ ├── COPYING
│ ├── Makefile
│ ├── Makerules
│ ├── Makethird
│ ├── README
│ ├── SumatraMuPDF.patch
│ ├── docs/
│ │ ├── example.c
│ │ ├── man/
│ │ │ ├── mudraw.1
│ │ │ ├── mupdf.1
│ │ │ └── mutool.1
│ │ ├── multi-threaded.c
│ │ ├── naming.txt
│ │ ├── overview.txt
│ │ ├── progressive.txt
│ │ └── refcount.txt
│ ├── font_base14.asm
│ ├── include/
│ │ └── mupdf/
│ │ ├── cbz.h
│ │ ├── fitz/
│ │ │ ├── annotation.h
│ │ │ ├── bitmap.h
│ │ │ ├── buffer.h
│ │ │ ├── colorspace.h
│ │ │ ├── compressed-buffer.h
│ │ │ ├── context.h
│ │ │ ├── crypt.h
│ │ │ ├── device.h
│ │ │ ├── display-list.h
│ │ │ ├── document.h
│ │ │ ├── filter.h
│ │ │ ├── font.h
│ │ │ ├── function.h
│ │ │ ├── getopt.h
│ │ │ ├── glyph-cache.h
│ │ │ ├── glyph.h
│ │ │ ├── hash.h
│ │ │ ├── image.h
│ │ │ ├── link.h
│ │ │ ├── math.h
│ │ │ ├── meta.h
│ │ │ ├── outline.h
│ │ │ ├── output-pcl.h
│ │ │ ├── output-png.h
│ │ │ ├── output-pnm.h
│ │ │ ├── output-pwg.h
│ │ │ ├── output-svg.h
│ │ │ ├── output-tga.h
│ │ │ ├── output.h
│ │ │ ├── path.h
│ │ │ ├── pixmap.h
│ │ │ ├── shade.h
│ │ │ ├── store.h
│ │ │ ├── stream.h
│ │ │ ├── string.h
│ │ │ ├── structured-text.h
│ │ │ ├── system.h
│ │ │ ├── text.h
│ │ │ ├── transition.h
│ │ │ ├── tree.h
│ │ │ ├── unzip.h
│ │ │ ├── version.h
│ │ │ ├── write-document.h
│ │ │ └── xml.h
│ │ ├── fitz.h
│ │ ├── img.h
│ │ ├── pdf/
│ │ │ ├── annot.h
│ │ │ ├── appearance.h
│ │ │ ├── cmap.h
│ │ │ ├── crypt.h
│ │ │ ├── document.h
│ │ │ ├── event.h
│ │ │ ├── field.h
│ │ │ ├── font.h
│ │ │ ├── javascript.h
│ │ │ ├── object.h
│ │ │ ├── output-pdf.h
│ │ │ ├── page.h
│ │ │ ├── parse.h
│ │ │ ├── resource.h
│ │ │ ├── widget.h
│ │ │ └── xref.h
│ │ ├── pdf-tools.h
│ │ ├── pdf.h
│ │ ├── tiff.h
│ │ └── xps.h
│ ├── makefile.msvc
│ ├── platform/
│ │ └── win32/
│ │ ├── README.txt
│ │ ├── generate.bat
│ │ ├── libmupdf.vcproj
│ │ ├── mudraw.vcproj
│ │ ├── mujstest.vcproj
│ │ ├── mupdf-curl.vcproj
│ │ ├── mupdf.sln
│ │ ├── mupdf.vcproj
│ │ └── mutool.vcproj
│ ├── resources/
│ │ ├── certs/
│ │ │ └── AdobeCA.p7c
│ │ ├── cmaps/
│ │ │ ├── README
│ │ │ ├── cns/
│ │ │ │ ├── Adobe-CNS1-0
│ │ │ │ ├── Adobe-CNS1-1
│ │ │ │ ├── Adobe-CNS1-2
│ │ │ │ ├── Adobe-CNS1-3
│ │ │ │ ├── Adobe-CNS1-4
│ │ │ │ ├── Adobe-CNS1-5
│ │ │ │ ├── Adobe-CNS1-6
│ │ │ │ ├── Adobe-CNS1-UCS2
│ │ │ │ ├── B5-H
│ │ │ │ ├── B5-V
│ │ │ │ ├── B5pc-H
│ │ │ │ ├── B5pc-V
│ │ │ │ ├── CNS-EUC-H
│ │ │ │ ├── CNS-EUC-V
│ │ │ │ ├── CNS1-H
│ │ │ │ ├── CNS1-V
│ │ │ │ ├── CNS2-H
│ │ │ │ ├── CNS2-V
│ │ │ │ ├── ETHK-B5-H
│ │ │ │ ├── ETHK-B5-V
│ │ │ │ ├── ETen-B5-H
│ │ │ │ ├── ETen-B5-V
│ │ │ │ ├── ETenms-B5-H
│ │ │ │ ├── ETenms-B5-V
│ │ │ │ ├── HKdla-B5-H
│ │ │ │ ├── HKdla-B5-V
│ │ │ │ ├── HKdlb-B5-H
│ │ │ │ ├── HKdlb-B5-V
│ │ │ │ ├── HKgccs-B5-H
│ │ │ │ ├── HKgccs-B5-V
│ │ │ │ ├── HKm314-B5-H
│ │ │ │ ├── HKm314-B5-V
│ │ │ │ ├── HKm471-B5-H
│ │ │ │ ├── HKm471-B5-V
│ │ │ │ ├── HKscs-B5-H
│ │ │ │ ├── HKscs-B5-V
│ │ │ │ ├── UniCNS-UCS2-H
│ │ │ │ ├── UniCNS-UCS2-V
│ │ │ │ ├── UniCNS-UTF16-H
│ │ │ │ ├── UniCNS-UTF16-V
│ │ │ │ ├── UniCNS-UTF32-H
│ │ │ │ ├── UniCNS-UTF32-V
│ │ │ │ ├── UniCNS-UTF8-H
│ │ │ │ ├── UniCNS-UTF8-V
│ │ │ │ └── UniCNS-X
│ │ │ ├── gb/
│ │ │ │ ├── Adobe-GB1-0
│ │ │ │ ├── Adobe-GB1-1
│ │ │ │ ├── Adobe-GB1-2
│ │ │ │ ├── Adobe-GB1-3
│ │ │ │ ├── Adobe-GB1-4
│ │ │ │ ├── Adobe-GB1-5
│ │ │ │ ├── Adobe-GB1-UCS2
│ │ │ │ ├── GB-EUC-H
│ │ │ │ ├── GB-EUC-V
│ │ │ │ ├── GB-H
│ │ │ │ ├── GB-V
│ │ │ │ ├── GBK-EUC-H
│ │ │ │ ├── GBK-EUC-V
│ │ │ │ ├── GBK2K-H
│ │ │ │ ├── GBK2K-V
│ │ │ │ ├── GBKp-EUC-H
│ │ │ │ ├── GBKp-EUC-V
│ │ │ │ ├── GBT-EUC-H
│ │ │ │ ├── GBT-EUC-V
│ │ │ │ ├── GBT-H
│ │ │ │ ├── GBT-V
│ │ │ │ ├── GBTpc-EUC-H
│ │ │ │ ├── GBTpc-EUC-V
│ │ │ │ ├── GBpc-EUC-H
│ │ │ │ ├── GBpc-EUC-V
│ │ │ │ ├── UniGB-UCS2-H
│ │ │ │ ├── UniGB-UCS2-V
│ │ │ │ ├── UniGB-UTF16-H
│ │ │ │ ├── UniGB-UTF16-V
│ │ │ │ ├── UniGB-UTF32-H
│ │ │ │ ├── UniGB-UTF32-V
│ │ │ │ ├── UniGB-UTF8-H
│ │ │ │ ├── UniGB-UTF8-V
│ │ │ │ └── UniGB-X
│ │ │ ├── japan/
│ │ │ │ ├── 78-EUC-H
│ │ │ │ ├── 78-EUC-V
│ │ │ │ ├── 78-H
│ │ │ │ ├── 78-RKSJ-H
│ │ │ │ ├── 78-RKSJ-V
│ │ │ │ ├── 78-V
│ │ │ │ ├── 78ms-RKSJ-H
│ │ │ │ ├── 78ms-RKSJ-V
│ │ │ │ ├── 83pv-RKSJ-H
│ │ │ │ ├── 90ms-RKSJ-H
│ │ │ │ ├── 90ms-RKSJ-V
│ │ │ │ ├── 90msp-RKSJ-H
│ │ │ │ ├── 90msp-RKSJ-V
│ │ │ │ ├── 90pv-RKSJ-H
│ │ │ │ ├── 90pv-RKSJ-V
│ │ │ │ ├── Add-H
│ │ │ │ ├── Add-RKSJ-H
│ │ │ │ ├── Add-RKSJ-V
│ │ │ │ ├── Add-V
│ │ │ │ ├── Adobe-Japan1-0
│ │ │ │ ├── Adobe-Japan1-1
│ │ │ │ ├── Adobe-Japan1-2
│ │ │ │ ├── Adobe-Japan1-3
│ │ │ │ ├── Adobe-Japan1-4
│ │ │ │ ├── Adobe-Japan1-5
│ │ │ │ ├── Adobe-Japan1-6
│ │ │ │ ├── Adobe-Japan1-UCS2
│ │ │ │ ├── EUC-H
│ │ │ │ ├── EUC-V
│ │ │ │ ├── Ext-H
│ │ │ │ ├── Ext-RKSJ-H
│ │ │ │ ├── Ext-RKSJ-V
│ │ │ │ ├── Ext-V
│ │ │ │ ├── H
│ │ │ │ ├── Hankaku
│ │ │ │ ├── Hiragana
│ │ │ │ ├── Katakana
│ │ │ │ ├── NWP-H
│ │ │ │ ├── NWP-V
│ │ │ │ ├── RKSJ-H
│ │ │ │ ├── RKSJ-V
│ │ │ │ ├── Roman
│ │ │ │ ├── UniJIS-UCS2-H
│ │ │ │ ├── UniJIS-UCS2-HW-H
│ │ │ │ ├── UniJIS-UCS2-HW-V
│ │ │ │ ├── UniJIS-UCS2-V
│ │ │ │ ├── UniJIS-UTF16-H
│ │ │ │ ├── UniJIS-UTF16-V
│ │ │ │ ├── UniJIS-UTF32-H
│ │ │ │ ├── UniJIS-UTF32-V
│ │ │ │ ├── UniJIS-UTF8-H
│ │ │ │ ├── UniJIS-UTF8-V
│ │ │ │ ├── UniJIS-X
│ │ │ │ ├── UniJIS-X16
│ │ │ │ ├── UniJIS-X32
│ │ │ │ ├── UniJIS-X8
│ │ │ │ ├── UniJIS2004-UTF16-H
│ │ │ │ ├── UniJIS2004-UTF16-V
│ │ │ │ ├── UniJIS2004-UTF32-H
│ │ │ │ ├── UniJIS2004-UTF32-V
│ │ │ │ ├── UniJIS2004-UTF8-H
│ │ │ │ ├── UniJIS2004-UTF8-V
│ │ │ │ ├── UniJISPro-UCS2-HW-V
│ │ │ │ ├── UniJISPro-UCS2-V
│ │ │ │ ├── UniJISPro-UTF8-V
│ │ │ │ ├── UniJISX0213-UTF32-H
│ │ │ │ ├── UniJISX0213-UTF32-V
│ │ │ │ ├── UniJISX02132004-UTF32-H
│ │ │ │ ├── UniJISX02132004-UTF32-V
│ │ │ │ ├── V
│ │ │ │ └── WP-Symbol
│ │ │ └── korea/
│ │ │ ├── Adobe-Korea1-0
│ │ │ ├── Adobe-Korea1-1
│ │ │ ├── Adobe-Korea1-2
│ │ │ ├── Adobe-Korea1-UCS2
│ │ │ ├── KSC-EUC-H
│ │ │ ├── KSC-EUC-V
│ │ │ ├── KSC-H
│ │ │ ├── KSC-Johab-H
│ │ │ ├── KSC-Johab-V
│ │ │ ├── KSC-V
│ │ │ ├── KSCms-UHC-H
│ │ │ ├── KSCms-UHC-HW-H
│ │ │ ├── KSCms-UHC-HW-V
│ │ │ ├── KSCms-UHC-V
│ │ │ ├── KSCpc-EUC-H
│ │ │ ├── KSCpc-EUC-V
│ │ │ ├── UniKS-UCS2-H
│ │ │ ├── UniKS-UCS2-V
│ │ │ ├── UniKS-UTF16-H
│ │ │ ├── UniKS-UTF16-V
│ │ │ ├── UniKS-UTF32-H
│ │ │ ├── UniKS-UTF32-V
│ │ │ ├── UniKS-UTF8-H
│ │ │ ├── UniKS-UTF8-V
│ │ │ └── UniKS-X
│ │ └── fonts/
│ │ ├── droid/
│ │ │ ├── DroidSansFallback.ttc
│ │ │ ├── DroidSansFallbackFull.ttc
│ │ │ └── NOTICE
│ │ └── urw/
│ │ ├── COPYING
│ │ ├── Dingbats.cff
│ │ ├── LICENSE
│ │ ├── NimbusMono-Bold.cff
│ │ ├── NimbusMono-BoldOblique.cff
│ │ ├── NimbusMono-Oblique.cff
│ │ ├── NimbusMono-Regular.cff
│ │ ├── NimbusRomNo9L-Med.cff
│ │ ├── NimbusRomNo9L-MedIta.cff
│ │ ├── NimbusRomNo9L-Reg.cff
│ │ ├── NimbusRomNo9L-RegIta.cff
│ │ ├── NimbusSanL-Bol.cff
│ │ ├── NimbusSanL-BolIta.cff
│ │ ├── NimbusSanL-Reg.cff
│ │ ├── NimbusSanL-RegIta.cff
│ │ └── StandardSymL.cff
│ ├── scripts/
│ │ ├── archive.sh
│ │ ├── bin2hex.c
│ │ ├── cmapcleanx.c
│ │ ├── cmapcleanz.c
│ │ ├── cmapdump.c
│ │ ├── cquote.c
│ │ ├── fontdump.c
│ │ ├── freetype/
│ │ │ ├── slimftmodules.h
│ │ │ └── slimftoptions.h
│ │ ├── gitsetup.sh
│ │ ├── glyphdump.py
│ │ ├── glyphlist.txt
│ │ ├── jpeg/
│ │ │ └── jconfig.h
│ │ ├── openjpeg/
│ │ │ ├── opj_config.h
│ │ │ └── opj_config_private.h
│ │ ├── runtohtml.sh
│ │ └── tohtml.py
│ └── source/
│ ├── cbz/
│ │ └── mucbz.c
│ ├── fitz/
│ │ ├── bbox-device.c
│ │ ├── bitmap.c
│ │ ├── buffer.c
│ │ ├── colorspace.c
│ │ ├── compressed-buffer.c
│ │ ├── context.c
│ │ ├── crypt-aes.c
│ │ ├── crypt-arc4.c
│ │ ├── crypt-md5.c
│ │ ├── crypt-sha2.c
│ │ ├── device.c
│ │ ├── document-all.c
│ │ ├── document-no-run.c
│ │ ├── document.c
│ │ ├── draw-affine.c
│ │ ├── draw-blend.c
│ │ ├── draw-device.c
│ │ ├── draw-edge.c
│ │ ├── draw-glyph.c
│ │ ├── draw-imp.h
│ │ ├── draw-mesh.c
│ │ ├── draw-paint.c
│ │ ├── draw-path.c
│ │ ├── draw-scale-simple.c
│ │ ├── draw-unpack.c
│ │ ├── error.c
│ │ ├── filter-basic.c
│ │ ├── filter-dct.c
│ │ ├── filter-fax.c
│ │ ├── filter-flate.c
│ │ ├── filter-jbig2.c
│ │ ├── filter-leech.c
│ │ ├── filter-lzw.c
│ │ ├── filter-predict.c
│ │ ├── font.c
│ │ ├── ftoa.c
│ │ ├── function.c
│ │ ├── geometry.c
│ │ ├── getopt.c
│ │ ├── glyph.c
│ │ ├── halftone.c
│ │ ├── hash.c
│ │ ├── image.c
│ │ ├── link.c
│ │ ├── list-device.c
│ │ ├── load-jpeg.c
│ │ ├── load-jpx.c
│ │ ├── load-jxr.c
│ │ ├── load-png.c
│ │ ├── load-tiff.c
│ │ ├── memory.c
│ │ ├── outline.c
│ │ ├── output-pcl.c
│ │ ├── output-pwg.c
│ │ ├── output.c
│ │ ├── path.c
│ │ ├── pixmap.c
│ │ ├── printf.c
│ │ ├── shade.c
│ │ ├── stext-device.c
│ │ ├── stext-output.c
│ │ ├── stext-paragraph.c
│ │ ├── stext-search.c
│ │ ├── store.c
│ │ ├── stream-open.c
│ │ ├── stream-prog.c
│ │ ├── stream-read.c
│ │ ├── string.c
│ │ ├── strtod.c
│ │ ├── svg-device.c
│ │ ├── test-device.c
│ │ ├── text.c
│ │ ├── time.c
│ │ ├── trace-device.c
│ │ ├── transition.c
│ │ ├── tree.c
│ │ ├── ucdn.c
│ │ ├── ucdn.h
│ │ ├── unicodedata_db.h
│ │ ├── unzip.c
│ │ └── xml.c
│ ├── img/
│ │ └── muimage.c
│ ├── pdf/
│ │ ├── js/
│ │ │ ├── pdf-js-none.c
│ │ │ ├── pdf-js.c
│ │ │ ├── pdf-jsimp-cpp.c
│ │ │ ├── pdf-jsimp-cpp.h
│ │ │ ├── pdf-jsimp-jscore.c
│ │ │ ├── pdf-jsimp-mu.c
│ │ │ ├── pdf-jsimp-v8.cpp
│ │ │ └── pdf-util.js
│ │ ├── pdf-annot-edit.c
│ │ ├── pdf-annot.c
│ │ ├── pdf-appearance.c
│ │ ├── pdf-clean.c
│ │ ├── pdf-cmap-load.c
│ │ ├── pdf-cmap-parse.c
│ │ ├── pdf-cmap-table.c
│ │ ├── pdf-cmap.c
│ │ ├── pdf-colorspace.c
│ │ ├── pdf-crypt.c
│ │ ├── pdf-device.c
│ │ ├── pdf-encoding.c
│ │ ├── pdf-encodings.h
│ │ ├── pdf-event.c
│ │ ├── pdf-field.c
│ │ ├── pdf-font.c
│ │ ├── pdf-fontfile.c
│ │ ├── pdf-form.c
│ │ ├── pdf-ft-tools.c
│ │ ├── pdf-function.c
│ │ ├── pdf-glyphlist.h
│ │ ├── pdf-image.c
│ │ ├── pdf-interpret-imp.h
│ │ ├── pdf-interpret.c
│ │ ├── pdf-lex.c
│ │ ├── pdf-metrics.c
│ │ ├── pdf-nametree.c
│ │ ├── pdf-object.c
│ │ ├── pdf-op-buffer.c
│ │ ├── pdf-op-filter.c
│ │ ├── pdf-op-run.c
│ │ ├── pdf-outline.c
│ │ ├── pdf-page.c
│ │ ├── pdf-parse.c
│ │ ├── pdf-pattern.c
│ │ ├── pdf-pkcs7.c
│ │ ├── pdf-repair.c
│ │ ├── pdf-run.c
│ │ ├── pdf-shade.c
│ │ ├── pdf-store.c
│ │ ├── pdf-stream.c
│ │ ├── pdf-type3.c
│ │ ├── pdf-unicode.c
│ │ ├── pdf-write.c
│ │ ├── pdf-xobject.c
│ │ ├── pdf-xref-aux.c
│ │ └── pdf-xref.c
│ ├── tiff/
│ │ └── mutiff.c
│ ├── tools/
│ │ ├── mjsgen.c
│ │ ├── mudraw.c
│ │ ├── mutool.c
│ │ ├── pdfclean.c
│ │ ├── pdfextract.c
│ │ ├── pdfinfo.c
│ │ ├── pdfposter.c
│ │ └── pdfshow.c
│ └── xps/
│ ├── xps-common.c
│ ├── xps-doc.c
│ ├── xps-glyphs.c
│ ├── xps-gradient.c
│ ├── xps-image.c
│ ├── xps-outline.c
│ ├── xps-path.c
│ ├── xps-resource.c
│ ├── xps-tile.c
│ ├── xps-util.c
│ └── xps-zip.c
├── premake5.files.lua
├── premake5.lua
├── readme.md
├── scripts/
│ ├── SquareTree.py
│ ├── appveyor-build.bat
│ ├── build-pre-release-and-upload.bat
│ ├── build-release-and-upload.bat
│ ├── build-release.bat
│ ├── build-unarr.bat
│ ├── build.bat
│ ├── check_accesskeys.py
│ ├── clang-fmt.bat
│ ├── coverity.bat
│ ├── dedup_callstacks.py
│ ├── diff.bat
│ ├── efi_cmp.bat
│ ├── efi_cmp.py
│ ├── efi_cmp_with_last.bat
│ ├── gen_htmlparserlookup.py
│ ├── gen_libmupdf.def.py
│ ├── gen_mupdf_generated.bat
│ ├── gen_settings_html.py
│ ├── gen_settingsstructs.py
│ ├── loc.py
│ ├── metadata/
│ │ ├── gen_mui.py
│ │ ├── gen_txt.py
│ │ └── metadata.py
│ ├── obsolete/
│ │ ├── build.py
│ │ ├── buildbot-fix.py
│ │ ├── buildbot-obsolete.py
│ │ ├── buildbot.bat
│ │ ├── buildbot.py
│ │ ├── buildbot_html.py
│ │ ├── runtests.bat
│ │ └── runtests.py
│ ├── reftest.py
│ ├── render-benchmark.py
│ ├── run-regress.bat
│ ├── runflint.py
│ ├── s3.py
│ ├── test-unarr.py
│ ├── test_build.bat
│ ├── trans_download.py
│ ├── trans_gen.py
│ ├── trans_langs.py
│ ├── trans_upload.py
│ ├── update_auto_update_ver.py
│ ├── util.py
│ └── vc.bat
├── src/
│ ├── AppPrefs.cpp
│ ├── AppPrefs.h
│ ├── AppTools.cpp
│ ├── AppTools.h
│ ├── AppUtil.cpp
│ ├── AppUtil.h
│ ├── BaseEngine.h
│ ├── Canvas.cpp
│ ├── Canvas.h
│ ├── Caption.cpp
│ ├── Caption.h
│ ├── ChmDoc.cpp
│ ├── ChmDoc.h
│ ├── ChmModel.cpp
│ ├── ChmModel.h
│ ├── Controller.h
│ ├── CrashHandler.cpp
│ ├── CrashHandler.h
│ ├── DisplayModel.cpp
│ ├── DisplayModel.h
│ ├── DjVuEngine.cpp
│ ├── DjVuEngine.h
│ ├── Doc.cpp
│ ├── Doc.h
│ ├── EbookBase.h
│ ├── EbookController.cpp
│ ├── EbookController.h
│ ├── EbookControls.cpp
│ ├── EbookControls.h
│ ├── EbookDoc.cpp
│ ├── EbookDoc.h
│ ├── EbookEngine.cpp
│ ├── EbookEngine.h
│ ├── EbookFormatter.cpp
│ ├── EbookFormatter.h
│ ├── EbookWinDesc.txt
│ ├── EngineDump.cpp
│ ├── EngineManager.cpp
│ ├── EngineManager.h
│ ├── ExternalViewers.cpp
│ ├── ExternalViewers.h
│ ├── Favorites.cpp
│ ├── Favorites.h
│ ├── FileHistory.cpp
│ ├── FileHistory.h
│ ├── FileModifications.cpp
│ ├── FileModifications.h
│ ├── FileThumbnails.cpp
│ ├── FileThumbnails.h
│ ├── GlobalPrefs.cpp
│ ├── GlobalPrefs.h
│ ├── HtmlFormatter.cpp
│ ├── HtmlFormatter.h
│ ├── ImagesEngine.cpp
│ ├── ImagesEngine.h
│ ├── Menu.cpp
│ ├── Menu.h
│ ├── MobiDoc.cpp
│ ├── MobiDoc.h
│ ├── MuPDF_Exports.cpp
│ ├── MuiEbookPageDef.cpp
│ ├── MuiEbookPageDef.h
│ ├── Notifications.cpp
│ ├── Notifications.h
│ ├── PagesLayoutDef.cpp
│ ├── PagesLayoutDef.h
│ ├── ParseCommandLine.cpp
│ ├── ParseCommandLine.h
│ ├── PdfCreator.cpp
│ ├── PdfCreator.h
│ ├── PdfEngine.cpp
│ ├── PdfEngine.h
│ ├── PdfSync.cpp
│ ├── PdfSync.h
│ ├── Print.cpp
│ ├── Print.h
│ ├── PsEngine.cpp
│ ├── PsEngine.h
│ ├── RenderCache.cpp
│ ├── RenderCache.h
│ ├── Search.cpp
│ ├── Search.h
│ ├── Selection.cpp
│ ├── Selection.h
│ ├── SettingsStructs.cpp
│ ├── SettingsStructs.h
│ ├── StressTesting.cpp
│ ├── StressTesting.h
│ ├── SumatraAbout.cpp
│ ├── SumatraAbout.h
│ ├── SumatraAbout2.cpp
│ ├── SumatraAbout2.h
│ ├── SumatraDialogs.cpp
│ ├── SumatraDialogs.h
│ ├── SumatraPDF.cpp
│ ├── SumatraPDF.exe.manifest
│ ├── SumatraPDF.h
│ ├── SumatraPDF.rc
│ ├── SumatraProperties.cpp
│ ├── SumatraProperties.h
│ ├── SumatraStartup.cpp
│ ├── TabInfo.cpp
│ ├── TabInfo.h
│ ├── TableOfContents.cpp
│ ├── TableOfContents.h
│ ├── Tabs.cpp
│ ├── Tabs.h
│ ├── Tester.cpp
│ ├── Tests.cpp
│ ├── Tests.h
│ ├── TextSearch.cpp
│ ├── TextSearch.h
│ ├── TextSelection.cpp
│ ├── TextSelection.h
│ ├── Toolbar.cpp
│ ├── Toolbar.h
│ ├── Trans_sumatra_txt.cpp
│ ├── Translations.cpp
│ ├── Translations.h
│ ├── UnitTests.cpp
│ ├── Version.h
│ ├── WindowInfo.cpp
│ ├── WindowInfo.h
│ ├── dragcursor.cur
│ ├── ifilter/
│ │ ├── CEpubFilter.cpp
│ │ ├── CEpubFilter.h
│ │ ├── CPdfFilter.cpp
│ │ ├── CPdfFilter.h
│ │ ├── CTeXFilter.cpp
│ │ ├── CTeXFilter.h
│ │ ├── FilterBase.h
│ │ ├── PdfFilter.h
│ │ ├── PdfFilter.rc
│ │ └── PdfFilterDll.cpp
│ ├── installer/
│ │ ├── Install.cpp
│ │ ├── Installer.cpp
│ │ ├── Installer.exe.manifest
│ │ ├── Installer.h
│ │ ├── Installer.rc
│ │ ├── Resource.h
│ │ ├── Trans_installer_txt.cpp
│ │ └── Uninstall.cpp
│ ├── libmupdf.def
│ ├── libmupdf.rc
│ ├── memtrace/
│ │ ├── MemTrace.rc
│ │ ├── MemTraceCollector/
│ │ │ ├── Form1.Designer.cs
│ │ │ ├── Form1.cs
│ │ │ ├── Form1.resx
│ │ │ ├── MemTraceCollector-vs2010.csproj
│ │ │ ├── MemTraceCollector-vs2010.sln
│ │ │ ├── NamedPipeServer.cs
│ │ │ ├── Program.cs
│ │ │ └── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ ├── Resources.resx
│ │ │ ├── Settings.Designer.cs
│ │ │ └── Settings.settings
│ │ ├── MemTraceDll.cpp
│ │ ├── MemTraceDll.h
│ │ └── nsWindowsDllInterceptor.h
│ ├── mui/
│ │ ├── MiniMui.cpp
│ │ ├── MiniMui.h
│ │ ├── Mui.cpp
│ │ ├── Mui.h
│ │ ├── MuiBase.cpp
│ │ ├── MuiBase.h
│ │ ├── MuiButton.cpp
│ │ ├── MuiButton.h
│ │ ├── MuiControl.cpp
│ │ ├── MuiControl.h
│ │ ├── MuiCss.cpp
│ │ ├── MuiCss.h
│ │ ├── MuiDefs.cpp
│ │ ├── MuiDefs.h
│ │ ├── MuiEventMgr.cpp
│ │ ├── MuiEventMgr.h
│ │ ├── MuiFromText.cpp
│ │ ├── MuiFromText.h
│ │ ├── MuiGrid.cpp
│ │ ├── MuiGrid.h
│ │ ├── MuiHwndWrapper.cpp
│ │ ├── MuiHwndWrapper.h
│ │ ├── MuiLayout.cpp
│ │ ├── MuiLayout.h
│ │ ├── MuiPainter.cpp
│ │ ├── MuiPainter.h
│ │ ├── MuiScrollBar.cpp
│ │ ├── MuiScrollBar.h
│ │ ├── SvgPath.cpp
│ │ ├── SvgPath.h
│ │ ├── SvgPath_ut.cpp
│ │ ├── TextRender.cpp
│ │ ├── TextRender.h
│ │ └── mui-todo.txt
│ ├── previewer/
│ │ ├── PdfPreview.cpp
│ │ ├── PdfPreview.h
│ │ ├── PdfPreview.rc
│ │ ├── PdfPreviewBase.h
│ │ └── PdfPreviewDll.cpp
│ ├── regress/
│ │ ├── Regress.cpp
│ │ └── Regress00.cpp
│ ├── resource.h
│ ├── sample_mobi.html
│ ├── tools/
│ │ ├── MakeLzSA.cpp
│ │ ├── plugin-test.cpp
│ │ ├── signfile.cpp
│ │ └── test_util.cpp
│ ├── uia/
│ │ ├── Constants.h
│ │ ├── DocumentProvider.cpp
│ │ ├── DocumentProvider.h
│ │ ├── PageProvider.cpp
│ │ ├── PageProvider.h
│ │ ├── Provider.cpp
│ │ ├── Provider.h
│ │ ├── StartPageProvider.cpp
│ │ ├── StartPageProvider.h
│ │ ├── TextRange.cpp
│ │ └── TextRange.h
│ ├── utils/
│ │ ├── ArchUtil.cpp
│ │ ├── ArchUtil.h
│ │ ├── BaseUtil.cpp
│ │ ├── BaseUtil.h
│ │ ├── BitManip.h
│ │ ├── BitReader.cpp
│ │ ├── BitReader.h
│ │ ├── ByteOrderDecoder.cpp
│ │ ├── ByteOrderDecoder.h
│ │ ├── ByteReader.h
│ │ ├── ByteWriter.h
│ │ ├── CmdLineParser.cpp
│ │ ├── CmdLineParser.h
│ │ ├── CryptoUtil.cpp
│ │ ├── CryptoUtil.h
│ │ ├── CssParser.cpp
│ │ ├── CssParser.h
│ │ ├── DbgHelpDyn.cpp
│ │ ├── DbgHelpDyn.h
│ │ ├── DebugLog.cpp
│ │ ├── DebugLog.h
│ │ ├── Dict.cpp
│ │ ├── Dict.h
│ │ ├── DirIter.cpp
│ │ ├── DirIter.h
│ │ ├── Dpi.cpp
│ │ ├── Dpi.h
│ │ ├── FileTransactions.cpp
│ │ ├── FileTransactions.h
│ │ ├── FileUtil.cpp
│ │ ├── FileUtil.h
│ │ ├── FileWatcher.cpp
│ │ ├── FileWatcher.h
│ │ ├── FrameTimeoutCalculator.h
│ │ ├── FzImgReader.cpp
│ │ ├── FzImgReader.h
│ │ ├── GdiPlusUtil.cpp
│ │ ├── GdiPlusUtil.h
│ │ ├── GeomUtil.h
│ │ ├── HtmlParseTest00.html
│ │ ├── HtmlParserLookup.cpp
│ │ ├── HtmlParserLookup.h
│ │ ├── HtmlPrettyPrint.cpp
│ │ ├── HtmlPrettyPrint.h
│ │ ├── HtmlPullParser.cpp
│ │ ├── HtmlPullParser.h
│ │ ├── HtmlWindow.cpp
│ │ ├── HtmlWindow.h
│ │ ├── HttpUtil.cpp
│ │ ├── HttpUtil.h
│ │ ├── JsonParser.cpp
│ │ ├── JsonParser.h
│ │ ├── LzmaSimpleArchive.cpp
│ │ ├── LzmaSimpleArchive.h
│ │ ├── PalmDbReader.cpp
│ │ ├── PalmDbReader.h
│ │ ├── Scoped.h
│ │ ├── SerializeTxt.cpp
│ │ ├── SerializeTxt.h
│ │ ├── SettingsUtil.cpp
│ │ ├── SettingsUtil.h
│ │ ├── SimpleLog.h
│ │ ├── SquareTreeParser.cpp
│ │ ├── SquareTreeParser.h
│ │ ├── StrFormat.cpp
│ │ ├── StrFormat.h
│ │ ├── StrHash.h
│ │ ├── StrSlice.cpp
│ │ ├── StrSlice.h
│ │ ├── StrUtil.cpp
│ │ ├── StrUtil.h
│ │ ├── TgaReader.cpp
│ │ ├── TgaReader.h
│ │ ├── ThreadUtil.cpp
│ │ ├── ThreadUtil.h
│ │ ├── Timer.h
│ │ ├── TrivialHtmlParser.cpp
│ │ ├── TrivialHtmlParser.h
│ │ ├── TxtParser.cpp
│ │ ├── TxtParser.h
│ │ ├── UITask.cpp
│ │ ├── UITask.h
│ │ ├── UtAssert.cpp
│ │ ├── UtAssert.h
│ │ ├── VarintGob.cpp
│ │ ├── VarintGob.h
│ │ ├── Vec.h
│ │ ├── VecSegmented.h
│ │ ├── WebpReader.cpp
│ │ ├── WebpReader.h
│ │ ├── WinDynCalls.cpp
│ │ ├── WinDynCalls.h
│ │ ├── WinUtil.cpp
│ │ ├── WinUtil.h
│ │ ├── ZipUtil.cpp
│ │ ├── ZipUtil.h
│ │ ├── mingw_compat.h
│ │ └── tests/
│ │ ├── BaseUtil_ut.cpp
│ │ ├── ByteOrderDecoder_ut.cpp
│ │ ├── CmdLineParser_ut.cpp
│ │ ├── CryptoUtil_ut.cpp
│ │ ├── CssParser_ut.cpp
│ │ ├── Dict_ut.cpp
│ │ ├── FileUtil_ut.cpp
│ │ ├── HtmlPrettyPrint_ut.cpp
│ │ ├── HtmlPullParser_ut.cpp
│ │ ├── JsonParser_ut.cpp
│ │ ├── SettingsUtil_ut.cpp
│ │ ├── SimpleLog_ut.cpp
│ │ ├── SquareTreeParser_ut.cpp
│ │ ├── StrFormat_ut.cpp
│ │ ├── StrUtil_ut.cpp
│ │ ├── TrivialHtmlParser_ut.cpp
│ │ ├── VarintGob_ut.cpp
│ │ ├── Vec_ut.cpp
│ │ └── WinUtil_ut.cpp
│ └── wingui/
│ ├── DialogSizer.cpp
│ ├── DialogSizer.h
│ ├── EditCtrl.cpp
│ ├── EditCtrl.h
│ ├── FrameRateWnd.cpp
│ ├── FrameRateWnd.h
│ ├── LabelWithCloseWnd.cpp
│ ├── LabelWithCloseWnd.h
│ ├── SplitterWnd.cpp
│ ├── SplitterWnd.h
│ ├── TabsWnd.cpp
│ ├── TabsWnd.h
│ ├── Win32Window.cpp
│ └── Win32Window.h
├── strings/
│ ├── last_uploaded.txt
│ └── translations.txt
├── tools/
│ ├── build/
│ │ ├── analyze.go
│ │ ├── cmd.go
│ │ ├── main.go
│ │ ├── s3.go
│ │ └── util.go
│ ├── buildgo/
│ │ └── main.go
│ ├── clang-fmt.go
│ ├── diff-preview.go
│ ├── efi/
│ │ ├── Dia2Subset.h
│ │ ├── Util.cpp
│ │ ├── Util.h
│ │ ├── efiparse.py
│ │ ├── main.cpp
│ │ └── readme.txt
│ ├── mingw/
│ │ ├── VagrantBootstrap.sh
│ │ ├── Vagrantfile
│ │ ├── build.go
│ │ ├── readme.txt
│ │ └── vagrant_build.sh
│ ├── premake/
│ │ ├── no_op_console.c
│ │ └── no_op_for_premake.cpp
│ ├── regress/
│ │ ├── main.go
│ │ └── tests.txt
│ ├── s3/
│ │ └── main.go
│ └── test-app/
│ ├── Resource.h
│ ├── scratch.cpp
│ ├── stdafx.cpp
│ ├── stdafx.h
│ ├── targetver.h
│ ├── test-app.cpp
│ ├── test-app.h
│ ├── test-app.rc
│ ├── test-app.sln
│ ├── test-app.vcxproj
│ └── test-app.vcxproj.filters
└── vs2015/
├── Installer.vcxproj
├── Installer.vcxproj.filters
├── InstallerNoData.vcxproj
├── InstallerNoData.vcxproj.filters
├── MakeLZSA.vcxproj
├── PdfFilter.vcxproj
├── PdfFilter.vcxproj.filters
├── PdfPreview.vcxproj
├── PdfPreview.vcxproj.filters
├── SumatraPDF-no-MUPDF.vcxproj
├── SumatraPDF.sln
├── SumatraPDF.vcxproj
├── SumatraPDF.vcxproj.filters
├── Uninstaller.vcxproj
├── Uninstaller.vcxproj.filters
├── all.vcxproj
├── buildcmap.vcxproj
├── chm.vcxproj
├── cmapdump.vcxproj
├── efi.vcxproj
├── efi.vcxproj.filters
├── enginedump.vcxproj
├── enginedump.vcxproj.filters
├── engines.vcxproj
├── engines.vcxproj.filters
├── freetype.vcxproj
├── freetype.vcxproj.filters
├── jbig2dec.vcxproj
├── libdjvu.vcxproj
├── libjpeg-turbo.vcxproj
├── libjpeg-turbo.vcxproj.filters
├── libmupdf.vcxproj
├── libmupdf.vcxproj.filters
├── libwebp.vcxproj
├── libwebp.vcxproj.filters
├── mudraw.vcxproj
├── mudraw.vcxproj.filters
├── mui.vcxproj
├── mupdf.vcxproj
├── mupdf.vcxproj.filters
├── mutool.vcxproj
├── mutool.vcxproj.filters
├── openjpeg.vcxproj
├── plugin-test.vcxproj
├── signfile.vcxproj
├── sumatra.vcxproj
├── sumatra.vcxproj.filters
├── synctex.vcxproj
├── test_util.vcxproj
├── test_util.vcxproj.filters
├── uia.vcxproj
├── unarr.vcxproj
├── unarrlib.vcxproj
├── unarrlib.vcxproj.filters
├── utils.vcxproj
├── utils.vcxproj.filters
└── zlib.vcxproj
Showing preview only (1,294K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (17023 symbols across 1383 files)
FILE: ext/CHMLib/src/chm_http.c
function usage (line 55) | static void usage(const char *argv0)
function main (line 67) | int main(int c, char **v)
type chmHttpServer (line 132) | struct chmHttpServer
type chmHttpSlave (line 138) | struct chmHttpSlave
function chmhttp_server (line 146) | static void chmhttp_server(const char *filename)
type chmFile (line 202) | struct chmFile
type chmHttpSlave (line 206) | struct chmHttpSlave
type chmFile (line 207) | struct chmFile
type chmHttpSlave (line 210) | struct chmHttpSlave
type mime_mapping (line 226) | struct mime_mapping
type mime_mapping (line 232) | struct mime_mapping
type mime_mapping (line 249) | struct mime_mapping
function _print_ui_index (line 260) | static int _print_ui_index(struct chmFile *h, struct chmUnitInfo *ui,
function deliver_index (line 273) | static void deliver_index(FILE *fout, struct chmFile *file)
function deliver_content (line 291) | static void deliver_content(FILE *fout, const char *filename, struct chm...
function service_request (line 334) | static void service_request(int fd, struct chmFile *file)
FILE: ext/CHMLib/src/chm_lib.c
type UChar (line 145) | typedef unsigned char UChar;
type __int16 (line 146) | typedef __int16 Int16;
type UInt16 (line 147) | typedef unsigned __int16 UInt16;
type __int32 (line 148) | typedef __int32 Int32;
type UInt32 (line 149) | typedef unsigned __int32 UInt32;
type __int64 (line 150) | typedef __int64 Int64;
type UInt64 (line 151) | typedef unsigned __int64 UInt64;
type UChar (line 156) | typedef unsigned char UChar;
type Int16 (line 157) | typedef short Int16;
type UInt16 (line 158) | typedef unsigned short UInt16;
type Int32 (line 159) | typedef int Int32;
type UInt32 (line 160) | typedef unsigned int UInt32;
type Int64 (line 161) | typedef long Int64;
type UInt64 (line 162) | typedef unsigned long UInt64;
type UChar (line 169) | typedef unsigned char UChar;
type Int16 (line 170) | typedef short Int16;
type UInt16 (line 171) | typedef unsigned short UInt16;
type Int32 (line 172) | typedef long Int32;
type UInt32 (line 173) | typedef unsigned long UInt32;
type Int64 (line 174) | typedef long long Int64;
type UInt64 (line 175) | typedef unsigned long long UInt64;
function ffs (line 185) | static int ffs(unsigned int val)
function _unmarshal_char_array (line 202) | static int _unmarshal_char_array(unsigned char **pData,
function _unmarshal_uchar_array (line 215) | static int _unmarshal_uchar_array(unsigned char **pData,
function _unmarshal_int16 (line 229) | static int _unmarshal_int16(unsigned char **pData,
function _unmarshal_uint16 (line 241) | static int _unmarshal_uint16(unsigned char **pData,
function _unmarshal_int32 (line 254) | static int _unmarshal_int32(unsigned char **pData,
function _unmarshal_uint32 (line 266) | static int _unmarshal_uint32(unsigned char **pData,
function _unmarshal_int64 (line 278) | static int _unmarshal_int64(unsigned char **pData,
function _unmarshal_uint64 (line 298) | static int _unmarshal_uint64(unsigned char **pData,
function _unmarshal_uuid (line 318) | static int _unmarshal_uuid(unsigned char **pData,
type chmItsfHeader (line 344) | struct chmItsfHeader
function _unmarshal_itsf_header (line 361) | static int _unmarshal_itsf_header(unsigned char **pData,
type chmItspHeader (line 424) | struct chmItspHeader
function _unmarshal_itsp_header (line 443) | static int _unmarshal_itsp_header(unsigned char **pData,
type chmPmglHeader (line 485) | struct chmPmglHeader
function _unmarshal_pmgl_header (line 494) | static int _unmarshal_pmgl_header(unsigned char **pData,
type chmPmgiHeader (line 526) | struct chmPmgiHeader
function _unmarshal_pmgi_header (line 532) | static int _unmarshal_pmgi_header(unsigned char **pData,
type chmLzxcResetTable (line 560) | struct chmLzxcResetTable
function _unmarshal_lzxc_reset_table (line 571) | static int _unmarshal_lzxc_reset_table(unsigned char **pData,
type chmLzxcControlData (line 603) | struct chmLzxcControlData
function _unmarshal_lzxc_control_data (line 614) | static int _unmarshal_lzxc_control_data(unsigned char **pData,
type chmFile (line 657) | struct chmFile
function Int64 (line 710) | static Int64 _chm_fetch_bytes(struct chmFile *h,
type chmFile (line 774) | struct chmFile
type chmFile (line 776) | struct chmFile
type chmFile (line 782) | struct chmFile
type chmItsfHeader (line 783) | struct chmItsfHeader
type chmItspHeader (line 784) | struct chmItspHeader
type chmUnitInfo (line 786) | struct chmUnitInfo
type chmUnitInfo (line 788) | struct chmUnitInfo
type chmLzxcControlData (line 789) | struct chmLzxcControlData
type chmFile (line 792) | struct chmFile
type chmFile (line 792) | struct chmFile
function chm_close (line 995) | void chm_close(struct chmFile *h)
function chm_set_param (line 1048) | void chm_set_param(struct chmFile *h,
function _chm_skip_cword (line 1119) | static void _chm_skip_cword(UChar **pEntry)
function _chm_skip_PMGL_entry_data (line 1126) | static void _chm_skip_PMGL_entry_data(UChar **pEntry)
function UInt64 (line 1134) | static UInt64 _chm_parse_cword(UChar **pEntry)
function _chm_parse_UTF8 (line 1148) | static int _chm_parse_UTF8(UChar **pEntry, UInt64 count, char *path)
function _chm_parse_PMGL_entry (line 1167) | static int _chm_parse_PMGL_entry(UChar **pEntry, struct chmUnitInfo *ui)
function UChar (line 1188) | static UChar *_chm_find_in_PMGL(UChar *page_buf,
function Int32 (line 1232) | static Int32 _chm_find_in_PMGI(UChar *page_buf,
function chm_resolve_object (line 1276) | int chm_resolve_object(struct chmFile *h,
function _chm_get_cmpblock_bounds (line 1349) | static int _chm_get_cmpblock_bounds(struct chmFile *h,
function Int64 (line 1411) | static Int64 _chm_decompress_block(struct chmFile *h,
function Int64 (line 1532) | static Int64 _chm_decompress_region(struct chmFile *h,
function LONGINT64 (line 1591) | LONGINT64 chm_retrieve_object(struct chmFile *h,
function chm_enumerate (line 1650) | int chm_enumerate(struct chmFile *h,
function chm_enumerate_dir (line 1769) | int chm_enumerate_dir(struct chmFile *h,
FILE: ext/CHMLib/src/chm_lib.h
type LONGUINT64 (line 58) | typedef unsigned __int64 LONGUINT64;
type __int64 (line 59) | typedef __int64 LONGINT64;
type LONGUINT64 (line 61) | typedef unsigned long long LONGUINT64;
type LONGINT64 (line 62) | typedef long long LONGINT64;
type chmFile (line 72) | struct chmFile
type chmUnitInfo (line 76) | struct chmUnitInfo
type chmFile (line 88) | struct chmFile
type chmFile (line 90) | struct chmFile
type chmFile (line 94) | struct chmFile
type chmFile (line 98) | struct chmFile
type chmFile (line 105) | struct chmFile
type chmUnitInfo (line 107) | struct chmUnitInfo
type chmFile (line 110) | struct chmFile
type chmUnitInfo (line 111) | struct chmUnitInfo
type chmFile (line 117) | struct chmFile
type chmUnitInfo (line 118) | struct chmUnitInfo
type chmFile (line 129) | struct chmFile
type chmFile (line 134) | struct chmFile
FILE: ext/CHMLib/src/enum_chmLib.c
function _print_ui (line 35) | int _print_ui(struct chmFile *h,
function main (line 62) | int main(int c, char **v)
FILE: ext/CHMLib/src/enumdir_chmLib.c
function _print_ui (line 35) | int _print_ui(struct chmFile *h,
function main (line 61) | int main(int c, char **v)
FILE: ext/CHMLib/src/extract_chmLib.c
type extract_context (line 34) | struct extract_context
function dir_exists (line 39) | static int dir_exists(const char *path)
function rmkdir (line 68) | static int rmkdir(char *path)
function _extract_callback (line 101) | int _extract_callback(struct chmFile *h,
function main (line 173) | int main(int c, char **v)
FILE: ext/CHMLib/src/lzx.c
type UBYTE (line 42) | typedef unsigned char UBYTE;
type UWORD (line 43) | typedef unsigned short UWORD;
type ULONG (line 44) | typedef unsigned int ULONG;
type LONG (line 45) | typedef signed int LONG;
type LZXstate (line 76) | struct LZXstate
type LZXstate (line 168) | struct LZXstate
type LZXstate (line 170) | struct LZXstate
type LZXstate (line 179) | struct LZXstate
type LZXstate (line 179) | struct LZXstate
function LZXteardown (line 214) | void LZXteardown(struct LZXstate *pState)
function LZXreset (line 224) | int LZXreset(struct LZXstate *pState)
function make_decode_table (line 348) | static int make_decode_table(ULONG nsyms, ULONG nbits, UBYTE *length, UW...
type lzx_bits (line 418) | struct lzx_bits {
function lzx_read_lens (line 424) | static int lzx_read_lens(struct LZXstate *pState, UBYTE *lens, ULONG fir...
function LZXdecompress (line 467) | int LZXdecompress(struct LZXstate *pState, unsigned char *inpos, unsigne...
function main (line 767) | int main(int c, char **v)
FILE: ext/CHMLib/src/lzx.h
type LZXstate (line 40) | struct LZXstate
type LZXstate (line 43) | struct LZXstate
type LZXstate (line 46) | struct LZXstate
type LZXstate (line 49) | struct LZXstate
type LZXstate (line 52) | struct LZXstate
FILE: ext/CHMLib/src/test_chmLib.c
function main (line 36) | int main(int c, char **v)
FILE: ext/bzip2/blocksort.c
function fallbackSimpleSort (line 30) | static
function fallbackQSort3 (line 92) | static
function fallbackSort (line 211) | static
function Bool (line 345) | static
function mainSimpleSort (line 484) | static
function UChar (line 581) | static
function mainQSort3 (line 620) | static
function mainSort (line 750) | static
function BZ2_blockSort (line 1031) | void BZ2_blockSort ( EState* s )
FILE: ext/bzip2/bz_internal_error.c
function bz_internal_error (line 5) | void bz_internal_error(int errcode)
FILE: ext/bzip2/bzlib.c
function BZ2_bz__AssertH__fail (line 41) | void BZ2_bz__AssertH__fail ( int errcode )
function bz_config_ok (line 90) | static
function default_bzfree (line 108) | static
function prepare_new_block (line 116) | static
function init_RL (line 130) | static
function Bool (line 138) | static
function add_pair_to_block (line 215) | static
function flush_RL (line 251) | static
function Bool (line 288) | static
function Bool (line 333) | static
function Bool (line 360) | static
function Bool (line 535) | static
function Int32 (line 687) | __inline__ Int32 BZ2_indexIntoF ( Int32 indx, Int32 *cftab )
function Bool (line 705) | static
type bzFile (line 892) | typedef
function Bool (line 906) | static Bool myfeof ( FILE* f )
function BZFILE (line 916) | BZFILE* BZ_API(BZ2_bzWriteOpen)
function BZFILE (line 1087) | BZFILE* BZ_API(BZ2_bzReadOpen)
function BZFILE (line 1382) | static
function BZFILE (line 1460) | BZFILE * BZ_API(BZ2_bzopen)
function BZFILE (line 1469) | BZFILE * BZ_API(BZ2_bzdopen)
FILE: ext/bzip2/bzlib.h
type bz_stream (line 48) | typedef
type BZFILE (line 137) | typedef void BZFILE;
FILE: ext/bzip2/bzlib_private.h
type Char (line 41) | typedef char Char;
type Bool (line 42) | typedef unsigned char Bool;
type UChar (line 43) | typedef unsigned char UChar;
type Int32 (line 44) | typedef int Int32;
type UInt32 (line 45) | typedef unsigned int UInt32;
type Int16 (line 46) | typedef short Int16;
type UInt16 (line 47) | typedef unsigned short UInt16;
type EState (line 196) | typedef
type DState (line 347) | typedef
FILE: ext/bzip2/compress.c
function BZ2_bsInitWrite (line 37) | void BZ2_bsInitWrite ( EState* s )
function bsFinishWrite (line 45) | static
function bsW (line 71) | static
function bsPutUInt32 (line 82) | static
function bsPutUChar (line 93) | static
function makeMaps_e (line 105) | static
function generateMTFValues (line 119) | static
function sendMTFValues (line 238) | static
function BZ2_compressBlock (line 602) | void BZ2_compressBlock ( EState* s, Bool is_last_block )
FILE: ext/bzip2/decompress.c
function makeMaps_d (line 26) | static
function Int32 (line 106) | Int32 BZ2_decompress ( DState* s )
FILE: ext/bzip2/huffman.c
function BZ2_hbMakeCodeLengths (line 63) | void BZ2_hbMakeCodeLengths ( UChar *len,
function BZ2_hbAssignCodes (line 152) | void BZ2_hbAssignCodes ( Int32 *code,
function BZ2_hbCreateDecodeTables (line 170) | void BZ2_hbCreateDecodeTables ( Int32 *limit,
FILE: ext/freetype2/include/config/ftconfig.h
type FT_Int16 (line 162) | typedef signed short FT_Int16;
type FT_UInt16 (line 173) | typedef unsigned short FT_UInt16;
type FT_Int32 (line 190) | typedef signed XXX FT_Int32;
type FT_UInt32 (line 201) | typedef unsigned XXX FT_UInt32;
type FT_Int64 (line 213) | typedef signed XXX FT_Int64;
type FT_UInt64 (line 225) | typedef unsigned XXX FT_UInt64;
type FT_Int32 (line 233) | typedef signed int FT_Int32;
type FT_UInt32 (line 234) | typedef unsigned int FT_UInt32;
type FT_Int32 (line 238) | typedef signed long FT_Int32;
type FT_UInt32 (line 239) | typedef unsigned long FT_UInt32;
type FT_Fast (line 249) | typedef int FT_Fast;
type FT_UFast (line 250) | typedef unsigned int FT_UFast;
type FT_Fast (line 254) | typedef long FT_Fast;
type FT_UFast (line 255) | typedef unsigned long FT_UFast;
type FT_INT64 (line 317) | typedef FT_INT64 FT_Int64;
type FT_UINT64 (line 318) | typedef FT_UINT64 FT_UInt64;
FILE: ext/freetype2/include/freetype.h
type FT_Glyph_Metrics_ (line 309) | struct FT_Glyph_Metrics_
type FT_Bitmap_Size (line 363) | typedef struct FT_Bitmap_Size_
type FT_LibraryRec_ (line 406) | struct FT_LibraryRec_
type FT_ModuleRec_ (line 426) | struct FT_ModuleRec_
type FT_DriverRec_ (line 438) | struct FT_DriverRec_
type FT_RendererRec_ (line 452) | struct FT_RendererRec_
type FT_FaceRec_ (line 484) | struct FT_FaceRec_
type FT_SizeRec_ (line 515) | struct FT_SizeRec_
type FT_GlyphSlotRec_ (line 536) | struct FT_GlyphSlotRec_
type FT_CharMapRec_ (line 568) | struct FT_CharMapRec_
type FT_Encoding (line 742) | typedef enum FT_Encoding_
type FT_CharMapRec (line 816) | typedef struct FT_CharMapRec_
type FT_Face_InternalRec_ (line 847) | struct FT_Face_InternalRec_
type FT_FaceRec (line 995) | typedef struct FT_FaceRec_
type FT_Size_InternalRec_ (line 1404) | struct FT_Size_InternalRec_
type FT_Size_Metrics (line 1462) | typedef struct FT_Size_Metrics_
type FT_SizeRec (line 1497) | typedef struct FT_SizeRec_
type FT_SubGlyphRec_ (line 1523) | struct FT_SubGlyphRec_
type FT_Slot_InternalRec_ (line 1535) | struct FT_Slot_InternalRec_
type FT_GlyphSlotRec (line 1706) | typedef struct FT_GlyphSlotRec_
type FT_Parameter (line 1860) | typedef struct FT_Parameter_
type FT_Open_Args (line 1926) | typedef struct FT_Open_Args_
type FT_Size_Request_Type (line 2246) | typedef enum FT_Size_Request_Type_
type FT_Size_RequestRec (line 2286) | typedef struct FT_Size_RequestRec_
type FT_Size_RequestRec_ (line 2305) | struct FT_Size_RequestRec_
type FT_Render_Mode (line 2850) | typedef enum FT_Render_Mode_
type FT_Kerning_Mode (line 2919) | typedef enum FT_Kerning_Mode_
FILE: ext/freetype2/include/ftautoh.h
type FT_Prop_GlyphToScriptMap (line 248) | typedef struct FT_Prop_GlyphToScriptMap_
type FT_Prop_IncreaseXHeight (line 387) | typedef struct FT_Prop_IncreaseXHeight_
FILE: ext/freetype2/include/ftbdf.h
type BDF_PropertyType_ (line 74) | enum BDF_PropertyType_
type BDF_PropertyRec_ (line 93) | struct BDF_PropertyRec_
type BDF_PropertyRec (line 118) | typedef struct BDF_PropertyRec_
FILE: ext/freetype2/include/ftcache.h
type FT_Error (line 209) | typedef FT_Error
type FTC_ManagerRec_ (line 250) | struct FTC_ManagerRec_
type FTC_NodeRec_ (line 270) | struct FTC_NodeRec_
type FTC_ScalerRec (line 425) | typedef struct FTC_ScalerRec_
type FTC_ScalerRec_ (line 445) | struct FTC_ScalerRec_
type FTC_CMapCacheRec_ (line 560) | struct FTC_CMapCacheRec_
type FTC_ImageTypeRec (line 667) | typedef struct FTC_ImageTypeRec_
type FTC_ImageTypeRec_ (line 686) | struct FTC_ImageTypeRec_
type FTC_ImageCacheRec_ (line 708) | struct FTC_ImageCacheRec_
type FTC_SBitRec_ (line 849) | struct FTC_SBitRec_
type FTC_SBitRec (line 887) | typedef struct FTC_SBitRec_
type FTC_SBitCacheRec_ (line 916) | struct FTC_SBitCacheRec_
FILE: ext/freetype2/include/ftglyph.h
type FT_Glyph_Class_ (line 69) | struct FT_Glyph_Class_
type FT_GlyphRec_ (line 87) | struct FT_GlyphRec_
type FT_GlyphRec (line 108) | typedef struct FT_GlyphRec_
type FT_BitmapGlyphRec_ (line 127) | struct FT_BitmapGlyphRec_
type FT_BitmapGlyphRec (line 160) | typedef struct FT_BitmapGlyphRec_
type FT_OutlineGlyphRec_ (line 179) | struct FT_OutlineGlyphRec_
type FT_OutlineGlyphRec (line 208) | typedef struct FT_OutlineGlyphRec_
type FT_Glyph_BBox_Mode (line 317) | typedef enum FT_Glyph_BBox_Mode_
FILE: ext/freetype2/include/ftimage.h
type FT_Vector (line 74) | typedef struct FT_Vector_
type FT_BBox (line 115) | typedef struct FT_BBox_
type FT_Pixel_Mode (line 180) | typedef enum FT_Pixel_Mode_
type FT_Bitmap (line 266) | typedef struct FT_Bitmap_
type FT_Outline (line 339) | typedef struct FT_Outline_
type FT_Outline_Funcs (line 633) | typedef struct FT_Outline_Funcs_
type FT_Glyph_Format (line 720) | typedef enum FT_Glyph_Format_
type FT_RasterRec_ (line 805) | struct FT_RasterRec_
type FT_Span (line 833) | typedef struct FT_Span_
type FT_Raster_Params (line 1012) | typedef struct FT_Raster_Params_
type FT_Raster_Funcs (line 1196) | typedef struct FT_Raster_Funcs_
FILE: ext/freetype2/include/ftincrem.h
type FT_IncrementalRec_ (line 84) | struct FT_IncrementalRec_
type FT_Incremental_MetricsRec (line 115) | typedef struct FT_Incremental_MetricsRec_
type FT_Incremental_MetricsRec_ (line 134) | struct FT_Incremental_MetricsRec_
type FT_Error (line 178) | typedef FT_Error
type FT_Error (line 240) | typedef FT_Error
type FT_Incremental_FuncsRec (line 269) | typedef struct FT_Incremental_FuncsRec_
type FT_Incremental_InterfaceRec (line 314) | typedef struct FT_Incremental_InterfaceRec_
type FT_Incremental_InterfaceRec (line 331) | typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface;
FILE: ext/freetype2/include/ftlcdfil.h
type FT_LcdFilter_ (line 132) | enum FT_LcdFilter_
FILE: ext/freetype2/include/ftmm.h
type FT_MM_Axis_ (line 73) | struct FT_MM_Axis_
type FT_Multi_Master (line 103) | typedef struct FT_Multi_Master_
type FT_Var_Axis (line 140) | typedef struct FT_Var_Axis_
type FT_Var_Named_Style (line 170) | typedef struct FT_Var_Named_Style_
type FT_MM_Var (line 210) | typedef struct FT_MM_Var_
FILE: ext/freetype2/include/ftmodapi.h
type FT_Pointer (line 133) | typedef FT_Pointer FT_Module_Interface;
type FT_Error (line 147) | typedef FT_Error
type FT_Module_Interface (line 179) | typedef FT_Module_Interface
type FT_Module_Class (line 213) | typedef struct FT_Module_Class_
type FT_TrueTypeEngineType (line 627) | typedef enum FT_TrueTypeEngineType_
FILE: ext/freetype2/include/ftoutln.h
function FT_BEGIN_HEADER (line 34) | FT_BEGIN_HEADER
FILE: ext/freetype2/include/ftrender.h
type FT_Error (line 57) | typedef FT_Error
type FT_Error (line 61) | typedef FT_Error
type FT_Glyph_Class_ (line 74) | struct FT_Glyph_Class_
type FT_Error (line 87) | typedef FT_Error
type FT_Error (line 93) | typedef FT_Error
type FT_Error (line 106) | typedef FT_Error
type FT_Renderer_Class (line 144) | typedef struct FT_Renderer_Class_
FILE: ext/freetype2/include/ftsnames.h
type FT_SfntName_ (line 98) | struct FT_SfntName_
FILE: ext/freetype2/include/ftstroke.h
type FT_StrokerRec_ (line 92) | struct FT_StrokerRec_
type FT_Stroker_LineJoin (line 141) | typedef enum FT_Stroker_LineJoin_
type FT_Stroker_LineCap (line 174) | typedef enum FT_Stroker_LineCap_
type FT_StrokerBorder (line 208) | typedef enum FT_StrokerBorder_
FILE: ext/freetype2/include/ftsystem.h
type FT_MemoryRec_ (line 66) | struct FT_MemoryRec_
type FT_MemoryRec_ (line 171) | struct FT_MemoryRec_
type FT_StreamRec_ (line 200) | struct FT_StreamRec_
type FT_StreamDesc (line 213) | typedef union FT_StreamDesc_
type FT_StreamRec (line 330) | typedef struct FT_StreamRec_
FILE: ext/freetype2/include/fttypes.h
type FT_FWord (line 120) | typedef signed short FT_FWord;
type FT_UFWord (line 132) | typedef unsigned short FT_UFWord;
type FT_Char (line 143) | typedef signed char FT_Char;
type FT_Byte (line 154) | typedef unsigned char FT_Byte;
type FT_Byte (line 165) | typedef const FT_Byte* FT_Bytes;
type FT_UInt32 (line 176) | typedef FT_UInt32 FT_Tag;
type FT_String (line 187) | typedef char FT_String;
type FT_Short (line 198) | typedef signed short FT_Short;
type FT_UShort (line 209) | typedef unsigned short FT_UShort;
type FT_Int (line 220) | typedef signed int FT_Int;
type FT_UInt (line 231) | typedef unsigned int FT_UInt;
type FT_Long (line 242) | typedef signed long FT_Long;
type FT_ULong (line 253) | typedef unsigned long FT_ULong;
type FT_F2Dot14 (line 264) | typedef signed short FT_F2Dot14;
type FT_F26Dot6 (line 276) | typedef signed long FT_F26Dot6;
type FT_Fixed (line 288) | typedef signed long FT_Fixed;
type FT_Error (line 300) | typedef int FT_Error;
type FT_Offset (line 324) | typedef size_t FT_Offset;
type ft_ptrdiff_t (line 337) | typedef ft_ptrdiff_t FT_PtrDist;
type FT_UnitVector (line 354) | typedef struct FT_UnitVector_
type FT_Matrix (line 385) | typedef struct FT_Matrix_
type FT_Data (line 406) | typedef struct FT_Data_
type FT_Generic (line 459) | typedef struct FT_Generic_
type FT_ListNodeRec_ (line 515) | struct FT_ListNodeRec_
type FT_ListRec_ (line 526) | struct FT_ListRec_
type FT_ListNodeRec (line 544) | typedef struct FT_ListNodeRec_
type FT_ListRec (line 567) | typedef struct FT_ListRec_
FILE: ext/freetype2/include/ftwinfnt.h
type FT_WinFNT_HeaderRec (line 184) | typedef struct FT_WinFNT_HeaderRec_
type FT_WinFNT_HeaderRec_ (line 234) | struct FT_WinFNT_HeaderRec_
FILE: ext/freetype2/include/internal/autohint.h
type FT_AutoHinterRec_ (line 80) | struct FT_AutoHinterRec_
type FT_Error (line 174) | typedef FT_Error
type FT_AutoHinter_InterfaceRec (line 190) | typedef struct FT_AutoHinter_InterfaceRec_
FILE: ext/freetype2/include/internal/ftcalc.h
function FT_Int32 (line 79) | static __inline__ FT_Int32
function FT_Int32 (line 115) | static __inline__ FT_Int32
function FT_Int32 (line 184) | static __inline__ FT_Int32
FILE: ext/freetype2/include/internal/ftdebug.h
type FT_Trace (line 57) | typedef enum FT_Trace_
FILE: ext/freetype2/include/internal/ftdriver.h
type FT_Error (line 41) | typedef FT_Error
type FT_Error (line 48) | typedef FT_Error
type FT_Error (line 55) | typedef FT_Error
type FT_Error (line 59) | typedef FT_Error
type FT_Error (line 63) | typedef FT_Error
type FT_UInt (line 70) | typedef FT_UInt
type FT_Long (line 74) | typedef FT_Long
type FT_Error (line 79) | typedef FT_Error
type FT_Error (line 86) | typedef FT_Error
type FT_Error (line 91) | typedef FT_Error
type FT_Driver_ClassRec (line 166) | typedef struct FT_Driver_ClassRec_
FILE: ext/freetype2/include/internal/ftgloadr.h
type FT_GlyphLoaderRec_ (line 43) | struct FT_GlyphLoaderRec_
type FT_SubGlyphRec (line 57) | typedef struct FT_SubGlyphRec_
type FT_GlyphLoadRec (line 68) | typedef struct FT_GlyphLoadRec_
type FT_GlyphLoaderRec (line 79) | typedef struct FT_GlyphLoaderRec_
FILE: ext/freetype2/include/internal/ftmemory.h
function T (line 69) | T*
FILE: ext/freetype2/include/internal/ftobjs.h
type FT_CMapRec_ (line 127) | struct FT_CMapRec_
type FT_CMap_ClassRec_ (line 130) | struct FT_CMap_ClassRec_
type FT_CMapRec (line 133) | typedef struct FT_CMapRec_
type FT_Error (line 151) | typedef FT_Error
type FT_UInt (line 158) | typedef FT_UInt
type FT_UInt (line 162) | typedef FT_UInt
type FT_UInt (line 166) | typedef FT_UInt
type FT_Bool (line 172) | typedef FT_Bool
type FT_UInt32 (line 177) | typedef FT_UInt32 *
type FT_UInt32 (line 181) | typedef FT_UInt32 *
type FT_UInt32 (line 186) | typedef FT_UInt32 *
type FT_CMap_ClassRec (line 192) | typedef struct FT_CMap_ClassRec_
type FT_Face_InternalRec (line 355) | typedef struct FT_Face_InternalRec_
type FT_GlyphSlot_InternalRec (line 409) | typedef struct FT_Slot_InternalRec_
type FT_Size_InternalRec (line 434) | typedef struct FT_Size_InternalRec_
type FT_ModuleRec (line 471) | typedef struct FT_ModuleRec_
type FT_RendererRec (line 690) | typedef struct FT_RendererRec_
type FT_DriverRec (line 747) | typedef struct FT_DriverRec_
type FT_LibraryRec (line 856) | typedef struct FT_LibraryRec_
type FT_Error (line 906) | typedef FT_Error
type FT_UInt (line 912) | typedef FT_UInt
type FT_Error (line 1344) | typedef FT_Error
FILE: ext/freetype2/include/internal/ftpic.h
type FT_PIC_Container (line 34) | typedef struct FT_PIC_Container_
FILE: ext/freetype2/include/internal/ftrfork.h
type FT_RFork_Ref (line 44) | typedef struct FT_RFork_Ref_
type FT_Error (line 52) | typedef FT_Error
type FT_RFork_Rule (line 59) | typedef enum FT_RFork_Rule_ {
type ft_raccess_guess_rec (line 77) | typedef struct ft_raccess_guess_rec_ {
FILE: ext/freetype2/include/internal/ftserv.h
type FT_ServiceDescRec (line 150) | typedef struct FT_ServiceDescRec_
type FT_ServiceDescRec (line 157) | typedef const FT_ServiceDescRec* FT_ServiceDesc;
type FT_ServiceCacheRec (line 634) | typedef struct FT_ServiceCacheRec_
FILE: ext/freetype2/include/internal/ftstream.h
type FT_Frame_Op (line 57) | typedef enum FT_Frame_Op_
type FT_Frame_Field (line 86) | typedef struct FT_Frame_Field_
FILE: ext/freetype2/include/internal/ftvalid.h
type FT_ValidatorRec_ (line 42) | struct FT_ValidatorRec_
type FT_ValidationLevel (line 70) | typedef enum FT_ValidationLevel_
type FT_ValidatorRec (line 88) | typedef struct FT_ValidatorRec_
FILE: ext/freetype2/include/internal/psaux.h
type PS_TableRec_ (line 42) | struct PS_TableRec_
type PS_Table_FuncsRec_ (line 43) | struct PS_Table_FuncsRec_
type PS_Table_FuncsRec (line 63) | typedef struct PS_Table_FuncsRec_
type PS_TableRec (line 120) | typedef struct PS_TableRec_
type PS_ParserRec_ (line 146) | struct PS_ParserRec_
type T1_TokenRec_ (line 148) | struct T1_TokenRec_
type T1_FieldRec_ (line 150) | struct T1_FieldRec_
type T1_TokenType (line 154) | typedef enum T1_TokenType_
type T1_TokenRec (line 169) | typedef struct T1_TokenRec_
type T1_FieldType (line 179) | typedef enum T1_FieldType_
type T1_FieldLocation (line 200) | typedef enum T1_FieldLocation_
type T1_FieldRec (line 224) | typedef struct T1_FieldRec_
type PS_Parser_FuncsRec_ (line 340) | struct PS_Parser_FuncsRec_
type PS_Parser_FuncsRec (line 342) | typedef struct PS_Parser_FuncsRec_
type PS_ParserRec (line 428) | typedef struct PS_ParserRec_
type T1_BuilderRec_ (line 450) | struct T1_BuilderRec_
type FT_Error (line 453) | typedef FT_Error
type FT_Error (line 463) | typedef FT_Error
type FT_Error (line 468) | typedef FT_Error
type FT_Error (line 471) | typedef FT_Error
type T1_Builder_FuncsRec_ (line 480) | struct T1_Builder_FuncsRec_
type T1_Builder_FuncsRec (line 482) | typedef struct T1_Builder_FuncsRec_
type T1_ParseState (line 505) | typedef enum T1_ParseState_
type T1_BuilderRec (line 563) | typedef struct T1_BuilderRec_
type T1_Decoder_ZoneRec (line 621) | typedef struct T1_Decoder_ZoneRec_
type T1_DecoderRec_ (line 630) | struct T1_DecoderRec_
type T1_Decoder_FuncsRec_ (line 631) | struct T1_Decoder_FuncsRec_
type FT_Error (line 634) | typedef FT_Error
type T1_Decoder_FuncsRec (line 639) | typedef struct T1_Decoder_FuncsRec_
type T1_DecoderRec (line 663) | typedef struct T1_DecoderRec_
type AFM_ParserRec_ (line 712) | struct AFM_ParserRec_
type AFM_Parser_FuncsRec (line 714) | typedef struct AFM_Parser_FuncsRec_
type AFM_StreamRec_ (line 731) | struct AFM_StreamRec_
type AFM_ParserRec (line 753) | typedef struct AFM_ParserRec_
type T1_CMap_ClassesRec_ (line 778) | struct T1_CMap_ClassesRec_
type T1_CMap_ClassesRec (line 780) | typedef struct T1_CMap_ClassesRec_
type PSAux_ServiceRec (line 798) | typedef struct PSAux_ServiceRec_
type PSAux_ServiceRec (line 819) | typedef PSAux_ServiceRec PSAux_Interface;
FILE: ext/freetype2/include/internal/pshints.h
type PSH_GlobalsRec_ (line 41) | struct PSH_GlobalsRec_
type FT_Error (line 43) | typedef FT_Error
type PSH_Globals_FuncsRec (line 59) | typedef struct PSH_Globals_FuncsRec_
type T1_HintsRec_ (line 104) | struct T1_HintsRec_
type T1_Hints_FuncsRec_ (line 117) | struct T1_Hints_FuncsRec_
type FT_Error (line 265) | typedef FT_Error
type FT_Error (line 304) | typedef FT_Error
type T1_Hints_FuncsRec (line 342) | typedef struct T1_Hints_FuncsRec_
type T2_HintsRec_ (line 391) | struct T2_HintsRec_
type T2_Hints_FuncsRec_ (line 404) | struct T2_Hints_FuncsRec_
type FT_Error (line 579) | typedef FT_Error
type FT_Error (line 618) | typedef FT_Error
type T2_Hints_FuncsRec (line 656) | typedef struct T2_Hints_FuncsRec_
type PSHinter_Interface (line 672) | typedef struct PSHinter_Interface_
type PSHinter_Interface (line 680) | typedef PSHinter_Interface* PSHinter_Service;
FILE: ext/freetype2/include/internal/services/svbdf.h
type FT_Error (line 31) | typedef FT_Error
type FT_Error (line 36) | typedef FT_Error
function FT_DEFINE_SERVICE (line 42) | FT_DEFINE_SERVICE( BDF )
FILE: ext/freetype2/include/internal/services/svcid.h
type FT_Error (line 29) | typedef FT_Error
type FT_Error (line 34) | typedef FT_Error
type FT_Error (line 37) | typedef FT_Error
function FT_DEFINE_SERVICE (line 42) | FT_DEFINE_SERVICE( CID )
FILE: ext/freetype2/include/internal/services/svgldict.h
type FT_Error (line 37) | typedef FT_Error
type FT_UInt (line 43) | typedef FT_UInt
function FT_DEFINE_SERVICE (line 48) | FT_DEFINE_SERVICE( GlyphDict )
FILE: ext/freetype2/include/internal/services/svgxval.h
type FT_Error (line 40) | typedef FT_Error
type FT_Error (line 47) | typedef FT_Error
function FT_DEFINE_SERVICE (line 53) | FT_DEFINE_SERVICE( GXvalidate )
function FT_DEFINE_SERVICE (line 58) | FT_DEFINE_SERVICE( CKERNvalidate )
FILE: ext/freetype2/include/internal/services/svkern.h
type FT_Error (line 31) | typedef FT_Error
function FT_DEFINE_SERVICE (line 37) | FT_DEFINE_SERVICE( Kerning )
FILE: ext/freetype2/include/internal/services/svmm.h
type FT_Error (line 38) | typedef FT_Error
type FT_Error (line 42) | typedef FT_Error
type FT_Error (line 46) | typedef FT_Error
type FT_Error (line 51) | typedef FT_Error
type FT_Error (line 56) | typedef FT_Error
function FT_DEFINE_SERVICE (line 62) | FT_DEFINE_SERVICE( MultiMasters )
FILE: ext/freetype2/include/internal/services/svotval.h
type FT_Error (line 31) | typedef FT_Error
function FT_DEFINE_SERVICE (line 41) | FT_DEFINE_SERVICE( OTvalidate )
FILE: ext/freetype2/include/internal/services/svpfr.h
type FT_Error (line 32) | typedef FT_Error
type FT_Error (line 39) | typedef FT_Error
type FT_Error (line 45) | typedef FT_Error
function FT_DEFINE_SERVICE (line 51) | FT_DEFINE_SERVICE( PfrMetrics )
FILE: ext/freetype2/include/internal/services/svpostnm.h
function FT_DEFINE_SERVICE (line 44) | FT_DEFINE_SERVICE( PsFontName )
FILE: ext/freetype2/include/internal/services/svprop.h
type FT_Error (line 29) | typedef FT_Error
type FT_Error (line 34) | typedef FT_Error
function FT_DEFINE_SERVICE (line 40) | FT_DEFINE_SERVICE( Properties )
FILE: ext/freetype2/include/internal/services/svpscmap.h
type FT_UInt32 (line 34) | typedef FT_UInt32
type PS_UniMap (line 54) | typedef struct PS_UniMap_
type PS_UnicodesRec_ (line 62) | struct PS_UnicodesRec_
type PS_UnicodesRec (line 64) | typedef struct PS_UnicodesRec_
type FT_Error (line 89) | typedef FT_Error
type FT_UInt (line 97) | typedef FT_UInt
type FT_UInt32 (line 101) | typedef FT_UInt32
function FT_DEFINE_SERVICE (line 106) | FT_DEFINE_SERVICE( PsCMaps )
FILE: ext/freetype2/include/internal/services/svpsinfo.h
type FT_Error (line 32) | typedef FT_Error
type FT_Error (line 36) | typedef FT_Error
type FT_Int (line 40) | typedef FT_Int
type FT_Error (line 43) | typedef FT_Error
type FT_Long (line 47) | typedef FT_Long
function FT_DEFINE_SERVICE (line 55) | FT_DEFINE_SERVICE( PsInfo )
FILE: ext/freetype2/include/internal/services/svsfnt.h
type FT_Error (line 39) | typedef FT_Error
type FT_Error (line 57) | typedef FT_Error
function FT_DEFINE_SERVICE (line 65) | FT_DEFINE_SERVICE( SFNT_Table )
FILE: ext/freetype2/include/internal/services/svttcmap.h
type TT_CMapInfo (line 59) | typedef struct TT_CMapInfo_
type FT_Error (line 67) | typedef FT_Error
function FT_DEFINE_SERVICE (line 72) | FT_DEFINE_SERVICE( TTCMaps )
FILE: ext/freetype2/include/internal/services/svtteng.h
function FT_DEFINE_SERVICE (line 39) | FT_DEFINE_SERVICE( TrueTypeEngine )
FILE: ext/freetype2/include/internal/services/svttglyf.h
type FT_ULong (line 30) | typedef FT_ULong
function FT_DEFINE_SERVICE (line 35) | FT_DEFINE_SERVICE( TTGlyf )
FILE: ext/freetype2/include/internal/services/svwinfnt.h
type FT_Error (line 31) | typedef FT_Error
function FT_DEFINE_SERVICE (line 36) | FT_DEFINE_SERVICE( WinFnt )
FILE: ext/freetype2/include/internal/sfnt.h
type FT_Error (line 102) | typedef FT_Error
type FT_Error (line 168) | typedef FT_Error
type FT_Error (line 204) | typedef FT_Error
type FT_Error (line 240) | typedef FT_Error
type FT_Error (line 285) | typedef FT_Error
type FT_Error (line 315) | typedef FT_Error
type FT_Error (line 341) | typedef FT_Error
type FT_Error (line 366) | typedef FT_Error
type FT_Error (line 391) | typedef FT_Error
type FT_Error (line 447) | typedef FT_Error
type FT_Int (line 482) | typedef FT_Int
type SFNT_Interface (line 500) | typedef struct SFNT_Interface_
type SFNT_Interface (line 563) | typedef SFNT_Interface* SFNT_Service;
FILE: ext/freetype2/include/internal/t1types.h
type T1_EncodingRecRec_ (line 69) | struct T1_EncodingRecRec_
type PS_FontExtraRec (line 86) | typedef struct PS_FontExtraRec_
type T1_FontRec (line 93) | typedef struct T1_FontRec_
type CID_SubrsRec (line 128) | typedef struct CID_SubrsRec_
type AFM_TrackKernRec (line 148) | typedef struct AFM_TrackKernRec_
type AFM_KernPairRec (line 158) | typedef struct AFM_KernPairRec_
type AFM_FontInfoRec (line 167) | typedef struct AFM_FontInfoRec_
type T1_FaceRec_ (line 194) | struct T1_FaceRec_
type CID_FaceRec_ (line 195) | struct CID_FaceRec_
type T1_FaceRec (line 198) | typedef struct T1_FaceRec_
type CID_FaceRec (line 228) | typedef struct CID_FaceRec_
FILE: ext/freetype2/include/internal/tttypes.h
type TTC_HeaderRec_ (line 70) | struct TTC_HeaderRec_
type SFNT_HeaderRec (line 99) | typedef struct SFNT_HeaderRec_
type TT_TableRec (line 130) | typedef struct TT_TableRec_
type WOFF_HeaderRec (line 153) | typedef struct WOFF_HeaderRec_
type WOFF_TableRec (line 196) | typedef struct WOFF_TableRec_
type TT_LongMetricsRec (line 223) | typedef struct TT_LongMetricsRec_
type FT_Short (line 240) | typedef FT_Short TT_ShortMetrics;
type TT_NameEntryRec (line 270) | typedef struct TT_NameEntryRec_
type TT_NameTableRec (line 307) | typedef struct TT_NameTableRec_
type TT_GaspRangeRec (line 346) | typedef struct TT_GaspRangeRec_
type TT_GaspRec (line 374) | typedef struct TT_Gasp_
type TT_SBit_MetricsRec (line 423) | typedef struct TT_SBit_MetricsRec_
type TT_SBit_SmallMetricsRec (line 460) | typedef struct TT_SBit_Small_Metrics_
type TT_SBit_LineMetricsRec (line 523) | typedef struct TT_SBit_LineMetricsRec_
type TT_SBit_RangeRec (line 577) | typedef struct TT_SBit_RangeRec_
type TT_SBit_StrikeRec (line 641) | typedef struct TT_SBit_StrikeRec_
type TT_SBit_ComponentRec (line 679) | typedef struct TT_SBit_ComponentRec_
type TT_SBit_ScaleRec (line 710) | typedef struct TT_SBit_ScaleRec_
type TT_Post_20Rec (line 755) | typedef struct TT_Post_20Rec_
type TT_Post_25Rec (line 780) | typedef struct TT_Post_25_
type TT_Post_NamesRec (line 803) | typedef struct TT_Post_NamesRec_
type GX_BlendRec_ (line 831) | struct GX_BlendRec_
type TT_BDFRec (line 888) | typedef struct TT_BDFRec_
type TT_FaceRec_ (line 939) | struct TT_FaceRec_
type FT_Error (line 943) | typedef FT_Error
type TT_LoaderRec_ (line 947) | struct TT_LoaderRec_
type FT_Error (line 975) | typedef FT_Error
type FT_Error (line 1010) | typedef FT_Error
type FT_Error (line 1032) | typedef FT_Error
type TT_SbitTableType (line 1051) | typedef enum TT_SbitTableType_
type TT_FaceRec (line 1253) | typedef struct TT_FaceRec_
type TT_GlyphZoneRec (line 1439) | typedef struct TT_GlyphZoneRec_
type TT_ExecContextRec_ (line 1460) | struct TT_ExecContextRec_
type TT_LoaderRec (line 1463) | typedef struct TT_LoaderRec_
FILE: ext/freetype2/include/t1tables.h
type PS_FontInfoRec_ (line 89) | struct PS_FontInfoRec_
type PS_FontInfoRec_ (line 112) | struct PS_FontInfoRec_
type PS_FontInfoRec (line 125) | typedef PS_FontInfoRec T1_FontInfo;
type PS_PrivateRec (line 138) | typedef struct PS_PrivateRec_
type PS_PrivateRec_ (line 187) | struct PS_PrivateRec_
type PS_PrivateRec (line 200) | typedef PS_PrivateRec T1_Private;
type T1_Blend_Flags (line 229) | typedef enum T1_Blend_Flags_
type PS_DesignMapRec (line 286) | typedef struct PS_DesignMap_
type PS_DesignMapRec (line 295) | typedef PS_DesignMapRec T1_DesignMap;
type PS_BlendRec (line 298) | typedef struct PS_BlendRec_
type PS_BlendRec (line 330) | typedef PS_BlendRec T1_Blend;
type CID_FaceDictRec (line 341) | typedef struct CID_FaceDictRec_
type CID_FaceDictRec_ (line 370) | struct CID_FaceDictRec_
type CID_FaceDictRec (line 383) | typedef CID_FaceDictRec CID_FontDict;
type CID_FaceInfoRec (line 394) | typedef struct CID_FaceInfoRec_
type CID_FaceInfoRec_ (line 432) | struct CID_FaceInfoRec_
type CID_FaceInfoRec (line 445) | typedef CID_FaceInfoRec CID_Info;
type T1_EncodingType (line 556) | typedef enum T1_EncodingType_
type PS_Dict_Keys (line 624) | typedef enum PS_Dict_Keys_
FILE: ext/freetype2/include/tttables.h
type TT_Header_ (line 82) | struct TT_Header_
type TT_HoriHeader (line 199) | typedef struct TT_HoriHeader_
type TT_VertHeader (line 325) | typedef struct TT_VertHeader_
type TT_OS2 (line 368) | typedef struct TT_OS2_
type TT_Postscript (line 437) | typedef struct TT_Postscript_
type TT_PCLT (line 464) | typedef struct TT_PCLT_
type TT_MaxProfile (line 551) | typedef struct TT_MaxProfile_
type FT_Sfnt_Tag (line 596) | typedef enum FT_Sfnt_Tag_
FILE: ext/freetype2/src/autofit/afangles.c
function af_angle_atan (line 44) | FT_LOCAL_DEF( AF_Angle )
function af_angle_atan (line 123) | FT_LOCAL_DEF( AF_Angle )
function af_sort_pos (line 186) | FT_LOCAL_DEF( void )
function af_sort_and_quantize_widths (line 209) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/autofit/afblue.h
type AF_Blue_String (line 75) | typedef enum AF_Blue_String_
type AF_Blue_Stringset (line 156) | typedef enum AF_Blue_Stringset_
type AF_Blue_StringRec (line 184) | typedef struct AF_Blue_StringRec_
FILE: ext/freetype2/src/autofit/afcjk.c
function af_cjk_metrics_init_widths (line 69) | FT_LOCAL_DEF( void )
function af_cjk_metrics_init_blues (line 256) | static void
function af_cjk_metrics_check_digits (line 511) | FT_LOCAL_DEF( void )
function af_cjk_metrics_init (line 559) | FT_LOCAL_DEF( FT_Error )
function af_cjk_metrics_scale_dim (line 583) | static void
function af_cjk_metrics_scale (line 678) | FT_LOCAL_DEF( void )
function FT_Error (line 702) | static FT_Error
function af_cjk_hints_link_segments (line 746) | static void
function FT_Error (line 907) | static FT_Error
function FT_Error (line 1173) | static FT_Error
function af_cjk_hints_compute_blue_edges (line 1193) | FT_LOCAL_DEF( void )
function af_cjk_hints_init (line 1282) | FT_LOCAL_DEF( FT_Error )
function FT_Pos (line 1355) | static FT_Pos
function FT_Pos (line 1404) | static FT_Pos
function af_cjk_align_linked_edge (line 1525) | static void
function af_cjk_align_serif_edge (line 1552) | static void
function FT_Pos (line 1579) | static FT_Pos
function af_cjk_hint_edges (line 1707) | static void
function af_cjk_align_edge_points (line 2086) | static void
function af_cjk_hints_apply (line 2178) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/autofit/afcjk.h
function FT_BEGIN_HEADER (line 26) | FT_BEGIN_HEADER
type AF_CJKAxisRec (line 77) | typedef struct AF_CJKAxisRec_
type AF_CJKMetricsRec (line 99) | typedef struct AF_CJKMetricsRec_
FILE: ext/freetype2/src/autofit/afdummy.c
function FT_Error (line 25) | static FT_Error
function FT_Error (line 40) | static FT_Error
FILE: ext/freetype2/src/autofit/afglobal.c
function FT_Error (line 132) | static FT_Error
function af_face_globals_new (line 305) | FT_LOCAL_DEF( FT_Error )
function af_face_globals_free (line 345) | FT_LOCAL_DEF( void )
function af_face_globals_get_metrics (line 385) | FT_LOCAL_DEF( FT_Error )
function af_face_globals_is_digit (line 453) | FT_LOCAL_DEF( FT_Bool )
FILE: ext/freetype2/src/autofit/afglobal.h
type AF_FaceGlobalsRec (line 99) | typedef struct AF_FaceGlobalsRec_
FILE: ext/freetype2/src/autofit/afhints.c
function af_axis_hints_new_segment (line 37) | FT_LOCAL_DEF( FT_Error )
function af_axis_hints_new_edge (line 80) | FT_LOCAL( FT_Error )
function af_glyph_hints_dump_points (line 189) | void
function af_glyph_hints_dump_segments (line 253) | void
function FT_Error (line 310) | FT_Error
function FT_Error (line 336) | FT_Error
function af_glyph_hints_dump_edges (line 384) | void
function af_direction_compute (line 438) | FT_LOCAL_DEF( AF_Direction )
function af_glyph_hints_init (line 487) | FT_LOCAL_DEF( void )
function af_glyph_hints_done (line 496) | FT_LOCAL_DEF( void )
function af_glyph_hints_rescale (line 538) | FT_LOCAL_DEF( void )
function af_glyph_hints_reload (line 550) | FT_LOCAL_DEF( FT_Error )
function af_glyph_hints_save (line 929) | FT_LOCAL_DEF( void )
function af_glyph_hints_align_edge_points (line 964) | FT_LOCAL_DEF( void )
function af_glyph_hints_align_strong_points (line 1039) | FT_LOCAL_DEF( void )
function af_iup_shift (line 1195) | static void
function af_iup_interp (line 1222) | static void
function af_glyph_hints_align_weak_points (line 1293) | FT_LOCAL_DEF( void )
function af_glyph_hints_scale_dim (line 1421) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/autofit/afhints.h
type AF_Dimension_ (line 33) | enum AF_Dimension_
type AF_Direction (line 47) | typedef enum AF_Direction_
type AF_Flags (line 210) | typedef enum AF_Flags_
type AF_Edge_Flags (line 230) | typedef enum AF_Edge_Flags_
type AF_PointRec_ (line 241) | struct AF_PointRec_
type AF_SegmentRec_ (line 242) | struct AF_SegmentRec_
type AF_EdgeRec_ (line 243) | struct AF_EdgeRec_
type AF_PointRec (line 246) | typedef struct AF_PointRec_
type AF_SegmentRec (line 263) | typedef struct AF_SegmentRec_
type AF_EdgeRec (line 287) | typedef struct AF_EdgeRec_
type AF_AxisHintsRec (line 309) | typedef struct AF_AxisHintsRec_
type AF_GlyphHintsRec (line 327) | typedef struct AF_GlyphHintsRec_
FILE: ext/freetype2/src/autofit/afindic.c
function FT_Error (line 35) | static FT_Error
function af_indic_metrics_scale (line 63) | static void
function FT_Error (line 72) | static FT_Error
function FT_Error (line 81) | static FT_Error
FILE: ext/freetype2/src/autofit/aflatin.c
function af_latin_metrics_init_widths (line 56) | FT_LOCAL_DEF( void )
function af_latin_metrics_init_blues (line 257) | static void
function af_latin_metrics_check_digits (line 814) | FT_LOCAL_DEF( void )
function af_latin_metrics_init (line 862) | FT_LOCAL_DEF( FT_Error )
function af_latin_metrics_scale_dim (line 886) | static void
function af_latin_metrics_scale (line 1129) | FT_LOCAL_DEF( void )
function af_latin_hints_compute_segments (line 1153) | FT_LOCAL_DEF( FT_Error )
function af_latin_hints_link_segments (line 1373) | FT_LOCAL_DEF( void )
function af_latin_hints_compute_edges (line 1511) | FT_LOCAL_DEF( FT_Error )
function af_latin_hints_detect_features (line 1805) | FT_LOCAL_DEF( FT_Error )
function af_latin_hints_compute_blue_edges (line 1828) | FT_LOCAL_DEF( void )
function FT_Error (line 1941) | static FT_Error
function FT_Pos (line 2021) | static FT_Pos
function FT_Pos (line 2070) | static FT_Pos
function af_latin_align_linked_edge (line 2234) | static void
function af_latin_align_serif_edge (line 2260) | static void
function af_latin_hint_edges (line 2284) | FT_LOCAL_DEF( void )
function FT_Error (line 2801) | static FT_Error
FILE: ext/freetype2/src/autofit/aflatin.h
type AF_LatinBlueRec (line 77) | typedef struct AF_LatinBlueRec_
type AF_LatinAxisRec (line 86) | typedef struct AF_LatinAxisRec_
type AF_LatinMetricsRec (line 107) | typedef struct AF_LatinMetricsRec_
FILE: ext/freetype2/src/autofit/aflatin2.c
function af_latin2_metrics_init_widths (line 58) | FT_LOCAL_DEF( void )
function af_latin2_metrics_init_blues (line 184) | static void
function af_latin2_metrics_check_digits (line 429) | FT_LOCAL_DEF( void )
function af_latin2_metrics_init (line 475) | FT_LOCAL_DEF( FT_Error )
function af_latin2_metrics_scale_dim (line 515) | static void
function af_latin2_metrics_scale (line 683) | FT_LOCAL_DEF( void )
function af_latin2_hints_compute_segments (line 706) | FT_LOCAL_DEF( FT_Error )
function af_latin2_hints_compute_edges (line 1059) | FT_LOCAL_DEF( FT_Error )
function af_latin2_hints_detect_features (line 1367) | FT_LOCAL_DEF( FT_Error )
function af_latin2_hints_compute_blue_edges (line 1385) | FT_LOCAL_DEF( void )
function FT_Error (line 1491) | static FT_Error
function FT_Pos (line 1573) | static FT_Pos
function FT_Pos (line 1620) | static FT_Pos
function af_latin2_align_linked_edge (line 1788) | static void
function af_latin2_align_serif_edge (line 1811) | static void
function af_latin2_hint_edges (line 1833) | FT_LOCAL_DEF( void )
function FT_Error (line 2301) | static FT_Error
FILE: ext/freetype2/src/autofit/afloader.c
function af_loader_init (line 29) | FT_LOCAL_DEF( FT_Error )
function af_loader_reset (line 48) | FT_LOCAL_DEF( FT_Error )
function af_loader_done (line 79) | FT_LOCAL_DEF( void )
function FT_Error (line 102) | static FT_Error
function af_loader_load_glyph (line 498) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/autofit/afloader.h
type AF_ModuleRec_ (line 28) | struct AF_ModuleRec_
type AF_LoaderRec (line 38) | typedef struct AF_LoaderRec_
FILE: ext/freetype2/src/autofit/afmodule.c
function FT_Error (line 48) | static FT_Error
function FT_Error (line 82) | static FT_Error
function FT_Error (line 151) | static FT_Error
function af_get_interface (line 225) | FT_CALLBACK_DEF( FT_Module_Interface )
function af_autofitter_init (line 247) | FT_CALLBACK_DEF( FT_Error )
function af_autofitter_done (line 260) | FT_CALLBACK_DEF( void )
function af_autofitter_load_glyph (line 270) | FT_CALLBACK_DEF( FT_Error )
FILE: ext/freetype2/src/autofit/afmodule.h
type AF_ModuleRec_ (line 39) | struct AF_ModuleRec_
FILE: ext/freetype2/src/autofit/afpic.c
function autofit_module_class_pic_free (line 53) | void
function FT_Error (line 76) | FT_Error
FILE: ext/freetype2/src/autofit/afpic.h
type AFModulePIC (line 46) | typedef struct AFModulePIC_
FILE: ext/freetype2/src/autofit/aftypes.h
type AF_WidthRec (line 75) | typedef struct AF_WidthRec_
type FT_Int (line 108) | typedef FT_Int AF_Angle;
type AF_GlyphHintsRec_ (line 155) | struct AF_GlyphHintsRec_
type AF_ScalerFlags (line 171) | typedef enum AF_ScalerFlags_
type AF_ScalerRec (line 180) | typedef struct AF_ScalerRec_
type AF_StyleMetricsRec_ (line 200) | struct AF_StyleMetricsRec_
type FT_Error (line 205) | typedef FT_Error
type FT_Error (line 217) | typedef FT_Error
type AF_WritingSystem (line 260) | typedef enum AF_WritingSystem_
type AF_WritingSystemClassRec (line 272) | typedef struct AF_WritingSystemClassRec_
type AF_WritingSystemClassRec (line 286) | typedef const AF_WritingSystemClassRec* AF_WritingSystemClass;
type AF_Script (line 310) | typedef enum AF_Script_
type AF_Script_UniRangeRec (line 320) | typedef struct AF_Script_UniRangeRec_
type AF_Script_UniRangeRec (line 329) | typedef const AF_Script_UniRangeRec* AF_Script_UniRange;
type AF_ScriptClassRec (line 332) | typedef struct AF_ScriptClassRec_
type AF_ScriptClassRec (line 344) | typedef const AF_ScriptClassRec* AF_ScriptClass;
type AF_Coverage (line 400) | typedef enum AF_Coverage_
type AF_Style (line 427) | typedef enum AF_Style_
type AF_StyleClassRec (line 437) | typedef struct AF_StyleClassRec_
type AF_StyleClassRec (line 448) | typedef const AF_StyleClassRec* AF_StyleClass;
type AF_FaceGlobalsRec_ (line 459) | struct AF_FaceGlobalsRec_
type AF_StyleMetricsRec (line 465) | typedef struct AF_StyleMetricsRec_
FILE: ext/freetype2/src/autofit/afwarp.c
function af_warper_compute_line_best (line 71) | static void
function af_warper_compute (line 161) | FT_LOCAL_DEF( void )
type _af_warp_dummy (line 370) | typedef int _af_warp_dummy;
FILE: ext/freetype2/src/autofit/afwarp.h
type FT_Int32 (line 32) | typedef FT_Int32 AF_WarpScore;
type AF_WarperRec (line 34) | typedef struct AF_WarperRec_
FILE: ext/freetype2/src/autofit/hbshim.c
function FT_Error (line 98) | FT_Error
function FT_Error (line 420) | FT_Error
function FT_Error (line 508) | FT_Error
function FT_Error (line 521) | FT_Error
FILE: ext/freetype2/src/base/basepic.c
function ft_base_pic_free (line 49) | void
function FT_Error (line 68) | FT_Error
FILE: ext/freetype2/src/base/basepic.h
type BasePIC (line 46) | typedef struct BasePIC_
FILE: ext/freetype2/src/base/ftadvanc.c
function FT_Error (line 26) | static FT_Error
function FT_Get_Advance (line 71) | FT_EXPORT_DEF( FT_Error )
function FT_Get_Advances (line 109) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftapi.c
function FT_New_Memory_Stream (line 43) | FT_BASE_DEF( void )
function FT_Seek_Stream (line 55) | FT_BASE_DEF( FT_Error )
function FT_Skip_Stream (line 63) | FT_BASE_DEF( FT_Error )
function FT_Read_Stream (line 71) | FT_BASE_DEF( FT_Error )
function FT_Read_Stream_At (line 80) | FT_BASE_DEF( FT_Error )
function FT_Extract_Frame (line 90) | FT_BASE_DEF( FT_Error )
function FT_Release_Frame (line 99) | FT_BASE_DEF( void )
function FT_Access_Frame (line 106) | FT_BASE_DEF( FT_Error )
function FT_Forget_Frame (line 114) | FT_BASE_DEF( void )
FILE: ext/freetype2/src/base/ftbbox.c
type TBBox_Rec (line 37) | typedef struct TBBox_Rec_
function BBox_Move_To (line 84) | static int
function BBox_Line_To (line 116) | static int
function BBox_Conic_Check (line 148) | static void
function BBox_Conic_To (line 197) | static int
function FT_Pos (line 249) | static FT_Pos
function BBox_Cubic_Check (line 339) | static void
function BBox_Cubic_To (line 389) | static int
function FT_Outline_Get_BBox (line 434) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftbdf.c
function FT_Get_BDF_Charset_ID (line 28) | FT_EXPORT_DEF( FT_Error )
function FT_Get_BDF_Property (line 62) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftbitmap.c
function FT_Bitmap_New (line 33) | FT_EXPORT_DEF( void )
function FT_Bitmap_Copy (line 43) | FT_EXPORT_DEF( FT_Error )
function FT_Error (line 139) | static FT_Error
function FT_Bitmap_Embolden (line 258) | FT_EXPORT_DEF( FT_Error )
function FT_Byte (line 417) | static FT_Byte
function FT_Bitmap_Convert (line 465) | FT_EXPORT_DEF( FT_Error )
function FT_GlyphSlot_Own_Bitmap (line 749) | FT_EXPORT_DEF( FT_Error )
function FT_Bitmap_Done (line 774) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftcalc.c
type FT_Int64 (line 51) | typedef struct FT_Int64_
function FT_RoundFix (line 86) | FT_EXPORT_DEF( FT_Fixed )
function FT_CeilFix (line 96) | FT_EXPORT_DEF( FT_Fixed )
function FT_FloorFix (line 106) | FT_EXPORT_DEF( FT_Fixed )
function FT_MSB (line 115) | FT_BASE_DEF ( FT_Int )
function FT_Hypot (line 156) | FT_BASE_DEF( FT_Fixed )
function FT_MulDiv (line 175) | FT_EXPORT_DEF( FT_Long )
function FT_MulDiv_No_Round (line 197) | FT_BASE_DEF( FT_Long )
function FT_MulFix (line 219) | FT_EXPORT_DEF( FT_Long )
function FT_DivFix (line 246) | FT_EXPORT_DEF( FT_Long )
function ft_multo64 (line 267) | static void
function FT_UInt32 (line 299) | static FT_UInt32
function FT_Add64 (line 338) | static void
function FT_MulDiv (line 403) | FT_EXPORT_DEF( FT_Long )
function FT_MulDiv_No_Round (line 446) | FT_BASE_DEF( FT_Long )
function FT_MulFix (line 485) | FT_EXPORT_DEF( FT_Long )
function FT_DivFix (line 586) | FT_EXPORT_DEF( FT_Long )
function FT_Matrix_Multiply (line 633) | FT_EXPORT_DEF( void )
function FT_Matrix_Invert (line 655) | FT_EXPORT_DEF( FT_Error )
function FT_Matrix_Multiply_Scaled (line 686) | FT_BASE_DEF( void )
function FT_Vector_Transform_Scaled (line 711) | FT_BASE_DEF( void )
function FT_SqrtFixed (line 739) | FT_BASE_DEF( FT_Int32 )
function ft_corner_orientation (line 776) | FT_BASE_DEF( FT_Int )
function ft_corner_is_flat (line 856) | FT_BASE_DEF( FT_Int )
FILE: ext/freetype2/src/base/ftcid.c
function FT_Get_CID_Registry_Ordering_Supplement (line 26) | FT_EXPORT_DEF( FT_Error )
function FT_Get_CID_Is_Internally_CID_Keyed (line 64) | FT_EXPORT_DEF( FT_Error )
function FT_Get_CID_From_Glyph_Index (line 90) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftdbgmem.c
type FT_MemSourceRec_ (line 45) | struct FT_MemSourceRec_
type FT_MemNodeRec_ (line 46) | struct FT_MemNodeRec_
type FT_MemTableRec_ (line 47) | struct FT_MemTableRec_
type FT_MemSourceRec (line 57) | typedef struct FT_MemSourceRec_
type FT_MemNodeRec (line 91) | typedef struct FT_MemNodeRec_
type FT_MemTableRec (line 112) | typedef struct FT_MemTableRec_
function FT_ULong (line 192) | static FT_ULong
function ft_mem_debug_panic (line 207) | extern void
function FT_Pointer (line 225) | static FT_Pointer
function ft_mem_table_free (line 241) | static void
function ft_mem_table_resize (line 254) | static void
function FT_MemTable (line 304) | static FT_MemTable
function ft_mem_table_destroy (line 343) | static void
function FT_MemNode (line 424) | static FT_MemNode*
function FT_MemSource (line 450) | static FT_MemSource
function ft_mem_table_set (line 503) | static void
function ft_mem_table_remove (line 602) | static void
function FT_Pointer (line 674) | extern FT_Pointer
function ft_mem_debug_free (line 710) | extern void
function FT_Pointer (line 734) | extern FT_Pointer
function FT_Int (line 818) | extern FT_Int
function ft_mem_debug_done (line 881) | extern void
function ft_mem_source_compare (line 900) | static int
function FT_DumpMemory (line 917) | extern void
type _debug_mem_dummy (line 987) | typedef int _debug_mem_dummy;
FILE: ext/freetype2/src/base/ftdebug.c
function FT_Message (line 53) | FT_BASE_DEF( void )
function FT_Panic (line 68) | FT_BASE_DEF( void )
function FT_Throw (line 85) | FT_BASE_DEF( int )
function FT_Trace_Get_Count (line 121) | FT_BASE_DEF( FT_Int )
function FT_Trace_Get_Name (line 130) | FT_BASE_DEF( const char * )
function ft_debug_init (line 161) | FT_BASE_DEF( void )
function ft_debug_init (line 240) | FT_BASE_DEF( void )
function FT_Trace_Get_Count (line 247) | FT_BASE_DEF( FT_Int )
function FT_Trace_Get_Name (line 254) | FT_BASE_DEF( const char * )
FILE: ext/freetype2/src/base/ftfstype.c
function FT_Get_FSType_Flags (line 27) | FT_EXPORT_DEF( FT_UShort )
FILE: ext/freetype2/src/base/ftgasp.c
function FT_Get_Gasp (line 24) | FT_EXPORT_DEF( FT_Int )
FILE: ext/freetype2/src/base/ftgloadr.c
function FT_GlyphLoader_New (line 69) | FT_BASE_DEF( FT_Error )
function FT_GlyphLoader_Rewind (line 87) | FT_BASE_DEF( void )
function FT_GlyphLoader_Reset (line 104) | FT_BASE_DEF( void )
function FT_GlyphLoader_Done (line 127) | FT_BASE_DEF( void )
function FT_GlyphLoader_Adjust_Points (line 142) | static void
function FT_GlyphLoader_CreateExtra (line 165) | FT_BASE_DEF( FT_Error )
function FT_GlyphLoader_Adjust_Subglyphs (line 185) | static void
function FT_GlyphLoader_CheckPoints (line 200) | FT_BASE_DEF( FT_Error )
function FT_GlyphLoader_CheckSubGlyphs (line 279) | FT_BASE_DEF( FT_Error )
function FT_GlyphLoader_Prepare (line 310) | FT_BASE_DEF( void )
function FT_GlyphLoader_Add (line 326) | FT_BASE_DEF( void )
function FT_GlyphLoader_CopyPoints (line 363) | FT_BASE_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftglyph.c
function ft_bitmap_glyph_init (line 59) | FT_CALLBACK_DEF( FT_Error )
function ft_bitmap_glyph_copy (line 94) | FT_CALLBACK_DEF( FT_Error )
function ft_bitmap_glyph_done (line 110) | FT_CALLBACK_DEF( void )
function ft_bitmap_glyph_bbox (line 121) | FT_CALLBACK_DEF( void )
function ft_outline_glyph_init (line 157) | FT_CALLBACK_DEF( FT_Error )
function ft_outline_glyph_done (line 188) | FT_CALLBACK_DEF( void )
function ft_outline_glyph_copy (line 198) | FT_CALLBACK_DEF( FT_Error )
function ft_outline_glyph_transform (line 217) | FT_CALLBACK_DEF( void )
function ft_outline_glyph_bbox (line 233) | FT_CALLBACK_DEF( void )
function ft_outline_glyph_prepare (line 244) | FT_CALLBACK_DEF( FT_Error )
function FT_Error (line 280) | static FT_Error
function FT_Glyph_Copy (line 307) | FT_EXPORT_DEF( FT_Error )
function FT_Get_Glyph (line 354) | FT_EXPORT_DEF( FT_Error )
function FT_Glyph_Transform (line 422) | FT_EXPORT_DEF( FT_Error )
function FT_Glyph_Get_CBox (line 455) | FT_EXPORT_DEF( void )
function FT_Glyph_To_Bitmap (line 502) | FT_EXPORT_DEF( FT_Error )
function FT_Done_Glyph (line 608) | FT_EXPORT_DEF( void )
FILE: ext/freetype2/src/base/ftgxval.c
function FT_TrueTypeGX_Validate (line 37) | FT_EXPORT_DEF( FT_Error )
function FT_TrueTypeGX_Free (line 74) | FT_EXPORT_DEF( void )
function FT_ClassicKern_Validate (line 90) | FT_EXPORT_DEF( FT_Error )
function FT_ClassicKern_Free (line 125) | FT_EXPORT_DEF( void )
FILE: ext/freetype2/src/base/ftinit.c
function ft_destroy_default_module_classes (line 122) | FT_BASE_DEF( void )
function ft_create_default_module_classes (line 154) | FT_BASE_DEF( FT_Error )
function FT_Add_Default_Modules (line 197) | FT_EXPORT_DEF( void )
function FT_Init_FreeType (line 231) | FT_EXPORT_DEF( FT_Error )
function FT_Done_FreeType (line 265) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftlcdfil.c
function _ft_lcd_filter_fir (line 33) | static void
function _ft_lcd_filter_legacy (line 176) | static void
function FT_Library_SetLcdFilterWeights (line 288) | FT_EXPORT_DEF( FT_Error )
function FT_Library_SetLcdFilter (line 304) | FT_EXPORT_DEF( FT_Error )
function FT_Library_SetLcdFilterWeights (line 374) | FT_EXPORT_DEF( FT_Error )
function FT_Library_SetLcdFilter (line 385) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftmac.c
type ResourceIndex (line 96) | typedef short ResourceIndex;
function FT_GetFile_From_Mac_Name (line 124) | FT_EXPORT_DEF( FT_Error )
function OSStatus (line 142) | static OSStatus
function FT_Error (line 174) | static FT_Error
function FT_GetFilePath_From_Mac_ATS_Name (line 220) | FT_EXPORT_DEF( FT_Error )
function FT_GetFile_From_Mac_ATS_Name (line 245) | FT_EXPORT_DEF( FT_Error )
function OSErr (line 278) | static OSErr
function OSType (line 303) | static OSType
function create_lwfn_name (line 322) | static void
function count_faces_sfnt (line 352) | static short
function count_faces_scalable (line 363) | static short
function parse_fond (line 392) | static void
function FT_Error (line 501) | static FT_Error
function count_faces (line 544) | static short
function FT_Error (line 582) | static FT_Error
function FT_Error (line 699) | static FT_Error
function FT_Error (line 731) | static FT_Error
function FT_Error (line 798) | static FT_Error
function FT_New_Face_From_FOND (line 846) | FT_EXPORT_DEF( FT_Error )
function FT_Error (line 920) | static FT_Error
function FT_New_Face (line 961) | FT_EXPORT_DEF( FT_Error )
function FT_New_Face_From_FSRef (line 1001) | FT_EXPORT_DEF( FT_Error )
function FT_New_Face_From_FSSpec (line 1045) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftmm.c
function FT_Error (line 37) | static FT_Error
function FT_Get_Multi_Master (line 67) | FT_EXPORT_DEF( FT_Error )
function FT_Get_MM_Var (line 94) | FT_EXPORT_DEF( FT_Error )
function FT_Set_MM_Design_Coordinates (line 121) | FT_EXPORT_DEF( FT_Error )
function FT_Set_Var_Design_Coordinates (line 149) | FT_EXPORT_DEF( FT_Error )
function FT_Set_MM_Blend_Coordinates (line 177) | FT_EXPORT_DEF( FT_Error )
function FT_Set_Var_Blend_Coordinates (line 208) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftobjs.c
function ft_service_list_lookup (line 71) | FT_BASE_DEF( FT_Pointer )
function ft_validator_init (line 95) | FT_BASE_DEF( void )
function ft_validator_run (line 108) | FT_BASE_DEF( FT_Int )
function ft_validator_error (line 118) | FT_BASE_DEF( void )
function FT_Stream_New (line 151) | FT_BASE_DEF( FT_Error )
function FT_Stream_Free (line 219) | FT_BASE_DEF( void )
function FT_Error (line 259) | static FT_Error
function ft_glyphslot_free_bitmap (line 287) | FT_BASE_DEF( void )
function ft_glyphslot_set_bitmap (line 307) | FT_BASE_DEF( void )
function ft_glyphslot_alloc_bitmap (line 319) | FT_BASE_DEF( FT_Error )
function ft_glyphslot_clear (line 337) | static void
function ft_glyphslot_done (line 369) | static void
function FT_New_GlyphSlot (line 400) | FT_BASE_DEF( FT_Error )
function FT_Done_GlyphSlot (line 452) | FT_BASE_DEF( void )
function FT_Set_Transform (line 493) | FT_EXPORT_DEF( void )
function ft_glyphslot_grid_fit_metrics (line 547) | static void
function FT_Load_Glyph (line 592) | FT_EXPORT_DEF( FT_Error )
function FT_Load_Char (line 845) | FT_EXPORT_DEF( FT_Error )
function destroy_size (line 865) | static void
function destroy_charmaps (line 887) | static void
function destroy_face (line 913) | static void
function Destroy_Driver (line 964) | static void
function FT_Error (line 992) | static FT_Error
function FT_CharMap (line 1080) | static FT_CharMap
function FT_Error (line 1118) | static FT_Error
function FT_New_Face (line 1216) | FT_EXPORT_DEF( FT_Error )
function FT_New_Memory_Face (line 1241) | FT_EXPORT_DEF( FT_Error )
function memory_stream_close (line 1296) | static void
function FT_Error (line 1312) | static FT_Error
function open_face_from_buffer (line 1348) | FT_LOCAL_DEF( FT_Error )
function FT_Error (line 1418) | static FT_Error
function open_face_PS_from_sfnt_stream (line 1483) | FT_LOCAL_DEF( FT_Error )
function FT_Error (line 1553) | static FT_Error
function FT_Error (line 1746) | static FT_Error
function FT_Error (line 1814) | static FT_Error
function FT_Error (line 1874) | static FT_Error
function FT_Error (line 1924) | static FT_Error
function FT_Error (line 2021) | static FT_Error
function FT_Open_Face (line 2064) | FT_EXPORT_DEF( FT_Error )
function FT_Attach_File (line 2321) | FT_EXPORT_DEF( FT_Error )
function FT_Attach_Stream (line 2343) | FT_EXPORT_DEF( FT_Error )
function FT_Reference_Face (line 2387) | FT_EXPORT_DEF( FT_Error )
function FT_Done_Face (line 2401) | FT_EXPORT_DEF( FT_Error )
function FT_New_Size (line 2442) | FT_EXPORT_DEF( FT_Error )
function FT_Done_Size (line 2503) | FT_EXPORT_DEF( FT_Error )
function FT_Match_Size (line 2551) | FT_BASE_DEF( FT_Error )
function ft_synthesize_vertical_metrics (line 2604) | FT_BASE_DEF( void )
function ft_recompute_scaled_metrics (line 2630) | static void
function FT_Select_Metrics (line 2664) | FT_BASE_DEF( void )
function FT_Request_Metrics (line 2711) | FT_BASE_DEF( void )
function FT_Select_Size (line 2833) | FT_EXPORT_DEF( FT_Error )
function FT_Request_Size (line 2885) | FT_EXPORT_DEF( FT_Error )
function FT_Set_Char_Size (line 2958) | FT_EXPORT_DEF( FT_Error )
function FT_Set_Pixel_Sizes (line 3000) | FT_EXPORT_DEF( FT_Error )
function FT_Get_Kerning (line 3038) | FT_EXPORT_DEF( FT_Error )
function FT_Get_Track_Kerning (line 3098) | FT_EXPORT_DEF( FT_Error )
function FT_Select_Charmap (line 3129) | FT_EXPORT_DEF( FT_Error )
function FT_Set_Charmap (line 3171) | FT_EXPORT_DEF( FT_Error )
function FT_Get_Charmap_Index (line 3206) | FT_EXPORT_DEF( FT_Int )
function ft_cmap_done_internal (line 3225) | static void
function FT_CMap_Done (line 3240) | FT_BASE_DEF( void )
function FT_CMap_New (line 3286) | FT_BASE_DEF( FT_Error )
function FT_Get_Char_Index (line 3340) | FT_EXPORT_DEF( FT_UInt )
function FT_Get_First_Char (line 3365) | FT_EXPORT_DEF( FT_ULong )
function FT_Get_Next_Char (line 3390) | FT_EXPORT_DEF( FT_ULong )
function FT_Face_GetCharVariantIndex (line 3423) | FT_EXPORT_DEF( FT_UInt )
function FT_Face_GetCharVariantIsDefault (line 3467) | FT_EXPORT_DEF( FT_Int )
function FT_Face_GetVariantSelectors (line 3508) | FT_EXPORT_DEF( FT_UInt32* )
function FT_Face_GetVariantsOfChar (line 3535) | FT_EXPORT_DEF( FT_UInt32* )
function FT_Face_GetCharsOfVariant (line 3569) | FT_EXPORT_DEF( FT_UInt32* )
function FT_Get_Name_Index (line 3604) | FT_EXPORT_DEF( FT_UInt )
function FT_Get_Glyph_Name (line 3632) | FT_EXPORT_DEF( FT_Error )
function FT_Get_Postscript_Name (line 3669) | FT_EXPORT_DEF( const char* )
function FT_Get_Sfnt_Table (line 3698) | FT_EXPORT_DEF( void* )
function FT_Load_Sfnt_Table (line 3719) | FT_EXPORT_DEF( FT_Error )
function FT_Sfnt_Table_Info (line 3742) | FT_EXPORT_DEF( FT_Error )
function FT_Get_CMap_Language_ID (line 3767) | FT_EXPORT_DEF( FT_ULong )
function FT_Get_CMap_Format (line 3791) | FT_EXPORT_DEF( FT_Long )
function FT_Activate_Size (line 3815) | FT_EXPORT_DEF( FT_Error )
function FT_Lookup_Renderer (line 3849) | FT_BASE_DEF( FT_Renderer )
function FT_Renderer (line 3891) | static FT_Renderer
function ft_set_current_renderer (line 3906) | static void
function FT_Error (line 3917) | static FT_Error
function ft_remove_renderer (line 3965) | static void
function FT_Get_Renderer (line 4001) | FT_EXPORT_DEF( FT_Renderer )
function FT_Set_Renderer (line 4013) | FT_EXPORT_DEF( FT_Error )
function FT_Render_Glyph_Internal (line 4070) | FT_BASE_DEF( FT_Error )
function FT_Render_Glyph (line 4178) | FT_EXPORT_DEF( FT_Error )
function Destroy_Module (line 4222) | static void
function FT_Add_Module (line 4252) | FT_EXPORT_DEF( FT_Error )
function FT_Get_Module (line 4381) | FT_EXPORT_DEF( FT_Module )
function FT_Get_Module_Interface (line 4409) | FT_BASE_DEF( const void* )
function ft_module_get_service (line 4424) | FT_BASE_DEF( FT_Pointer )
function FT_Remove_Module (line 4470) | FT_EXPORT_DEF( FT_Error )
function FT_Error (line 4510) | static FT_Error
function FT_Property_Set (line 4592) | FT_EXPORT_DEF( FT_Error )
function FT_Property_Get (line 4608) | FT_EXPORT_DEF( FT_Error )
function FT_Reference_Library (line 4637) | FT_EXPORT_DEF( FT_Error )
function FT_New_Library (line 4651) | FT_EXPORT_DEF( FT_Error )
function FT_Library_Version (line 4709) | FT_EXPORT_DEF( void )
function FT_Done_Library (line 4740) | FT_EXPORT_DEF( FT_Error )
function FT_Set_Debug_Hook (line 4852) | FT_EXPORT_DEF( void )
function FT_Get_TrueType_Engine_Type (line 4866) | FT_EXPORT_DEF( FT_TrueTypeEngineType )
function FT_Get_SubGlyph_Info (line 4896) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftotval.c
function FT_OpenType_Validate (line 28) | FT_EXPORT_DEF( FT_Error )
function FT_OpenType_Free (line 75) | FT_EXPORT_DEF( void )
FILE: ext/freetype2/src/base/ftoutln.c
function FT_Outline_Decompose (line 50) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_New_Internal (line 297) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_New (line 339) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_Check (line 355) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_Copy (line 400) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_Done_Internal (line 434) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_Done (line 458) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_Get_CBox (line 473) | FT_EXPORT_DEF( void )
function FT_Outline_Translate (line 523) | FT_EXPORT_DEF( void )
function FT_Outline_Reverse (line 548) | FT_EXPORT_DEF( void )
function FT_Outline_Render (line 609) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_Get_Bitmap (line 663) | FT_EXPORT_DEF( FT_Error )
function FT_Vector_Transform (line 690) | FT_EXPORT_DEF( void )
function FT_Outline_Transform (line 713) | FT_EXPORT_DEF( void )
function FT_Bool (line 749) | static FT_Bool
function FT_Bool (line 798) | static FT_Bool
function FT_Orientation (line 832) | static FT_Orientation
function FT_Outline_Embolden (line 901) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_EmboldenXY (line 911) | FT_EXPORT_DEF( FT_Error )
function FT_Outline_Get_Orientation (line 1036) | FT_EXPORT_DEF( FT_Orientation )
FILE: ext/freetype2/src/base/ftpatent.c
function FT_Bool (line 27) | static FT_Bool
function FT_Bool (line 112) | static FT_Bool
function FT_Bool (line 146) | static FT_Bool
function FT_Face_CheckTrueTypePatents (line 249) | FT_EXPORT_DEF( FT_Bool )
function FT_Face_SetUnpatentedHinting (line 264) | FT_EXPORT_DEF( FT_Bool )
FILE: ext/freetype2/src/base/ftpfr.c
function FT_Service_PfrMetrics (line 26) | static FT_Service_PfrMetrics
function FT_Get_PFR_Metrics (line 41) | FT_EXPORT_DEF( FT_Error )
function FT_Get_PFR_Kerning (line 98) | FT_EXPORT_DEF( FT_Error )
function FT_Get_PFR_Advance (line 127) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftpic.c
function ft_pic_container_init (line 28) | FT_BASE_DEF( FT_Error )
function ft_pic_container_destroy (line 46) | FT_BASE_DEF( void )
FILE: ext/freetype2/src/base/ftrfork.c
function FT_Raccess_Get_HeaderInfo (line 50) | FT_BASE_DEF( FT_Error )
function ft_raccess_sort_ref_by_id (line 136) | static int
function FT_Raccess_Get_DataOffsets (line 149) | FT_BASE_DEF( FT_Error )
function FT_Raccess_Guess (line 375) | FT_BASE_DEF( void )
function FT_RFork_Rule (line 408) | static FT_RFork_Rule
function ft_raccess_rule_by_darwin_vfs (line 424) | FT_LOCAL_DEF( FT_Bool )
function FT_Error (line 441) | static FT_Error
function FT_Error (line 463) | static FT_Error
function FT_Error (line 485) | static FT_Error
function FT_Error (line 515) | static FT_Error
function FT_Error (line 551) | static FT_Error
function FT_Error (line 587) | static FT_Error
function FT_Error (line 614) | static FT_Error
function FT_Error (line 640) | static FT_Error
function FT_Error (line 671) | static FT_Error
function FT_Error (line 703) | static FT_Error
function FT_Error (line 769) | static FT_Error
function FT_Raccess_Guess (line 840) | FT_BASE_DEF( void )
FILE: ext/freetype2/src/base/ftsnames.c
function FT_Get_Sfnt_Name_Count (line 33) | FT_EXPORT_DEF( FT_UInt )
function FT_Get_Sfnt_Name (line 42) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftstream.c
function FT_Stream_OpenMemory (line 34) | FT_BASE_DEF( void )
function FT_Stream_Close (line 48) | FT_BASE_DEF( void )
function FT_Stream_Seek (line 56) | FT_BASE_DEF( FT_Error )
function FT_Stream_Skip (line 91) | FT_BASE_DEF( FT_Error )
function FT_Stream_Pos (line 102) | FT_BASE_DEF( FT_Long )
function FT_Stream_Read (line 109) | FT_BASE_DEF( FT_Error )
function FT_Stream_ReadAt (line 118) | FT_BASE_DEF( FT_Error )
function FT_Stream_TryRead (line 163) | FT_BASE_DEF( FT_ULong )
function FT_Stream_ExtractFrame (line 192) | FT_BASE_DEF( FT_Error )
function FT_Stream_ReleaseFrame (line 214) | FT_BASE_DEF( void )
function FT_Stream_EnterFrame (line 233) | FT_BASE_DEF( FT_Error )
function FT_Stream_ExitFrame (line 311) | FT_BASE_DEF( void )
function FT_Stream_GetChar (line 341) | FT_BASE_DEF( FT_Char )
function FT_Stream_GetUShort (line 357) | FT_BASE_DEF( FT_UShort )
function FT_Stream_GetUShortLE (line 376) | FT_BASE_DEF( FT_UShort )
function FT_Stream_GetUOffset (line 395) | FT_BASE_DEF( FT_ULong )
function FT_Stream_GetULong (line 413) | FT_BASE_DEF( FT_ULong )
function FT_Stream_GetULongLE (line 431) | FT_BASE_DEF( FT_ULong )
function FT_Stream_ReadChar (line 449) | FT_BASE_DEF( FT_Char )
function FT_Stream_ReadUShort (line 486) | FT_BASE_DEF( FT_UShort )
function FT_Stream_ReadUShortLE (line 533) | FT_BASE_DEF( FT_UShort )
function FT_Stream_ReadUOffset (line 580) | FT_BASE_DEF( FT_ULong )
function FT_Stream_ReadULong (line 627) | FT_BASE_DEF( FT_ULong )
function FT_Stream_ReadULongLE (line 674) | FT_BASE_DEF( FT_ULong )
function FT_Stream_ReadFields (line 721) | FT_BASE_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftstroke.c
function FT_Outline_GetInsideBorder (line 30) | FT_EXPORT_DEF( FT_StrokerBorder )
function FT_Outline_GetOutsideBorder (line 43) | FT_EXPORT_DEF( FT_StrokerBorder )
function FT_Pos (line 70) | static FT_Pos
function ft_conic_split (line 77) | static void
function FT_Bool (line 97) | static FT_Bool
function ft_cubic_split (line 148) | static void
function FT_Angle (line 179) | static FT_Angle
function FT_Bool (line 187) | static FT_Bool
type FT_StrokeTags (line 291) | typedef enum FT_StrokeTags_
type FT_StrokeBorderRec (line 302) | typedef struct FT_StrokeBorderRec_
function FT_Error (line 316) | static FT_Error
function ft_stroke_border_close (line 346) | static void
function FT_Error (line 412) | static FT_Error
function FT_Error (line 454) | static FT_Error
function FT_Error (line 486) | static FT_Error
function FT_Error (line 524) | static FT_Error
function FT_Error (line 594) | static FT_Error
function ft_stroke_border_init (line 609) | static void
function ft_stroke_border_reset (line 624) | static void
function ft_stroke_border_done (line 633) | static void
function FT_Error (line 649) | static FT_Error
function ft_stroke_border_export (line 700) | static void
type FT_StrokerRec (line 761) | typedef struct FT_StrokerRec_
function FT_Stroker_New (line 788) | FT_EXPORT_DEF( FT_Error )
function FT_Stroker_Set (line 821) | FT_EXPORT_DEF( void )
function FT_Stroker_Rewind (line 850) | FT_EXPORT_DEF( void )
function FT_Stroker_Done (line 863) | FT_EXPORT_DEF( void )
function FT_Error (line 881) | static FT_Error
function FT_Error (line 908) | static FT_Error
function FT_Error (line 983) | static FT_Error
function FT_Error (line 1046) | static FT_Error
function FT_Error (line 1207) | static FT_Error
function FT_Error (line 1244) | static FT_Error
function FT_Stroker_LineTo (line 1285) | FT_EXPORT_DEF( FT_Error )
function FT_Stroker_ConicTo (line 1361) | FT_EXPORT_DEF( FT_Error )
function FT_Stroker_CubicTo (line 1562) | FT_EXPORT_DEF( FT_Error )
function FT_Stroker_BeginSubPath (line 1778) | FT_EXPORT_DEF( FT_Error )
function FT_Error (line 1813) | static FT_Error
function FT_Stroker_EndSubPath (line 1880) | FT_EXPORT_DEF( FT_Error )
function FT_Stroker_GetBorderCounts (line 1976) | FT_EXPORT_DEF( FT_Error )
function FT_Stroker_GetCounts (line 2007) | FT_EXPORT_DEF( FT_Error )
function FT_Stroker_ExportBorder (line 2049) | FT_EXPORT_DEF( void )
function FT_Stroker_Export (line 2071) | FT_EXPORT_DEF( void )
function FT_Stroker_ParseOutline (line 2086) | FT_EXPORT_DEF( FT_Error )
function FT_Glyph_Stroke (line 2303) | FT_EXPORT_DEF( FT_Error )
function FT_Glyph_StrokeBorder (line 2380) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftsynth.c
function FT_GlyphSlot_Oblique (line 47) | FT_EXPORT_DEF( void )
function FT_GlyphSlot_Embolden (line 89) | FT_EXPORT_DEF( void )
FILE: ext/freetype2/src/base/ftsystem.c
function ft_alloc (line 68) | FT_CALLBACK_DEF( void* )
function ft_realloc (line 98) | FT_CALLBACK_DEF( void* )
function ft_free (line 124) | FT_CALLBACK_DEF( void )
function ft_ansi_stream_close (line 167) | FT_CALLBACK_DEF( void )
function ft_ansi_stream_io (line 200) | FT_CALLBACK_DEF( unsigned long )
function FT_Stream_Open (line 223) | FT_BASE_DEF( FT_Error )
function FT_New_Memory (line 286) | FT_BASE_DEF( FT_Memory )
function FT_Done_Memory (line 310) | FT_BASE_DEF( void )
function FT_FILE (line 324) | FT_FILE* ft_fopen_win32(const char *fname, const char *mode)
FILE: ext/freetype2/src/base/fttrigon.c
function FT_Fixed (line 60) | static FT_Fixed
function FT_Fixed (line 82) | static FT_Fixed
function FT_Int (line 132) | static FT_Int
function ft_trig_pseudo_rotate (line 162) | static void
function ft_trig_pseudo_polarize (line 217) | static void
function FT_Cos (line 296) | FT_EXPORT_DEF( FT_Fixed )
function FT_Sin (line 312) | FT_EXPORT_DEF( FT_Fixed )
function FT_Tan (line 321) | FT_EXPORT_DEF( FT_Fixed )
function FT_Atan2 (line 337) | FT_EXPORT_DEF( FT_Angle )
function FT_Vector_Unit (line 358) | FT_EXPORT_DEF( void )
function FT_Vector_Rotate (line 383) | FT_EXPORT_DEF( void )
function FT_Vector_Length (line 424) | FT_EXPORT_DEF( FT_Fixed )
function FT_Vector_Polarize (line 461) | FT_EXPORT_DEF( void )
function FT_Vector_From_Polar (line 491) | FT_EXPORT_DEF( void )
function FT_Angle_Diff (line 508) | FT_EXPORT_DEF( FT_Angle )
FILE: ext/freetype2/src/base/fttype1.c
function FT_Get_PS_Font_Info (line 28) | FT_EXPORT_DEF( FT_Error )
function FT_Has_PS_Glyph_Names (line 55) | FT_EXPORT_DEF( FT_Int )
function FT_Get_PS_Font_Private (line 76) | FT_EXPORT_DEF( FT_Error )
function FT_Get_PS_Font_Value (line 103) | FT_EXPORT_DEF( FT_Long )
FILE: ext/freetype2/src/base/ftutil.c
function ft_mem_alloc (line 49) | FT_BASE_DEF( FT_Pointer )
function ft_mem_qalloc (line 65) | FT_BASE_DEF( FT_Pointer )
function ft_mem_realloc (line 91) | FT_BASE_DEF( FT_Pointer )
function ft_mem_qrealloc (line 113) | FT_BASE_DEF( FT_Pointer )
function ft_mem_free (line 167) | FT_BASE_DEF( void )
function ft_mem_dup (line 176) | FT_BASE_DEF( FT_Pointer )
function ft_mem_strdup (line 194) | FT_BASE_DEF( FT_Pointer )
function ft_mem_strcpyn (line 207) | FT_BASE_DEF( FT_Int )
function FT_List_Find (line 241) | FT_EXPORT_DEF( FT_ListNode )
function FT_List_Add (line 266) | FT_EXPORT_DEF( void )
function FT_List_Insert (line 292) | FT_EXPORT_DEF( void )
function FT_List_Remove (line 318) | FT_EXPORT_DEF( void )
function FT_List_Up (line 345) | FT_EXPORT_DEF( void )
function FT_List_Iterate (line 378) | FT_EXPORT_DEF( FT_Error )
function FT_List_Finalize (line 410) | FT_EXPORT_DEF( void )
FILE: ext/freetype2/src/base/ftwinfnt.c
function FT_Get_WinFNT_Header (line 28) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/base/ftxf86.c
function FT_Get_X11_Font_Format (line 27) | FT_EXPORT_DEF( const char* )
FILE: ext/freetype2/src/base/md5.c
function MD5_Init (line 200) | void MD5_Init(MD5_CTX *ctx)
function MD5_Update (line 211) | void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size)
function MD5_Final (line 245) | void MD5_Final(unsigned char *result, MD5_CTX *ctx)
FILE: ext/freetype2/src/base/md5.h
type MD5_u32plus (line 32) | typedef unsigned int MD5_u32plus;
type MD5_CTX (line 34) | typedef struct {
FILE: ext/freetype2/src/bdf/bdf.h
type bdf_options_t (line 77) | typedef struct bdf_options_t_
type bdf_property_t (line 109) | typedef struct bdf_property_t_
type bdf_bbx_t (line 132) | typedef struct bdf_bbx_t_
type bdf_glyph_t (line 146) | typedef struct bdf_glyph_t_
type _hashnode (line 160) | typedef struct _hashnode_
type hashtable (line 168) | typedef struct hashtable_
type bdf_glyphlist_t (line 178) | typedef struct bdf_glyphlist_t_
type bdf_font_t (line 192) | typedef struct bdf_font_t_
FILE: ext/freetype2/src/bdf/bdfdrivr.c
type BDF_CMapRec (line 54) | typedef struct BDF_CMapRec_
function bdf_cmap_init (line 63) | FT_CALLBACK_DEF( FT_Error )
function bdf_cmap_done (line 79) | FT_CALLBACK_DEF( void )
function bdf_cmap_char_index (line 90) | FT_CALLBACK_DEF( FT_UInt )
function bdf_cmap_char_next (line 129) | FT_CALLBACK_DEF( FT_UInt )
function FT_Error (line 198) | static FT_Error
function BDF_Face_Done (line 309) | FT_CALLBACK_DEF( void )
function BDF_Face_Init (line 336) | FT_CALLBACK_DEF( FT_Error )
function BDF_Size_Select (line 609) | FT_CALLBACK_DEF( FT_Error )
function BDF_Size_Request (line 626) | FT_CALLBACK_DEF( FT_Error )
function BDF_Glyph_Load (line 666) | FT_CALLBACK_DEF( FT_Error )
function FT_Error (line 761) | static FT_Error
function FT_Error (line 812) | static FT_Error
function bdf_driver_requester (line 845) | FT_CALLBACK_DEF( FT_Module_Interface )
FILE: ext/freetype2/src/bdf/bdfdrivr.h
type BDF_encoding_el (line 44) | typedef struct BDF_encoding_el_
type BDF_FaceRec (line 52) | typedef struct BDF_FaceRec_
FILE: ext/freetype2/src/bdf/bdflib.c
function hashnode (line 235) | static hashnode*
function FT_Error (line 263) | static FT_Error
function FT_Error (line 293) | static FT_Error
function hash_free (line 313) | static void
function FT_Error (line 331) | static FT_Error
function hashnode (line 368) | static hashnode
type FT_Error (line 388) | typedef FT_Error
type _bdf_list_t (line 398) | typedef struct _bdf_list_t_
type _bdf_parse_t (line 410) | typedef struct _bdf_parse_t_
function _bdf_list_init (line 445) | static void
function _bdf_list_done (line 454) | static void
function FT_Error (line 468) | static FT_Error
function _bdf_list_shift (line 502) | static void
function FT_Error (line 567) | static FT_Error
function FT_Error (line 675) | static FT_Error
function _bdf_atoul (line 860) | static unsigned long
function _bdf_atol (line 907) | static long
function _bdf_atos (line 962) | static short
function by_encoding (line 1017) | static int
function FT_Error (line 1037) | static FT_Error
function bdf_get_property (line 1087) | FT_LOCAL_DEF( bdf_property_t * )
function FT_Error (line 1144) | static FT_Error
function FT_Error (line 1173) | static FT_Error
function _bdf_is_atom (line 1243) | static int
function FT_Error (line 1307) | static FT_Error
function FT_Error (line 1476) | static FT_Error
function FT_Error (line 1979) | static FT_Error
function FT_Error (line 2084) | static FT_Error
function bdf_load_font (line 2389) | FT_LOCAL_DEF( FT_Error )
function bdf_free_font (line 2546) | FT_LOCAL_DEF( void )
function bdf_get_font_property (line 2627) | FT_LOCAL_DEF( bdf_property_t * )
FILE: ext/freetype2/src/bzip2/ftbzip2.c
function ft_bzip2_free (line 84) | static void
type FT_BZip2FileRec (line 102) | typedef struct FT_BZip2FileRec_
function FT_Error (line 120) | static FT_Error
function FT_Error (line 146) | static FT_Error
function ft_bzip2_file_done (line 192) | static void
function FT_Error (line 215) | static FT_Error
function FT_Error (line 245) | static FT_Error
function FT_Error (line 280) | static FT_Error
function FT_Error (line 324) | static FT_Error
function FT_ULong (line 354) | static FT_ULong
function ft_bzip2_stream_close (line 422) | static void
function FT_ULong (line 441) | static FT_ULong
function FT_Stream_OpenBzip2 (line 454) | FT_EXPORT_DEF( FT_Error )
function FT_Stream_OpenBzip2 (line 506) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/cache/ftcbasic.c
type FTC_BasicAttrRec (line 37) | typedef struct FTC_BasicAttrRec_
type FTC_BasicQueryRec (line 52) | typedef struct FTC_BasicQueryRec_
type FTC_BasicFamilyRec (line 60) | typedef struct FTC_BasicFamilyRec_
function ftc_basic_family_compare (line 68) | FT_CALLBACK_DEF( FT_Bool )
function ftc_basic_family_init (line 80) | FT_CALLBACK_DEF( FT_Error )
function ftc_basic_family_get_count (line 96) | FT_CALLBACK_DEF( FT_UInt )
function ftc_basic_family_load_bitmap (line 124) | FT_CALLBACK_DEF( FT_Error )
function ftc_basic_family_load_glyph (line 151) | FT_CALLBACK_DEF( FT_Error )
function ftc_basic_gnode_compare_faceid (line 199) | FT_CALLBACK_DEF( FT_Bool )
function FTC_ImageCache_New (line 265) | FT_EXPORT_DEF( FT_Error )
function FTC_ImageCache_Lookup (line 276) | FT_EXPORT_DEF( FT_Error )
function FTC_ImageCache_LookupScaler (line 348) | FT_EXPORT_DEF( FT_Error )
function FTC_SBitCache_New (line 448) | FT_EXPORT_DEF( FT_Error )
function FTC_SBitCache_Lookup (line 459) | FT_EXPORT_DEF( FT_Error )
function FTC_SBitCache_LookupScaler (line 533) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/cache/ftccache.c
function ftc_node_mru_link (line 48) | static void
function ftc_node_mru_unlink (line 62) | static void
function ftc_node_mru_up (line 78) | static void
function ftc_get_top_node_for_hash (line 90) | FT_LOCAL_DEF( FTC_Node* )
function ftc_cache_resize (line 112) | static void
function ftc_node_hash_unlink (line 223) | static void
function ftc_node_hash_link (line 256) | static void
function ftc_node_destroy (line 272) | FT_LOCAL_DEF( void )
function FTC_Cache_Init (line 327) | FT_LOCAL_DEF( FT_Error )
function ftc_cache_init (line 334) | FT_LOCAL_DEF( FT_Error )
function FTC_Cache_Clear (line 350) | static void
function ftc_cache_done (line 388) | FT_LOCAL_DEF( void )
function FTC_Cache_Done (line 408) | FT_LOCAL_DEF( void )
function ftc_cache_add (line 415) | static void
function FTC_Cache_NewNode (line 443) | FT_LOCAL_DEF( FT_Error )
function FTC_Cache_Lookup (line 482) | FT_LOCAL_DEF( FT_Error )
function FTC_Cache_RemoveFaceID (line 563) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cache/ftccache.h
type FTC_CacheRec_ (line 31) | struct FTC_CacheRec_
type FTC_CacheClassRec_ (line 34) | struct FTC_CacheClassRec_
type FTC_NodeRec (line 58) | typedef struct FTC_NodeRec_
type FT_Error (line 99) | typedef FT_Error
type FT_Offset (line 104) | typedef FT_Offset
type FT_Bool (line 109) | typedef FT_Bool
type FT_Error (line 120) | typedef FT_Error
type FTC_CacheClassRec (line 127) | typedef struct FTC_CacheClassRec_
type FTC_CacheRec (line 143) | typedef struct FTC_CacheRec_
FILE: ext/freetype2/src/cache/ftccmap.c
type FTC_CMapQueryRec (line 57) | typedef struct FTC_CMapQueryRec_
type FTC_CMapNodeRec (line 70) | typedef struct FTC_CMapNodeRec_
function ftc_cmap_node_free (line 98) | FT_CALLBACK_DEF( void )
function ftc_cmap_node_new (line 111) | FT_CALLBACK_DEF( FT_Error )
function ftc_cmap_node_weight (line 141) | FT_CALLBACK_DEF( FT_Offset )
function ftc_cmap_node_compare (line 153) | FT_CALLBACK_DEF( FT_Bool )
function ftc_cmap_node_remove_faceid (line 179) | FT_CALLBACK_DEF( FT_Bool )
function FTC_CMapCache_New (line 222) | FT_EXPORT_DEF( FT_Error )
function FTC_CMapCache_Lookup (line 234) | FT_EXPORT_DEF( FT_UInt )
FILE: ext/freetype2/src/cache/ftcglyph.c
function FTC_GNode_Init (line 30) | FT_LOCAL_DEF( void )
function FTC_GNode_UnselectFamily (line 41) | FT_LOCAL_DEF( void )
function FTC_GNode_Done (line 54) | FT_LOCAL_DEF( void )
function ftc_gnode_compare (line 65) | FT_LOCAL_DEF( FT_Bool )
function FTC_GNode_Compare (line 85) | FT_LOCAL_DEF( FT_Bool )
function FTC_Family_Init (line 105) | FT_LOCAL_DEF( void )
function ftc_gcache_init (line 118) | FT_LOCAL_DEF( FT_Error )
function FTC_GCache_Init (line 143) | FT_LOCAL_DEF( FT_Error )
function ftc_gcache_done (line 152) | FT_LOCAL_DEF( void )
function FTC_GCache_Done (line 165) | FT_LOCAL_DEF( void )
function FTC_GCache_New (line 174) | FT_LOCAL_DEF( FT_Error )
function FTC_GCache_Lookup (line 186) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/cache/ftcglyph.h
type FTC_FamilyRec_ (line 135) | struct FTC_FamilyRec_
type FTC_GNodeRec (line 148) | typedef struct FTC_GNodeRec_
type FTC_GQueryRec (line 160) | typedef struct FTC_GQueryRec_
type FTC_GCacheRec (line 212) | typedef struct FTC_GCacheRec_
type FTC_GCacheClassRec (line 237) | typedef struct FTC_GCacheClassRec_
type FTC_GCacheClassRec (line 244) | typedef const FTC_GCacheClassRec* FTC_GCacheClass;
FILE: ext/freetype2/src/cache/ftcimage.c
function ftc_inode_free (line 29) | FT_LOCAL_DEF( void )
function FTC_INode_Free (line 48) | FT_LOCAL_DEF( void )
function FTC_INode_New (line 57) | FT_LOCAL_DEF( FT_Error )
function ftc_inode_new (line 93) | FT_LOCAL_DEF( FT_Error )
function ftc_inode_weight (line 106) | FT_LOCAL_DEF( FT_Offset )
function FTC_INode_Weight (line 154) | FT_LOCAL_DEF( FT_Offset )
FILE: ext/freetype2/src/cache/ftcimage.h
type FTC_INodeRec_ (line 47) | struct FTC_INodeRec_
type FT_Error (line 58) | typedef FT_Error
type FTC_IFamilyClassRec (line 64) | typedef struct FTC_IFamilyClassRec_
type FTC_IFamilyClassRec (line 71) | typedef const FTC_IFamilyClassRec* FTC_IFamilyClass;
FILE: ext/freetype2/src/cache/ftcmanag.c
function FT_Error (line 40) | static FT_Error
type FTC_SizeNodeRec (line 77) | typedef struct FTC_SizeNodeRec_
function ftc_size_node_done (line 88) | FT_CALLBACK_DEF( void )
function ftc_size_node_compare (line 102) | FT_CALLBACK_DEF( FT_Bool )
function ftc_size_node_init (line 120) | FT_CALLBACK_DEF( FT_Error )
function ftc_size_node_reset (line 136) | FT_CALLBACK_DEF( FT_Error )
function FT_Bool (line 166) | static FT_Bool
function FTC_Manager_LookupSize (line 180) | FT_EXPORT_DEF( FT_Error )
type FTC_FaceNodeRec (line 221) | typedef struct FTC_FaceNodeRec_
function ftc_face_node_init (line 232) | FT_CALLBACK_DEF( FT_Error )
function ftc_face_node_done (line 260) | FT_CALLBACK_DEF( void )
function ftc_face_node_compare (line 281) | FT_CALLBACK_DEF( FT_Bool )
function FTC_Manager_LookupFace (line 307) | FT_EXPORT_DEF( FT_Error )
function FTC_Manager_New (line 352) | FT_EXPORT_DEF( FT_Error )
function FTC_Manager_Done (line 414) | FT_EXPORT_DEF( void )
function FTC_Manager_Reset (line 454) | FT_EXPORT_DEF( void )
function FTC_Manager_Check (line 469) | static void
function FTC_Manager_Compress (line 535) | FT_LOCAL_DEF( void )
function FTC_Manager_RegisterCache (line 577) | FT_LOCAL_DEF( FT_Error )
function FTC_Manager_FlushN (line 629) | FT_LOCAL_DEF( FT_UInt )
function FTC_Manager_RemoveFaceID (line 667) | FT_EXPORT_DEF( void )
function FTC_Node_Unref (line 691) | FT_EXPORT_DEF( void )
FILE: ext/freetype2/src/cache/ftcmanag.h
type FTC_ManagerRec (line 91) | typedef struct FTC_ManagerRec_
FILE: ext/freetype2/src/cache/ftcmru.c
function FTC_MruNode_Prepend (line 28) | FT_LOCAL_DEF( void )
function FTC_MruNode_Up (line 72) | FT_LOCAL_DEF( void )
function FTC_MruNode_Remove (line 121) | FT_LOCAL_DEF( void )
function FTC_MruList_Init (line 168) | FT_LOCAL_DEF( void )
function FTC_MruList_Reset (line 184) | FT_LOCAL_DEF( void )
function FTC_MruList_Done (line 194) | FT_LOCAL_DEF( void )
function FTC_MruList_Find (line 202) | FT_LOCAL_DEF( FTC_MruNode )
function FTC_MruList_New (line 235) | FT_LOCAL_DEF( FT_Error )
function FTC_MruList_Lookup (line 290) | FT_LOCAL_DEF( FT_Error )
function FTC_MruList_Remove (line 307) | FT_LOCAL_DEF( void )
function FTC_MruList_RemoveSelection (line 326) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cache/ftcmru.h
type FTC_MruNodeRec_ (line 61) | struct FTC_MruNodeRec_
type FTC_MruNodeRec (line 63) | typedef struct FTC_MruNodeRec_
type FTC_MruListRec_ (line 84) | struct FTC_MruListRec_
type FTC_MruListClassRec_ (line 86) | struct FTC_MruListClassRec_
type FT_Bool (line 89) | typedef FT_Bool
type FT_Error (line 93) | typedef FT_Error
type FT_Error (line 98) | typedef FT_Error
type FTC_MruListClassRec (line 108) | typedef struct FTC_MruListClassRec_
type FTC_MruListRec (line 118) | typedef struct FTC_MruListRec_
FILE: ext/freetype2/src/cache/ftcsbits.c
function FT_Error (line 42) | static FT_Error
function ftc_snode_free (line 64) | FT_LOCAL_DEF( void )
function FTC_SNode_Free (line 83) | FT_LOCAL_DEF( void )
function FT_Error (line 101) | static FT_Error
function FTC_SNode_New (line 207) | FT_LOCAL_DEF( FT_Error )
function ftc_snode_new (line 265) | FT_LOCAL_DEF( FT_Error )
function ftc_snode_weight (line 278) | FT_LOCAL_DEF( FT_Offset )
function FTC_SNode_Weight (line 315) | FT_LOCAL_DEF( FT_Offset )
function ftc_snode_compare (line 324) | FT_LOCAL_DEF( FT_Bool )
function FTC_SNode_Compare (line 409) | FT_LOCAL_DEF( FT_Bool )
FILE: ext/freetype2/src/cache/ftcsbits.h
type FTC_SNodeRec (line 32) | typedef struct FTC_SNodeRec_
type FT_UInt (line 45) | typedef FT_UInt
type FT_Error (line 49) | typedef FT_Error
type FTC_SFamilyClassRec (line 55) | typedef struct FTC_SFamilyClassRec_
type FTC_SFamilyClassRec (line 63) | typedef const FTC_SFamilyClassRec* FTC_SFamilyClass;
FILE: ext/freetype2/src/cff/cf2arrst.c
function cf2_arrstack_init (line 55) | FT_LOCAL_DEF( void )
function cf2_arrstack_finalize (line 75) | FT_LOCAL_DEF( void )
function FT_Bool (line 94) | static FT_Bool
function cf2_arrstack_setCount (line 139) | FT_LOCAL_DEF( void )
function cf2_arrstack_clear (line 157) | FT_LOCAL_DEF( void )
function cf2_arrstack_size (line 167) | FT_LOCAL_DEF( size_t )
function cf2_arrstack_getBuffer (line 176) | FT_LOCAL_DEF( void* )
function cf2_arrstack_getPointer (line 186) | FT_LOCAL_DEF( void* )
function cf2_arrstack_push (line 211) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cf2arrst.h
type CF2_ArrStackRec_ (line 51) | struct CF2_ArrStackRec_
FILE: ext/freetype2/src/cff/cf2blues.c
function cf2_blues_init (line 65) | FT_LOCAL_DEF( void )
function cf2_blues_capture (line 464) | FT_LOCAL_DEF( FT_Bool )
FILE: ext/freetype2/src/cff/cf2blues.h
type CF2_HintRec_ (line 118) | struct CF2_HintRec_
type CF2_BlueRec (line 129) | typedef struct CF2_BlueRec_
type CF2_BluesRec (line 149) | typedef struct CF2_BluesRec_
FILE: ext/freetype2/src/cff/cf2error.c
function cf2_setError (line 43) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cf2fixed.h
type FT_Int32 (line 49) | typedef FT_Int32 CF2_Frac;
type CF2_NumberType (line 80) | typedef enum CF2_NumberType_
FILE: ext/freetype2/src/cff/cf2font.c
function cf2_computeDarkening (line 51) | static void
function cf2_font_setup (line 240) | static void
function cf2_getGlyphOutline (line 431) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/cff/cf2font.h
type CF2_FontRec_ (line 55) | struct CF2_FontRec_
FILE: ext/freetype2/src/cff/cf2ft.c
function FT_Error (line 55) | static FT_Error
function cf2_setGlyphWidth (line 82) | static void
function cf2_free_instance (line 96) | static void
function cf2_builder_moveTo (line 119) | static void
function cf2_builder_lineTo (line 141) | static void
function cf2_builder_cubeTo (line 185) | static void
function cf2_outline_init (line 237) | static void
function cf2_getScaleAndHintFlag (line 254) | static void
function FT_UShort (line 285) | static FT_UShort
function cf2_decoder_parse_charstrings (line 296) | FT_LOCAL_DEF( FT_Error )
function cf2_getSubfont (line 407) | FT_LOCAL_DEF( CFF_SubFont )
function cf2_getPpemY (line 417) | FT_LOCAL_DEF( CF2_Fixed )
function cf2_getStdVW (line 441) | FT_LOCAL_DEF( CF2_Fixed )
function cf2_getStdHW (line 451) | FT_LOCAL_DEF( CF2_Fixed )
function cf2_getBlueMetrics (line 462) | FT_LOCAL_DEF( void )
function cf2_getBlueValues (line 482) | FT_LOCAL_DEF( void )
function cf2_getOtherBlues (line 495) | FT_LOCAL_DEF( void )
function cf2_getFamilyBlues (line 508) | FT_LOCAL_DEF( void )
function cf2_getFamilyOtherBlues (line 521) | FT_LOCAL_DEF( void )
function cf2_getLanguageGroup (line 534) | FT_LOCAL_DEF( CF2_Int )
function cf2_initGlobalRegionBuffer (line 545) | FT_LOCAL_DEF( CF2_Int )
function cf2_getSeacComponent (line 570) | FT_LOCAL_DEF( FT_Error )
function cf2_freeSeacComponent (line 608) | FT_LOCAL_DEF( void )
function cf2_initLocalRegionBuffer (line 620) | FT_LOCAL_DEF( CF2_Int )
function cf2_getDefaultWidthX (line 643) | FT_LOCAL_DEF( CF2_Fixed )
function cf2_getNominalWidthX (line 653) | FT_LOCAL_DEF( CF2_Fixed )
function cf2_outline_reset (line 663) | FT_LOCAL_DEF( void )
function cf2_outline_close (line 677) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cf2ft.h
type CF2_OutlineRec (line 127) | typedef struct CF2_OutlineRec_
FILE: ext/freetype2/src/cff/cf2glue.h
type CF2_Int (line 61) | typedef CF2_Int CF2_RenderingFlags;
type CF2_PathOp (line 65) | typedef enum CF2_PathOp_
type CF2_Matrix (line 76) | typedef struct CF2_Matrix_
type CF2_FontRec (line 90) | typedef struct CF2_FontRec_ CF2_FontRec, *CF2_Font;
type CF2_HintRec (line 91) | typedef struct CF2_HintRec_ CF2_HintRec, *CF2_Hint;
type CF2_CallbackParamsRec (line 102) | typedef struct CF2_CallbackParamsRec_
type CF2_OutlineCallbacksRec (line 115) | typedef struct CF2_OutlineCallbacksRec_ CF2_OutlineCallbacksRec,
type CF2_OutlineCallbacksRec_ (line 124) | struct CF2_OutlineCallbacksRec_
FILE: ext/freetype2/src/cff/cf2hints.c
type CF2_HintMoveRec (line 58) | typedef struct CF2_HintMoveRec_
function CF2_Int (line 68) | static CF2_Int
function cf2_hint_init (line 89) | static void
function cf2_hint_initZero (line 210) | static void
function cf2_hint_isValid (line 217) | FT_LOCAL_DEF( FT_Bool )
function FT_Bool (line 224) | static FT_Bool
function FT_Bool (line 232) | static FT_Bool
function cf2_hint_isTop (line 239) | FT_LOCAL_DEF( FT_Bool )
function cf2_hint_isBottom (line 247) | FT_LOCAL_DEF( FT_Bool )
function FT_Bool (line 255) | static FT_Bool
function FT_Bool (line 262) | static FT_Bool
function cf2_hint_lock (line 269) | FT_LOCAL_DEF( void )
function cf2_hintmap_init (line 276) | FT_LOCAL_DEF( void )
function FT_Bool (line 295) | static FT_Bool
function CF2_Fixed (line 303) | static CF2_Fixed
function cf2_hintmap_adjustHints (line 365) | static void
function cf2_hintmap_insertHint (line 558) | static void
function cf2_hintmap_build (line 745) | FT_LOCAL_DEF( void )
function cf2_glyphpath_init (line 1003) | FT_LOCAL_DEF( void )
function cf2_glyphpath_finalize (line 1074) | FT_LOCAL_DEF( void )
function cf2_glyphpath_hintPoint (line 1087) | static void
function FT_Bool (line 1117) | static FT_Bool
function cf2_glyphpath_pushPrevElem (line 1230) | static void
function cf2_glyphpath_pushMove (line 1394) | static void
function cf2_glyphpath_computeOffset (line 1439) | static void
function cf2_glyphpath_moveTo (line 1589) | FT_LOCAL_DEF( void )
function cf2_glyphpath_lineTo (line 1619) | FT_LOCAL_DEF( void )
function cf2_glyphpath_curveTo (line 1725) | FT_LOCAL_DEF( void )
function cf2_glyphpath_closeOpenPath (line 1814) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cf2hints.h
type CF2_HintMaskRec (line 71) | typedef struct CF2_HintMaskRec_
type CF2_StemHintRec (line 86) | typedef struct CF2_StemHintRec_
type CF2_HintMapRec (line 127) | typedef struct CF2_HintMapRec_
type CF2_GlyphPathRec (line 182) | typedef struct CF2_GlyphPathRec_
FILE: ext/freetype2/src/cff/cf2intrp.c
function cf2_hintmask_init (line 66) | FT_LOCAL_DEF( void )
function cf2_hintmask_isValid (line 76) | FT_LOCAL_DEF( FT_Bool )
function cf2_hintmask_isNew (line 83) | FT_LOCAL_DEF( FT_Bool )
function cf2_hintmask_setNew (line 90) | FT_LOCAL_DEF( void )
function cf2_hintmask_getMaskPtr (line 101) | FT_LOCAL_DEF( FT_Byte* )
function cf2_hintmask_setCounts (line 108) | static size_t
function cf2_hintmask_read (line 131) | static void
function cf2_hintmask_setAll (line 173) | FT_LOCAL_DEF( void )
function cf2_doStems (line 280) | static void
function cf2_doFlex (line 328) | static void
function cf2_interpT2CharString (line 420) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cf2read.c
function randomError2 (line 55) | static int
function CF2_Int (line 63) | static CF2_Int
function cf2_buf_readByte (line 79) | FT_LOCAL_DEF( CF2_Int )
function cf2_buf_isEnd (line 105) | FT_LOCAL_DEF( FT_Bool )
FILE: ext/freetype2/src/cff/cf2read.h
type CF2_BufferRec_ (line 46) | struct CF2_BufferRec_
FILE: ext/freetype2/src/cff/cf2stack.c
function cf2_stack_init (line 52) | FT_LOCAL_DEF( CF2_Stack )
function cf2_stack_free (line 73) | FT_LOCAL_DEF( void )
function cf2_stack_count (line 87) | FT_LOCAL_DEF( CF2_UInt )
function cf2_stack_pushInt (line 94) | FT_LOCAL_DEF( void )
function cf2_stack_pushFixed (line 110) | FT_LOCAL_DEF( void )
function cf2_stack_popInt (line 127) | FT_LOCAL_DEF( CF2_Int )
function cf2_stack_popFixed (line 149) | FT_LOCAL_DEF( CF2_Fixed )
function cf2_stack_getReal (line 174) | FT_LOCAL_DEF( CF2_Fixed )
function cf2_stack_clear (line 198) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cf2stack.h
type CF2_StackNumber_ (line 47) | struct CF2_StackNumber_
type CF2_StackRec (line 61) | typedef struct CF2_StackRec_
FILE: ext/freetype2/src/cff/cf2types.h
type FT_Int32 (line 69) | typedef FT_Int32 CF2_F16Dot16;
FILE: ext/freetype2/src/cff/cffcmap.c
function cff_cmap_encoding_init (line 35) | FT_CALLBACK_DEF( FT_Error )
function cff_cmap_encoding_done (line 52) | FT_CALLBACK_DEF( void )
function cff_cmap_encoding_char_index (line 59) | FT_CALLBACK_DEF( FT_UInt )
function cff_cmap_encoding_char_next (line 73) | FT_CALLBACK_DEF( FT_UInt32 )
function cff_sid_to_glyph_name (line 127) | FT_CALLBACK_DEF( const char* )
function cff_cmap_unicode_init (line 140) | FT_CALLBACK_DEF( FT_Error )
function cff_cmap_unicode_done (line 167) | FT_CALLBACK_DEF( void )
function cff_cmap_unicode_char_index (line 179) | FT_CALLBACK_DEF( FT_UInt )
function cff_cmap_unicode_char_next (line 192) | FT_CALLBACK_DEF( FT_UInt32 )
FILE: ext/freetype2/src/cff/cffcmap.h
type CFF_CMapStdRec_ (line 36) | struct CFF_CMapStdRec_
type CFF_CMapStdRec (line 38) | typedef struct CFF_CMapStdRec_
FILE: ext/freetype2/src/cff/cffdrivr.c
function cff_get_kerning (line 104) | FT_CALLBACK_DEF( FT_Error )
function cff_glyph_load (line 153) | FT_CALLBACK_DEF( FT_Error )
function cff_get_advances (line 194) | FT_CALLBACK_DEF( FT_Error )
function FT_Error (line 228) | static FT_Error
function FT_UInt (line 266) | static FT_UInt
function FT_Int (line 317) | static FT_Int
function FT_Error (line 324) | static FT_Error
function FT_Error (line 409) | static FT_Error
function FT_Error (line 450) | static FT_Error
function FT_Error (line 507) | static FT_Error
function FT_Error (line 530) | static FT_Error
function FT_Error (line 582) | static FT_Error
function FT_Error (line 652) | static FT_Error
function cff_get_interface (line 747) | FT_CALLBACK_DEF( FT_Module_Interface )
FILE: ext/freetype2/src/cff/cffgload.c
type CFF_Operator (line 46) | typedef enum CFF_Operator_
function cff_builder_init (line 252) | static void
function cff_builder_done (line 312) | static void
function FT_Int (line 340) | static FT_Int
function cff_decoder_init (line 382) | FT_LOCAL_DEF( void )
function cff_decoder_prepare (line 413) | FT_LOCAL_DEF( FT_Error )
function cff_check_points (line 468) | FT_LOCAL_DEF( FT_Error )
function cff_builder_add_point (line 477) | FT_LOCAL_DEF( void )
function cff_builder_add_point1 (line 515) | FT_LOCAL_DEF( FT_Error )
function FT_Error (line 532) | static FT_Error
function cff_builder_start_point (line 560) | FT_LOCAL_DEF( FT_Error )
function cff_builder_close_contour (line 582) | FT_LOCAL_DEF( void )
function cff_lookup_glyph_by_stdcharcode (line 627) | FT_LOCAL_DEF( FT_Int )
function cff_get_glyph_data (line 656) | FT_LOCAL_DEF( FT_Error )
function cff_free_glyph_data (line 692) | FT_LOCAL_DEF( void )
function FT_Error (line 729) | static FT_Error
function cff_decoder_parse_charstrings (line 901) | FT_LOCAL_DEF( FT_Error )
function cff_compute_max_advance (line 2548) | FT_LOCAL_DEF( FT_Error )
function cff_slot_load (line 2602) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/cff/cffgload.h
type CFF_Builder (line 81) | typedef struct CFF_Builder_
type CFF_Decoder_Zone (line 146) | typedef struct CFF_Decoder_Zone_
type CFF_Decoder (line 155) | typedef struct CFF_Decoder_
FILE: ext/freetype2/src/cff/cffload.c
function cff_get_standard_encoding (line 182) | FT_LOCAL_DEF( FT_UShort )
function FT_ULong (line 201) | static FT_ULong
function FT_Error (line 225) | static FT_Error
function cff_index_done (line 300) | static void
function FT_Error (line 318) | static FT_Error
function FT_Error (line 382) | static FT_Error
function cff_index_access_element (line 469) | FT_LOCAL_DEF( FT_Error )
function cff_index_forget_element (line 567) | FT_LOCAL_DEF( void )
function cff_index_get_name (line 582) | FT_LOCAL_DEF( FT_String* )
function cff_index_get_string (line 611) | FT_LOCAL_DEF( FT_String* )
function cff_index_get_sid_string (line 621) | FT_LOCAL_DEF( FT_String* )
function CFF_Done_FD_Select (line 651) | static void
function FT_Error (line 664) | static FT_Error
function cff_fd_select_get (line 715) | FT_LOCAL_DEF( FT_Byte )
function FT_Error (line 786) | static FT_Error
function cff_charset_cid_to_gindex (line 823) | FT_LOCAL_DEF( FT_UInt )
function cff_charset_free_cids (line 837) | static void
function cff_charset_done (line 846) | static void
function FT_Error (line 861) | static FT_Error
function cff_encoding_done (line 1051) | static void
function FT_Error (line 1060) | static FT_Error
function FT_Error (line 1303) | static FT_Error
function cff_subfont_done (line 1413) | static void
function cff_font_load (line 1425) | FT_LOCAL_DEF( FT_Error )
function cff_font_done (line 1658) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cffobjs.c
function PSH_Globals_Funcs (line 58) | static PSH_Globals_Funcs
function cff_size_done (line 75) | FT_LOCAL_DEF( void )
function cff_make_private_dict (line 109) | static void
function cff_size_init (line 156) | FT_LOCAL_DEF( FT_Error )
function cff_size_select (line 209) | FT_LOCAL_DEF( FT_Error )
function cff_size_request (line 266) | FT_LOCAL_DEF( FT_Error )
function cff_slot_done (line 342) | FT_LOCAL_DEF( void )
function cff_slot_init (line 349) | FT_LOCAL_DEF( FT_Error )
function FT_String (line 384) | static FT_String*
function remove_subset_prefix (line 404) | static void
function remove_style (line 438) | static void
function cff_face_init (line 481) | FT_LOCAL_DEF( FT_Error )
function cff_face_done (line 1003) | FT_LOCAL_DEF( void )
function cff_driver_init (line 1033) | FT_LOCAL_DEF( FT_Error )
function cff_driver_done (line 1061) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cff/cffobjs.h
type CFF_DriverRec_ (line 42) | struct CFF_DriverRec_
type TT_Face (line 44) | typedef TT_Face CFF_Face;
type CFF_SizeRec (line 55) | typedef struct CFF_SizeRec_
type CFF_GlyphSlotRec (line 71) | typedef struct CFF_GlyphSlotRec_
type CFF_InternalRec (line 92) | typedef struct CFF_InternalRec_
type CFF_Transform (line 104) | typedef struct CFF_Transform_
type CFF_DriverRec (line 117) | typedef struct CFF_DriverRec_
FILE: ext/freetype2/src/cff/cffparse.c
function cff_parser_init (line 38) | FT_LOCAL_DEF( void )
function FT_Long (line 54) | static FT_Long
function FT_Fixed (line 125) | static FT_Fixed
function FT_Long (line 400) | static FT_Long
function FT_Fixed (line 409) | static FT_Fixed
function FT_Fixed (line 444) | static FT_Fixed
function FT_Fixed (line 453) | static FT_Fixed
function FT_Fixed (line 464) | static FT_Fixed
function FT_Error (line 506) | static FT_Error
function FT_Error (line 578) | static FT_Error
function FT_Error (line 608) | static FT_Error
function FT_Error (line 632) | static FT_Error
function FT_Destroy_Class_cff_field_handlers (line 778) | void
function FT_Error (line 790) | FT_Error
function cff_parser_run (line 928) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/cff/cffparse.h
type CFF_ParserRec (line 37) | typedef struct CFF_ParserRec_
type FT_Error (line 81) | typedef FT_Error (*CFF_Field_Reader)( CFF_Parser parser );
type CFF_Field_Handler (line 83) | typedef struct CFF_Field_Handler_
FILE: ext/freetype2/src/cff/cffpic.c
function cff_driver_class_pic_free (line 61) | void
function FT_Error (line 87) | FT_Error
FILE: ext/freetype2/src/cff/cffpic.h
type CffModulePIC (line 52) | typedef struct CffModulePIC_
FILE: ext/freetype2/src/cff/cfftypes.h
type CFF_IndexRec_ (line 63) | struct CFF_IndexRec_
type CFF_EncodingRec (line 78) | typedef struct CFF_EncodingRec_
type CFF_CharsetRec (line 90) | typedef struct CFF_CharsetRec_
type CFF_FontRecDictRec (line 105) | typedef struct CFF_FontRecDictRec_
type CFF_PrivateRec (line 151) | typedef struct CFF_PrivateRec_
type CFF_FDSelectRec (line 186) | typedef struct CFF_FDSelectRec_
type CFF_SubFontRec (line 205) | typedef struct CFF_SubFontRec_
type CFF_FontRec (line 219) | typedef struct CFF_FontRec_
FILE: ext/freetype2/src/cid/cidgload.c
function cid_load_glyph (line 40) | FT_CALLBACK_DEF( FT_Error )
function cid_face_compute_max_advance (line 216) | FT_LOCAL_DEF( FT_Error )
function cid_slot_load_glyph (line 268) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/cid/cidload.c
function cid_get_offset (line 41) | FT_LOCAL_DEF( FT_Long )
function FT_Error (line 69) | static FT_Error
function cid_parse_font_matrix (line 149) | FT_CALLBACK_DEF( FT_Error )
function parse_fd_array (line 214) | FT_CALLBACK_DEF( FT_Error )
function parse_expansion_factor (line 256) | FT_CALLBACK_DEF( FT_Error )
function FT_Error (line 289) | static FT_Error
function FT_Error (line 400) | static FT_Error
function cid_init_loader (line 526) | static void
function cid_done_loader (line 536) | static void
function FT_Error (line 547) | static FT_Error
function cid_face_open (line 645) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/cid/cidload.h
type CID_Loader_ (line 31) | struct CID_Loader_
FILE: ext/freetype2/src/cid/cidobjs.c
function cid_slot_done (line 49) | FT_LOCAL_DEF( void )
function cid_slot_init (line 56) | FT_LOCAL_DEF( FT_Error )
function PSH_Globals_Funcs (line 94) | static PSH_Globals_Funcs
function cid_size_done (line 110) | FT_LOCAL_DEF( void )
function cid_size_init (line 130) | FT_LOCAL_DEF( FT_Error )
function cid_size_request (line 155) | FT_LOCAL( FT_Error )
function cid_face_done (line 193) | FT_LOCAL_DEF( void )
function cid_face_init (line 277) | FT_LOCAL_DEF( FT_Error )
function cid_driver_init (line 465) | FT_LOCAL_DEF( FT_Error )
function cid_driver_done (line 485) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cid/cidobjs.h
type CID_Size_Hints_ (line 33) | struct CID_Size_Hints_
type CID_Glyph_Hints (line 34) | typedef struct CID_Glyph_Hints_ CID_Glyph_Hints;
type CID_DriverRec_ (line 45) | struct CID_DriverRec_
type CID_SizeRec_ (line 56) | struct CID_SizeRec_
type CID_GlyphSlotRec_ (line 67) | struct CID_GlyphSlotRec_
type CID_CharMapRec_ (line 83) | struct CID_CharMapRec_
type CID_SizeRec (line 93) | typedef struct CID_SizeRec_
type CID_GlyphSlotRec (line 101) | typedef struct CID_GlyphSlotRec_
FILE: ext/freetype2/src/cid/cidparse.c
function cid_parser_new (line 50) | FT_LOCAL_DEF( FT_Error )
function cid_parser_done (line 208) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/cid/cidparse.h
type CID_Parser_ (line 61) | struct CID_Parser_
FILE: ext/freetype2/src/cid/cidriver.c
function FT_Error (line 71) | static FT_Error
function FT_Error (line 80) | static FT_Error
function FT_Error (line 103) | static FT_Error
function FT_Error (line 125) | static FT_Error
function FT_Error (line 140) | static FT_Error
function cid_get_interface (line 179) | FT_CALLBACK_DEF( FT_Module_Interface )
FILE: ext/freetype2/src/gxvalid/gxvbsln.c
type GXV_bsln_DataRec (line 53) | typedef struct GXV_bsln_DataRec_
function gxv_bsln_LookupValue_validate (line 72) | static void
function GXV_LookupValueDesc (line 123) | static GXV_LookupValueDesc
function gxv_bsln_parts_fmt0_validate (line 148) | static void
function gxv_bsln_parts_fmt1_validate (line 167) | static void
function gxv_bsln_parts_fmt2_validate (line 192) | static void
function gxv_bsln_parts_fmt3_validate (line 236) | static void
function gxv_bsln_validate (line 269) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvcommn.c
function gxv_compare_ushort_offset (line 49) | static int
function gxv_set_length_by_ushort_offset (line 62) | FT_LOCAL_DEF( void )
function gxv_compare_ulong_offset (line 114) | static int
function gxv_set_length_by_ulong_offset (line 127) | FT_LOCAL_DEF( void )
function gxv_array_getlimits_byte (line 180) | FT_LOCAL_DEF( void )
function gxv_array_getlimits_ushort (line 209) | FT_LOCAL_DEF( void )
type GXV_BinSrchHeader (line 246) | typedef struct GXV_BinSrchHeader_
function gxv_BinSrchHeader_check_consistency (line 257) | static void
function gxv_BinSrchHeader_validate (line 327) | FT_LOCAL_DEF( void )
function GXV_LookupValueDesc (line 386) | static GXV_LookupValueDesc
function gxv_LookupTable_fmt0_validate (line 422) | static void
function gxv_LookupTable_fmt2_skip_endmarkers (line 473) | static void
function gxv_LookupTable_fmt2_validate (line 493) | static void
function gxv_LookupTable_fmt4_validate (line 564) | static void
function gxv_LookupTable_fmt6_skip_endmarkers (line 645) | static void
function gxv_LookupTable_fmt6_validate (line 664) | static void
function gxv_LookupTable_fmt8_validate (line 718) | static void
function gxv_LookupTable_validate (line 754) | FT_LOCAL_DEF( void )
function gxv_glyphid_validate (line 812) | FT_LOCAL_DEF( FT_Int )
function gxv_ctlPoint_validate (line 845) | FT_LOCAL_DEF( void )
function gxv_sfntName_validate (line 884) | FT_LOCAL_DEF( void )
function gxv_ClassTable_validate (line 942) | static void
function gxv_StateArray_validate (line 1018) | static void
function gxv_EntryTable_validate (line 1070) | static void
function gxv_StateTable_subtable_setup (line 1187) | FT_LOCAL_DEF( void )
function gxv_StateTable_validate (line 1213) | FT_LOCAL_DEF( void )
function gxv_XStateTable_subtable_setup (line 1317) | FT_LOCAL_DEF( void )
function gxv_XClassTable_lookupval_validate (line 1343) | static void
function GXV_LookupValueDesc (line 1383) | static GXV_LookupValueDesc
function gxv_XStateArray_validate (line 1408) | static void
function gxv_XEntryTable_validate (line 1458) | static void
function gxv_XStateTable_validate (line 1559) | FT_LOCAL_DEF( void )
function gxv_compare_ranges (line 1679) | static int
function gxv_odtect_add_range (line 1707) | FT_LOCAL_DEF( void )
function gxv_odtect_validate (line 1720) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvcommn.h
type GXV_ValidatorRec_ (line 76) | struct GXV_ValidatorRec_
type GXV_LookupValueDesc (line 89) | typedef union GXV_LookupValueDesc_
type GXV_LookupValueDesc (line 96) | typedef const GXV_LookupValueDesc* GXV_LookupValueCPtr;
type GXV_LookupValue_SignSpec (line 98) | typedef enum GXV_LookupValue_SignSpec_
type GXV_LookupValueDesc (line 111) | typedef GXV_LookupValueDesc
type GXV_GlyphOffset_Format (line 120) | typedef enum GXV_GlyphOffset_Format_
type GXV_StateTable_GlyphOffsetDesc (line 142) | typedef union GXV_StateTable_GlyphOffsetDesc_
type GXV_StateTable_GlyphOffsetDesc (line 153) | typedef const GXV_StateTable_GlyphOffsetDesc* GXV_StateTable_GlyphOffset...
type GXV_StateTable_ValidatorRec (line 179) | typedef struct GXV_StateTable_ValidatorRec_
type GXV_StateTable_GlyphOffsetDesc (line 193) | typedef GXV_StateTable_GlyphOffsetDesc GXV_XStateTable_GlyphOffsetDesc;
type GXV_XStateTable_GlyphOffsetDesc (line 195) | typedef const GXV_XStateTable_GlyphOffsetDesc* GXV_XStateTable_GlyphOffs...
type GXV_StateTable_OptData_Load_Func (line 217) | typedef GXV_StateTable_OptData_Load_Func GXV_XStateTable_OptData_Load_F...
type GXV_XStateTable_ValidatorRec (line 220) | typedef struct GXV_XStateTable_ValidatorRec_
type GXV_ValidatorRec (line 237) | typedef struct GXV_ValidatorRec_
type GXV_odtect_DataRec (line 535) | typedef struct GXV_odtect_DataRec_
type GXV_odtect_RangeRec (line 543) | typedef struct GXV_odtect_RangeRec_
FILE: ext/freetype2/src/gxvalid/gxvfeat.c
type GXV_feat_DataRec (line 51) | typedef struct GXV_feat_DataRec_
type GXV_FeatureFlagsMask (line 63) | typedef enum GXV_FeatureFlagsMask_
function gxv_feat_registry_validate (line 81) | static void
function gxv_feat_name_index_validate (line 137) | static void
function gxv_feat_setting_validate (line 162) | static void
function gxv_feat_name_validate (line 190) | static void
function gxv_feat_validate (line 272) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvfeat.h
type GX_Feature_RegistryRec (line 44) | typedef struct GXV_Feature_RegistryRec_
FILE: ext/freetype2/src/gxvalid/gxvfgen.c
type GX_Feature_RegistryRec (line 87) | typedef struct GX_Feature_RegistryRec_
function main (line 442) | int
FILE: ext/freetype2/src/gxvalid/gxvjust.c
type GXV_just_DataRec (line 55) | typedef struct GXV_just_DataRec_
function gxv_just_check_max_gid (line 69) | static void
function gxv_just_wdp_entry_validate (line 84) | static void
function gxv_just_wdc_entry_validate (line 127) | static void
function gxv_just_widthDeltaClusters_validate (line 149) | static void
function gxv_just_actSubrecord_type0_validate (line 176) | static void
function gxv_just_actSubrecord_type1_validate (line 224) | static void
function gxv_just_actSubrecord_type2_validate (line 242) | static void
function gxv_just_actSubrecord_type4_validate (line 273) | static void
function gxv_just_actSubrecord_type5_validate (line 310) | static void
function gxv_just_actSubrecord_validate (line 334) | static void
function gxv_just_pcActionRecord_validate (line 377) | static void
function gxv_just_pcTable_LookupValue_entry_validate (line 403) | static void
function gxv_just_pcLookupTable_validate (line 417) | static void
function gxv_just_postcompTable_validate (line 440) | static void
function gxv_just_classTable_entry_validate (line 462) | static void
function gxv_just_justClassTable_validate (line 496) | static void
function gxv_just_wdcTable_LookupValue_validate (line 539) | static void
function gxv_just_justData_lookuptable_validate (line 553) | static void
function gxv_just_justData_validate (line 578) | static void
function gxv_just_validate (line 642) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvkern.c
type GXV_kern_Version (line 53) | typedef enum GXV_kern_Version_
type GXV_kern_Dialect (line 61) | typedef enum GXV_kern_Dialect_
type GXV_kern_DataRec (line 71) | typedef struct GXV_kern_DataRec_
function gxv_kern_subtable_fmt0_pairs_validate (line 109) | static void
function gxv_kern_subtable_fmt0_validate (line 171) | static void
type GXV_kern_fmt1_StateOptRec (line 201) | typedef struct GXV_kern_fmt1_StateOptRec_
function gxv_kern_subtable_fmt1_valueTable_load (line 209) | static void
function gxv_kern_subtable_fmt1_subtable_setup (line 227) | static void
function gxv_kern_subtable_fmt1_entry_validate (line 261) | static void
function gxv_kern_subtable_fmt1_validate (line 311) | static void
type GXV_kern_ClassSpec (line 341) | typedef enum GXV_kern_ClassSpec_
type GXV_kern_subtable_fmt2_DataRec (line 353) | typedef struct GXV_kern_subtable_fmt2_DataRec_
function gxv_kern_subtable_fmt2_clstbl_validate (line 372) | static void
function gxv_kern_subtable_fmt2_validate (line 408) | static void
function gxv_kern_subtable_fmt3_validate (line 466) | static void
function FT_Bool (line 558) | static FT_Bool
function FT_Bool (line 595) | static FT_Bool
function FT_Bool (line 636) | static FT_Bool
function GXV_kern_Dialect (line 686) | static GXV_kern_Dialect
function gxv_kern_subtable_validate (line 739) | static void
function gxv_kern_validate_generic (line 833) | static void
function gxv_kern_validate (line 897) | FT_LOCAL_DEF( void )
function gxv_kern_validate_classic (line 906) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvlcar.c
type GXV_lcar_DataRec (line 49) | typedef struct GXV_lcar_DataRec_
function gxv_lcar_partial_validate (line 67) | static void
function gxv_lcar_LookupValue_validate (line 84) | static void
function GXV_LookupValueDesc (line 147) | static GXV_LookupValueDesc
function gxv_lcar_validate (line 181) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmod.c
function FT_Error (line 50) | static FT_Error
function FT_Error (line 107) | static FT_Error
function FT_Error (line 190) | static FT_Error
function FT_Pointer (line 258) | static FT_Pointer
FILE: ext/freetype2/src/gxvalid/gxvmort.c
function gxv_mort_feature_validate (line 41) | static void
function gxv_mort_featurearray_validate (line 88) | FT_LOCAL_DEF( void )
function gxv_mort_coverage_validate (line 120) | FT_LOCAL_DEF( void )
function gxv_mort_subtables_validate (line 149) | static void
function gxv_mort_chain_validate (line 222) | static void
function gxv_mort_validate (line 259) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmort.h
type GXV_mort_featureRec (line 36) | typedef struct GXV_mort_featureRec_
FILE: ext/freetype2/src/gxvalid/gxvmort0.c
function gxv_mort_subtable_type0_entry_validate (line 63) | static void
function gxv_mort_subtable_type0_validate (line 125) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmort1.c
type GXV_mort_subtable_type1_StateOptRec (line 41) | typedef struct GXV_mort_subtable_type1_StateOptRec_
function gxv_mort_subtable_type1_substitutionTable_load (line 53) | static void
function gxv_mort_subtable_type1_subtable_setup (line 69) | static void
function gxv_mort_subtable_type1_offset_to_subst_validate (line 100) | static void
function gxv_mort_subtable_type1_entry_validate (line 133) | static void
function gxv_mort_subtable_type1_substTable_validate (line 181) | static void
function gxv_mort_subtable_type1_validate (line 223) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmort2.c
type GXV_mort_subtable_type2_StateOptRec (line 41) | typedef struct GXV_mort_subtable_type2_StateOptRec_
function gxv_mort_subtable_type2_opttable_load (line 57) | static void
function gxv_mort_subtable_type2_subtable_setup (line 81) | static void
function gxv_mort_subtable_type2_ligActionOffset_validate (line 136) | static void
function gxv_mort_subtable_type2_entry_validate (line 210) | static void
function gxv_mort_subtable_type2_ligatureTable_validate (line 243) | static void
function gxv_mort_subtable_type2_validate (line 275) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmort4.c
function gxv_mort_subtable_type4_lookupval_validate (line 41) | static void
function GXV_LookupValueDesc (line 78) | static GXV_LookupValueDesc
function gxv_mort_subtable_type4_validate (line 104) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmort5.c
type GXV_mort_subtable_type5_StateOptRec (line 49) | typedef struct GXV_mort_subtable_type5_StateOptRec_
function gxv_mort_subtable_type5_subtable_setup (line 65) | FT_LOCAL_DEF( void )
function gxv_mort_subtable_type5_InsertList_validate (line 98) | static void
function gxv_mort_subtable_type5_entry_validate (line 141) | static void
function gxv_mort_subtable_type5_validate (line 201) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmorx.c
function gxv_morx_subtables_validate (line 41) | static void
function gxv_morx_chain_validate (line 116) | static void
function gxv_morx_validate (line 160) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmorx0.c
function gxv_morx_subtable_type0_entry_validate (line 41) | static void
function gxv_morx_subtable_type0_validate (line 85) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmorx1.c
type GXV_morx_subtable_type1_StateOptRec (line 41) | typedef struct GXV_morx_subtable_type1_StateOptRec_
function gxv_morx_subtable_type1_substitutionTable_load (line 55) | static void
function gxv_morx_subtable_type1_subtable_setup (line 71) | static void
function gxv_morx_subtable_type1_entry_validate (line 102) | static void
function gxv_morx_subtable_type1_LookupValue_validate (line 159) | static void
function GXV_LookupValueDesc (line 173) | static GXV_LookupValueDesc
function gxv_morx_subtable_type1_substitutionTable_validate (line 202) | static void
function gxv_morx_subtable_type1_validate (line 239) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmorx2.c
type GXV_morx_subtable_type2_StateOptRec (line 41) | typedef struct GXV_morx_subtable_type2_StateOptRec_
function gxv_morx_subtable_type2_opttable_load (line 58) | static void
function gxv_morx_subtable_type2_subtable_setup (line 83) | static void
function gxv_morx_subtable_type2_ligActionIndex_validate (line 141) | static void
function gxv_morx_subtable_type2_entry_validate (line 221) | static void
function gxv_morx_subtable_type2_ligatureTable_validate (line 260) | static void
function gxv_morx_subtable_type2_validate (line 293) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmorx4.c
function gxv_morx_subtable_type4_validate (line 41) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvmorx5.c
type GXV_morx_subtable_type5_StateOptRec (line 51) | typedef struct GXV_morx_subtable_type5_StateOptRec_
function gxv_morx_subtable_type5_insertionGlyphList_load (line 64) | static void
function gxv_morx_subtable_type5_subtable_setup (line 80) | static void
function gxv_morx_subtable_type5_InsertList_validate (line 111) | static void
function gxv_morx_subtable_type5_entry_validate (line 139) | static void
function gxv_morx_subtable_type5_validate (line 193) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvopbd.c
type GXV_opbd_DataRec (line 49) | typedef struct GXV_opbd_DataRec_
function gxv_opbd_LookupValue_validate (line 68) | static void
function GXV_LookupValueDesc (line 133) | static GXV_LookupValueDesc
function gxv_opbd_validate (line 160) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvprop.c
type GXV_prop_DataRec (line 52) | typedef struct GXV_prop_DataRec_
function gxv_prop_zero_advance_validate (line 76) | static void
function gxv_prop_property_validate (line 109) | static void
function gxv_prop_LookupValue_validate (line 187) | static void
function GXV_LookupValueDesc (line 223) | static GXV_LookupValueDesc
function gxv_prop_validate (line 255) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gxvalid/gxvtrak.c
type GXV_trak_DataRec (line 73) | typedef struct GXV_trak_DataRec_
function gxv_trak_trackTable_validate (line 92) | static void
function gxv_trak_trackData_validate (line 142) | static void
function gxv_trak_validate (line 205) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/gzip/adler32.c
function adler32 (line 21) | ZEXPORT(uLong) adler32( /* adler, buf, len) */
FILE: ext/freetype2/src/gzip/ftgzip.c
function voidpf (line 117) | static voidpf
function ft_gzip_free (line 132) | static void
function local (line 142) | local voidpf
function local (line 150) | local void
type FT_GZipFileRec (line 170) | typedef struct FT_GZipFileRec_
function FT_Error (line 198) | static FT_Error
function FT_Error (line 272) | static FT_Error
function ft_gzip_file_done (line 317) | static void
function FT_Error (line 340) | static FT_Error
function FT_Error (line 368) | static FT_Error
function FT_Error (line 403) | static FT_Error
function FT_Error (line 447) | static FT_Error
function FT_ULong (line 477) | static FT_ULong
function ft_gzip_stream_close (line 545) | static void
function FT_ULong (line 564) | static FT_ULong
function FT_ULong (line 577) | static FT_ULong
function FT_Stream_OpenGzip (line 601) | FT_EXPORT_DEF( FT_Error )
function FT_Gzip_Uncompress (line 700) | FT_EXPORT_DEF( FT_Error )
function FT_Stream_OpenGzip (line 761) | FT_EXPORT_DEF( FT_Error )
function FT_Gzip_Uncompress (line 772) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/gzip/infblock.c
function local (line 67) | local void inflate_blocks_reset( /* s, z, c) */
function local (line 88) | local inflate_blocks_statef *inflate_blocks_new( /* z, c, w) */
function local (line 119) | local int inflate_blocks( /* s, z, r) */
FILE: ext/freetype2/src/gzip/infblock.h
type inflate_blocks_state (line 14) | struct inflate_blocks_state
type inflate_blocks_statef (line 15) | typedef struct inflate_blocks_state FAR inflate_blocks_statef;
FILE: ext/freetype2/src/gzip/infcodes.c
type inflate_codes_mode (line 16) | typedef enum { /* waiting for "i:"=input, "o:"=output, "x:"=nothi...
type inflate_codes_state (line 30) | struct inflate_codes_state {
function local (line 58) | local inflate_codes_statef *inflate_codes_new( /* bl, bd, tl, td, z) */
function local (line 80) | local int inflate_codes( /* s, z, r) */
function local (line 244) | local void inflate_codes_free( /* c, z) */
FILE: ext/freetype2/src/gzip/infcodes.h
type inflate_codes_state (line 14) | struct inflate_codes_state
type inflate_codes_statef (line 15) | typedef struct inflate_codes_state FAR inflate_codes_statef;
FILE: ext/freetype2/src/gzip/inflate.c
type inflate_mode (line 12) | typedef enum {
type internal_state (line 30) | struct internal_state {
function inflateReset (line 54) | ZEXPORT(int) inflateReset( /* z) */
function inflateEnd (line 68) | ZEXPORT(int) inflateEnd( /* z) */
function inflateInit2_ (line 82) | ZEXPORT(int) inflateInit2_( /* z, w, version, stream_size) */
function inflate (line 147) | ZEXPORT(int) inflate( /* z, f) */
FILE: ext/freetype2/src/gzip/inftrees.c
function local (line 95) | local int huft_build( /* b, n, s, d, e, t, m, hp, hn, v) */
function local (line 327) | local int inflate_trees_dynamic( /* nl, nd, c, bl, bd, tl, td, hp, z) */
FILE: ext/freetype2/src/gzip/inftrees.h
type inflate_huft (line 17) | typedef struct inflate_huft_s FAR inflate_huft;
type inflate_huft_s (line 19) | struct inflate_huft_s {
FILE: ext/freetype2/src/gzip/infutil.c
function local (line 22) | local int inflate_flush( /* s, z, r) */
FILE: ext/freetype2/src/gzip/infutil.h
type inflate_block_mode (line 14) | typedef enum {
type inflate_blocks_state (line 28) | struct inflate_blocks_state {
FILE: ext/freetype2/src/gzip/zconf.h
type Byte (line 219) | typedef unsigned char Byte;
type uInt (line 221) | typedef unsigned int uInt;
type uLong (line 222) | typedef unsigned long uLong;
type Byte (line 228) | typedef Byte FAR Bytef;
type charf (line 230) | typedef char FAR charf;
type intf (line 231) | typedef int FAR intf;
type uInt (line 232) | typedef uInt FAR uIntf;
type uLong (line 233) | typedef uLong FAR uLongf;
type Byte (line 239) | typedef Byte FAR *voidpf;
type Byte (line 240) | typedef Byte *voidp;
FILE: ext/freetype2/src/gzip/zlib.h
type voidpf (line 63) | typedef voidpf (*alloc_func)
type internal_state (line 66) | struct internal_state
type z_stream (line 68) | typedef struct z_stream_s {
type z_stream (line 89) | typedef z_stream FAR *z_streamp;
FILE: ext/freetype2/src/gzip/zutil.c
function zmemcpy (line 17) | void zmemcpy(dest, source, len)
function zmemcmp (line 28) | int zmemcmp(s1, s2, len)
function zmemzero (line 41) | void zmemzero(dest, len)
type ptr_table (line 70) | typedef struct ptr_table_s {
function voidpf (line 83) | voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
function zcfree (line 107) | void zcfree (voidpf opaque, voidpf ptr)
function voidpf (line 142) | voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
function zcfree (line 148) | void zcfree (voidpf opaque, voidpf ptr)
function voidpf (line 164) | voidpf zcalloc (opaque, items, size)
function zcfree (line 173) | void zcfree (opaque, ptr)
FILE: ext/freetype2/src/gzip/zutil.h
type uch (line 34) | typedef unsigned char uch;
type uch (line 35) | typedef uch FAR uchf;
type ush (line 36) | typedef unsigned short ush;
type ush (line 37) | typedef ush FAR ushf;
type ulg (line 38) | typedef unsigned long ulg;
type uLong (line 205) | typedef uLong (*check_func)
FILE: ext/freetype2/src/lzw/ftlzw.c
type FT_LZWFileRec (line 71) | typedef struct FT_LZWFileRec_
function FT_Error (line 87) | static FT_Error
function FT_Error (line 108) | static FT_Error
function ft_lzw_file_done (line 138) | static void
function FT_Error (line 150) | static FT_Error
function FT_Error (line 170) | static FT_Error
function FT_Error (line 192) | static FT_Error
function FT_ULong (line 239) | static FT_ULong
function ft_lzw_stream_close (line 315) | static void
function FT_ULong (line 334) | static FT_ULong
function FT_Stream_OpenLZW (line 347) | FT_EXPORT_DEF( FT_Error )
function FT_Stream_OpenLZW (line 407) | FT_EXPORT_DEF( FT_Error )
FILE: ext/freetype2/src/lzw/ftzopen.c
function ft_lzwstate_refill (line 27) | static int
function FT_Int32 (line 53) | static FT_Int32
function ft_lzwstate_stack_grow (line 109) | static int
function ft_lzwstate_prefix_grow (line 146) | static int
function ft_lzwstate_reset (line 184) | FT_LOCAL_DEF( void )
function ft_lzwstate_init (line 198) | FT_LOCAL_DEF( void )
function ft_lzwstate_done (line 218) | FT_LOCAL_DEF( void )
function ft_lzwstate_io (line 246) | FT_LOCAL_DEF( FT_ULong )
FILE: ext/freetype2/src/lzw/ftzopen.h
type FT_LzwPhase (line 49) | typedef enum FT_LzwPhase_
type FT_LzwStateRec (line 112) | typedef struct FT_LzwStateRec_
FILE: ext/freetype2/src/otvalid/otvbase.c
function otv_BaseCoord_validate (line 33) | static void
function otv_BaseTagList_validate (line 72) | static void
function otv_BaseValues_validate (line 94) | static void
function otv_MinMax_validate (line 121) | static void
function otv_BaseScript_validate (line 176) | static void
function otv_BaseScriptList_validate (line 221) | static void
function otv_Axis_validate (line 251) | static void
function otv_BASE_validate (line 279) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/otvalid/otvcommn.c
function otv_Coverage_validate (line 40) | FT_LOCAL_DEF( void )
function otv_Coverage_get_first (line 133) | FT_LOCAL_DEF( FT_UInt )
function otv_Coverage_get_last (line 145) | FT_LOCAL_DEF( FT_UInt )
function otv_Coverage_get_count (line 174) | FT_LOCAL_DEF( FT_UInt )
function otv_ClassDef_validate (line 220) | FT_LOCAL_DEF( void )
function otv_Device_validate (line 306) | FT_LOCAL_DEF( void )
function otv_Lookup_validate (line 345) | FT_LOCAL_DEF( void )
function otv_LookupList_validate (line 382) | FT_LOCAL_DEF( void )
function FT_UInt (line 409) | static FT_UInt
function otv_Feature_validate (line 426) | FT_LOCAL_DEF( void )
function FT_UInt (line 453) | static FT_UInt
function otv_FeatureList_validate (line 462) | FT_LOCAL_DEF( void )
function otv_LangSys_validate (line 506) | FT_LOCAL_DEF( void )
function otv_Script_validate (line 547) | FT_LOCAL_DEF( void )
function otv_ScriptList_validate (line 583) | FT_LOCAL_DEF( void )
function otv_x_Ox (line 641) | FT_LOCAL_DEF( void )
function otv_u_C_x_Ox (line 671) | FT_LOCAL_DEF( void )
function otv_x_ux (line 708) | FT_LOCAL_DEF( void )
function otv_x_y_ux_sy (line 741) | FT_LOCAL_DEF( void )
function otv_x_ux_y_uy_z_uz_p_sp (line 782) | FT_LOCAL_DEF( void )
function otv_u_O_O_x_Onx (line 838) | FT_LOCAL_DEF( void )
function otv_u_x_y_Ox_sy (line 884) | FT_LOCAL_DEF( void )
function otv_u_O_O_O_O_x_Onx (line 923) | FT_LOCAL_DEF( void )
function otv_u_x_Ox_y_Oy_z_Oz_p_sp (line 976) | FT_LOCAL_DEF( void )
function otv_GSUBGPOS_get_Lookup_count (line 1036) | FT_LOCAL_DEF( FT_UInt )
function otv_GSUBGPOS_have_MarkAttachmentType_flag (line 1046) | FT_LOCAL_DEF( FT_UInt )
FILE: ext/freetype2/src/otvalid/otvcommn.h
type OTV_ValidatorRec_ (line 39) | struct OTV_ValidatorRec_
type OTV_ValidatorRec (line 44) | typedef struct OTV_ValidatorRec_
FILE: ext/freetype2/src/otvalid/otvgdef.c
function otv_O_x_Ox (line 46) | static void
function otv_CaretValue_validate (line 93) | static void
function otv_GDEF_validate (line 146) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/otvalid/otvgpos.c
function otv_x_sxy (line 58) | static void
function otv_u_O_O_u_O_O (line 106) | static void
function FT_UInt (line 152) | static FT_UInt
function otv_ValueRecord_validate (line 168) | static void
function otv_Anchor_validate (line 246) | static void
function otv_MarkArray_validate (line 312) | static void
function otv_SinglePos_validate (line 351) | static void
function otv_PairSet_validate (line 427) | static void
function otv_PairPos_validate (line 469) | static void
function otv_CursivePos_validate (line 576) | static void
function otv_MarkBasePos_validate (line 652) | static void
function otv_MarkLigPos_validate (line 693) | static void
function otv_MarkMarkPos_validate (line 734) | static void
function otv_ContextPos_validate (line 775) | static void
function otv_ChainContextPos_validate (line 834) | static void
function otv_ExtensionPos_validate (line 895) | static void
function otv_GPOS_subtable_validate (line 956) | FT_LOCAL_DEF( void )
function otv_GPOS_validate (line 977) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/otvalid/otvgsub.c
function otv_SingleSubst_validate (line 43) | static void
function otv_MultipleSubst_validate (line 123) | static void
function otv_AlternateSubst_validate (line 164) | static void
function otv_Ligature_validate (line 207) | static void
function otv_LigatureSubst_validate (line 239) | static void
function otv_ContextSubst_validate (line 279) | static void
function otv_ChainContextSubst_validate (line 338) | static void
function otv_ExtensionSubst_validate (line 399) | static void
function otv_ReverseChainSingleSubst_validate (line 455) | static void
function otv_GSUB_validate (line 545) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/otvalid/otvjstf.c
function otv_JstfPriority_validate (line 41) | static void
function otv_JstfScript_validate (line 147) | static void
function otv_JSTF_validate (line 204) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/otvalid/otvmath.c
function otv_MathConstants_validate (line 45) | static void
function otv_MathItalicsCorrectionInfo_validate (line 85) | static void
function otv_MathKern_validate (line 134) | static void
function otv_MathKernInfo_validate (line 177) | static void
function otv_MathGlyphInfo_validate (line 224) | static void
function otv_GlyphAssembly_validate (line 273) | static void
function otv_MathGlyphConstruction_validate (line 314) | static void
function otv_MathVariants_validate (line 354) | static void
function otv_MATH_validate (line 415) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/otvalid/otvmod.c
function FT_Error (line 41) | static FT_Error
function FT_Error (line 67) | static FT_Error
function FT_Pointer (line 255) | static FT_Pointer
FILE: ext/freetype2/src/pcf/pcf.h
type PCF_TableRec_ (line 39) | struct PCF_TableRec_
type PCF_TocRec (line 49) | typedef struct PCF_TocRec_
type PCF_ParsePropertyRec (line 58) | typedef struct PCF_ParsePropertyRec_
type PCF_PropertyRec (line 67) | typedef struct PCF_PropertyRec_
type PCF_Compressed_MetricRec (line 83) | typedef struct PCF_Compressed_MetricRec_
type PCF_MetricRec (line 94) | typedef struct PCF_MetricRec_
type PCF_AccelRec (line 107) | typedef struct PCF_AccelRec_
type PCF_EncodingRec (line 127) | typedef struct PCF_EncodingRec_
type PCF_FaceRec (line 135) | typedef struct PCF_FaceRec_
FILE: ext/freetype2/src/pcf/pcfdrivr.c
type PCF_CMapRec (line 64) | typedef struct PCF_CMapRec_
function pcf_cmap_init (line 73) | FT_CALLBACK_DEF( FT_Error )
function pcf_cmap_done (line 90) | FT_CALLBACK_DEF( void )
function pcf_cmap_char_index (line 101) | FT_CALLBACK_DEF( FT_UInt )
function pcf_cmap_char_next (line 138) | FT_CALLBACK_DEF( FT_UInt )
function PCF_Face_Done (line 205) | FT_CALLBACK_DEF( void )
function PCF_Face_Init (line 258) | FT_CALLBACK_DEF( FT_Error )
function PCF_Size_Select (line 424) | FT_CALLBACK_DEF( FT_Error )
function PCF_Size_Request (line 441) | FT_CALLBACK_DEF( FT_Error )
function PCF_Glyph_Load (line 479) | FT_CALLBACK_DEF( FT_Error )
function FT_Error (line 606) | static FT_Error
function FT_Error (line 643) | static FT_Error
function pcf_driver_requester (line 676) | FT_CALLBACK_DEF( FT_Module_Interface )
FILE: ext/freetype2/src/pcf/pcfread.c
function FT_Error (line 87) | static FT_Error
function FT_Error (line 297) | static FT_Error
function FT_Error (line 340) | static FT_Error
function FT_Bool (line 379) | static FT_Bool
function pcf_find_property (line 425) | FT_LOCAL_DEF( PCF_Property )
function FT_Error (line 447) | static FT_Error
function FT_Error (line 616) | static FT_Error
function FT_Error (line 729) | static FT_Error
function FT_Error (line 831) | static FT_Error
function FT_Error (line 987) | static FT_Error
function FT_Error (line 1061) | static FT_Error
function pcf_load_font (line 1171) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/pcf/pcfutil.c
function BitOrderInvert (line 43) | FT_LOCAL_DEF( void )
function TwoByteSwap (line 65) | FT_LOCAL_DEF( void )
function FourByteSwap (line 84) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/pfr/pfrcmap.c
function pfr_cmap_init (line 27) | FT_CALLBACK_DEF( FT_Error )
function pfr_cmap_done (line 61) | FT_CALLBACK_DEF( void )
function pfr_cmap_char_index (line 69) | FT_CALLBACK_DEF( FT_UInt )
function pfr_cmap_char_next (line 98) | FT_CALLBACK_DEF( FT_UInt32 )
FILE: ext/freetype2/src/pfr/pfrcmap.h
type PFR_CMapRec_ (line 29) | struct PFR_CMapRec_
FILE: ext/freetype2/src/pfr/pfrdrivr.c
function pfr_get_kerning (line 30) | FT_CALLBACK_DEF( FT_Error )
function pfr_get_advance (line 63) | FT_CALLBACK_DEF( FT_Error )
function pfr_get_metrics (line 96) | FT_CALLBACK_DEF( FT_Error )
function pfr_get_service (line 159) | FT_CALLBACK_DEF( FT_Module_Interface )
FILE: ext/freetype2/src/pfr/pfrgload.c
function pfr_glyph_init (line 39) | FT_LOCAL_DEF( void )
function pfr_glyph_done (line 52) | FT_LOCAL_DEF( void )
function pfr_glyph_close_contour (line 78) | static void
function pfr_glyph_start (line 119) | static void
function FT_Error (line 126) | static FT_Error
function FT_Error (line 160) | static FT_Error
function FT_Error (line 201) | static FT_Error
function pfr_glyph_end (line 225) | static void
function FT_Error (line 246) | static FT_Error
function FT_Error (line 556) | static FT_Error
function FT_Error (line 718) | static FT_Error
function pfr_glyph_load (line 827) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/pfr/pfrload.c
function pfr_extra_items_skip (line 38) | FT_LOCAL_DEF( FT_Error )
function pfr_extra_items_parse (line 46) | FT_LOCAL_DEF( FT_Error )
function pfr_header_load (line 152) | FT_LOCAL_DEF( FT_Error )
function pfr_header_check (line 172) | FT_LOCAL_DEF( FT_Bool )
function pfr_log_font_count (line 199) | FT_LOCAL_DEF( FT_Error )
function pfr_log_font_load (line 220) | FT_LOCAL_DEF( FT_Error )
function pfr_extra_item_load_bitmap_info (line 347) | FT_CALLBACK_DEF( FT_Error )
function pfr_extra_item_load_font_id (line 447) | FT_CALLBACK_DEF( FT_Error )
function pfr_extra_item_load_stem_snaps (line 473) | FT_CALLBACK_DEF( FT_Error )
function pfr_extra_item_load_kerning_pairs (line 518) | FT_CALLBACK_DEF( FT_Error )
function FT_Error (line 628) | static FT_Error
function pfr_phy_font_done (line 667) | FT_LOCAL_DEF( void )
function pfr_phy_font_load (line 711) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/pfr/pfrload.h
type FT_Error (line 48) | typedef FT_Error
type PFR_ExtraItemRec (line 53) | typedef struct PFR_ExtraItemRec_
type PFR_ExtraItemRec_ (line 60) | struct PFR_ExtraItemRec_
FILE: ext/freetype2/src/pfr/pfrobjs.c
function pfr_face_done (line 43) | FT_LOCAL_DEF( void )
function pfr_face_init (line 67) | FT_LOCAL_DEF( FT_Error )
function pfr_slot_init (line 291) | FT_LOCAL_DEF( FT_Error )
function pfr_slot_done (line 304) | FT_LOCAL_DEF( void )
function pfr_slot_load (line 314) | FT_LOCAL_DEF( FT_Error )
function pfr_face_get_kerning (line 468) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/pfr/pfrobjs.h
type PFR_FaceRec_ (line 27) | struct PFR_FaceRec_
type PFR_SizeRec_ (line 29) | struct PFR_SizeRec_
type PFR_SlotRec_ (line 31) | struct PFR_SlotRec_
type PFR_FaceRec (line 34) | typedef struct PFR_FaceRec_
type PFR_SizeRec (line 44) | typedef struct PFR_SizeRec_
type PFR_SlotRec (line 51) | typedef struct PFR_SlotRec_
FILE: ext/freetype2/src/pfr/pfrsbit.c
type PFR_BitWriterRec (line 38) | typedef struct PFR_BitWriter_
function pfr_bitwriter_init (line 49) | static void
function pfr_bitwriter_decode_bytes (line 68) | static void
function pfr_bitwriter_decode_rle1 (line 122) | static void
function pfr_bitwriter_decode_rle2 (line 202) | static void
function pfr_lookup_bitmap_data (line 274) | static void
function FT_Error (line 345) | static FT_Error
function FT_Error (line 480) | static FT_Error
function pfr_slot_load_bitmap (line 527) | FT_LOCAL( FT_Error )
FILE: ext/freetype2/src/pfr/pfrtypes.h
type PFR_HeaderRec_ (line 30) | struct PFR_HeaderRec_
type PFR_HeaderFlags (line 72) | typedef enum PFR_HeaderFlags_
type PFR_LogFontRec (line 82) | typedef struct PFR_LogFontRec_
type PFR_LogFlags (line 99) | typedef enum PFR_LogFlags_
type PFR_LineJoinFlags (line 111) | typedef enum PFR_LineJoinFlags_
type PFR_BitmapFlags (line 122) | typedef enum PFR_BitmapFlags_
type PFR_BitmapCharRec (line 131) | typedef struct PFR_BitmapCharRec_
type PFR_StrikeFlags (line 140) | typedef enum PFR_StrikeFlags_
type PFR_StrikeRec (line 151) | typedef struct PFR_StrikeRec_
type PFR_CharRec (line 172) | typedef struct PFR_CharRec_
type PFR_DimensionRec (line 184) | typedef struct PFR_DimensionRec_
type PFR_KernItemRec_ (line 194) | struct PFR_KernItemRec_
type PFR_KernItemRec (line 196) | typedef struct PFR_KernItemRec_
type PFR_PhyFontRec (line 222) | typedef struct PFR_PhyFontRec_
type PFR_PhyFlags (line 269) | typedef enum PFR_PhyFlags_
type PFR_KernFlags (line 282) | typedef enum PFR_KernFlags_
type PFR_GlyphFlags (line 292) | typedef enum PFR_GlyphFlags_
type PFR_CoordRec (line 304) | typedef struct PFR_CoordRec_
type PFR_SubGlyphRec (line 312) | typedef struct PFR_SubGlyphRec_
type PFR_SubGlyphFlags (line 324) | typedef enum PFR_SubgGlyphFlags_
type PFR_GlyphRec (line 334) | typedef struct PFR_GlyphRec_
FILE: ext/freetype2/src/psaux/afmparse.c
type AFM_StreamRec (line 46) | typedef struct AFM_StreamRec_
function afm_stream_skip_spaces (line 91) | static int
type AFM_Token (line 201) | typedef enum AFM_Token_
function afm_parser_read_vals (line 369) | FT_LOCAL_DEF( FT_Int )
function afm_parser_next_key (line 443) | FT_LOCAL_DEF( char* )
function AFM_Token (line 501) | static AFM_Token
function afm_parser_init (line 527) | FT_LOCAL_DEF( FT_Error )
function afm_parser_done (line 555) | FT_LOCAL( void )
function afm_parser_read_int (line 565) | FT_LOCAL_DEF( FT_Error )
function FT_Error (line 585) | static FT_Error
function afm_compare_kern_pairs (line 663) | FT_CALLBACK_DEF( int )
function FT_Error (line 683) | static FT_Error
function FT_Error (line 774) | static FT_Error
function FT_Error (line 816) | static FT_Error
function afm_parser_parse (line 846) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/psaux/afmparse.h
function FT_BEGIN_HEADER (line 27) | FT_BEGIN_HEADER
FILE: ext/freetype2/src/psaux/psconv.c
function PS_Conv_Strtol (line 83) | FT_LOCAL_DEF( FT_Long )
function PS_Conv_ToInt (line 157) | FT_LOCAL_DEF( FT_Long )
function PS_Conv_ToFixed (line 191) | FT_LOCAL_DEF( FT_Fixed )
function PS_Conv_StringDecode (line 361) | FT_LOCAL_DEF( FT_UInt )
function PS_Conv_ASCIIHexDecode (line 456) | FT_LOCAL_DEF( FT_UInt )
function PS_Conv_EexecDecode (line 549) | FT_LOCAL_DEF( FT_UInt )
FILE: ext/freetype2/src/psaux/psobjs.c
function ps_table_new (line 68) | FT_LOCAL_DEF( FT_Error )
function shift_elements (line 98) | static void
function FT_Error (line 115) | static FT_Error
function ps_table_add (line 167) | FT_LOCAL_DEF( FT_Error )
function ps_table_done (line 239) | FT_LOCAL_DEF( void )
function ps_table_release (line 263) | FT_LOCAL_DEF( void )
function skip_comment (line 290) | static void
function skip_spaces (line 308) | static void
function FT_Error (line 338) | static FT_Error
function FT_Error (line 414) | static FT_Error
function FT_Error (line 453) | static FT_Error
function ps_parser_skip_PS_token (line 513) | FT_LOCAL_DEF( void )
function ps_parser_skip_spaces (line 608) | FT_LOCAL_DEF( void )
function ps_parser_to_token (line 618) | FT_LOCAL_DEF( void )
function ps_parser_to_token_array (line 721) | FT_LOCAL_DEF( void )
function FT_Int (line 774) | static FT_Int
function FT_Int (line 853) | static FT_Int
function FT_String (line 929) | static FT_String*
function ps_tobool (line 989) | static int
function ps_parser_load_field (line 1025) | FT_LOCAL_DEF( FT_Error )
function ps_parser_load_field_table (line 1295) | FT_LOCAL_DEF( FT_Error )
function ps_parser_to_int (line 1368) | FT_LOCAL_DEF( FT_Long )
function ps_parser_to_bytes (line 1378) | FT_LOCAL_DEF( FT_Error )
function ps_parser_to_fixed (line 1431) | FT_LOCAL_DEF( FT_Fixed )
function ps_parser_to_coord_array (line 1440) | FT_LOCAL_DEF( FT_Int )
function ps_parser_to_fixed_array (line 1451) | FT_LOCAL_DEF( FT_Int )
function T1_ToString (line 1465) | FT_LOCAL_DEF( FT_String* )
function T1_ToBool (line 1472) | FT_LOCAL_DEF( FT_Bool )
function ps_parser_init (line 1481) | FT_LOCAL_DEF( void )
function ps_parser_done (line 1496) | FT_LOCAL_DEF( void )
function t1_builder_init (line 1531) | FT_LOCAL_DEF( void )
function t1_builder_done (line 1587) | FT_LOCAL_DEF( void )
function t1_builder_check_points (line 1599) | FT_LOCAL_DEF( FT_Error )
function t1_builder_add_point (line 1608) | FT_LOCAL_DEF( void )
function t1_builder_add_point1 (line 1632) | FT_LOCAL_DEF( FT_Error )
function t1_builder_add_contour (line 1649) | FT_LOCAL_DEF( FT_Error )
function t1_builder_start_point (line 1684) | FT_LOCAL_DEF( FT_Error )
function t1_builder_close_contour (line 1709) | FT_LOCAL_DEF( void )
function t1_decrypt (line 1762) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/psaux/t1cmap.c
function t1_cmap_std_init (line 34) | static void
function t1_cmap_std_done (line 52) | FT_CALLBACK_DEF( void )
function t1_cmap_std_char_index (line 62) | FT_CALLBACK_DEF( FT_UInt )
function t1_cmap_std_char_next (line 98) | FT_CALLBACK_DEF( FT_UInt32 )
function t1_cmap_standard_init (line 122) | FT_CALLBACK_DEF( FT_Error )
function t1_cmap_expert_init (line 148) | FT_CALLBACK_DEF( FT_Error )
function t1_cmap_custom_init (line 182) | FT_CALLBACK_DEF( FT_Error )
function t1_cmap_custom_done (line 203) | FT_CALLBACK_DEF( void )
function t1_cmap_custom_char_index (line 212) | FT_CALLBACK_DEF( FT_UInt )
function t1_cmap_custom_char_next (line 227) | FT_CALLBACK_DEF( FT_UInt32 )
function psaux_get_glyph_name (line 277) | FT_CALLBACK_DEF( const char * )
function t1_cmap_unicode_init (line 285) | FT_CALLBACK_DEF( FT_Error )
function t1_cmap_unicode_done (line 305) | FT_CALLBACK_DEF( void )
function t1_cmap_unicode_char_index (line 317) | FT_CALLBACK_DEF( FT_UInt )
function t1_cmap_unicode_char_next (line 329) | FT_CALLBACK_DEF( FT_UInt32 )
FILE: ext/freetype2/src/psaux/t1cmap.h
type T1_CMapStdRec_ (line 38) | struct T1_CMapStdRec_
type T1_CMapStdRec (line 40) | typedef struct T1_CMapStdRec_
type T1_CMapCustomRec_ (line 68) | struct T1_CMapCustomRec_
type T1_CMapCustomRec (line 70) | typedef struct T1_CMapCustomRec_
FILE: ext/freetype2/src/psaux/t1decode.c
type T1_Operator (line 43) | typedef enum T1_Operator_
function FT_Int (line 129) | static FT_Int
function FT_Error (line 184) | static FT_Error
function t1_decoder_parse_charstrings (line 360) | FT_LOCAL_DEF( FT_Error )
function t1_decoder_parse_glyph (line 1558) | FT_LOCAL_DEF( FT_Error )
function t1_decoder_init (line 1567) | FT_LOCAL_DEF( FT_Error )
function t1_decoder_done (line 1615) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/pshinter/pshalgo.c
function FT_Int (line 54) | static FT_Int
function psh_hint_table_done (line 64) | static void
function psh_hint_table_deactivate (line 81) | static void
function psh_hint_table_record (line 97) | static void
function psh_hint_table_record_mask (line 144) | static void
function FT_Error (line 172) | static FT_Error
function psh_hint_table_activate_mask (line 245) | static void
function FT_Pos (line 345) | static FT_Pos
function ps_simple_scale (line 398) | static void
function FT_Fixed (line 423) | static FT_Fixed
function psh_hint_align (line 438) | static void
function psh_hint_align_light (line 666) | static void
function psh_hint_table_align_hints (line 847) | static void
function psh_print_zone (line 903) | static void
function psh_corner_is_flat (line 935) | FT_LOCAL_DEF( FT_Int )
function FT_Int (line 972) | static FT_Int
function psh_glyph_compute_inflections (line 1029) | static void
function psh_glyph_done (line 1137) | static void
function psh_compute_dir (line 1156) | static int
function psh_glyph_load_points (line 1183) | static void
function psh_glyph_save_points (line 1217) | static void
function FT_Error (line 1257) | static FT_Error
function psh_glyph_compute_extrema (line 1391) | static void
function psh_hint_table_find_strong_points (line 1514) | static void
function psh_glyph_find_strong_points (line 1667) | static void
function psh_glyph_find_blue_points (line 1750) | static void
function psh_glyph_interpolate_strong_points (line 1825) | static void
function psh_glyph_interpolate_normal_points (line 1876) | static void
function psh_glyph_interpolate_other_points (line 2030) | static void
function FT_Error (line 2176) | FT_Error
FILE: ext/freetype2/src/pshinter/pshalgo.h
type PSH_HintRec_ (line 31) | struct PSH_HintRec_
type PSH_Hint_Flags (line 34) | typedef enum PSH_Hint_Flags_
type PSH_HintRec (line 53) | typedef struct PSH_HintRec_
type PSH_ZoneRec (line 69) | typedef struct PSH_ZoneRec_
type PSH_Hint_TableRec (line 79) | typedef struct PSH_Hint_TableRec_
type PSH_PointRec_ (line 95) | struct PSH_PointRec_
type PSH_ContourRec_ (line 96) | struct PSH_ContourRec_
type PSH_PointRec (line 161) | typedef struct PSH_PointRec_
type PSH_ContourRec (line 186) | typedef struct PSH_ContourRec_
type PSH_GlyphRec (line 194) | typedef struct PSH_GlyphRec_
FILE: ext/freetype2/src/pshinter/pshglob.c
function psh_globals_scale_widths (line 40) | static void
function psh_dimension_snap_width (line 84) | FT_LOCAL_DEF( FT_Pos )
function psh_blues_set_zones_0 (line 138) | static void
function psh_blues_set_zones (line 233) | static void
function psh_blues_scale_zones (line 365) | static void
function FT_Short (line 526) | static FT_Short
function psh_blues_snap_stem (line 547) | FT_LOCAL_DEF( void )
function psh_globals_destroy (line 618) | static void
function FT_Error (line 644) | static FT_Error
function psh_globals_set_scale (line 753) | FT_LOCAL_DEF( void )
function psh_globals_funcs_init (line 786) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/pshinter/pshglob.h
type PSH_WidthRec (line 64) | typedef struct PSH_WidthRec_
type PSH_WidthsRec (line 74) | typedef struct PSH_WidthsRec_
type PSH_DimensionRec (line 82) | typedef struct PSH_DimensionRec_
type PSH_Blue_ZoneRec (line 92) | typedef struct PSH_Blue_ZoneRec_
type PSH_Blue_TableRec (line 107) | typedef struct PSH_Blue_TableRec_
type PSH_BluesRec (line 116) | typedef struct PSH_BluesRec_
type PSH_GlobalsRec (line 135) | typedef struct PSH_GlobalsRec_
type PSH_AlignmentRec (line 149) | typedef struct PSH_AlignmentRec_
FILE: ext/freetype2/src/pshinter/pshmod.c
type PS_Hinter_ModuleRec (line 27) | typedef struct PS_Hinter_Module_Rec_
function ps_hinter_done (line 40) | FT_CALLBACK_DEF( void )
function ps_hinter_init (line 51) | FT_CALLBACK_DEF( FT_Error )
function pshinter_get_globals_funcs (line 73) | FT_CALLBACK_DEF( PSH_Globals_Funcs )
function pshinter_get_t1_funcs (line 81) | FT_CALLBACK_DEF( T1_Hints_Funcs )
function pshinter_get_t2_funcs (line 89) | FT_CALLBACK_DEF( T2_Hints_Funcs )
FILE: ext/freetype2/src/pshinter/pshpic.c
function pshinter_module_class_pic_free (line 33) | void
function FT_Error (line 48) | FT_Error
FILE: ext/freetype2/src/pshinter/pshpic.h
type PSHinterPIC (line 36) | typedef struct PSHinterPIC_
FILE: ext/freetype2/src/pshinter/pshrec.c
function ps_hint_table_done (line 49) | static void
function FT_Error (line 60) | static FT_Error
function FT_Error (line 81) | static FT_Error
function ps_mask_done (line 123) | static void
function FT_Error (line 135) | static FT_Error
function FT_Int (line 156) | static FT_Int
function ps_mask_clear_bit (line 168) | static void
function FT_Error (line 184) | static FT_Error
function ps_mask_table_done (line 214) | static void
function FT_Error (line 232) | static FT_Error
function FT_Error (line 253) | static FT_Error
function FT_Error (line 285) | static FT_Error
function FT_Error (line 312) | static FT_Error
function FT_Int (line 373) | static FT_Int
function FT_Error (line 405) | static FT_Error
function FT_Error (line 497) | static FT_Error
function ps_dimension_done (line 535) | static void
function ps_dimension_init (line 546) | static void
function FT_Error (line 558) | static FT_Error
function ps_dimension_end_mask (line 581) | static void
function FT_Error (line 600) | static FT_Error
function FT_Error (line 617) | static FT_Error
function FT_Error (line 643) | static FT_Error
function FT_Error (line 714) | static FT_Error
function FT_Error (line 763) | static FT_Error
function ps_hints_done (line 786) | FT_LOCAL( void )
function ps_hints_init (line 800) | FT_LOCAL( void )
function ps_hints_open (line 810) | static void
function ps_hints_stem (line 836) | static void
function ps_hints_t1stem3 (line 892) | static void
function ps_hints_t1reset (line 955) | static void
function ps_hints_t2mask (line 994) | static void
function ps_hints_t2counter (line 1040) | static void
function FT_Error (line 1086) | static FT_Error
function t1_hints_open (line 1123) | static void
function t1_hints_stem (line 1129) | static void
function t1_hints_funcs_init (line 1144) | FT_LOCAL_DEF( void )
function t2_hints_open (line 1166) | static void
function t2_hints_stems (line 1173) | static void
function t2_hints_funcs_init (line 1210) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/pshinter/pshrec.h
type PS_HintRec_ (line 52) | struct PS_HintRec_
type PS_Hint_Type (line 55) | typedef enum PS_Hint_Type_
type PS_Hint_Flags (line 64) | typedef enum PS_Hint_Flags_
type PS_HintRec (line 73) | typedef struct PS_HintRec_
type PS_Hint_TableRec (line 88) | typedef struct PS_Hint_TableRec_
type PS_MaskRec (line 98) | typedef struct PS_MaskRec_
type PS_Mask_TableRec (line 109) | typedef struct PS_Mask_TableRec_
type PS_DimensionRec (line 119) | typedef struct PS_DimensionRec_
type PS_HintsRec (line 131) | typedef struct PS_HintsRec_
FILE: ext/freetype2/src/psnames/psmodule.c
function FT_UInt32 (line 46) | static FT_UInt32
function compare_uni_maps (line 168) | FT_CALLBACK_DEF( int )
function ps_check_extra_glyph_name (line 251) | static void
function ps_check_extra_glyph_unicode (line 278) | static void
function FT_Error (line 299) | static FT_Error
function FT_UInt (line 397) | static FT_UInt
function FT_UInt32 (line 443) | static FT_UInt32
function FT_Pointer (line 562) | static FT_Pointer
FILE: ext/freetype2/src/psnames/pspic.c
function psnames_module_class_pic_free (line 41) | void
function FT_Error (line 63) | FT_Error
FILE: ext/freetype2/src/psnames/pspic.h
type PSModulePIC (line 36) | typedef struct PSModulePIC_
FILE: ext/freetype2/src/psnames/pstables.h
function ft_get_adobe_glyph_index (line 4075) | static unsigned long
FILE: ext/freetype2/src/raster/ftmisc.h
type FT_Byte (line 42) | typedef unsigned char FT_Byte;
type FT_Int (line 43) | typedef signed int FT_Int;
type FT_UInt (line 44) | typedef unsigned int FT_UInt;
type FT_Long (line 45) | typedef signed long FT_Long;
type FT_ULong (line 46) | typedef unsigned long FT_ULong;
type FT_F26Dot6 (line 47) | typedef signed long FT_F26Dot6;
type FT_Error (line 48) | typedef int FT_Error;
type FT_MemoryRec_ (line 59) | struct FT_MemoryRec_
type FT_MemoryRec (line 72) | typedef struct FT_MemoryRec_
type __int64 (line 87) | typedef __int64 FT_Int64;
type FT_Int64 (line 93) | typedef int64_t FT_Int64;
function FT_Long (line 98) | static FT_Long
function FT_Long (line 119) | static FT_Long
FILE: ext/freetype2/src/raster/ftraster.c
type Int (line 308) | typedef int Int;
type UInt (line 309) | typedef unsigned int UInt;
type Short (line 310) | typedef short Short;
type UShort (line 311) | typedef unsigned short UShort, *PUShort;
type Long (line 312) | typedef long Long, *PLong;
type ULong (line 313) | typedef unsigned long ULong;
type Byte (line 315) | typedef unsigned char Byte, *PByte;
type Bool (line 316) | typedef char Bool;
type Alignment (line 319) | typedef union Alignment_
type TPoint (line 328) | typedef struct TPoint_
type TStates (line 343) | typedef enum TStates_
type TProfile (line 353) | typedef struct TProfile_ TProfile;
type TProfile (line 354) | typedef TProfile* PProfile;
type TProfile_ (line 356) | struct TProfile_
type PProfile (line 375) | typedef PProfile TProfileList;
type PProfile (line 376) | typedef PProfile* PProfileList;
type black_TBand (line 381) | typedef struct black_TBand_
type black_TWorker (line 425) | typedef struct black_TWorker_ black_TWorker, *black_PWorker;
type black_TWorker_ (line 465) | struct black_TWorker_
type black_TRaster (line 563) | typedef struct black_TRaster_
function Set_High_Precision (line 671) | static void
function Bool (line 735) | static Bool
function Bool (line 808) | static Bool
function Bool (line 880) | static Bool
function Bool (line 933) | static Bool
function Split_Conic (line 999) | static void
function Split_Cubic (line 1036) | static void
function Bool (line 1089) | static Bool
function Bool (line 1228) | static Bool
function Bool (line 1275) | static Bool
function Bool (line 1408) | static Bool
function Bool (line 1455) | static Bool
function Bool (line 1553) | static Bool
function Bool (line 1673) | static Bool
function Bool (line 1813) | static Bool
function Bool (line 2037) | static Bool
function Init_Linked (line 2120) | static void
function InsNew (line 2133) | static void
function DelOld (line 2164) | static void
function Sort (line 2199) | static void
function Vertical_Sweep_Init (line 2258) | static void
function Vertical_Sweep_Span (line 2277) | static void
function Vertical_Sweep_Drop (line 2350) | static void
function Vertical_Sweep_Step (line 2499) | static void
function Horizontal_Sweep_Init (line 2515) | static void
function Horizontal_Sweep_Span (line 2526) | static void
function Horizontal_Sweep_Drop (line 2572) | static void
function Horizontal_Sweep_Step (line 2690) | static void
function Vertical_Gray_Sweep_Init (line 2717) | static void
function Vertical_Gray_Sweep_Step (line 2744) | static void
function Horizontal_Gray_Sweep_Span (line 2837) | static void
function Horizontal_Gray_Sweep_Drop (line 2854) | static void
function Bool (line 2947) | static Bool
function Render_Single_Pass (line 3201) | static int
function Render_Glyph (line 3273) | FT_LOCAL_DEF( FT_Error )
function Render_Gray_Glyph (line 3348) | FT_LOCAL_DEF( FT_Error )
function Render_Gray_Glyph (line 3421) | FT_LOCAL_DEF( FT_Error )
function ft_black_init (line 3432) | static void
function ft_black_new (line 3457) | static int
function ft_black_done (line 3473) | static void
function ft_black_new (line 3484) | static int
function ft_black_done (line 3505) | static void
function ft_black_reset (line 3518) | static void
function ft_black_set_mode (line 3545) | static int
function ft_black_render (line 3574) | static int
FILE: ext/freetype2/src/raster/ftrend1.c
function FT_Error (line 31) | static FT_Error
function FT_Error (line 46) | static FT_Error
function FT_Error (line 59) | static FT_Error
function ft_raster1_get_cbox (line 86) | static void
function FT_Error (line 99) | static FT_Error
FILE: ext/freetype2/src/raster/rastpic.c
function ft_raster1_renderer_class_pic_free (line 33) | void
function FT_Error (line 53) | FT_Error
function FT_Error (line 87) | FT_Error
function ft_raster5_renderer_class_pic_free (line 94) | void
FILE: ext/freetype2/src/raster/rastpic.h
type RasterPIC (line 34) | typedef struct RasterPIC_
FILE: ext/freetype2/src/sfnt/pngshim.c
function multiply_alpha (line 39) | static int
function premultiply_data (line 51) | static void
function convert_bytes_to_data (line 94) | static void
function error_callback (line 121) | static void
function warning_callback (line 139) | static void
function read_data_from_FT_Stream (line 150) | static void
function Load_SBit_Png (line 177) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/sfnt/sfdriver.c
function FT_Error (line 114) | static FT_Error
function FT_Error (line 154) | static FT_Error
function FT_UInt (line 172) | static FT_UInt
function FT_Error (line 346) | static FT_Error
function sfnt_get_interface (line 426) | FT_CALLBACK_DEF( FT_Module_Interface )
FILE: ext/freetype2/src/sfnt/sfntpic.c
function sfnt_module_class_pic_free (line 66) | void
function FT_Error (line 94) | FT_Error
FILE: ext/freetype2/src/sfnt/sfntpic.h
type sfntModulePIC (line 59) | typedef struct sfntModulePIC_
FILE: ext/freetype2/src/sfnt/sfobjs.c
function FT_String (line 50) | static FT_String*
function FT_String (line 85) | static FT_String*
type FT_String (line 119) | typedef FT_String* (*TT_NameEntry_ConvertFunc)( TT_NameEntry entry,
function FT_Error (line 143) | static FT_Error
function FT_Encoding (line 300) | static FT_Encoding
function sfnt_stream_close (line 370) | static void
function compare_offsets (line 384) | FT_CALLBACK_DEF( int )
function FT_Error (line 407) | static FT_Error
function FT_Error (line 730) | static FT_Error
function sfnt_init_face (line 839) | FT_LOCAL_DEF( FT_Error )
function sfnt_load_face (line 946) | FT_LOCAL_DEF( FT_Error )
function sfnt_done_face (line 1490) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/sfnt/ttbdf.c
function tt_face_free_bdf_props (line 40) | FT_LOCAL_DEF( void )
function FT_Error (line 61) | static FT_Error
function tt_face_find_bdf_prop (line 139) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/sfnt/ttcmap.c
function tt_cmap_init (line 54) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap0_validate (line 87) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap0_char_index (line 123) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap0_char_next (line 134) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap0_get_info (line 160) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap2_validate (line 284) | FT_CALLBACK_DEF( FT_Error )
function FT_Byte (line 393) | static FT_Byte*
function tt_cmap2_char_index (line 444) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap2_char_next (line 482) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap2_get_info (line 549) | FT_CALLBACK_DEF( FT_Error )
type TT_CMap4Rec (line 658) | typedef struct TT_CMap4Rec_
function tt_cmap4_init (line 674) | FT_CALLBACK_DEF( FT_Error )
function FT_Int (line 692) | static FT_Int
function tt_cmap4_next (line 754) | static void
function tt_cmap4_validate (line 830) | FT_CALLBACK_DEF( FT_Error )
function FT_UInt (line 1024) | static FT_UInt
function FT_UInt (line 1113) | static FT_UInt
function tt_cmap4_char_index (line 1349) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap4_char_next (line 1363) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap4_get_info (line 1396) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap6_validate (line 1459) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap6_char_index (line 1497) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap6_char_next (line 1518) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap6_get_info (line 1559) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap8_validate (line 1651) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap8_char_index (line 1751) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap8_char_next (line 1781) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap8_get_info (line 1822) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap10_validate (line 1885) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap10_char_index (line 1924) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap10_char_next (line 1945) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap10_get_info (line 1977) | FT_CALLBACK_DEF( FT_Error )
type TT_CMap12Rec (line 2044) | typedef struct TT_CMap12Rec_
function tt_cmap12_init (line 2056) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap12_validate (line 2071) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap12_next (line 2134) | static void
function FT_UInt (line 2178) | static FT_UInt
function tt_cmap12_char_index (line 2264) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap12_char_next (line 2272) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap12_get_info (line 2306) | FT_CALLBACK_DEF( FT_Error )
type TT_CMap13Rec (line 2373) | typedef struct TT_CMap13Rec_
function tt_cmap13_init (line 2385) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap13_validate (line 2400) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap13_next (line 2458) | static void
function FT_UInt (line 2502) | static FT_UInt
function tt_cmap13_char_index (line 2586) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap13_char_next (line 2594) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap13_get_info (line 2625) | FT_CALLBACK_DEF( FT_Error )
type TT_CMap14Rec (line 2724) | typedef struct TT_CMap14Rec_
function tt_cmap14_done (line 2740) | FT_CALLBACK_DEF( void )
function FT_Error (line 2752) | static FT_Error
function tt_cmap14_init (line 2775) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap14_validate (line 2790) | FT_CALLBACK_DEF( FT_Error )
function tt_cmap14_char_index (line 2903) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap14_char_next (line 2915) | FT_CALLBACK_DEF( FT_UInt32 )
function tt_cmap14_get_info (line 2927) | FT_CALLBACK_DEF( FT_Error )
function FT_UInt (line 2941) | static FT_UInt
function FT_UInt (line 2975) | static FT_UInt
function FT_Byte (line 3008) | static FT_Byte*
function tt_cmap14_char_var_index (line 3041) | FT_CALLBACK_DEF( FT_UInt )
function tt_cmap14_char_var_isdefault (line 3074) | FT_CALLBACK_DEF( FT_Int )
function tt_cmap14_variants (line 3103) | FT_CALLBACK_DEF( FT_UInt32* )
function tt_cmap14_char_variants (line 3129) | FT_CALLBACK_DEF( FT_UInt32 * )
function FT_UInt (line 3167) | static FT_UInt
function FT_UInt32 (line 3185) | static FT_UInt32*
function FT_UInt32 (line 3222) | static FT_UInt32*
function tt_cmap14_variant_chars (line 3250) | FT_CALLBACK_DEF( FT_UInt32 * )
function FT_Destroy_Class_tt_cmap_classes (line 3422) | void
function FT_Error (line 3434) | FT_Error
function tt_face_build_cmaps (line 3479) | FT_LOCAL_DEF( FT_Error )
function tt_get_cmap_info (line 3583) | FT_LOCAL( FT_Error )
FILE: ext/freetype2/src/sfnt/ttcmap.h
type TT_CMapRec (line 34) | typedef struct TT_CMapRec_
type TT_CMap_ClassRec_ (line 42) | struct TT_CMap_ClassRec_
type FT_Error (line 45) | typedef FT_Error
type TT_CMap_ClassRec (line 49) | typedef struct TT_CMap_ClassRec_
type TT_ValidatorRec (line 132) | typedef struct TT_ValidatorRec_
FILE: ext/freetype2/src/sfnt/ttkern.c
function tt_face_load_kern (line 43) | FT_LOCAL_DEF( FT_Error )
function tt_face_done_kern (line 166) | FT_LOCAL_DEF( void )
function tt_face_get_kerning (line 180) | FT_LOCAL_DEF( FT_Int )
FILE: ext/freetype2/src/sfnt/ttload.c
function tt_face_lookup_table (line 55) | FT_LOCAL_DEF( TT_Table )
function tt_face_goto_table (line 125) | FT_LOCAL_DEF( FT_Error )
function FT_Error (line 168) | static FT_Error
function tt_face_load_font_dir (line 318) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_any (line 469) | FT_LOCAL_DEF( FT_Error )
function FT_Error (line 535) | static FT_Error
function tt_face_load_head (line 589) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_bhed (line 599) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_maxp (line 625) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_name (line 742) | FT_LOCAL_DEF( FT_Error )
function tt_face_free_name (line 872) | FT_LOCAL_DEF( void )
function tt_face_load_cmap (line 917) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_os2 (line 953) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_post (line 1113) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_pclt (line 1173) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_gasp (line 1234) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/sfnt/ttmtx.c
function tt_face_load_hmtx (line 56) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_hhea (line 110) | FT_LOCAL_DEF( FT_Error )
function tt_face_get_metrics (line 204) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/sfnt/ttpost.c
function FT_Error (line 155) | static FT_Error
function FT_Error (line 307) | static FT_Error
function FT_Error (line 373) | static FT_Error
function tt_face_free_ps_names (line 414) | FT_LOCAL_DEF( void )
function tt_face_get_ps_name (line 476) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/sfnt/ttsbit.c
function tt_face_load_sbit (line 45) | FT_LOCAL_DEF( FT_Error )
function tt_face_free_sbit (line 214) | FT_LOCAL_DEF( void )
function tt_face_set_sbit_strike (line 227) | FT_LOCAL_DEF( FT_Error )
function tt_face_load_strike_metrics (line 236) | FT_LOCAL_DEF( FT_Error )
type TT_SBitDecoderRec (line 324) | typedef struct TT_SBitDecoderRec_
function FT_Error (line 345) | static FT_Error
function tt_sbit_decoder_done (line 410) | static void
function FT_Error (line 417) | static FT_Error
function FT_Error (line 492) | static FT_Error
type FT_Error (line 548) | typedef FT_Error (*TT_SBitDecoder_LoadFunc)( TT_SBitDecoder decoder,
function FT_Error (line 555) | static FT_Error
function FT_Error (line 693) | static FT_Error
function FT_Error (line 816) | static FT_Error
function FT_Error (line 883) | static FT_Error
function FT_Error (line 928) | static FT_Error
function FT_Error (line 1071) | static FT_Error
function FT_Error (line 1266) | static FT_Error
function tt_face_load_sbit_image (line 1390) | FT_LOCAL( FT_Error )
FILE: ext/freetype2/src/smooth/ftgrays.c
type FT_PtrDist (line 127) | typedef ptrdiff_t FT_PtrDist;
function FT_Message (line 153) | void
function FT_Throw (line 167) | int
type TCoord (line 359) | typedef long TCoord;
type TPos (line 360) | typedef long TPos;
type TArea (line 368) | typedef int TArea;
type TArea (line 374) | typedef long TArea;
type TArea (line 376) | typedef int TArea;
type TCell_ (line 386) | struct TCell_
type TCell (line 388) | typedef struct TCell_
type gray_TWorker (line 406) | typedef struct gray_TWorker_
type gray_TRaster (line 465) | typedef struct gray_TRaster_
function gray_init_cells (line 481) | static void
function gray_compute_cbox (line 502) | static void
function PCell (line 546) | static PCell
function gray_record_cell (line 585) | static void
function gray_set_cell (line 603) | static void
function gray_start_cell (line 650) | static void
function gray_render_scanline (line 675) | static void
function gray_render_line (line 773) | static void
function gray_split_conic (line 915) | static void
function gray_render_conic (line 935) | static void
function gray_split_cubic (line 1009) | static void
function gray_render_cubic (line 1037) | static void
function gray_move_to (line 1149) | static int
function gray_line_to (line 1172) | static int
function gray_conic_to (line 1181) | static int
function gray_cubic_to (line 1191) | static int
function gray_render_span (line 1202) | static void
function gray_hline (line 1253) | static void
function gray_dump_cells (line 1362) | static void
function gray_sweep (line 1384) | static void
function FT_Outline_Decompose (line 1492) | static int
type gray_TBand (line 1741) | typedef struct gray_TBand_
function gray_convert_glyph_inner (line 1756) | static int
function gray_convert_glyph (line 1780) | static int
function gray_raster_render (line 1917) | static int
function gray_raster_new (line 2011) | static int
function gray_raster_done (line 2027) | static void
function gray_raster_new (line 2036) | static int
function gray_raster_done (line 2055) | static void
function gray_raster_reset (line 2067) | static void
function gray_raster_set_mode (line 2103) | static int
FILE: ext/freetype2/src/smooth/ftsmooth.c
function FT_Error (line 31) | static FT_Error
function FT_Error (line 46) | static FT_Error
function FT_Error (line 58) | static FT_Error
function ft_smooth_get_cbox (line 85) | static void
function FT_Error (line 98) | static FT_Error
function FT_Error (line 381) | static FT_Error
function FT_Error (line 396) | static FT_Error
function FT_Error (line 414) | static FT_Error
FILE: ext/freetype2/src/smooth/ftspic.c
function ft_smooth_renderer_class_pic_free (line 33) | void
function FT_Error (line 54) | FT_Error
function FT_Error (line 88) | FT_Error
function ft_smooth_lcd_renderer_class_pic_free (line 95) | void
function FT_Error (line 102) | FT_Error
function ft_smooth_lcdv_renderer_class_pic_free (line 109) | void
FILE: ext/freetype2/src/smooth/ftspic.h
type SmoothPIC (line 33) | typedef struct SmoothPIC_
FILE: ext/freetype2/src/tools/apinames.c
type OutputFormat (line 29) | typedef enum OutputFormat_
function panic (line 40) | static void
type NameRec (line 48) | typedef struct NameRec_
function names_add (line 59) | static void
function name_compare (line 108) | static int
function names_sort (line 118) | static void
function names_dump (line 126) | static void
type State (line 212) | typedef enum State_
function read_header_file (line 219) | static int
function usage (line 307) | static void
function main (line 338) | int main( int argc, const char* const* argv )
FILE: ext/freetype2/src/tools/docmaker/content.py
class DocCode (line 79) | class DocCode:
method __init__ (line 81) | def __init__( self, margin, lines ):
method dump (line 91) | def dump( self, prefix = "", width = 60 ):
method dump_lines (line 96) | def dump_lines( self, margin = 0, width = 60 ):
class DocPara (line 112) | class DocPara:
method __init__ (line 114) | def __init__( self, lines ):
method dump (line 121) | def dump( self, prefix = "", width = 60 ):
method dump_lines (line 126) | def dump_lines( self, margin = 0, width = 60 ):
class DocField (line 160) | class DocField:
method __init__ (line 162) | def __init__( self, name, lines ):
method dump (line 226) | def dump( self, prefix = "" ):
method dump_lines (line 238) | def dump_lines( self, margin = 0, width = 60 ):
class DocMarkup (line 275) | class DocMarkup:
method __init__ (line 277) | def __init__( self, tag, lines ):
method get_name (line 308) | def get_name( self ):
method dump (line 314) | def dump( self, margin ):
class DocChapter (line 325) | class DocChapter:
method __init__ (line 327) | def __init__( self, block ):
class DocSection (line 344) | class DocSection:
method __init__ (line 346) | def __init__( self, name = "Other" ):
method add_def (line 357) | def add_def( self, block ):
method add_block (line 360) | def add_block( self, block ):
method process (line 364) | def process( self ):
method reorder (line 375) | def reorder( self ):
class ContentProcessor (line 383) | class ContentProcessor:
method __init__ (line 385) | def __init__( self ):
method set_section (line 396) | def set_section( self, section_name ):
method add_chapter (line 405) | def add_chapter( self, block ):
method reset (line 409) | def reset( self ):
method add_markup (line 415) | def add_markup( self ):
method process_content (line 431) | def process_content( self, content ):
method parse_sources (line 462) | def parse_sources( self, source_processor ):
method finish (line 480) | def finish( self ):
class DocBlock (line 522) | class DocBlock:
method __init__ (line 524) | def __init__( self, source, follow, processor ):
method location (line 594) | def location( self ):
method get_markup (line 597) | def get_markup( self, tag_name ):
method get_markup_words (line 604) | def get_markup_words( self, tag_name ):
method get_markup_words_all (line 611) | def get_markup_words_all( self, tag_name ):
method get_markup_text (line 626) | def get_markup_text( self, tag_name ):
method get_markup_items (line 630) | def get_markup_items( self, tag_name ):
FILE: ext/freetype2/src/tools/docmaker/docbeauty.py
function beautify_block (line 21) | def beautify_block( block ):
function usage (line 42) | def usage():
function main (line 52) | def main( argv ):
FILE: ext/freetype2/src/tools/docmaker/docmaker.py
function usage (line 37) | def usage():
function main (line 51) | def main( argv ):
FILE: ext/freetype2/src/tools/docmaker/formatter.py
class Formatter (line 35) | class Formatter:
method __init__ (line 37) | def __init__( self, processor ):
method add_identifier (line 59) | def add_identifier( self, name, block ):
method toc_enter (line 74) | def toc_enter( self ):
method toc_chapter_enter (line 77) | def toc_chapter_enter( self, chapter ):
method toc_section_enter (line 80) | def toc_section_enter( self, section ):
method toc_section_exit (line 83) | def toc_section_exit( self, section ):
method toc_chapter_exit (line 86) | def toc_chapter_exit( self, chapter ):
method toc_index (line 89) | def toc_index( self, index_filename ):
method toc_exit (line 92) | def toc_exit( self ):
method toc_dump (line 95) | def toc_dump( self, toc_filename = None, index_filename = None ):
method index_enter (line 122) | def index_enter( self ):
method index_name_enter (line 125) | def index_name_enter( self, name ):
method index_name_exit (line 128) | def index_name_exit( self, name ):
method index_exit (line 131) | def index_exit( self ):
method index_dump (line 134) | def index_dump( self, index_filename = None ):
method section_enter (line 153) | def section_enter( self, section ):
method block_enter (line 156) | def block_enter( self, block ):
method markup_enter (line 159) | def markup_enter( self, markup, block = None ):
method field_enter (line 162) | def field_enter( self, field, markup = None, block = None ):
method field_exit (line 165) | def field_exit( self, field, markup = None, block = None ):
method markup_exit (line 168) | def markup_exit( self, markup, block = None ):
method block_exit (line 171) | def block_exit( self, block ):
method section_exit (line 174) | def section_exit( self, section ):
method section_dump (line 177) | def section_dump( self, section, section_filename = None ):
method section_dump_all (line 219) | def section_dump_all( self ):
FILE: ext/freetype2/src/tools/docmaker/sources.py
class SourceBlockFormat (line 48) | class SourceBlockFormat:
method __init__ (line 50) | def __init__( self, id, start, column, end ):
class SourceBlock (line 248) | class SourceBlock:
method __init__ (line 250) | def __init__( self, processor, filename, lineno, lines ):
method location (line 280) | def location( self ):
method dump (line 284) | def dump( self ):
class SourceProcessor (line 315) | class SourceProcessor:
method __init__ (line 317) | def __init__( self ):
method reset (line 324) | def reset( self ):
method parse_file (line 329) | def parse_file( self, filename ):
method process_normal_line (line 368) | def process_normal_line( self, line ):
method add_block_lines (line 379) | def add_block_lines( self ):
method dump (line 392) | def dump( self ):
FILE: ext/freetype2/src/tools/docmaker/tohtml.py
function html_quote (line 248) | def html_quote( line ):
class HtmlFormatter (line 259) | class HtmlFormatter( Formatter ):
method __init__ (line 261) | def __init__( self, processor, project_title, file_prefix ):
method make_section_url (line 306) | def make_section_url( self, section ):
method make_block_url (line 309) | def make_block_url( self, block, name = None ):
method make_html_word (line 314) | def make_html_word( self, word ):
method make_html_para (line 346) | def make_html_para( self, words ):
method make_html_code (line 365) | def make_html_code( self, lines ):
method make_html_items (line 373) | def make_html_items( self, items ):
method print_html_items (line 384) | def print_html_items( self, items ):
method print_html_field (line 387) | def print_html_field( self, field ):
method html_source_quote (line 398) | def html_source_quote( self, line, block_name = None ):
method print_html_field_list (line 440) | def print_html_field_list( self, fields ):
method print_html_markup (line 450) | def print_html_markup( self, markup ):
method index_enter (line 471) | def index_enter( self ):
method index_name_enter (line 475) | def index_name_enter( self, name ):
method index_exit (line 480) | def index_exit( self ):
method index_dump (line 510) | def index_dump( self, index_filename = None ):
method toc_enter (line 519) | def toc_enter( self ):
method toc_chapter_enter (line 523) | def toc_chapter_enter( self, chapter ):
method toc_section_enter (line 527) | def toc_section_enter( self, section ):
method toc_section_exit (line 533) | def toc_section_exit( self, section ):
method toc_chapter_exit (line 536) | def toc_chapter_exit( self, chapter ):
method toc_index (line 540) | def toc_index( self, index_filename ):
method toc_exit (line 545) | def toc_exit( self ):
method toc_dump (line 552) | def toc_dump( self, toc_filename = None, index_filename = None ):
method section_enter (line 564) | def section_enter( self, section ):
method block_enter (line 618) | def block_enter( self, block ):
method markup_enter (line 648) | def markup_enter( self, markup, block ):
method markup_exit (line 656) | def markup_exit( self, markup, block ):
method block_exit (line 662) | def block_exit( self, block ):
method section_exit (line 667) | def section_exit( self, section ):
method section_dump_all (line 670) | def section_dump_all( self ):
FILE: ext/freetype2/src/tools/docmaker/utils.py
function index_key (line 35) | def index_key( s ):
function sort_order_list (line 41) | def sort_order_list( input_list, order_list ):
function open_output (line 53) | def open_output( filename ):
function close_output (line 68) | def close_output( output ):
function check_output (line 75) | def check_output():
function file_exists (line 88) | def file_exists( pathname ):
function make_file_list (line 101) | def make_file_list( args = None ):
FILE: ext/freetype2/src/tools/ftrandom/ftrandom.c
type fontlist (line 89) | struct fontlist
function FT_MoveTo (line 102) | static int
function FT_LineTo (line 110) | static int
function FT_ConicTo (line 118) | static int
function FT_CubicTo (line 127) | static int
function TestFace (line 147) | static void
function ExecuteTest (line 182) | static void
function extmatch (line 222) | static int
function figurefiletype (line 248) | static void
function FindFonts (line 328) | static void
function getErrorCnt (line 395) | static int
function getRandom (line 405) | static int
function copyfont (line 416) | static int
function abort_test (line 484) | static void
function do_test (line 493) | static void
function usage (line 533) | static void
function main (line 556) | int
FILE: ext/freetype2/src/tools/glnames.py
class StringTable (line 4908) | class StringTable:
method __init__ (line 4909) | def __init__( self, name_list, master_table_name ):
method dump (line 4921) | def dump( self, file ):
method dump_sublist (line 4935) | def dump_sublist( self, file, table_name, macro_name, sublist ):
class StringNode (line 5036) | class StringNode:
method __init__ (line 5037) | def __init__( self, letter, value ):
method __cmp__ (line 5042) | def __cmp__( self, other ):
method add (line 5045) | def add( self, word, value ):
method optimize (line 5061) | def optimize( self ):
method dump_debug (line 5083) | def dump_debug( self, write, margin ):
method locate (line 5101) | def locate( self, index ):
method store (line 5120) | def store( self, storage ):
function adobe_glyph_values (line 5152) | def adobe_glyph_values():
function filter_glyph_names (line 5171) | def filter_glyph_names( alist, filter ):
function dump_encoding (line 5186) | def dump_encoding( file, encoding_name, encoding_list ):
function dump_array (line 5210) | def dump_array( the_array, write, array_name ):
function main (line 5238) | def main():
FILE: ext/freetype2/src/tools/test_afm.c
function dump_fontinfo (line 10) | void dump_fontinfo( AFM_FontInfo fi )
function dummy_get_index (line 64) | int
function FT_Error (line 75) | FT_Error
function main (line 111) | int main( int argc,
FILE: ext/freetype2/src/tools/test_bbox.c
function get_time (line 15) | static long
function dump_outline (line 111) | static void
function profile_outline (line 135) | static void
function main (line 175) | int main( int argc, char** argv )
FILE: ext/freetype2/src/tools/test_trig.c
function test_cos (line 17) | static void
function test_sin (line 43) | static void
function test_tan (line 69) | static void
function test_atan2 (line 95) | static void
function test_unit (line 130) | static void
function test_length (line 163) | static void
function test_rotate (line 190) | static void
function main (line 244) | int main( void )
FILE: ext/freetype2/src/truetype/ttdriver.c
function FT_Error (line 61) | static FT_Error
function FT_Error (line 91) | static FT_Error
function FT_Error (line 174) | static FT_Error
function FT_Error (line 197) | static FT_Error
function FT_Error (line 254) | static FT_Error
function FT_Error (line 289) | static FT_Error
function FT_Error (line 354) | static FT_Error
function tt_get_interface (line 474) | FT_CALLBACK_DEF( FT_Module_Interface )
FILE: ext/freetype2/src/truetype/ttgload.c
function TT_Get_HMetrics (line 72) | FT_LOCAL_DEF( void )
function TT_Get_VMetrics (line 90) | FT_LOCAL_DEF( void )
function FT_Error (line 117) | static FT_Error
function tt_get_metrics_incr_overrides (line 177) | static void
function translate_array (line 251) | static void
function TT_Access_Glyph_Frame (line 278) | FT_CALLBACK_DEF( FT_Error )
function TT_Forget_Glyph_Frame (line 304) | FT_CALLBACK_DEF( void )
function TT_Load_Glyph_Header (line 314) | FT_CALLBACK_DEF( FT_Error )
function TT_Load_Simple_Glyph (line 342) | FT_CALLBACK_DEF( FT_Error )
function TT_Load_Composite_Glyph (line 572) | FT_CALLBACK_DEF( FT_Error )
function TT_Init_Glyph_Loading (line 693) | FT_LOCAL_DEF( void )
function tt_prepare_zone (line 704) | static void
function FT_Error (line 731) | static FT_Error
function FT_Error (line 855) | static FT_Error
function FT_Error (line 1016) | static FT_Error
function FT_Error (line 1168) | static FT_Error
function FT_Error (line 1399) | static FT_Error
function FT_Error (line 1846) | static FT_Error
function FT_Error (line 2022) | static FT_Error
function FT_Error (line 2082) | static FT_Error
function TT_Load_Glyph (line 2349) | FT_LOCAL_DEF( FT_Error )
FILE: ext/freetype2/src/truetype/ttgxvar.c
function FT_UShort (line 124) | static FT_UShort*
function FT_Short (line 211) | static FT_Short*
function ft_var_load_avar (line 281) | static void
type GX_GVar_Head (line 345) | typedef struct GX_GVar_Head_
function FT_Error (line 373) | static FT_Error
function FT_Fixed (line 498) | static FT_Fixed
type GX_FVar_Head (line 564) | typedef struct GX_FVar_Head_
type GX_FVar_Axis (line 577) | typedef struct fvar_axis_
function TT_Get_MM_Var (line 608) | FT_LOCAL_DEF( FT_Error )
function TT_Set_MM_Blend (line 847) | FT_LOCAL_DEF( FT_Error )
function TT_Set_Var_Design (line 983) | FT_LOCAL_DEF( FT_Error )
function tt_face_vary_cvt (line 1098) | FT_LOCAL_DEF( FT_Error )
function TT_Vary_Get_Glyph_Deltas (line 1300) | FT_LOCAL_DEF( FT_Error )
function tt_done_blend (line 1504) | FT_LOCAL_DEF( void )
FILE: ext/freetype2/src/truetype/ttgxvar.h
type GX_AVarCorrespondenceRec_ (line 39) | struct GX_AVarCorrespondenceRec_
type GX_AVarSegmentRec (line 56) | typedef struct GX_AVarSegmentRec_
type GX_BlendRec (line 81) | typedef struct GX_BlendRec_
type GX_TupleCountFlags (line 109) | typedef enum GX_TupleCountFlags_
type GX_TupleIndexFlags (line 127) | typedef enum GX_TupleIndexFlags_
FILE: ext/freetype2/src/truetype/ttinterp.c
function TT_Goto_CodeRange (line 282) | FT_LOCAL_DEF( void )
function TT_Set_CodeRange (line 327) | FT_LOCAL_DEF( void )
function TT_Clear_CodeRange (line 354) | FT_LOCAL_DEF( void )
function TT_Done_Context (line 388) | FT_LOCAL_DEF( void )
function FT_Error (line 435) | static FT_Error
function Update_Max (line 498) | FT_LOCAL_DEF( FT_Error )
function TT_Load_Context (line 542) | FT_LOCAL_DEF( FT_Error )
function TT_Save_Context (line 644) | FT_LOCAL_DEF( void )
function TT_Run_Context (line 689) | FT_LOCAL_DEF( FT_Error )
function TT_New_Context (line 760) | FT_EXPORT_DEF( TT_ExecContext )
function FT_Int32 (line 1414) | static FT_Int32
function FT_Int32 (line 1476) | static __attribute__(( noinline ))
function FT_Int32 (line 1507) | static FT_Int32
function FT_Int32 (line 1553) | static __attribute__(( pure )) FT_Int32
function FT_Int32 (line 1584) | static FT_Int32
function FT_Long (line 1639) | static FT_Long
function Current_Ppem (line 1678) | FT_CALLBACK_DEF( FT_Long )
function Current_Ppem_Stretched (line 1685) | FT_CALLBACK_DEF( FT_Long )
function Read_CVT (line 1699) | FT_CALLBACK_DEF( FT_F26Dot6 )
function Read_CVT_Stretched (line 1706) | FT_CALLBACK_DEF( FT_F26Dot6 )
function Write_CVT (line 1713) | FT_CALLBACK_DEF( void )
function Write_CVT_Stretched (line 1721) | FT_CALLBACK_DEF( void )
function Move_CVT (line 1729) | FT_CALLBACK_DEF( void )
function Move_CVT_Stretched (line 1737) | FT_CALLBACK_DEF( void )
function FT_Short (line 1760) | static FT_Short
function FT_Bool (line 1786) | static FT_Bool
function Direct_Move (line 1843) | static void
function Direct_Move_Orig (line 1897) | static void
function Direct_Move_X (line 1931) | static void
function Direct_Move_Y (line 1948) | static void
function Direct_Move_Orig_X (line 1970) | static void
function Direct_Move_Orig_Y (line 1981) | static void
function FT_F26Dot6 (line 2014) | static FT_F26Dot6
function FT_F26Dot6 (line 2055) | static FT_F26Dot6
function FT_F26Dot6 (line 2097) | static FT_F26Dot6
function FT_F26Dot6 (line 2139) | static FT_F26Dot6
function FT_F26Dot6 (line 2181) | static FT_F26Dot6
function FT_F26Dot6 (line 2223) | static FT_F26Dot6
function FT_F26Dot6 (line 2271) | static FT_F26Dot6
function FT_F26Dot6 (line 2319) | static FT_F26Dot6
function Compute_Round (line 2358) | static void
function SetSuperRound (line 2411) | static void
function FT_F26Dot6 (line 2482) | static FT_F26Dot6
function FT_F26Dot6 (line 2512) | static FT_F26Dot6
function FT_F26Dot6 (line 2538) | static FT_F26Dot6
function FT_F26Dot6 (line 2565) | static FT_F26Dot6
function Compute_Funcs (line 2585) | static void
function FT_Bool (line 2706) | static FT_Bool
function FT_Bool (line 2745) | static FT_Bool
function Ins_SVTCA (line 3412) | static void
function Ins_SPVTCA (line 3425) | static void
function Ins_SFVTCA (line 3438) | static void
function Ins_SPVTL (line 3451) | static void
function Ins_SFVTL (line 3464) | static void
function Ins_SFVTPV (line 3477) | static void
function Ins_SPVFS (line 3490) | static void
function Ins_SFVFS (line 3503) | static void
function Ins_GPV (line 3516) | static void
function Ins_GFV (line 3528) | static void
function Ins_SRP0 (line 3541) | static void
function Ins_SRP1 (line 3554) | static void
function Ins_SRP2 (line 3567) | static void
function Ins_RTHG (line 3580) | static void
function Ins_RTG (line 3593) | static void
function Ins_RTDG (line 3605) | static void
function Ins_RUTG (line 3617) | static void
function Ins_RDTG (line 3630) | static void
function Ins_ROFF (line 3643) | static void
function Ins_SROUND (line 3656) | static void
function Ins_S45ROUND (line 3669) | static void
function Ins_SLOOP (line 3682) | static void
function Ins_SMD (line 3695) | static void
function Ins_SCVTCI (line 3708) | static void
function Ins_SSWCI (line 3721) | static void
function Ins_SSW (line 3734) | static void
function Ins_FLIPON (line 3747) | static void
function Ins_FLIPOFF (line 3760) | static void
function Ins_SANGW (line 3773) | static void
function Ins_SDB (line 3786) | static void
function Ins_SDS (line 3799) | static void
function Ins_MPPEM (line 3812) | static void
Copy disabled (too large)
Download .json
Condensed preview — 2279 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (34,824K chars).
[
{
"path": ".clang-format",
"chars": 273,
"preview": "# http://clang.llvm.org/docs/ClangFormatStyleOptions.html\n# Must be in sync with clangStyle in tools\\clang-fmt.go\nBasedO"
},
{
"path": ".gitattributes",
"chars": 49,
"preview": "# Disable LF normalization for all files\r\n* -text"
},
{
"path": ".gitignore",
"chars": 658,
"preview": "scripts/cert.pfx\r\nscripts/config.py\r\nscripts/secrets.json\r\nobj-rel/\r\nobj-dbg/\r\nrel/\r\nrel64/\r\ndbg/\r\ndbg64/\r\nrel-mac/\r\ndbg"
},
{
"path": "AUTHORS",
"chars": 3155,
"preview": "SumatraPDF contains code by:\r\n\r\n* Alexander Klenin\r\n* Củ Văn Chuối (mrchuoi at gmail.com)\r\n* David Lopez\r\n* Danilo Roas"
},
{
"path": "COPYING",
"chars": 35821,
"preview": " GNU GENERAL PUBLIC LICENSE\r\n Version 3, 29 June 2007\r\n\r\n Copyright (C) 2007 Fr"
},
{
"path": "COPYING.BSD",
"chars": 1366,
"preview": "Copyright 2006-2014 SumatraPDF project authors (see AUTHORS file). All rights reserved.\r\n\r\nRedistribution and use in sou"
},
{
"path": "TRANSLATORS",
"chars": 7342,
"preview": "Are you interested in helping to translate Sumatra to your language?\r\nSee https://github.com/sumatrapdfreader/sumatrapd"
},
{
"path": "appveyor.yml",
"chars": 690,
"preview": "# docs: http://www.appveyor.com/docs/appveyor-yml\r\n# software installed on build machines: http://www.appveyor.com/docs/"
},
{
"path": "docs/codingstyle.txt",
"chars": 1734,
"preview": "Over time Sumatra accrued code using different naming styles.\n\nLet's fix that.\n\nThis document describes the naming style"
},
{
"path": "docs/mui-html-fusion.txt",
"chars": 3414,
"preview": "As web shows, html is a decent way to build UI. In some ways it's better\r\nthan traditional way of building UIs (winforms"
},
{
"path": "docs/releasenotes.txt",
"chars": 17297,
"preview": "The idea is to record here changes that deserve mentioning in\r\nthe release notes, as we make them, to make the release "
},
{
"path": "docs/releaseplan.txt",
"chars": 1400,
"preview": "Some ideas for 3.2 release:\r\n- improve tabs (re-arrange with drag&drop, allow moving between windows)\r\n- background load"
},
{
"path": "docs/settings/langs3.1.html",
"chars": 4800,
"preview": "<!doctype html>\n\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Languages su"
},
{
"path": "docs/settings/langs3.2.html",
"chars": 4806,
"preview": "<!doctype html>\n\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Languages su"
},
{
"path": "docs/settings/settings3.1.html",
"chars": 18650,
"preview": "<!doctype html>\n\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Customizing "
},
{
"path": "docs/settings/settings3.2.html",
"chars": 18883,
"preview": "<!doctype html>\n\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Customizing "
},
{
"path": "docs/sumatrapdfrestrict.ini",
"chars": 2281,
"preview": "; This is an example configuration file which can be used\n; to disable some of SumatraPDF's functionality.\n\n; To apply t"
},
{
"path": "docs/wishlist-lua.txt",
"chars": 1992,
"preview": "## Idea\r\n\r\nWrite as much of Sumatra as possible in Lua\r\n\r\n## Why\r\n\r\n1. Writing Sumatra becomes harder and harder due to "
},
{
"path": "docs/wishlist-tabs.txt",
"chars": 1999,
"preview": "Summary of tab-related work.\r\n\r\nTBD means \"to be designed\" i.e. a decision about the behavior must be made\r\n\r\nMust have:"
},
{
"path": "docs/wishlist.txt",
"chars": 9082,
"preview": "A list of random ideas, big and small. In no particular order. Those that are\r\nmarked \"risky\" are likely to cause distur"
},
{
"path": "drmem-sup.txt",
"chars": 1562,
"preview": "# Supressions for DrMemory\r\n# Run as: ..\\drmemory\\bin\\drmemory.exe -suppress drmem-sup.txt -- .\\rel\\SumatraPDF.exe\r\n# P"
},
{
"path": "ext/CHMLib/AUTHORS",
"chars": 942,
"preview": "Jed Wing <jedwin@ugcs.caltech.edu>\nincludes modified LZX code from cabextract-0.5 by Stuart Caie.\n\nThanks to:\n iDEFENS"
},
{
"path": "ext/CHMLib/COPYING",
"chars": 26536,
"preview": "\n GNU LESSER GENERAL PUBLIC LICENSE\n Version 2.1, February 1999\n\n Copyright (C) 1"
},
{
"path": "ext/CHMLib/NEWS",
"chars": 4279,
"preview": "Changes from 0.39 to 0.40\n - chm_http bug fixed (chm_http begins to refuse connections)\n - bashism in contrib/mozi"
},
{
"path": "ext/CHMLib/NOTES",
"chars": 4219,
"preview": "CHMLIB 0.40 Installation\n=======================\n\n-----\nLinux/Unix and Windows (Cygwin)\n-----\n\nI. Relevant options:\n\n "
},
{
"path": "ext/CHMLib/README",
"chars": 5018,
"preview": "CHMLIB 0.40a\n===========\n\n-------\nSUMMARY\n-------\nchmlib is a small library designed for accessing MS ITSS files. The I"
},
{
"path": "ext/CHMLib/src/Makefile.am",
"chars": 551,
"preview": "lib_LTLIBRARIES=libchm.la\nlibchm_la_SOURCES=chm_lib.c lzx.c\nlibchm_la_LDFLAGS=-version-info 1\ninclude_HEADERS=chm_lib.h "
},
{
"path": "ext/CHMLib/src/Makefile.simple",
"chars": 1564,
"preview": "## Available defines for building chm_lib with particular options\n# CHM_MT: build thread-safe version of chm_lib\n"
},
{
"path": "ext/CHMLib/src/chm_http.c",
"chars": 10695,
"preview": "/* $Id: chm_http.c,v 1.7 2002/10/08 03:43:33 jedwin Exp $ */\n/**********************************************************"
},
{
"path": "ext/CHMLib/src/chm_lib.c",
"chars": 61296,
"preview": "/* $Id: chm_lib.c,v 1.19 2003/09/07 13:01:43 jedwin Exp $ */\n/**********************************************************"
},
{
"path": "ext/CHMLib/src/chm_lib.h",
"chars": 5906,
"preview": "/* $Id: chm_lib.h,v 1.10 2002/10/09 01:16:33 jedwin Exp $ */\n/**********************************************************"
},
{
"path": "ext/CHMLib/src/enum_chmLib.c",
"chars": 3288,
"preview": "/* $Id: enum_chmLib.c,v 1.7 2002/10/09 12:38:12 jedwin Exp $ */\n/*******************************************************"
},
{
"path": "ext/CHMLib/src/enumdir_chmLib.c",
"chars": 3897,
"preview": "/* $Id: enumdir_chmLib.c,v 1.3 2002/10/09 12:38:12 jedwin Exp $ */\n/****************************************************"
},
{
"path": "ext/CHMLib/src/extract_chmLib.c",
"chars": 5280,
"preview": "/* $Id: extract_chmLib.c,v 1.4 2002/10/10 03:24:51 jedwin Exp $ */\n/****************************************************"
},
{
"path": "ext/CHMLib/src/lzx.c",
"chars": 32609,
"preview": "/* $Id: lzx.c,v 1.5 2002/10/09 01:16:33 jedwin Exp $ */\n/***************************************************************"
},
{
"path": "ext/CHMLib/src/lzx.h",
"chars": 2527,
"preview": "/* $Id: lzx.h,v 1.5 2002/10/08 03:43:33 jedwin Exp $ */\n/***************************************************************"
},
{
"path": "ext/CHMLib/src/test_chmLib.c",
"chars": 3488,
"preview": "/* $Id: test_chmLib.c,v 1.5 2002/10/09 12:38:12 jedwin Exp $ */\n/*******************************************************"
},
{
"path": "ext/_patches/CHMLib.patch",
"chars": 8278,
"preview": "diff -rPu5 CHMLib.orig\\src\\chm_lib.c CHMLib\\src\\chm_lib.c\r\n--- CHMLib.orig\\src\\chm_lib.c\tFri Jul 03 08:34:54 2009\r\n+++ C"
},
{
"path": "ext/_patches/bzip2.patch",
"chars": 703,
"preview": "diff -rPu5 bzip2.orig\\bz_internal_error.c bzip2\\bz_internal_error.c\r\n--- bzip2.orig\\bz_internal_error.c\tThu Jan 01 01:00"
},
{
"path": "ext/_patches/freetype2.patch",
"chars": 3146,
"preview": "diff -rPu5 freetype2.orig\\include\\config\\ftstdlib.h freetype2\\include\\config\\ftstdlib.h\r\n--- freetype2.orig\\include\\conf"
},
{
"path": "ext/_patches/libdjvu.patch",
"chars": 11692,
"preview": "diff -rPu5 libdjvu.orig\\ddjvuapi.cpp libdjvu\\ddjvuapi.cpp\r\n--- libdjvu.orig\\ddjvuapi.cpp\tTue May 08 04:56:53 2012\r\n+++ l"
},
{
"path": "ext/_patches/libjpeg-turbo.patch",
"chars": 2043,
"preview": "diff -rPu5 libjpeg-turbo.orig\\config.h libjpeg-turbo\\config.h\r\n--- libjpeg-turbo.orig\\config.h\tThu Jan 01 01:00:00 1970\r"
},
{
"path": "ext/_patches/openjpeg.patch",
"chars": 9671,
"preview": "diff -rPu5 openjpeg.orig\\j2k.c openjpeg\\j2k.c\r\n--- openjpeg.orig\\j2k.c\tTue Apr 29 09:15:02 2014\r\n+++ openjpeg\\j2k.c\tWed "
},
{
"path": "ext/_patches/synctex.patch",
"chars": 3762,
"preview": "diff -rPu5 synctex.orig\\synctex_parser.c synctex\\synctex_parser.c\r\n--- synctex.orig\\synctex_parser.c\tTue Jun 14 15:40:56"
},
{
"path": "ext/bzip2/CHANGES",
"chars": 11417,
"preview": " ------------------------------------------------------------------\n This file is part of bzip2/libbzip2, a program and "
},
{
"path": "ext/bzip2/LICENSE",
"chars": 1901,
"preview": "\n--------------------------------------------------------------------------\n\nThis program, \"bzip2\", the associated libra"
},
{
"path": "ext/bzip2/blocksort.c",
"chars": 30694,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Block sorting machinery "
},
{
"path": "ext/bzip2/bz_internal_error.c",
"chars": 116,
"preview": "/* Use when compiling with BZ_NO_STDIO */\n\n#include <assert.h>\n\nvoid bz_internal_error(int errcode)\n{\n\tassert(0);\n}\n"
},
{
"path": "ext/bzip2/bzip_all.c",
"chars": 193,
"preview": "#include \"blocksort.c\"\r\n#include \"bzlib.c\"\r\n#include \"compress.c\"\r\n#include \"crctable.c\"\r\n#include \"decompress.c\"\r\n#incl"
},
{
"path": "ext/bzip2/bzlib.c",
"chars": 45995,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Library top-level functions. "
},
{
"path": "ext/bzip2/bzlib.h",
"chars": 6245,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Public header file for the library. "
},
{
"path": "ext/bzip2/bzlib_private.h",
"chars": 13244,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Private header file for the library. "
},
{
"path": "ext/bzip2/compress.c",
"chars": 20561,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Compression machinery (not incl block sorting) "
},
{
"path": "ext/bzip2/crctable.c",
"chars": 4818,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Table for doing CRCs "
},
{
"path": "ext/bzip2/decompress.c",
"chars": 20919,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Decompression machinery "
},
{
"path": "ext/bzip2/huffman.c",
"chars": 6991,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Huffman coding low-level stuff "
},
{
"path": "ext/bzip2/randtable.c",
"chars": 3860,
"preview": "\n/*-------------------------------------------------------------*/\n/*--- Table for randomising repetitive blocks "
},
{
"path": "ext/freetype2/ChangeLog",
"chars": 162220,
"preview": "2014-12-30 Werner Lemberg <wl@gnu.org>\n\n\t* Version 2.5.5 released.\n\t=========================\n\n\n\tTag sources with `VER"
},
{
"path": "ext/freetype2/FTL.TXT",
"chars": 6909,
"preview": " The FreeType Project LICENSE\r\n ----------------------------\r\n\r\n "
},
{
"path": "ext/freetype2/config/ft2build.h",
"chars": 2280,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/config/sumatrapdf_ftmodule.h",
"chars": 1210,
"preview": "// #include <freetype/config/ftmodule.h>\n\n/* custom ftmodule.h which selects the minimum features required by mupdf */\n\n"
},
{
"path": "ext/freetype2/config/sumatrapdf_ftoption.h",
"chars": 651,
"preview": "#ifndef __SUMATRAPDF__FTOPTION_H__\n#define __SUMATRAPDF__FTOPTION_H__\n\n#ifdef __FTOPTION_H__\n#error \"This header must be"
},
{
"path": "ext/freetype2/include/config/ftconfig.h",
"chars": 18094,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/config/ftheader.h",
"chars": 25587,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/config/ftmodule.h",
"chars": 1399,
"preview": "/*\n * This file registers the FreeType modules compiled into the library.\n *\n * If you use GNU make, this file IS NOT "
},
{
"path": "ext/freetype2/include/config/ftoption.h",
"chars": 56425,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/config/ftstdlib.h",
"chars": 7461,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/freetype.h",
"chars": 254137,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ft2build.h",
"chars": 2383,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftadvanc.h",
"chars": 10646,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftautoh.h",
"chars": 14651,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftbbox.h",
"chars": 5243,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftbdf.h",
"chars": 6802,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftbitmap.h",
"chars": 14388,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftbzip2.h",
"chars": 4308,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftcache.h",
"chars": 57527,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftcffdrv.h",
"chars": 10121,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftchapters.h",
"chars": 8514,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftcid.h",
"chars": 5581,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/fterrdef.h",
"chars": 12217,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/fterrors.h",
"chars": 9292,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftgasp.h",
"chars": 4505,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftglyph.h",
"chars": 38692,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftgxval.h",
"chars": 13408,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftgzip.h",
"chars": 5636,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftimage.h",
"chars": 76930,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftincrem.h",
"chars": 11407,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftlcdfil.h",
"chars": 9309,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftlist.h",
"chars": 16763,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftlzw.h",
"chars": 4257,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftmac.h",
"chars": 17098,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftmm.h",
"chars": 22623,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftmodapi.h",
"chars": 34755,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftmoderr.h",
"chars": 10426,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftotval.h",
"chars": 7584,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftoutln.h",
"chars": 35121,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftpfr.h",
"chars": 6290,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftrender.h",
"chars": 11718,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftsizes.h",
"chars": 9561,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftsnames.h",
"chars": 11179,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftstroke.h",
"chars": 22306,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftsynth.h",
"chars": 3976,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftsystem.h",
"chars": 10724,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/fttrigon.h",
"chars": 8433,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftttdrv.h",
"chars": 6253,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/fttypes.h",
"chars": 35690,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftwinfnt.h",
"chars": 10416,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ftxf86.h",
"chars": 4723,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/autohint.h",
"chars": 14448,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftcalc.h",
"chars": 13399,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftdebug.h",
"chars": 11696,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftdriver.h",
"chars": 21585,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftgloadr.h",
"chars": 6511,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftmemory.h",
"chars": 16028,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftobjs.h",
"chars": 80399,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftpic.h",
"chars": 2522,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftrfork.h",
"chars": 14878,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftserv.h",
"chars": 45374,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftstream.h",
"chars": 23137,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/fttrace.h",
"chars": 5671,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/ftvalid.h",
"chars": 7240,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/internal.h",
"chars": 3415,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/psaux.h",
"chars": 36206,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/pshints.h",
"chars": 22531,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svbdf.h",
"chars": 3133,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svcid.h",
"chars": 3884,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svgldict.h",
"chars": 3442,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svgxval.h",
"chars": 2739,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svkern.h",
"chars": 1783,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svmm.h",
"chars": 4484,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svotval.h",
"chars": 1946,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svpfr.h",
"chars": 2270,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svpostnm.h",
"chars": 2937,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svprop.h",
"chars": 2961,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svpscmap.h",
"chars": 6871,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svpsinfo.h",
"chars": 4402,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svsfnt.h",
"chars": 3380,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svttcmap.h",
"chars": 4746,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svtteng.h",
"chars": 1687,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svttglyf.h",
"chars": 2343,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svwinfnt.h",
"chars": 1702,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/services/svxf86nm.h",
"chars": 2047,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/sfnt.h",
"chars": 41388,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/t1types.h",
"chars": 9851,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/internal/tttypes.h",
"chars": 85113,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/t1tables.h",
"chars": 34944,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ttnameid.h",
"chars": 61390,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/tttables.h",
"chars": 44393,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/tttags.h",
"chars": 5214,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/include/ttunpat.h",
"chars": 2231,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/Jamfile",
"chars": 780,
"preview": "# FreeType 2 src Jamfile\n#\n# Copyright 2001, 2002, 2013 by\n# David Turner, Robert Wilhelm, and Werner Lemberg.\n#\n# This "
},
{
"path": "ext/freetype2/src/autofit/Jamfile",
"chars": 936,
"preview": "# FreeType 2 src/autofit Jamfile\n#\n# Copyright 2003, 2004, 2005, 2006, 2007, 2009 by\n# David Turner, Robert Wilhelm, and"
},
{
"path": "ext/freetype2/src/autofit/afangles.c",
"chars": 6981,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afangles.h",
"chars": 141,
"preview": "/*\n * afangles.h\n *\n * This is a dummy file, used to please the build system. It is never\n * included by the auto-fi"
},
{
"path": "ext/freetype2/src/autofit/afblue.c",
"chars": 13966,
"preview": "/* This file has been generated by the Perl script `afblue.pl', */\n/* using data from file `afblue.dat'. "
},
{
"path": "ext/freetype2/src/autofit/afblue.cin",
"chars": 1536,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afblue.h",
"chars": 7936,
"preview": "/* This file has been generated by the Perl script `afblue.pl', */\n/* using data from file `afblue.dat'. "
},
{
"path": "ext/freetype2/src/autofit/afblue.hin",
"chars": 5676,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afcjk.c",
"chars": 65557,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afcjk.h",
"chars": 4858,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afcover.h",
"chars": 3862,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afdummy.c",
"chars": 2462,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afdummy.h",
"chars": 1617,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/aferrors.h",
"chars": 1975,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afglobal.c",
"chars": 12717,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afglobal.h",
"chars": 4745,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afhints.c",
"chars": 38750,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afhints.h",
"chars": 16410,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afindic.c",
"chars": 4221,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afindic.h",
"chars": 1580,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/aflatin.c",
"chars": 89261,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/aflatin.h",
"chars": 7367,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/aflatin2.c",
"chars": 71266,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/aflatin2.h",
"chars": 1583,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afloader.c",
"chars": 19191,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afloader.h",
"chars": 2728,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afmodule.c",
"chars": 8973,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afmodule.h",
"chars": 1972,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afpic.c",
"chars": 5125,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afpic.h",
"chars": 3706,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afranges.c",
"chars": 10645,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afranges.h",
"chars": 1586,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afscript.h",
"chars": 4150,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afstyles.h",
"chars": 7133,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/aftypes.h",
"chars": 25124,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afwarp.c",
"chars": 11198,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afwarp.h",
"chars": 2133,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/afwrtsys.h",
"chars": 2099,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/autofit.c",
"chars": 1714,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/hbshim.c",
"chars": 17189,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/hbshim.h",
"chars": 1877,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/autofit/module.mk",
"chars": 671,
"preview": "#\n# FreeType 2 auto-fitter module definition\n#\n\n\n# Copyright 2003, 2004, 2005, 2006 by\n# David Turner, Robert Wilhelm, a"
},
{
"path": "ext/freetype2/src/autofit/rules.mk",
"chars": 2381,
"preview": "#\n# FreeType 2 auto-fitter module configuration rules\n#\n\n\n# Copyright 2003-2007, 2011, 2013 by\n# David Turner, Robert Wi"
},
{
"path": "ext/freetype2/src/base/Jamfile",
"chars": 1358,
"preview": "# FreeType 2 src/base Jamfile\n#\n# Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by\n# David Turner, Robe"
},
{
"path": "ext/freetype2/src/base/basepic.c",
"chars": 3726,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/base/basepic.h",
"chars": 2955,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/base/ftadvanc.c",
"chars": 5307,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/base/ftapi.c",
"chars": 4042,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/base/ftbase.c",
"chars": 1644,
"preview": "/***************************************************************************/\n/* "
},
{
"path": "ext/freetype2/src/base/ftbase.h",
"chars": 2947,
"preview": "/***************************************************************************/\n/* "
}
]
// ... and 2079 more files (download for full content)
About this extraction
This page contains the full source code of the jijinggang/sumatrapdf GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2279 files (31.1 MB), approximately 8.3M tokens, and a symbol index with 17023 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.