aboutsummaryrefslogtreecommitdiffstats
path: root/externs.h
diff options
context:
space:
mode:
Diffstat (limited to 'externs.h')
-rw-r--r--externs.h207
1 files changed, 111 insertions, 96 deletions
diff --git a/externs.h b/externs.h
index a68ff4c..7e64b36 100644
--- a/externs.h
+++ b/externs.h
@@ -1,7 +1,7 @@
/*@externs.h:External Declarations:Directories and file conventions@**********/
/* */
-/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.17) */
-/* COPYRIGHT (C) 1991, 1999 Jeffrey H. Kingston */
+/* THE LOUT DOCUMENT FORMATTING SYSTEM (VERSION 3.18) */
+/* COPYRIGHT (C) 1991, 2000 Jeffrey H. Kingston */
/* */
/* Jeffrey H. Kingston (jeff@cs.usyd.edu.au) */
/* Basser Department of Computer Science */
@@ -95,7 +95,7 @@ extern nl_catd MsgCat;
/* */
/*****************************************************************************/
-#define LOUT_VERSION AsciiToFull("Basser Lout Version 3.17 (September 1999)")
+#define LOUT_VERSION AsciiToFull("Basser Lout Version 3.18 (February 2000)")
#define CROSS_DB AsciiToFull("lout")
#define SOURCE_SUFFIX AsciiToFull(".lt")
#define INDEX_SUFFIX AsciiToFull(".li")
@@ -225,7 +225,7 @@ If you're compiling this, you've got the wrong settings in the makefile!
/* */
/* MAX_COLOUR The maximum number of distinct left parameters of */
/* @SetColour and @SetColor symbols allowed (after */
-/* evaluation). This can be increased beyond 4096 */
+/* evaluation). This can be increased beyond 1024 */
/* only by setting aside a larger word_colour() field. */
/* */
/* MAX_LANGUAGE The maximum number of distinct languages allowed. */
@@ -614,7 +614,8 @@ typedef struct
SHORT_LENGTH oyunit; /* value of y unit of measurement */
SHORT_LENGTH ozunit; /* value of z unit of measurement */
FONT_NUM ofont : 12; /* current font */
- COLOUR_NUM ocolour : 12; /* current colour */
+ COLOUR_NUM ocolour : 10; /* current colour */
+ BOOLEAN ooutline : 2; /* TRUE if outlining words */
LANGUAGE_NUM olanguage : 6; /* current language */
BOOLEAN onobreakfirst : 1; /* no break after first line of para */
BOOLEAN onobreaklast : 1; /* no break after last line of para */
@@ -632,6 +633,7 @@ typedef struct
#define display_style(x)(x).osu2.oss2.odisplay_style
#define font(x) (x).ofont
#define colour(x) (x).ocolour
+#define outline(x) (x).ooutline
#define language(x) (x).olanguage
#define nobreakfirst(x) (x).onobreaklast
#define nobreaklast(x) (x).onobreakfirst
@@ -647,6 +649,7 @@ typedef struct
GapCopy(space_gap(x), space_gap(y)), \
font(x) = font(y), \
colour(x) = colour(y), \
+ outline(x) = outline(y), \
language(x) = language(y), \
nobreakfirst(x) = nobreakfirst(y), \
nobreaklast(x) = nobreaklast(y), \
@@ -768,7 +771,8 @@ typedef union
struct /* used by WORD objects only, except underline used by all */
/* objects, including GAP_OBJ */
{ FONT_NUM oword_font : 12;
- COLOUR_NUM oword_colour : 11;
+ COLOUR_NUM oword_colour : 10;
+ BOOLEAN oword_outline : 1;
LANGUAGE_NUM oword_language : 6;
unsigned ounderline : 2;
unsigned oword_hyph : 1;
@@ -962,6 +966,7 @@ typedef union
/* zunit Value of z unit of measurement */
/* font Which internal font (including size) to use */
/* colour Which internal colour to use */
+/* outline TRUE if outlining words rather than filling them */
/* language Which internal language to use */
/* nobreakfirst TRUE if break not allowed after first line of para */
/* nobreaklastt TRUE if break not allowed before last line of para */
@@ -1064,6 +1069,7 @@ typedef union
/* SIZED The size of the word */
/* word_font Font to print this word in (from style) */
/* word_colour Colour to print this word in (from style) */
+/* word_outline If TRUE, print this word in outline (from style) */
/* word_language Language (for hyphenation) of this word (from style) */
/* underline TRUE if continuous underlining goes under this word */
/* word_hyph Hyphenation wanted for this word (from style) */
@@ -1230,7 +1236,8 @@ typedef union
/* last child The right parameter of this symbol */
/* */
/* FONT, SPACE, BREAK - @Font, @Space, @Break symbols */
-/* YUNIT, ZUNIT, COLOUR, LANGUAGE - @YUnit, @ZUnit, @Colour, @Language syms */
+/* YUNIT, ZUNIT - @YUnit, @ZUnit symbols */
+/* COLOUR, OUTLINE, LANGUAGE - @Colour, @Outline, @Language symbols */
/* PLUS, MINUS, - @Plus, @Minus symbols */
/* MELD, COMMON, RUMP, INSERT - @Meld, @Common, @Rump, @Insert symbols */
/* OPEN, TAGGED - @Open, @Tagged symbols */
@@ -1279,6 +1286,7 @@ typedef union
/* CENV, CLOS, LVIS, LUSE, LEO - @LCEnv, @LClos, @LVis, @LUse, @LEO tokens */
/* BACKEND - @BackEnd symbol */
/* CURR_LANG, CURR_FAMILY, CURR_FACE - @CurrLang, @CurrFamily, @CurrFace */
+/* CURR_YUNIT, CURR_ZUNIT - @CurrYUnit, @CurrZUnit */
/* */
/* TOKEN While still being parsed */
/* */
@@ -1598,6 +1606,7 @@ typedef union rec
#define spanner_count(x) word_font(x)
#define word_colour(x) (x)->os1.ou2.os22.oword_colour
#define spanner_sized(x) word_colour(x)
+#define word_outline(x) (x)->os1.ou2.os22.oword_outline
#define word_language(x) (x)->os1.ou2.os22.oword_language
#define spanner_broken(x) word_language(x)
#define underline(x) (x)->os1.ou2.os22.ounderline
@@ -1886,85 +1895,88 @@ typedef struct mapvec {
#define BREAK 59 /* to s @Break */
#define UNDERLINE 60 /* to s @Underline */
#define COLOUR 61 /* to s @SetColour and @SetColor */
-#define LANGUAGE 62 /* to s @Language */
-#define CURR_LANG 63 /* to s @CurrLang */
-#define CURR_FAMILY 64 /* to s @CurrFamily */
-#define CURR_FACE 65 /* to s @CurrFace */
-#define COMMON 66 /* to s @Common */
-#define RUMP 67 /* to s @Rump */
-#define MELD 68 /* to s @Meld */
-#define INSERT 69 /* to s @Insert */
-#define ONE_OF 70 /* to s @OneOf */
-#define NEXT 71 /* to s @Next */
-#define PLUS 72 /* to s @Plus */
-#define MINUS 73 /* to s @Minus */
-#define ENV_OBJ 74 /* to s object with envt (no name) */
-#define ENV 75 /* to s @LEnv */
-#define ENVA 76 /* to s @LEnvA */
-#define ENVB 77 /* to s @LEnvB */
-#define ENVC 78 /* to s @LEnvC */
-#define ENVD 79 /* to s @LEnvD */
-#define CENV 80 /* to s @LCEnv */
-#define CLOS 81 /* to s @LClos */
-#define LVIS 82 /* to s @LVis */
-#define LUSE 83 /* to s @LUse */
-#define LEO 84 /* to s @LEO */
-#define OPEN 85 /* to s @Open */
-#define TAGGED 86 /* to s @Tagged */
-#define INCGRAPHIC 87 /* to s @IncludeGraphic */
-#define SINCGRAPHIC 88 /* to s @SysIncludeGraphic */
-#define PLAIN_GRAPHIC 89 /* to s @PlainGraphic */
-#define GRAPHIC 90 /* to s @Graphic */
-#define TSPACE 91 /* t a space token, parser only */
-#define TJUXTA 92 /* t a juxta token, parser only */
-#define LBR 93 /* t s left brace token */
-#define RBR 94 /* t s right brace token */
-#define BEGIN 95 /* t s @Begin token */
-#define END 96 /* t s @End token */
-#define USE 97 /* t s @Use */
-#define NOT_REVEALED 98 /* t s @NotRevealed */
-#define GSTUB_NONE 99 /* t a galley stub, no rpar */
-#define GSTUB_INT 100 /* t galley stub internal rpar */
-#define GSTUB_EXT 101 /* t galley stub external rpar */
-#define UNEXPECTED_EOF 102 /* t unexpected end of file */
-#define INCLUDE 103 /* s @Include */
-#define SYS_INCLUDE 104 /* s @SysInclude */
-#define PREPEND 105 /* s @Prepend */
-#define SYS_PREPEND 106 /* s @SysPrepend */
-#define DATABASE 107 /* s @Database */
-#define SYS_DATABASE 108 /* s @SysDatabase */
-/* #define START 109 */ /* s \Start */
-#define DEAD 110 /* i a dead galley */
-#define UNATTACHED 111 /* i an inner, unsized galley */
-#define RECEPTIVE 112 /* i a receptive object index */
-#define RECEIVING 113 /* i a receiving object index */
-#define RECURSIVE 114 /* i a recursive definite obj. */
-#define PRECEDES 115 /* i an ordering constraint */
-#define FOLLOWS 116 /* i other end of ordering c. */
-#define CROSS_LIT 117 /* i literal word cross-ref */
-#define CROSS_FOLL 118 /* i following type cross-ref */
-#define CROSS_FOLL_OR_PREC 119 /* i follorprec type cross-ref */
-#define GALL_FOLL 120 /* i galley with &&following */
-#define GALL_FOLL_OR_PREC 121 /* i galley with &&following */
-#define CROSS_TARG 122 /* i value of cross-ref */
-#define GALL_TARG 123 /* i target of these galleys */
-#define GALL_PREC 124 /* i galley with &&preceding */
-#define CROSS_PREC 125 /* i preceding type cross-ref */
-#define PAGE_LABEL_IND 126 /* i index of PAGE_LABEL */
-#define SCALE_IND 127 /* i index of auto SCALE */
-#define COVER_IND 128 /* i index of HCOVER or VCOVER */
-#define EXPAND_IND 129 /* i index of HEXPAND or VEXPD */
-#define THREAD 130 /* a sequence of threads */
-#define CROSS_SYM 131 /* cross-ref info */
-#define CR_ROOT 132 /* RootCross */
-#define MACRO 133 /* a macro symbol */
-#define LOCAL 134 /* a local symbol */
-#define LPAR 135 /* a left parameter */
-#define NPAR 136 /* a named parameter */
-#define RPAR 137 /* a right parameter */
-#define EXT_GALL 138 /* an external galley */
-#define CR_LIST 139 /* a list of cross references */
-#define DISPOSED 140 /* a disposed record */
+#define OUTLINE 62 /* to s @Outline */
+#define LANGUAGE 63 /* to s @Language */
+#define CURR_LANG 64 /* to s @CurrLang */
+#define CURR_FAMILY 65 /* to s @CurrFamily */
+#define CURR_FACE 66 /* to s @CurrFace */
+#define CURR_YUNIT 67 /* to s @CurrYUnit */
+#define CURR_ZUNIT 68 /* to s @CurrZUnit */
+#define COMMON 69 /* to s @Common */
+#define RUMP 70 /* to s @Rump */
+#define MELD 71 /* to s @Meld */
+#define INSERT 72 /* to s @Insert */
+#define ONE_OF 73 /* to s @OneOf */
+#define NEXT 74 /* to s @Next */
+#define PLUS 75 /* to s @Plus */
+#define MINUS 76 /* to s @Minus */
+#define ENV_OBJ 77 /* to s object with envt (no name) */
+#define ENV 78 /* to s @LEnv */
+#define ENVA 79 /* to s @LEnvA */
+#define ENVB 80 /* to s @LEnvB */
+#define ENVC 81 /* to s @LEnvC */
+#define ENVD 82 /* to s @LEnvD */
+#define CENV 83 /* to s @LCEnv */
+#define CLOS 84 /* to s @LClos */
+#define LVIS 85 /* to s @LVis */
+#define LUSE 86 /* to s @LUse */
+#define LEO 87 /* to s @LEO */
+#define OPEN 88 /* to s @Open */
+#define TAGGED 89 /* to s @Tagged */
+#define INCGRAPHIC 90 /* to s @IncludeGraphic */
+#define SINCGRAPHIC 91 /* to s @SysIncludeGraphic */
+#define PLAIN_GRAPHIC 92 /* to s @PlainGraphic */
+#define GRAPHIC 93 /* to s @Graphic */
+#define TSPACE 94 /* t a space token, parser only */
+#define TJUXTA 95 /* t a juxta token, parser only */
+#define LBR 96 /* t s left brace token */
+#define RBR 97 /* t s right brace token */
+#define BEGIN 98 /* t s @Begin token */
+#define END 99 /* t s @End token */
+#define USE 100 /* t s @Use */
+#define NOT_REVEALED 101 /* t s @NotRevealed */
+#define GSTUB_NONE 102 /* t a galley stub, no rpar */
+#define GSTUB_INT 103 /* t galley stub internal rpar */
+#define GSTUB_EXT 104 /* t galley stub external rpar */
+#define UNEXPECTED_EOF 105 /* t unexpected end of file */
+#define INCLUDE 106 /* s @Include */
+#define SYS_INCLUDE 107 /* s @SysInclude */
+#define PREPEND 108 /* s @Prepend */
+#define SYS_PREPEND 109 /* s @SysPrepend */
+#define DATABASE 110 /* s @Database */
+#define SYS_DATABASE 111 /* s @SysDatabase */
+/* #define START 112 */ /* s \Start */
+#define DEAD 113 /* i a dead galley */
+#define UNATTACHED 114 /* i an inner, unsized galley */
+#define RECEPTIVE 115 /* i a receptive object index */
+#define RECEIVING 116 /* i a receiving object index */
+#define RECURSIVE 117 /* i a recursive definite obj. */
+#define PRECEDES 118 /* i an ordering constraint */
+#define FOLLOWS 119 /* i other end of ordering c. */
+#define CROSS_LIT 120 /* i literal word cross-ref */
+#define CROSS_FOLL 121 /* i following type cross-ref */
+#define CROSS_FOLL_OR_PREC 122 /* i follorprec type cross-ref */
+#define GALL_FOLL 123 /* i galley with &&following */
+#define GALL_FOLL_OR_PREC 124 /* i galley with &&following */
+#define CROSS_TARG 125 /* i value of cross-ref */
+#define GALL_TARG 126 /* i target of these galleys */
+#define GALL_PREC 127 /* i galley with &&preceding */
+#define CROSS_PREC 128 /* i preceding type cross-ref */
+#define PAGE_LABEL_IND 129 /* i index of PAGE_LABEL */
+#define SCALE_IND 130 /* i index of auto SCALE */
+#define COVER_IND 131 /* i index of HCOVER or VCOVER */
+#define EXPAND_IND 132 /* i index of HEXPAND or VEXPD */
+#define THREAD 133 /* a sequence of threads */
+#define CROSS_SYM 134 /* cross-ref info */
+#define CR_ROOT 135 /* RootCross */
+#define MACRO 136 /* a macro symbol */
+#define LOCAL 137 /* a local symbol */
+#define LPAR 138 /* a left parameter */
+#define NPAR 139 /* a named parameter */
+#define RPAR 140 /* a right parameter */
+#define EXT_GALL 141 /* an external galley */
+#define CR_LIST 142 /* a list of cross references */
+#define DISPOSED 143 /* a disposed record */
#define is_indefinite(x) ((x) >= CLOSURE && (x) <= HEAD)
#define is_definite(x) ((x) >= SPLIT && (x) <= GRAPHIC)
@@ -2029,9 +2041,9 @@ typedef struct mapvec {
#define SMALL_CAPS_ON 1 /* small capitals */
/* sides of a mark */
-#define BACK 141 /* means lies to left of mark */
-#define ON 142 /* means lies on mark */
-#define FWD 143 /* means lies to right of mark */
+#define BACK 144 /* means lies to left of mark */
+#define ON 145 /* means lies on mark */
+#define FWD 146 /* means lies to right of mark */
/* statuses of thread objects */
#define NOTSIZED 0 /* this thread object is not sized */
@@ -2039,15 +2051,15 @@ typedef struct mapvec {
#define FINALSIZE 2 /* thread object size is now final */
/* constraint statuses */
-#define PROMOTE 144 /* this component may be promoted */
-#define CLOSE 145 /* must close dest before promoting */
-#define BLOCK 146 /* cannot promote this component */
-#define CLEAR 147 /* this constraint is now satisfied */
+#define PROMOTE 147 /* this component may be promoted */
+#define CLOSE 148 /* must close dest before promoting */
+#define BLOCK 149 /* cannot promote this component */
+#define CLEAR 150 /* this constraint is now satisfied */
/* gap increment types */
-#define GAP_ABS 148 /* absolute, e.g. 3p */
-#define GAP_INC 149 /* increment, e.g. +3p */
-#define GAP_DEC 150 /* decrement, e.g. -3p */
+#define GAP_ABS 151 /* absolute, e.g. 3p */
+#define GAP_INC 152 /* increment, e.g. +3p */
+#define GAP_DEC 153 /* decrement, e.g. -3p */
/* file types */
#define SOURCE_FILE 0 /* input file from command line */
@@ -2231,10 +2243,13 @@ typedef struct mapvec {
#define KW_UNDERLINE AsciiToFull("@Underline")
#define KW_COLOUR AsciiToFull("@SetColour")
#define KW_COLOR AsciiToFull("@SetColor")
+#define KW_OUTLINE AsciiToFull("@Outline")
#define KW_LANGUAGE AsciiToFull("@Language")
#define KW_CURR_LANG AsciiToFull("@CurrLang")
#define KW_CURR_FAMILY AsciiToFull("@CurrFamily")
#define KW_CURR_FACE AsciiToFull("@CurrFace")
+#define KW_CURR_YUNIT AsciiToFull("@CurrYUnit")
+#define KW_CURR_ZUNIT AsciiToFull("@CurrZUnit")
#define KW_ENV AsciiToFull("@LEnv")
#define KW_ENVA AsciiToFull("@@A")
#define KW_ENVB AsciiToFull("@@B")