summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/pdftexdir
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2011-12-13 10:00:23 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2011-12-13 10:00:23 +0000
commitd7e8f4848410978fb1616c484d5acfac9fbf3d7a (patch)
treeef9ab7d14bd9677bdd4a59b03d7a975da51514e8 /Build/source/texk/web2c/pdftexdir
parent848e1c0ffbe2c5ae7a036b17cdf43fd40fb94ab4 (diff)
pdftex: Absorb writejbig2.h int writejbig2.c
and declare most functions as static. The result is close to writejbig2.w from luatex. git-svn-id: svn://tug.org/texlive/trunk@24838 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/pdftexdir')
-rw-r--r--Build/source/texk/web2c/pdftexdir/ChangeLog6
-rw-r--r--Build/source/texk/web2c/pdftexdir/am/libpdftex.am3
-rw-r--r--Build/source/texk/web2c/pdftexdir/writejbig2.c140
-rw-r--r--Build/source/texk/web2c/pdftexdir/writejbig2.h149
4 files changed, 125 insertions, 173 deletions
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index cb09ae3564b..3ec9312e705 100644
--- a/Build/source/texk/web2c/pdftexdir/ChangeLog
+++ b/Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,9 @@
+2011-12-12 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * writejbig2.h (removed): Declarations moved ...
+ * writejbig2.c: ... to here. Declare most functions as static.
+ * am/libpdftex.am (libpdftex_a_SOURCES): Remove writejbig2.h.
+
2011-10-11 Peter Breitenlohner <peb@mppmu.mpg.de>
* pdftosrc.cc: Always use new logic for Object Streams
diff --git a/Build/source/texk/web2c/pdftexdir/am/libpdftex.am b/Build/source/texk/web2c/pdftexdir/am/libpdftex.am
index 6ad211f12b0..32cb0e889d1 100644
--- a/Build/source/texk/web2c/pdftexdir/am/libpdftex.am
+++ b/Build/source/texk/web2c/pdftexdir/am/libpdftex.am
@@ -1,6 +1,6 @@
## texk/web2c/pdftexdir/am/libpdftex.am: Makefile fragment for libpdftex.
##
-## Copyright (C) 2009, 2010 Peter Breitenlohner <tex-live@tug.org>
+## Copyright (C) 2009-2011 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
## libpdftex
@@ -32,7 +32,6 @@ libpdftex_a_SOURCES = \
pdftexdir/writefont.c \
pdftexdir/writeimg.c \
pdftexdir/writejbig2.c \
- pdftexdir/writejbig2.h \
pdftexdir/writejpg.c \
pdftexdir/writepng.c \
pdftexdir/writet1.c \
diff --git a/Build/source/texk/web2c/pdftexdir/writejbig2.c b/Build/source/texk/web2c/pdftexdir/writejbig2.c
index e2c23c2605a..eeea9d7ea04 100644
--- a/Build/source/texk/web2c/pdftexdir/writejbig2.c
+++ b/Build/source/texk/web2c/pdftexdir/writejbig2.c
@@ -76,10 +76,106 @@ object exists, reference it. Else create fresh one.
***********************************************************************/
-#include "writejbig2.h"
+#include "ptexlib.h"
+#include <stdlib.h>
+#include <stdio.h>
+#include <assert.h>
+#include "ptexmac.h"
+#include "image.h"
+
+/* 7.3 Segment types */
+#define M_SymbolDictionary 0
+#define M_IntermediateTextRegion 4
+#define M_ImmediateTextRegion 6
+#define M_ImmediateLosslessTextRegion 7
+#define M_PatternDictionary 16
+#define M_IntermediateHalftoneRegion 20
+#define M_ImmediateHalftoneRegion 22
+#define M_ImmediateLosslessHalftoneRegion 23
+#define M_IntermediateGenericRegion 36
+#define M_ImmediateGenericRegion 38
+#define M_ImmediateLosslessGenericRegion 39
+#define M_IntermediateGenericRefinementRegion 40
+#define M_ImmediateGenericRefinementRegion 42
+#define M_ImmediateLosslessGenericRefinementRegion 43
+#define M_PageInformation 48
+#define M_EndOfPage 49
+#define M_EndOfStripe 50
+#define M_EndOfFile 51
+#define M_Profiles 52
+#define M_Tables 53
+#define M_Extension 62
/**********************************************************************/
+typedef enum { INITIAL, HAVEINFO, WRITEPDF } PHASE;
+
+typedef struct _LITEM {
+ struct _LITEM *prev;
+ struct _LITEM *next;
+ void *d; /* data */
+} LITEM;
+
+typedef struct _LIST {
+ LITEM *first;
+ LITEM *last;
+ struct avl_table *tree;
+} LIST;
+
+typedef struct _SEGINFO {
+ unsigned long segnum;
+ boolean isrefered;
+ boolean refers;
+ unsigned int seghdrflags; /* set by readseghdr() */
+ boolean pageassocsizeflag; /* set by readseghdr() */
+ unsigned int reftosegcount; /* set by readseghdr() */
+ unsigned int countofrefered; /* set by readseghdr() */
+ unsigned int fieldlen; /* set by readseghdr() */
+ unsigned int segnumwidth; /* set by readseghdr() */
+ long segpage; /* set by readseghdr() */
+ unsigned long segdatalen; /* set by readseghdr() */
+ unsigned long hdrstart; /* set by readseghdr() */
+ unsigned long hdrend; /* set by readseghdr() */
+ unsigned long datastart;
+ unsigned long dataend;
+ boolean endofstripeflag; /* set by checkseghdrflags() */
+ boolean endofpageflag; /* set by checkseghdrflags() */
+ boolean pageinfoflag; /* set by checkseghdrflags() */
+ boolean endoffileflag; /* set by checkseghdrflags() */
+} SEGINFO;
+
+typedef struct _PAGEINFO {
+ LIST segments; /* segments associated with page */
+ unsigned long pagenum;
+ unsigned int width;
+ unsigned int height;
+ unsigned int xres;
+ unsigned int yres;
+ unsigned int pagesegmentflags;
+ unsigned int stripinginfo;
+ unsigned int stripedheight;
+} PAGEINFO;
+
+typedef struct _FILEINFO {
+ FILE *file;
+ char *filename;
+ long filesize;
+ LIST pages; /* not including page0 */
+ LIST page0;
+ unsigned int filehdrflags; /* set by readfilehdr() */
+ boolean sequentialaccess; /* set by readfilehdr() */
+ unsigned long numofpages; /* set by readfilehdr() */
+ unsigned long streamstart; /* set by get_jbig2_info() */
+ unsigned long pdfpage0objnum;
+ PHASE phase;
+} FILEINFO;
+
+/**********************************************************************/
+
+static void initlinkedlist(LIST * lp);
+static void checkseghdrflags(SEGINFO * sip);
+static void markpage0seg(FILEINFO * fip, unsigned long referedseg);
+
/**********************************************************************/
struct avl_table *file_tree = NULL;
@@ -102,7 +198,7 @@ static int comp_segment_entry(const void *pa, const void *pb, void *p)
/**********************************************************************/
-int ygetc(FILE * stream)
+static int ygetc(FILE * stream)
{
int c = getc(stream);
if (c < 0) {
@@ -116,7 +212,7 @@ int ygetc(FILE * stream)
/**********************************************************************/
-FILEINFO *new_fileinfo(void)
+static FILEINFO *new_fileinfo(void)
{
FILEINFO *fip;
fip = xtalloc(1, FILEINFO);
@@ -134,7 +230,7 @@ FILEINFO *new_fileinfo(void)
return fip;
}
-PAGEINFO *new_pageinfo(void)
+static PAGEINFO *new_pageinfo(void)
{
PAGEINFO *pip;
pip = xtalloc(1, PAGEINFO);
@@ -175,14 +271,14 @@ static void init_seginfo(SEGINFO * sip)
/**********************************************************************/
-void initlinkedlist(LIST * lp)
+static void initlinkedlist(LIST * lp)
{
lp->first = NULL;
lp->last = NULL;
lp->tree = NULL;
}
-LIST *litem_append(LIST * lp)
+static LIST *litem_append(LIST * lp)
{
LITEM *ip;
ip = xtalloc(1, LITEM);
@@ -201,7 +297,7 @@ LIST *litem_append(LIST * lp)
/**********************************************************************/
-void pages_maketree(LIST * plp)
+static void pages_maketree(LIST * plp)
{
LITEM *ip;
void **aa;
@@ -214,7 +310,7 @@ void pages_maketree(LIST * plp)
}
}
-void segments_maketree(LIST * slp)
+static void segments_maketree(LIST * slp)
{
LITEM *ip;
void **aa;
@@ -229,7 +325,7 @@ void segments_maketree(LIST * slp)
/**********************************************************************/
-PAGEINFO *find_pageinfo(LIST * plp, unsigned long pagenum)
+static PAGEINFO *find_pageinfo(LIST * plp, unsigned long pagenum)
{
PAGEINFO tmp;
tmp.pagenum = pagenum;
@@ -237,7 +333,7 @@ PAGEINFO *find_pageinfo(LIST * plp, unsigned long pagenum)
return (PAGEINFO *) avl_find(plp->tree, &tmp);
}
-SEGINFO *find_seginfo(LIST * slp, unsigned long segnum)
+static SEGINFO *find_seginfo(LIST * slp, unsigned long segnum)
{
SEGINFO tmp;
tmp.segnum = segnum;
@@ -247,13 +343,13 @@ SEGINFO *find_seginfo(LIST * slp, unsigned long segnum)
/**********************************************************************/
-unsigned int read2bytes(FILE * f)
+static unsigned int read2bytes(FILE * f)
{
unsigned int c = ygetc(f);
return (c << 8) + ygetc(f);
}
-unsigned long read4bytes(FILE * f)
+static unsigned long read4bytes(FILE * f)
{
unsigned int l = read2bytes(f);
return (l << 16) + read2bytes(f);
@@ -261,7 +357,7 @@ unsigned long read4bytes(FILE * f)
/**********************************************************************/
-unsigned long getstreamlen(LITEM * slip, boolean refer)
+static unsigned long getstreamlen(LITEM * slip, boolean refer)
{
SEGINFO *sip;
unsigned long len = 0;
@@ -275,7 +371,7 @@ unsigned long getstreamlen(LITEM * slip, boolean refer)
/**********************************************************************/
-void readfilehdr(FILEINFO * fip)
+static void readfilehdr(FILEINFO * fip)
{
unsigned int i;
/* Annex D.4 File header syntax */
@@ -303,7 +399,7 @@ void readfilehdr(FILEINFO * fip)
/**********************************************************************/
/* for first reading of file; return value tells if header been read */
-boolean readseghdr(FILEINFO * fip, SEGINFO * sip)
+static boolean readseghdr(FILEINFO * fip, SEGINFO * sip)
{
unsigned int i;
sip->hdrstart = xftell(fip->file, fip->filename);
@@ -361,7 +457,7 @@ boolean readseghdr(FILEINFO * fip, SEGINFO * sip)
/**********************************************************************/
/* for writing, marks refered page0 segments, sets segpage > 0 to 1 */
-void writeseghdr(FILEINFO * fip, SEGINFO * sip)
+static void writeseghdr(FILEINFO * fip, SEGINFO * sip)
{
unsigned int i;
unsigned long referedseg = 0;
@@ -412,7 +508,7 @@ void writeseghdr(FILEINFO * fip, SEGINFO * sip)
/**********************************************************************/
/* for recursive marking of refered page0 segments */
-void checkseghdr(FILEINFO * fip, SEGINFO * sip)
+static void checkseghdr(FILEINFO * fip, SEGINFO * sip)
{
unsigned int i;
unsigned long referedseg = 0;
@@ -449,7 +545,7 @@ void checkseghdr(FILEINFO * fip, SEGINFO * sip)
/**********************************************************************/
-void checkseghdrflags(SEGINFO * sip)
+static void checkseghdrflags(SEGINFO * sip)
{
sip->endofstripeflag = false;
sip->endofpageflag = false;
@@ -497,7 +593,7 @@ void checkseghdrflags(SEGINFO * sip)
/**********************************************************************/
-void markpage0seg(FILEINFO * fip, unsigned long referedseg)
+static void markpage0seg(FILEINFO * fip, unsigned long referedseg)
{
PAGEINFO *pip;
SEGINFO *sip;
@@ -512,7 +608,7 @@ void markpage0seg(FILEINFO * fip, unsigned long referedseg)
/**********************************************************************/
-unsigned long findstreamstart(FILEINFO * fip)
+static unsigned long findstreamstart(FILEINFO * fip)
{
SEGINFO tmp;
assert(!fip->sequentialaccess); /* D.2 Random-access organisation */
@@ -526,7 +622,7 @@ unsigned long findstreamstart(FILEINFO * fip)
/**********************************************************************/
-void rd_jbig2_info(FILEINFO * fip)
+static void rd_jbig2_info(FILEINFO * fip)
{
unsigned long seekdist = 0; /* for sequential-access only */
unsigned long streampos = 0; /* for random-access only */
@@ -609,7 +705,7 @@ void rd_jbig2_info(FILEINFO * fip)
/**********************************************************************/
-void wr_jbig2(FILEINFO * fip, unsigned long page)
+static void wr_jbig2(FILEINFO * fip, unsigned long page)
{
LITEM *slip;
PAGEINFO *pip;
diff --git a/Build/source/texk/web2c/pdftexdir/writejbig2.h b/Build/source/texk/web2c/pdftexdir/writejbig2.h
deleted file mode 100644
index 4614f2e91d4..00000000000
--- a/Build/source/texk/web2c/pdftexdir/writejbig2.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/***********************************************************************
-Copyright 2002-2011 Han The Thanh, <thanh@pdftex.org>
-
-This file is part of pdfTeX.
-
-pdfTeX 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 2 of the License, or (at your option)
-any later version.
-
-pdfTeX 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/>.
-
-This is experimental JBIG2 image support to pdfTeX. JBIG2 image decoding
-is part of Adobe PDF-1.4, and requires Acroread 5.0 or later.
-
-***********************************************************************/
-
-#include "ptexlib.h"
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include "ptexmac.h"
-#include "image.h"
-
-/* 7.3 Segment types */
-#define M_SymbolDictionary 0
-#define M_IntermediateTextRegion 4
-#define M_ImmediateTextRegion 6
-#define M_ImmediateLosslessTextRegion 7
-#define M_PatternDictionary 16
-#define M_IntermediateHalftoneRegion 20
-#define M_ImmediateHalftoneRegion 22
-#define M_ImmediateLosslessHalftoneRegion 23
-#define M_IntermediateGenericRegion 36
-#define M_ImmediateGenericRegion 38
-#define M_ImmediateLosslessGenericRegion 39
-#define M_IntermediateGenericRefinementRegion 40
-#define M_ImmediateGenericRefinementRegion 42
-#define M_ImmediateLosslessGenericRefinementRegion 43
-#define M_PageInformation 48
-#define M_EndOfPage 49
-#define M_EndOfStripe 50
-#define M_EndOfFile 51
-#define M_Profiles 52
-#define M_Tables 53
-#define M_Extension 62
-
-/**********************************************************************/
-
-typedef enum { INITIAL, HAVEINFO, WRITEPDF } PHASE;
-
-typedef struct _LITEM {
- struct _LITEM *prev;
- struct _LITEM *next;
- void *d; /* data */
-} LITEM;
-
-typedef struct _LIST {
- LITEM *first;
- LITEM *last;
- struct avl_table *tree;
-} LIST;
-
-typedef struct _SEGINFO {
- unsigned long segnum;
- boolean isrefered;
- boolean refers;
- unsigned int seghdrflags; /* set by readseghdr() */
- boolean pageassocsizeflag; /* set by readseghdr() */
- unsigned int reftosegcount; /* set by readseghdr() */
- unsigned int countofrefered; /* set by readseghdr() */
- unsigned int fieldlen; /* set by readseghdr() */
- unsigned int segnumwidth; /* set by readseghdr() */
- long segpage; /* set by readseghdr() */
- unsigned long segdatalen; /* set by readseghdr() */
- unsigned long hdrstart; /* set by readseghdr() */
- unsigned long hdrend; /* set by readseghdr() */
- unsigned long datastart;
- unsigned long dataend;
- boolean endofstripeflag; /* set by checkseghdrflags() */
- boolean endofpageflag; /* set by checkseghdrflags() */
- boolean pageinfoflag; /* set by checkseghdrflags() */
- boolean endoffileflag; /* set by checkseghdrflags() */
-} SEGINFO;
-
-typedef struct _PAGEINFO {
- LIST segments; /* segments associated with page */
- unsigned long pagenum;
- unsigned int width;
- unsigned int height;
- unsigned int xres;
- unsigned int yres;
- unsigned int pagesegmentflags;
- unsigned int stripinginfo;
- unsigned int stripedheight;
-} PAGEINFO;
-
-typedef struct _FILEINFO {
- FILE *file;
- char *filename;
- long filesize;
- LIST pages; /* not including page0 */
- LIST page0;
- unsigned int filehdrflags; /* set by readfilehdr() */
- boolean sequentialaccess; /* set by readfilehdr() */
- unsigned long numofpages; /* set by readfilehdr() */
- unsigned long streamstart; /* set by get_jbig2_info() */
- unsigned long pdfpage0objnum;
- PHASE phase;
-} FILEINFO;
-
-/**********************************************************************/
-
-static int comp_file_entry(const void *, const void *, void *);
-static int comp_page_entry(const void *, const void *, void *);
-static int comp_segment_entry(const void *, const void *, void *);
-int ygetc(FILE *);
-FILEINFO *new_fileinfo(void);
-PAGEINFO *new_pageinfo(void);
-void initseginfo(SEGINFO *);
-void initlinkedlist(LIST *);
-LIST *litem_append(LIST *);
-void pages_maketree(LIST *);
-void segments_maketree(LIST *);
-PAGEINFO *find_pageinfo(LIST *, unsigned long);
-SEGINFO *find_seginfo(LIST *, unsigned long);
-unsigned int read2bytes(FILE *);
-unsigned long read4bytes(FILE *);
-unsigned long getstreamlen(LITEM *, boolean);
-void readfilehdr(FILEINFO *);
-boolean readseghdr(FILEINFO *, SEGINFO *);
-void writeseghdr(FILEINFO *, SEGINFO *);
-void checkseghdr(FILEINFO *, SEGINFO *);
-void checkseghdrflags(SEGINFO * sip);
-void markpage0seg(FILEINFO *, unsigned long);
-unsigned long findstreamstart(FILEINFO *);
-void rd_jbig2_info(FILEINFO *);
-void wr_jbig2(FILEINFO *, unsigned long);
-void read_jbig2_info(integer);
-void write_jbig2(integer);
-void flushjbig2page0objects(void);
-
-/**********************************************************************/