Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
insinfo committed Feb 15, 2022
0 parents commit d3f9019
Show file tree
Hide file tree
Showing 1,522 changed files with 570,015 additions and 0 deletions.
37 changes: 37 additions & 0 deletions ANNOUNCE
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Subject: ANNOUNCE: Xpdf 4.03 - a PDF viewer and related tools

Glyph & Cog, LLC is pleased to announce a new version of Xpdf, the
open source Portable Document Format (PDF) viewer. The Xpdf project
also includes a PDF text extractor, PDF-to-PostScript converter, and
various other utilities.

Xpdf uses the Qt toolkit and runs on Linux and Windows. The
non-graphical components (pdftops, pdftotext, etc.) run on Linux,
Unix, Windows, MacOSX, and pretty much any other system with a decent
C++ compiler.

4.03 is primarily a bug fix release. There are some new features:

* XpdfReader improvements:
- Implemented selection extension via shift-click, and word/line
selection via double/triple click.
- Added default bindings for ctrl-mousewheel-up/down to zoom in/out.
- Added a help menu item that shows all of the key bindings.

* Various new command line options for pdftotext, pdftohtml, pdftoppm,
pdftopng, and xpdf.

See the `CHANGES' file for a complete list of changes.

Source (C++ and C) is available, and it should be fairly easy to
compile for Linux and Windows.

More information, source code, and precompiled binaries are on the
xpdf web page:

http://www.xpdfreader.com/

For information on commercial licensing and consulting, please see the
Glyph & Cog web site:

http://www.glyphandcog.com/
2,742 changes: 2,742 additions & 0 deletions CHANGES

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#========================================================================
#
# cmake-xpdf.txt
#
# CMake script for the Xpdf package.
#
# Copyright 2015 Glyph & Cog, LLC
#
#========================================================================

cmake_minimum_required(VERSION 2.8.8)

project(xpdf)

set(PNG_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/LibPng")
set(PNG_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/LibPng/include")
set(PNG_PNG_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/LibPng/include")

set(ZLIB_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/ZLib")
set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ZLib/include")

set(FREETYPE_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/FreeType")
set(FREETYPE_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/FreeType/include")

include(cmake-config.txt)

add_subdirectory(goo)
add_subdirectory(fofi)
add_subdirectory(splash)
add_subdirectory(xpdf)
add_subdirectory(xpdf-qt)

add_subdirectory(FreeType)
add_subdirectory(LibPng)
add_subdirectory(ZLib)


if (NOT Freetype_FOUND)
message(WARNING "Couldn't find FreeType -- will not build pdftoppm, pdftopng, pdftohtml, or xpdf.")
endif ()

if (NOT PNG_FOUND)
message(WARNING "Couldn't find libpng -- will not build pdftopng or pdftohtml.")
endif ()

if (NOT QT4_FOUND AND NOT Qt5Widgets_FOUND)
message(WARNING "Couldn't find Qt4 or Qt5 -- will not build xpdf.")
endif ()

if (NOT MULTITHREADED)
message(WARNING "Multithreading is disabled -- will not build xpdf.")
endif ()

if (NOT USE_EXCEPTIONS)
message(WARNING "C++ exceptions are disabled -- will not build xpdf.")
endif ()
339 changes: 339 additions & 0 deletions COPYING

Large diffs are not rendered by default.

674 changes: 674 additions & 0 deletions COPYING3

Large diffs are not rendered by default.

92 changes: 92 additions & 0 deletions FreeType/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
cmake_minimum_required (VERSION 2.6)
project(FreeType)

set(FREETYPE_INCLUDE_DIRS ${FreeType_SOURCE_DIR}/include PARENT_SCOPE)
set(FREETYPE_LDFLAGS FreeType PARENT_SCOPE)

add_definitions(-DFT2_BUILD_LIBRARY=1)
include_directories (${FreeType_SOURCE_DIR}/include)
include_directories (${FreeType_SOURCE_DIR}/include/freetype)
include_directories (${FreeType_SOURCE_DIR}/include/freetype/config)
include_directories (${FreeType_SOURCE_DIR}/include/src)
include_directories (${FreeType_SOURCE_DIR}/include/freetype/internal)
include_directories (${FreeType_SOURCE_DIR}/include/freetype/internal/services)

#isaque
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")

add_library (FreeType_OBJLIB OBJECT
#sources
src/base/ftbbox.c
src/base/ftgxval.c
src/base/ftlcdfil.c
src/base/ftmm.c
src/base/ftotval.c
src/base/ftpatent.c
src/base/ftpfr.c
src/base/ftsynth.c
src/base/fttype1.c
src/base/ftwinfnt.c
src/base/ftxf86.c
#src/otvalid/otvalid.c
src/pcf/pcf.c
src/pfr/pfr.c
src/psaux/psaux.c
src/pshinter/pshinter.c
src/psnames/psmodule.c
#src/psnames/psnames.c
src/raster/raster.c
src/sfnt/sfnt.c
src/truetype/truetype.c
src/type1/type1.c
src/type42/type42.c
src/cid/type1cid.c
src/winfonts/winfnt.c
src/autofit/autofit.c
src/bdf/bdf.c
src/cff/cff.c
src/base/ftbase.c
src/base/ftbitmap.c
src/cache/ftcache.c
src/base/ftcid.c
src/base/ftdebug.c
src/base/ftfstype.c
src/base/ftgasp.c
src/base/ftglyph.c
src/gzip/ftgzip.c
src/base/ftinit.c
src/lzw/ftlzw.c
src/base/ftstroke.c
src/base/ftsystem.c
src/smooth/smooth.c

#headers
include/freetype/config/ftconfig.h
include/freetype/config/ftheader.h
include/freetype/config/ftmodule.h
include/freetype/config/ftoption.h
include/freetype/config/ftstdlib.h
include/ft2build.h
)

set(FreeType_OBJECTS $<TARGET_OBJECTS:FreeType_OBJLIB>)
set(FreeType_OBJECTS $<TARGET_OBJECTS:FreeType_OBJLIB> PARENT_SCOPE)

if(IS_XCODE)
add_library(FreeType ${FreeType_OBJECTS} src/smooth/smooth.c)
else(IS_XCODE)
add_library(FreeType ${FreeType_OBJECTS})
endif(IS_XCODE)


install(TARGETS FreeType
RUNTIME DESTINATION bin COMPONENT dependencies
ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT dependencies
LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT dependencies
)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include
DESTINATION include/FreeType
FILES_MATCHING
PATTERN "*.h"
)
67 changes: 67 additions & 0 deletions FreeType/binding.gyp
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
'targets': [
{
'target_name': 'freetype',
'type': 'static_library',
'defines': [
'FT2_BUILD_LIBRARY=1'
],
'include_dirs': [
'./include',
'./include',
'./include/freetype/config',
'./include/src',
'./include/freetype/internal',
'./include/freetype/internal/services'
],
'sources': [
'./src/base/ftbbox.c',
'./src/base/ftgxval.c',
'./src/base/ftlcdfil.c',
'./src/base/ftmm.c',
'./src/base/ftotval.c',
'./src/base/ftpatent.c',
'./src/base/ftpfr.c',
'./src/base/ftsynth.c',
'./src/base/fttype1.c',
'./src/base/ftwinfnt.c',
'./src/base/ftxf86.c',
'./src/pcf/pcf.c',
'./src/pfr/pfr.c',
'./src/psaux/psaux.c',
'./src/pshinter/pshinter.c',
'./src/psnames/psmodule.c',
'./src/raster/raster.c',
'./src/sfnt/sfnt.c',
'./src/truetype/truetype.c',
'./src/type1/type1.c',
'./src/type42/type42.c',
'./src/cid/type1cid.c',
'./src/winfonts/winfnt.c',
'./src/autofit/autofit.c',
'./src/bdf/bdf.c',
'./src/cff/cff.c',
'./src/base/ftbase.c',
'./src/base/ftbitmap.c',
'./src/cache/ftcache.c',
'./src/base/ftcid.c',
'./src/base/ftdebug.c',
'./src/base/ftfstype.c',
'./src/base/ftgasp.c',
'./src/base/ftglyph.c',
'./src/gzip/ftgzip.c',
'./src/base/ftinit.c',
'./src/lzw/ftlzw.c',
'./src/base/ftstroke.c',
'./src/base/ftsystem.c',
'./src/smooth/smooth.c',
'./include/freetype/config/ftconfig.h',
'./include/freetype/config/ftheader.h',
'./include/freetype/config/ftmodule.h',
'./include/freetype/config/ftoption.h',
'./include/freetype/config/ftstdlib.h',
'./include/ft2build.h'
]
}
]
}
110 changes: 110 additions & 0 deletions FreeType/builds/amiga/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@

README for the builds/amiga subdirectory.

Copyright 2005 by
Werner Lemberg and Detlef W�rkner.

This file is part of the FreeType project, and may only be used, modified,
and distributed under the terms of the FreeType project license,
LICENSE.TXT. By continuing to use, modify, or distribute this file you
indicate that you have read the license and understand and accept it
fully.


The makefile.os4 is for the AmigaOS4 SDK. To use it, type
"make -f makefile.os4", it produces a link library libft2_ppc.a.

The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
To use it, type "make assign", then "make"; it produces a link library
libft2_ppc.a.

The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
latest sold version was 6.50, updates can be found in Aminet). It is
based on the version found in the sourcecode of ttf.library 0.83b for
FreeType 1.3.1 from Richard Griffith ([email protected],
http://ragriffi.home.sprynet.com).

You will also need the latest include files and amiga.lib from the
Amiga web site (http://www.amiga.com/3.9/download/NDK3.9.lha) for
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.

To use it, call "smake assign" and then "smake" from the builds/amiga
directory. The results are:

- A link library "ft2_680x0.lib" (where x depends on the setting of
the CPU entry in the smakefile) containing all FreeType2 parts
except of the init code, debugging code, and the system interface
code.

- ftsystem.o, an object module containing the standard version of the
system interface code which uses fopen() fclose() fread() fseek()
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).

- ftsystempure.o, an object module containing the pure version of the
system interface code which uses Open() Close() Read() Seek()
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
be used in both normal programs and in Amiga run-time shared system
librarys (can be linked with lib:libinit.o, no copying of DATA and
BSS hunks for each OpenLibrary() necessary). Source code is in
src/base/ftsystem.c.

- ftdebug.o, an object module containing the standard version of the
debugging code which uses vprintf() and exit() (not pure).
Debugging can be turned on in FT:include/freetype/config/ftoption.h
and with FT_SetTraceLevel().

- ftdebugpure.o, an object module containing the pure version of the
debugging code which uses KVPrintf() from lib:debug.lib and no
exit(). For debugging of Amiga run-time shared system libraries.
Source code is in src/base/ftdebug.c.

- NO ftinit.o. Because linking with a link library should result in
linking only the needed object modules in it, but standard
ftsystem.o would force ALL FreeType2 modules to be linked to your
program, I decided to use a different scheme: You must #include
FT:src/base/ftinit.c in your sourcecode and specify with #define
statements which modules you need. See
include/freetype/config/ftmodule.h.


To use in your own programs:

- Insert the #define and #include statements from top of
include/freetype/config/ftmodule.h in your source code and uncomment
the #define statements for the FreeType2 modules you need.

- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
calling the FreeType2 functions, because the link library and the
object files are compiled with PARAMETERS=BOTH.

- "smake assign" (assign "FT:" to the FreeType2 main directory).

- Compile your program.

- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
ft2_680x0.lib as link library.


To adapt to other compilers:

- The standard ANSI C maximum length of 31 significant characters in
identifiers is not enough for FreeType2. Check if your compiler has
a minimum length of 40 significant characters or can be switched to
it. "idlen=40" is the option for SAS/C. Setting #define
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).

- Make sure that the include directory in builds/amiga is searched
before the normal FreeType2 include directory, so you are able to
replace problematic include files with your own version (same may be
useful for the src directory).

- An example of how to replace/workaround a problematic include file
is include/config/ftconfig.h; it changes a #define that would
prevent SAS/C from generating XDEF's where it should do that and
then includes the standard FreeType2 include file.

Local Variables:
coding: latin-1
End:
Loading

0 comments on commit d3f9019

Please sign in to comment.