summaryrefslogtreecommitdiff
path: root/Build/source/texk/dviljk/dvi2xx.c
diff options
context:
space:
mode:
authorJoachim Schrod <jschrod@acm.org>2007-07-03 16:59:36 +0000
committerJoachim Schrod <jschrod@acm.org>2007-07-03 16:59:36 +0000
commit30135a9b0eff10933c81dab6a3d7d09765595bb3 (patch)
tree847a8099d875534658541eb31bc8243cc9cea5ea /Build/source/texk/dviljk/dvi2xx.c
parent9347ce7eda861fbc572acfaec36e4bcfc76e053e (diff)
Add special hpfile-verbatim, to include PCL files verbatim.
git-svn-id: svn://tug.org/texlive/trunk@4538 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dviljk/dvi2xx.c')
-rw-r--r--Build/source/texk/dviljk/dvi2xx.c75
1 files changed, 43 insertions, 32 deletions
diff --git a/Build/source/texk/dviljk/dvi2xx.c b/Build/source/texk/dviljk/dvi2xx.c
index 071dbfc5788..285563bc811 100644
--- a/Build/source/texk/dviljk/dvi2xx.c
+++ b/Build/source/texk/dviljk/dvi2xx.c
@@ -3724,37 +3724,41 @@ bool PFlag;
/***************************** DoSpecial ***************************/
/*********************************************************************/
-#define PSFILE 0
-#define ORIENTATION 1
-#define RESETPOINTS 2
-#define DEFPOINT 3
-#define FILL 4
-#define GRAY 5
-#define PATTERN 6
-#define HPFILE 7
-#define LLX 8
-#define LLY 9
-#define URX 10
-#define URY 11
-#define RWI 12
-#define RHI 13
-
+typedef enum {
+ ORIENTATION,
+ RESETPOINTS,
+ DEFPOINT,
+ FILL,
+ GRAY,
+ PATTERN,
+ HPFILE,
+ HPFILE_VERBATIM,
+ PSFILE,
+ LLX,
+ LLY,
+ URX,
+ URY,
+ RWI,
+ RHI,
+ NKEYS
+} SpecialKeywords;
KeyDesc KeyTab[] = {
- { "psfile", String },
- { "orientation", Integer},
- { "resetpoints", String},
- { "defpoint", String},
- { "fill", String},
- { "gray", Integer},
- { "pattern", Integer},
- { "hpfile", String},
- { "llx", Integer},
- { "lly", Integer},
- { "urx", Integer},
- { "ury", Integer},
- { "rwi", Integer},
- { "rhi", Integer}
+ { ORIENTATION, "orientation", Integer},
+ { RESETPOINTS, "resetpoints", String},
+ { DEFPOINT, "defpoint", String},
+ { FILL, "fill", String},
+ { GRAY, "gray", Integer},
+ { PATTERN, "pattern", Integer},
+ { HPFILE, "hpfile", String},
+ { HPFILE_VERBATIM, "hpfile-verbatim", String},
+ { PSFILE, "psfile", String },
+ { LLX, "llx", Integer},
+ { LLY, "lly", Integer},
+ { URX, "urx", Integer},
+ { URY, "ury", Integer},
+ { RWI, "rwi", Integer},
+ { RHI, "rhi", Integer}
/*,
{"hsize", Dimension},
{"vsize", Dimension},
@@ -3764,8 +3768,6 @@ KeyDesc KeyTab[] = {
{"vscale", Number}*/
};
-#define NKEYS (sizeof(KeyTab)/sizeof(KeyTab[0]))
-
#ifdef __riscos
# ifdef LJ
@@ -3967,6 +3969,15 @@ int n;
file_type = HPFile;
break;
+ case HPFILE_VERBATIM:
+ if ( include_file && !kpse_tex_hush ("special") ) {
+ Warning("More than one \\special file name given. %s ignored", include_file);
+ free(include_file);
+ }
+ include_file = xstrdup(k.Val);
+ file_type = VerbFile;
+ break;
+
case ORIENTATION:
#ifdef IBM3812
if ((k.v.i >= 0) && (k.v.i < 4)) {
@@ -4346,7 +4357,7 @@ int *tno;
*tno = -1;
for (i = 0; i < nt; i++)
if ( IsSame(kw->Key, tab[i].Entry) ) {
- *tno = i;
+ *tno = tab[i].KeyId;
switch ( tab[i].Typ ) {
case None:
if ( kw->vt != None )