summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2021-12-20 17:17:19 +0100
committerSlávek Banko <slavek.banko@axis.cz>2021-12-20 17:17:19 +0100
commite0a199f1112c6f2103fde661002a164e81116541 (patch)
tree81541f52032e037e98fcb0f24302c96fb23cdd66
parent8a8805a8fac18a62361072d159c1b56c2964024d (diff)
downloadtdegraphics-e0a199f1112c6f2103fde661002a164e81116541.tar.gz
tdegraphics-e0a199f1112c6f2103fde661002a164e81116541.zip
kpdf: Drop suport for t1lib.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--CMakeLists.txt7
-rw-r--r--kpdf/xpdf/ConfigureChecks.cmake14
-rw-r--r--kpdf/xpdf/splash/CMakeLists.txt1
-rw-r--r--kpdf/xpdf/splash/Makefile.am4
-rw-r--r--kpdf/xpdf/splash/SplashFontEngine.cpp30
-rw-r--r--kpdf/xpdf/splash/SplashFontEngine.h7
-rw-r--r--kpdf/xpdf/splash/SplashT1Font.cpp292
-rw-r--r--kpdf/xpdf/splash/SplashT1Font.h57
-rw-r--r--kpdf/xpdf/splash/SplashT1FontEngine.cpp122
-rw-r--r--kpdf/xpdf/splash/SplashT1FontEngine.h53
-rw-r--r--kpdf/xpdf/splash/SplashT1FontFile.cpp117
-rw-r--r--kpdf/xpdf/splash/SplashT1FontFile.h58
-rw-r--r--kpdf/xpdf/xpdf/GlobalParams.cpp27
-rw-r--r--kpdf/xpdf/xpdf/GlobalParams.h3
-rw-r--r--kpdf/xpdf/xpdf/SplashOutputDev.cpp3
-rw-r--r--kpdf/xpdf/xpdf/xpdf_config.h2
16 files changed, 6 insertions, 791 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4b701284..80eb6943 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,7 +45,6 @@ tde_setup_paths( )
OPTION( WITH_ALL_OPTIONS "Enable all optional support" OFF )
-option( WITH_T1LIB "Enable t1lib support" OFF )
option( WITH_PAPER "Enable libpaper support" ${WITH_ALL_OPTIONS} )
OPTION( WITH_TIFF "Enable tiff support (tdefile-plugins)" ${WITH_ALL_OPTIONS} )
OPTION( WITH_OPENEXR "Enable openexr support (tdefile-plugins)" ${WITH_ALL_OPTIONS} )
@@ -54,12 +53,6 @@ OPTION( WITH_PDF "Enable pdf support (tdefile-plugins)" ${WITH_ALL_OPTIONS} )
##### options comments ##########################
-# WITH_T1LIB affects kpdf
-# WITH_T1LIB description adds support for t1lb, a library for decoding
-# t1 fonts. If it is disabled or missing the freetype
-# library is used as a fallback implementation.
-# It is safe to disable this option. You shouldn't
-# lose any end-user functionality.
# WITH_PAPER affects kpdf
# WITH_PAPER description this library is only used to set some default
# parameters of paper according to system settings.
diff --git a/kpdf/xpdf/ConfigureChecks.cmake b/kpdf/xpdf/ConfigureChecks.cmake
index 6c4b5614..b15a82ef 100644
--- a/kpdf/xpdf/ConfigureChecks.cmake
+++ b/kpdf/xpdf/ConfigureChecks.cmake
@@ -21,20 +21,6 @@ if( NOT JPEG_FOUND )
endif( )
-# check for t1lib
-if( WITH_T1LIB )
- check_include_file( t1lib.h HAVE_T1LIB_H )
- if( HAVE_T1LIB_H )
- check_library_exists( t1 T1_InitLib "" HAVE_T1LIB )
- endif( )
- if( HAVE_T1LIB_H AND HAVE_T1LIB )
- set( T1_LIBRARY t1 CACHE INTERNAL "" FORCE )
- else( )
- tde_message_fatal( "t1lib is required, but was not found on your system" )
- endif( )
-endif( )
-
-
# check for libpaper
if( WITH_PAPER )
check_include_file( paper.h HAVE_PAPER_H )
diff --git a/kpdf/xpdf/splash/CMakeLists.txt b/kpdf/xpdf/splash/CMakeLists.txt
index a9c3d72b..a99ceeb2 100644
--- a/kpdf/xpdf/splash/CMakeLists.txt
+++ b/kpdf/xpdf/splash/CMakeLists.txt
@@ -27,7 +27,6 @@ tde_add_library( splash STATIC_PIC
SplashFTFontEngine.cpp SplashFTFontFile.cpp SplashFont.cpp
SplashFontEngine.cpp SplashFontFile.cpp SplashFontFileID.cpp
SplashPath.cpp SplashPattern.cpp SplashScreen.cpp SplashState.cpp
- SplashT1Font.cpp SplashT1FontEngine.cpp SplashT1FontFile.cpp
SplashXPath.cpp SplashXPathScanner.cpp
LINK ${FREETYPE_LIBRARIES} ${FONTCONFIG_LIBRARIES}
)
diff --git a/kpdf/xpdf/splash/Makefile.am b/kpdf/xpdf/splash/Makefile.am
index 724eaa6a..5bf50df6 100644
--- a/kpdf/xpdf/splash/Makefile.am
+++ b/kpdf/xpdf/splash/Makefile.am
@@ -2,7 +2,7 @@ INCLUDES = -I$(srcdir)/.. -I$(srcdir)/../fofi -I$(srcdir)/../goo $(LIBFREETYPE_C
libsplash_la_SOURCES = Splash.cpp SplashBitmap.cpp SplashClip.cpp SplashFTFont.cpp SplashFTFontEngine.cpp \
SplashFTFontFile.cpp SplashFont.cpp SplashFontEngine.cpp SplashFontFile.cpp SplashFontFileID.cpp \
- SplashPath.cpp SplashPattern.cpp SplashScreen.cpp SplashState.cpp SplashT1Font.cpp \
- SplashT1FontEngine.cpp SplashT1FontFile.cpp SplashXPath.cpp SplashXPathScanner.cpp
+ SplashPath.cpp SplashPattern.cpp SplashScreen.cpp SplashState.cpp \
+ SplashXPath.cpp SplashXPathScanner.cpp
noinst_LTLIBRARIES = libsplash.la
diff --git a/kpdf/xpdf/splash/SplashFontEngine.cpp b/kpdf/xpdf/splash/SplashFontEngine.cpp
index d79a48a0..c3eb33a7 100644
--- a/kpdf/xpdf/splash/SplashFontEngine.cpp
+++ b/kpdf/xpdf/splash/SplashFontEngine.cpp
@@ -10,10 +10,6 @@
#pragma implementation
#endif
-#if HAVE_T1LIB_H
-#include <t1lib.h>
-#endif
-
#include <stdlib.h>
#include <stdio.h>
#ifndef WIN32
@@ -22,7 +18,6 @@
#include "gmem.h"
#include "GString.h"
#include "SplashMath.h"
-#include "SplashT1FontEngine.h"
#include "SplashFTFontEngine.h"
#include "SplashFontFile.h"
#include "SplashFontFileID.h"
@@ -40,9 +35,6 @@ extern "C" int unlink(char *filename);
//------------------------------------------------------------------------
SplashFontEngine::SplashFontEngine(
-#if HAVE_T1LIB_H
- GBool enableT1lib,
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
GBool enableFreeType,
#endif
@@ -53,13 +45,6 @@ SplashFontEngine::SplashFontEngine(
fontCache[i] = NULL;
}
-#if HAVE_T1LIB_H
- if (enableT1lib) {
- t1Engine = SplashT1FontEngine::init(aa);
- } else {
- t1Engine = NULL;
- }
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
if (enableFreeType) {
ftEngine = SplashFTFontEngine::init(aa);
@@ -78,11 +63,6 @@ SplashFontEngine::~SplashFontEngine() {
}
}
-#if HAVE_T1LIB_H
- if (t1Engine) {
- delete t1Engine;
- }
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
if (ftEngine) {
delete ftEngine;
@@ -111,11 +91,6 @@ SplashFontFile *SplashFontEngine::loadType1Font(SplashFontFileID *idA,
SplashFontFile *fontFile;
fontFile = NULL;
-#if HAVE_T1LIB_H
- if (!fontFile && t1Engine) {
- fontFile = t1Engine->loadType1Font(idA, src, enc);
- }
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
if (!fontFile && ftEngine) {
fontFile = ftEngine->loadType1Font(idA, src, enc);
@@ -138,11 +113,6 @@ SplashFontFile *SplashFontEngine::loadType1CFont(SplashFontFileID *idA,
SplashFontFile *fontFile;
fontFile = NULL;
-#if HAVE_T1LIB_H
- if (!fontFile && t1Engine) {
- fontFile = t1Engine->loadType1CFont(idA, sec, enc);
- }
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
if (!fontFile && ftEngine) {
fontFile = ftEngine->loadType1CFont(idA, src, enc);
diff --git a/kpdf/xpdf/splash/SplashFontEngine.h b/kpdf/xpdf/splash/SplashFontEngine.h
index ace5e9ae..4718a208 100644
--- a/kpdf/xpdf/splash/SplashFontEngine.h
+++ b/kpdf/xpdf/splash/SplashFontEngine.h
@@ -15,7 +15,6 @@
#include "gtypes.h"
-class SplashT1FontEngine;
class SplashFTFontEngine;
class SplashDTFontEngine;
class SplashDT4FontEngine;
@@ -37,9 +36,6 @@ public:
// Create a font engine.
SplashFontEngine(
-#if HAVE_T1LIB_H
- GBool enableT1lib,
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
GBool enableFreeType,
#endif
@@ -75,9 +71,6 @@ private:
SplashFont *fontCache[splashFontCacheSize];
-#if HAVE_T1LIB_H
- SplashT1FontEngine *t1Engine;
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
SplashFTFontEngine *ftEngine;
#endif
diff --git a/kpdf/xpdf/splash/SplashT1Font.cpp b/kpdf/xpdf/splash/SplashT1Font.cpp
deleted file mode 100644
index 17dfcd78..00000000
--- a/kpdf/xpdf/splash/SplashT1Font.cpp
+++ /dev/null
@@ -1,292 +0,0 @@
-//========================================================================
-//
-// SplashT1Font.cpp
-//
-//========================================================================
-
-#include <aconf.h>
-
-#if HAVE_T1LIB_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma implementation
-#endif
-
-#include <stdlib.h>
-#include <t1lib.h>
-#include "gmem.h"
-#include "SplashMath.h"
-#include "SplashGlyphBitmap.h"
-#include "SplashPath.h"
-#include "SplashT1FontEngine.h"
-#include "SplashT1FontFile.h"
-#include "SplashT1Font.h"
-
-//------------------------------------------------------------------------
-
-static Guchar bitReverse[256] = {
- 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
- 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
- 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8,
- 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8,
- 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4,
- 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4,
- 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec,
- 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc,
- 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2,
- 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2,
- 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea,
- 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa,
- 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6,
- 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6,
- 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee,
- 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe,
- 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1,
- 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1,
- 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9,
- 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9,
- 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5,
- 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5,
- 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed,
- 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd,
- 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3,
- 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3,
- 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb,
- 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb,
- 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7,
- 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7,
- 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef,
- 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
-};
-
-//------------------------------------------------------------------------
-// SplashT1Font
-//------------------------------------------------------------------------
-
-SplashT1Font::SplashT1Font(SplashT1FontFile *fontFileA, SplashCoord *matA,
- SplashCoord *textMatA):
- SplashFont(fontFileA, matA, textMatA, fontFileA->engine->aa)
-{
- T1_TMATRIX matrix;
- BBox bbox;
- SplashCoord bbx0, bby0, bbx1, bby1;
- int x, y;
-
- t1libID = T1_CopyFont(fontFileA->t1libID);
- outlineID = -1;
-
- // compute font size
- size = (float)splashSqrt(mat[2]*mat[2] + mat[3]*mat[3]);
-
- // transform the four corners of the font bounding box -- the min
- // and max values form the bounding box of the transformed font
- bbox = T1_GetFontBBox(t1libID);
- bbx0 = 0.001 * bbox.llx;
- bby0 = 0.001 * bbox.lly;
- bbx1 = 0.001 * bbox.urx;
- bby1 = 0.001 * bbox.ury;
- // some fonts are completely broken, so we fake it (with values
- // large enough that most glyphs should fit)
- if (bbx0 == 0 && bby0 == 0 && bbx1 == 0 && bby1 == 0) {
- bbx0 = bby0 = -0.5;
- bbx1 = bby1 = 1.5;
- }
- x = (int)(mat[0] * bbx0 + mat[2] * bby0);
- xMin = xMax = x;
- y = (int)(mat[1] * bbx0 + mat[3] * bby0);
- yMin = yMax = y;
- x = (int)(mat[0] * bbx0 + mat[2] * bby1);
- if (x < xMin) {
- xMin = x;
- } else if (x > xMax) {
- xMax = x;
- }
- y = (int)(mat[1] * bbx0 + mat[3] * bby1);
- if (y < yMin) {
- yMin = y;
- } else if (y > yMax) {
- yMax = y;
- }
- x = (int)(mat[0] * bbx1 + mat[2] * bby0);
- if (x < xMin) {
- xMin = x;
- } else if (x > xMax) {
- xMax = x;
- }
- y = (int)(mat[1] * bbx1 + mat[3] * bby0);
- if (y < yMin) {
- yMin = y;
- } else if (y > yMax) {
- yMax = y;
- }
- x = (int)(mat[0] * bbx1 + mat[2] * bby1);
- if (x < xMin) {
- xMin = x;
- } else if (x > xMax) {
- xMax = x;
- }
- y = (int)(mat[1] * bbx1 + mat[3] * bby1);
- if (y < yMin) {
- yMin = y;
- } else if (y > yMax) {
- yMax = y;
- }
- // This is a kludge: some buggy PDF generators embed fonts with
- // zero bounding boxes.
- if (xMax == xMin) {
- xMin = 0;
- xMax = (int)size;
- }
- if (yMax == yMin) {
- yMin = 0;
- yMax = (int)(1.2 * size);
- }
- // Another kludge: an unusually large xMin or yMin coordinate is
- // probably wrong.
- if (xMin > 0) {
- xMin = 0;
- }
- if (yMin > 0) {
- yMin = 0;
- }
- // Another kludge: t1lib doesn't correctly handle fonts with
- // real (non-integer) bounding box coordinates.
- if (xMax - xMin > 5000) {
- xMin = 0;
- xMax = (int)size;
- }
- if (yMax - yMin > 5000) {
- yMin = 0;
- yMax = (int)(1.2 * size);
- }
-
- // transform the font
- matrix.cxx = (double)mat[0] / size;
- matrix.cxy = (double)mat[1] / size;
- matrix.cyx = (double)mat[2] / size;
- matrix.cyy = (double)mat[3] / size;
- T1_TransformFont(t1libID, &matrix);
-}
-
-SplashT1Font::~SplashT1Font() {
- T1_DeleteFont(t1libID);
- if (outlineID >= 0) {
- T1_DeleteFont(outlineID);
- }
-}
-
-GBool SplashT1Font::getGlyph(int c, int xFrac, int yFrac,
- SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) {
- return SplashFont::getGlyph(c, 0, 0, bitmap, x0, y0, clip, clipRes);
-}
-
-GBool SplashT1Font::makeGlyph(int c, int xFrac, int yFrac,
- SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) {
- GLYPH *glyph;
- int n, i;
-
- if (aa) {
- glyph = T1_AASetChar(t1libID, c, size, NULL);
- } else {
- glyph = T1_SetChar(t1libID, c, size, NULL);
- }
- if (!glyph) {
- return gFalse;
- }
-
- bitmap->x = -glyph->metrics.leftSideBearing;
- bitmap->y = glyph->metrics.ascent;
- bitmap->w = glyph->metrics.rightSideBearing - glyph->metrics.leftSideBearing;
- bitmap->h = glyph->metrics.ascent - glyph->metrics.descent;
- bitmap->aa = aa;
- if (aa) {
- bitmap->data = (Guchar *)glyph->bits;
- bitmap->freeData = gFalse;
- } else {
- n = bitmap->h * ((bitmap->w + 7) >> 3);
- bitmap->data = (Guchar *)gmalloc(n);
- for (i = 0; i < n; ++i) {
- bitmap->data[i] = bitReverse[glyph->bits[i] & 0xff];
- }
- bitmap->freeData = gTrue;
- }
-
- *clipRes = clip->testRect(x0 - bitmap->x,
- y0 - bitmap->y,
- x0 - bitmap->x + bitmap->w - 1,
- y0 - bitmap->y + bitmap->h - 1);
-
- return gTrue;
-}
-
-SplashPath *SplashT1Font::getGlyphPath(int c) {
- T1_TMATRIX matrix;
- SplashPath *path;
- T1_OUTLINE *outline;
- T1_PATHSEGMENT *seg;
- T1_BEZIERSEGMENT *bez;
- SplashCoord x, y, x1, y1;
- GBool needClose;
-
- if (outlineID < 0) {
- outlineID = T1_CopyFont(((SplashT1FontFile *)fontFile)->t1libID);
- outlineSize = (float)splashSqrt(textMat[2]*textMat[2] +
- textMat[3]*textMat[3]);
- matrix.cxx = (double)textMat[0] / outlineSize;
- matrix.cxy = (double)textMat[1] / outlineSize;
- matrix.cyx = (double)textMat[2] / outlineSize;
- matrix.cyy = (double)textMat[3] / outlineSize;
- // t1lib doesn't seem to handle small sizes correctly here, so set
- // the size to 1000, and scale the resulting coordinates later
- outlineMul = (float)(outlineSize / 65536000.0);
- outlineSize = 1000;
- T1_TransformFont(outlineID, &matrix);
- }
-
- path = new SplashPath();
- if ((outline = T1_GetCharOutline(outlineID, c, outlineSize, NULL))) {
- x = 0;
- y = 0;
- needClose = gFalse;
- for (seg = outline; seg; seg = seg->link) {
- switch (seg->type) {
- case T1_PATHTYPE_MOVE:
- if (needClose) {
- path->close();
- needClose = gFalse;
- }
- x += seg->dest.x * outlineMul;
- y += seg->dest.y * outlineMul;
- path->moveTo(x, -y);
- break;
- case T1_PATHTYPE_LINE:
- x += seg->dest.x * outlineMul;
- y += seg->dest.y * outlineMul;
- path->lineTo(x, -y);
- needClose = gTrue;
- break;
- case T1_PATHTYPE_BEZIER:
- bez = (T1_BEZIERSEGMENT *)seg;
- x1 = x + (SplashCoord)(bez->dest.x * outlineMul);
- y1 = y + (SplashCoord)(bez->dest.y * outlineMul);
- path->curveTo(x + (SplashCoord)(bez->B.x * outlineMul),
- -(y + (SplashCoord)(bez->B.y * outlineMul)),
- x + (SplashCoord)(bez->C.x * outlineMul),
- -(y + (SplashCoord)(bez->C.y * outlineMul)),
- x1, -y1);
- x = x1;
- y = y1;
- needClose = gTrue;
- break;
- }
- }
- if (needClose) {
- path->close();
- }
- T1_FreeOutline(outline);
- }
-
- return path;
-}
-
-#endif // HAVE_T1LIB_H
diff --git a/kpdf/xpdf/splash/SplashT1Font.h b/kpdf/xpdf/splash/SplashT1Font.h
deleted file mode 100644
index 129c6ad5..00000000
--- a/kpdf/xpdf/splash/SplashT1Font.h
+++ /dev/null
@@ -1,57 +0,0 @@
-//========================================================================
-//
-// SplashT1Font.h
-//
-//========================================================================
-
-#ifndef SPLASHT1FONT_H
-#define SPLASHT1FONT_H
-
-#include <aconf.h>
-
-#if HAVE_T1LIB_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma interface
-#endif
-
-#include "SplashFont.h"
-
-class SplashT1FontFile;
-
-//------------------------------------------------------------------------
-// SplashT1Font
-//------------------------------------------------------------------------
-
-class SplashT1Font: public SplashFont {
-public:
-
- SplashT1Font(SplashT1FontFile *fontFileA, SplashCoord *matA,
- SplashCoord *textMatA);
-
- virtual ~SplashT1Font();
-
- // Munge xFrac and yFrac before calling SplashFont::getGlyph.
- virtual GBool getGlyph(int c, int xFrac, int yFrac,
- SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes);
-
- // Rasterize a glyph. The <xFrac> and <yFrac> values are the same
- // as described for getGlyph.
- virtual GBool makeGlyph(int c, int xFrac, int yFrac,
- SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes);
-
- // Return the path for a glyph.
- virtual SplashPath *getGlyphPath(int c);
-
-private:
-
- int t1libID; // t1lib font ID
- int outlineID; // t1lib font ID for glyph outlines
- float size;
- float outlineSize; // size for glyph outlines
- float outlineMul;
-};
-
-#endif // HAVE_T1LIB_H
-
-#endif
diff --git a/kpdf/xpdf/splash/SplashT1FontEngine.cpp b/kpdf/xpdf/splash/SplashT1FontEngine.cpp
deleted file mode 100644
index d17dc47c..00000000
--- a/kpdf/xpdf/splash/SplashT1FontEngine.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-//========================================================================
-//
-// SplashT1FontEngine.cpp
-//
-//========================================================================
-
-#include <aconf.h>
-
-#if HAVE_T1LIB_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma implementation
-#endif
-
-#include <stdlib.h>
-#include <stdio.h>
-#ifndef WIN32
-# include <unistd.h>
-#endif
-#include <t1lib.h>
-#include "GString.h"
-#include "gfile.h"
-#include "FoFiType1C.h"
-#include "SplashT1FontFile.h"
-#include "SplashT1FontEngine.h"
-
-#ifdef VMS
-#if (__VMS_VER < 70000000)
-extern "C" int unlink(char *filename);
-#endif
-#endif
-
-//------------------------------------------------------------------------
-
-int SplashT1FontEngine::t1libInitCount = 0;
-
-//------------------------------------------------------------------------
-
-static void fileWrite(void *stream, char *data, int len) {
- fwrite(data, 1, len, (FILE *)stream);
-}
-
-//------------------------------------------------------------------------
-// SplashT1FontEngine
-//------------------------------------------------------------------------
-
-SplashT1FontEngine::SplashT1FontEngine(GBool aaA) {
- aa = aaA;
-}
-
-SplashT1FontEngine *SplashT1FontEngine::init(GBool aaA) {
- // grayVals[i] = round(i * 255 / 16)
- static unsigned long grayVals[17] = {
- 0, 16, 32, 48, 64, 80, 96, 112, 128, 143, 159, 175, 191, 207, 223, 239, 255
- };
-
- //~ for multithreading: need a mutex here
- if (t1libInitCount == 0) {
- T1_SetBitmapPad(8);
- if (!T1_InitLib(NO_LOGFILE | IGNORE_CONFIGFILE | IGNORE_FONTDATABASE |
- T1_NO_AFM)) {
- return NULL;
- }
- if (aaA) {
- T1_AASetBitsPerPixel(8);
- T1_AASetLevel(T1_AA_HIGH);
- T1_AAHSetGrayValues(grayVals);
- } else {
- T1_AANSetGrayValues(0, 1);
- }
- }
- ++t1libInitCount;
-
- return new SplashT1FontEngine(aaA);
-}
-
-SplashT1FontEngine::~SplashT1FontEngine() {
- //~ for multithreading: need a mutex here
- if (--t1libInitCount == 0) {
- T1_CloseLib();
- }
-}
-
-SplashFontFile *SplashT1FontEngine::loadType1Font(SplashFontFileID *idA,
- SplashFontSrc *src,
- char **enc) {
- return SplashT1FontFile::loadType1Font(this, idA, fileName, deleteFile, enc);
-}
-
-SplashFontFile *SplashT1FontEngine::loadType1CFont(SplashFontFileID *idA,
- SplashFontSrc *src,
- char **enc) {
- FoFiType1C *ff;
- GString *tmpFileName;
- FILE *tmpFile;
- SplashFontFile *ret;
- SplashFontSrc *newsrc;
-
- if (src->isFile)
- ff = FoFiType1C::load(src->fileName);
- else
- ff = new FoFiType1C(src->buf, src->bufLen, gFalse);
- if (! ff)
- return NULL;
- }
- tmpFileName = NULL;
- if (!openTempFile(&tmpFileName, &tmpFile, "wb", NULL)) {
- delete ff;
- return NULL;
- }
- ff->convertToType1(NULL, NULL, gTrue, &fileWrite, tmpFile);
- delete ff;
- fclose(tmpFile);
- newsrc = new SplashFontSrc;
- newsrc->setFile(tmpFileName, gTrue);
- delete tmpFileName;
- ret = SplashT1FontFile::loadType1Font(this, idA, newsrc, enc);
- newsrc->unref();
- return ret;
-}
-
-#endif // HAVE_T1LIB_H
diff --git a/kpdf/xpdf/splash/SplashT1FontEngine.h b/kpdf/xpdf/splash/SplashT1FontEngine.h
deleted file mode 100644
index 57a04487..00000000
--- a/kpdf/xpdf/splash/SplashT1FontEngine.h
+++ /dev/null
@@ -1,53 +0,0 @@
-//========================================================================
-//
-// SplashT1FontEngine.h
-//
-//========================================================================
-
-#ifndef SPLASHT1FONTENGINE_H
-#define SPLASHT1FONTENGINE_H
-
-#include <aconf.h>
-
-#if HAVE_T1LIB_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma interface
-#endif
-
-#include "gtypes.h"
-
-class SplashFontFile;
-class SplashFontFileID;
-
-//------------------------------------------------------------------------
-// SplashT1FontEngine
-//------------------------------------------------------------------------
-
-class SplashT1FontEngine {
-public:
-
- static SplashT1FontEngine *init(GBool aaA);
-
- ~SplashT1FontEngine();
-
- // Load fonts.
- SplashFontFile *loadType1Font(SplashFontFileID *idA, char *fileName,
- GBool deleteFile, char **enc);
- SplashFontFile *loadType1CFont(SplashFontFileID *idA, char *fileName,
- GBool deleteFile, char **enc);
-
-private:
-
- SplashT1FontEngine(GBool aaA);
-
- static int t1libInitCount;
- GBool aa;
-
- friend class SplashT1FontFile;
- friend class SplashT1Font;
-};
-
-#endif // HAVE_T1LIB_H
-
-#endif
diff --git a/kpdf/xpdf/splash/SplashT1FontFile.cpp b/kpdf/xpdf/splash/SplashT1FontFile.cpp
deleted file mode 100644
index b9f3ed3c..00000000
--- a/kpdf/xpdf/splash/SplashT1FontFile.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-//========================================================================
-//
-// SplashT1FontFile.cpp
-//
-//========================================================================
-
-#include <aconf.h>
-
-#if HAVE_T1LIB_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma implementation
-#endif
-
-#include <string.h>
-#include <t1lib.h>
-#include "gmem.h"
-#include "SplashT1FontEngine.h"
-#include "SplashT1Font.h"
-#include "SplashT1FontFile.h"
-
-//------------------------------------------------------------------------
-// SplashT1FontFile
-//------------------------------------------------------------------------
-
-SplashFontFile *SplashT1FontFile::loadType1Font(SplashT1FontEngine *engineA,
- SplashFontFileID *idA,
- SplashFontSrc *src,
- char **encA) {
- int t1libIDA;
- char **encTmp;
- char *encStrTmp;
- int encStrSize;
- char *encPtr;
- int i;
-
- GString *fileNameA;
- SplashFontSrc *newsrc = NULL;
- SplashFontFile *ff;
-
- if (! src->isFile) {
- GString *tmpFileName;
- FILE *tmpFile;
- if (!openTempFile(&tmpFileName, &tmpFile, "wb", NULL))
- return NULL;
- fwrite(src->buf, 1, src->bufLen, tmpFile);
- fclose(tmpFile);
- newsrc = new SplashFontSrc;
- newsrc->setFile(tmpFileName, gTrue);
- src = newsrc;
- delete tmpFileName;
- }
- fileNameA = src->fileName;
- // load the font file
- if ((t1libIDA = T1_AddFont(fileNameA)) < 0) {
- delete newsrc;
- return NULL;
- }
- T1_LoadFont(t1libIDA);
-
- // reencode it
- encStrSize = 0;
- for (i = 0; i < 256; ++i) {
- if (encA[i]) {
- encStrSize += strlen(encA[i]) + 1;
- }
- }
- encTmp = (char **)gmallocn(257, sizeof(char *));
- encStrTmp = (char *)gmallocn(encStrSize, sizeof(char));
- encPtr = encStrTmp;
- for (i = 0; i < 256; ++i) {
- if (encA[i]) {
- strcpy(encPtr, encA[i]);
- encTmp[i] = encPtr;
- encPtr += strlen(encPtr) + 1;
- } else {
- encTmp[i] = ".notdef";
- }
- }
- encTmp[256] = "custom";
- T1_ReencodeFont(t1libIDA, encTmp);
-
- ff = new SplashT1FontFile(engineA, idA, src,
- t1libIDA, encTmp, encStrTmp);
- if (newsrc)
- newsrc->unref();
- return ff;
-}
-
-SplashT1FontFile::SplashT1FontFile(SplashT1FontEngine *engineA,
- SplashFontFileID *idA,
- SplashFontSrc *srcA,
- int t1libIDA, char **encA, char *encStrA):
- SplashFontFile(idA, srcA)
-{
- engine = engineA;
- t1libID = t1libIDA;
- enc = encA;
- encStr = encStrA;
-}
-
-SplashT1FontFile::~SplashT1FontFile() {
- gfree(encStr);
- gfree(enc);
- T1_DeleteFont(t1libID);
-}
-
-SplashFont *SplashT1FontFile::makeFont(SplashCoord *mat,
- SplashCoord *textMat) {
- SplashFont *font;
-
- font = new SplashT1Font(this, mat, textMat);
- font->initCache();
- return font;
-}
-
-#endif // HAVE_T1LIB_H
diff --git a/kpdf/xpdf/splash/SplashT1FontFile.h b/kpdf/xpdf/splash/SplashT1FontFile.h
deleted file mode 100644
index 4dc93cbf..00000000
--- a/kpdf/xpdf/splash/SplashT1FontFile.h
+++ /dev/null
@@ -1,58 +0,0 @@
-//========================================================================
-//
-// SplashT1FontFile.h
-//
-//========================================================================
-
-#ifndef SPLASHT1FONTFILE_H
-#define SPLASHT1FONTFILE_H
-
-#include <aconf.h>
-
-#if HAVE_T1LIB_H
-
-#ifdef USE_GCC_PRAGMAS
-#pragma interface
-#endif
-
-#include "SplashFontFile.h"
-
-class SplashT1FontEngine;
-
-//------------------------------------------------------------------------
-// SplashT1FontFile
-//------------------------------------------------------------------------
-
-class SplashT1FontFile: public SplashFontFile {
-public:
-
- static SplashFontFile *loadType1Font(SplashT1FontEngine *engineA,
- SplashFontFileID *idA,
- char *fileNameA,
- char **encA);
-
- virtual ~SplashT1FontFile();
-
- // Create a new SplashT1Font, i.e., a scaled instance of this font
- // file.
- virtual SplashFont *makeFont(SplashCoord *mat,
- SplashCoord *textMat);
-
-private:
-
- SplashT1FontFile(SplashT1FontEngine *engineA,
- SplashFontFileID *idA,
- char *fileNameA,
- int t1libIDA, char **encA, char *encStrA);
-
- SplashT1FontEngine *engine;
- int t1libID; // t1lib font ID
- char **enc;
- char *encStr;
-
- friend class SplashT1Font;
-};
-
-#endif // HAVE_T1LIB_H
-
-#endif
diff --git a/kpdf/xpdf/xpdf/GlobalParams.cpp b/kpdf/xpdf/xpdf/GlobalParams.cpp
index f18026ee..69ce333f 100644
--- a/kpdf/xpdf/xpdf/GlobalParams.cpp
+++ b/kpdf/xpdf/xpdf/GlobalParams.cpp
@@ -713,7 +713,6 @@ GlobalParams::GlobalParams(char *cfgFileName) {
fontDirs = new GList();
initialZoom = new GString("125");
continuousView = gFalse;
- enableT1lib = gTrue;
enableFreeType = gTrue;
antialias = gTrue;
vectorAntialias = gTrue;
@@ -1073,8 +1072,6 @@ void GlobalParams::parseLine(char *buf, GString *fileName, int line) {
parseInitialZoom(tokens, fileName, line);
} else if (!cmd->cmp("continuousView")) {
parseYesNo("continuousView", &continuousView, tokens, fileName, line);
- } else if (!cmd->cmp("enableT1lib")) {
- parseYesNo("enableT1lib", &enableT1lib, tokens, fileName, line);
} else if (!cmd->cmp("enableFreeType")) {
parseYesNo("enableFreeType", &enableFreeType, tokens, fileName, line);
} else if (!cmd->cmp("antialias")) {
@@ -1125,9 +1122,9 @@ void GlobalParams::parseLine(char *buf, GString *fileName, int line) {
!cmd->cmp("displayNamedCIDFontX") ||
!cmd->cmp("displayCIDFontX")) {
error(-1, "-- Xpdf no longer supports X fonts");
- } else if (!cmd->cmp("t1libControl") || !cmd->cmp("freetypeControl")) {
- error(-1, "-- The t1libControl and freetypeControl options have been replaced");
- error(-1, " by the enableT1lib, enableFreeType, and antialias options");
+ } else if (!cmd->cmp("freetypeControl")) {
+ error(-1, "-- The freetypeControl option has been replaced");
+ error(-1, " by the enableFreeType, and antialias options");
} else if (!cmd->cmp("fontpath") || !cmd->cmp("fontmap")) {
error(-1, "-- the config file format has changed since Xpdf 0.9x");
}
@@ -2395,15 +2392,6 @@ GBool GlobalParams::getContinuousView() {
return f;
}
-GBool GlobalParams::getEnableT1lib() {
- GBool f;
-
- lockGlobalParams;
- f = enableT1lib;
- unlockGlobalParams;
- return f;
-}
-
GBool GlobalParams::getEnableFreeType() {
GBool f;
@@ -2827,15 +2815,6 @@ void GlobalParams::setContinuousView(GBool cont) {
unlockGlobalParams;
}
-GBool GlobalParams::setEnableT1lib(char *s) {
- GBool ok;
-
- lockGlobalParams;
- ok = parseYesNo2(s, &enableT1lib);
- unlockGlobalParams;
- return ok;
-}
-
GBool GlobalParams::setEnableFreeType(char *s) {
GBool ok;
diff --git a/kpdf/xpdf/xpdf/GlobalParams.h b/kpdf/xpdf/xpdf/GlobalParams.h
index c0543eda..85b3c27d 100644
--- a/kpdf/xpdf/xpdf/GlobalParams.h
+++ b/kpdf/xpdf/xpdf/GlobalParams.h
@@ -242,7 +242,6 @@ public:
GString *findFontFile(GString *fontName, char **exts);
GString *getInitialZoom();
GBool getContinuousView();
- GBool getEnableT1lib();
GBool getEnableFreeType();
GBool getAntialias();
GBool getVectorAntialias();
@@ -294,7 +293,6 @@ public:
void setTextKeepTinyChars(GBool keep);
void setInitialZoom(char *s);
void setContinuousView(GBool cont);
- GBool setEnableT1lib(char *s);
GBool setEnableFreeType(char *s);
GBool setAntialias(char *s);
GBool setVectorAntialias(char *s);
@@ -424,7 +422,6 @@ private:
GList *fontDirs; // list of font dirs [GString]
GString *initialZoom; // initial zoom level
GBool continuousView; // continuous view mode
- GBool enableT1lib; // t1lib enable flag
GBool enableFreeType; // FreeType enable flag
GBool antialias; // font anti-aliasing enable flag
GBool vectorAntialias; // vector anti-aliasing enable flag
diff --git a/kpdf/xpdf/xpdf/SplashOutputDev.cpp b/kpdf/xpdf/xpdf/SplashOutputDev.cpp
index 2de19e73..20898701 100644
--- a/kpdf/xpdf/xpdf/SplashOutputDev.cpp
+++ b/kpdf/xpdf/xpdf/SplashOutputDev.cpp
@@ -694,9 +694,6 @@ void SplashOutputDev::startDoc(XRef *xrefA) {
delete fontEngine;
}
fontEngine = new SplashFontEngine(
-#if HAVE_T1LIB_H
- globalParams->getEnableT1lib(),
-#endif
#if HAVE_FREETYPE_FREETYPE_H || HAVE_FREETYPE_H
globalParams->getEnableFreeType(),
#endif
diff --git a/kpdf/xpdf/xpdf/xpdf_config.h b/kpdf/xpdf/xpdf/xpdf_config.h
index 81d4dd07..f00a6381 100644
--- a/kpdf/xpdf/xpdf/xpdf_config.h
+++ b/kpdf/xpdf/xpdf/xpdf_config.h
@@ -74,7 +74,7 @@
// default maximum size of color cube to allocate
#define defaultRGBCube 5
-// number of fonts (combined t1lib, FreeType, X server) to cache
+// number of fonts (combined FreeType, X server) to cache
#define xOutFontCacheSize 64
// number of Type 3 fonts to cache