165 |
int bottom_margin; /* Bottom margin in lines. */ |
int bottom_margin; /* Bottom margin in lines. */ |
166 |
int paginate; /* 1=insert formfeeds. */ |
int paginate; /* 1=insert formfeeds. */ |
167 |
int tab_width; /* Width of a tab; 0 not to use tabs. */ |
int tab_width; /* Width of a tab; 0 not to use tabs. */ |
168 |
struct len_string ops[OPS_COUNT]; /* Basic output strings. */ |
struct fixed_string ops[OPS_COUNT]; /* Basic output strings. */ |
169 |
struct len_string box[LNS_COUNT]; /* Line & box drawing characters. */ |
struct fixed_string box[LNS_COUNT]; /* Line & box drawing characters. */ |
170 |
struct len_string fonts[FSTY_COUNT]; /* Font styles; NULL=overstrike. */ |
struct fixed_string fonts[FSTY_COUNT]; /* Font styles; NULL=overstrike. */ |
171 |
int overstrike_style; /* OVS_SINGLE or OVS_LINE. */ |
int overstrike_style; /* OVS_SINGLE or OVS_LINE. */ |
172 |
int carriage_return_style; /* Carriage return style. */ |
int carriage_return_style; /* Carriage return style. */ |
173 |
int squeeze_blank_lines; /* 1=squeeze multiple blank lines into one. */ |
int squeeze_blank_lines; /* 1=squeeze multiple blank lines into one. */ |
599 |
break; |
break; |
600 |
case string_arg: |
case string_arg: |
601 |
{ |
{ |
602 |
struct len_string *s; |
struct fixed_string *s; |
603 |
switch (subcat) |
switch (subcat) |
604 |
{ |
{ |
605 |
case 0: |
case 0: |
670 |
postopen (struct file_ext *f) |
postopen (struct file_ext *f) |
671 |
{ |
{ |
672 |
struct ascii_driver_ext *x = f->param; |
struct ascii_driver_ext *x = f->param; |
673 |
struct len_string *s = &x->ops[OPS_INIT]; |
struct fixed_string *s = &x->ops[OPS_INIT]; |
674 |
|
|
675 |
if (!ls_empty_p (s) && fwrite (ls_c_str (s), ls_length (s), 1, f->file) < 1) |
if (!ls_empty_p (s) && fwrite (ls_c_str (s), ls_length (s), 1, f->file) < 1) |
676 |
{ |
{ |
685 |
preclose (struct file_ext *f) |
preclose (struct file_ext *f) |
686 |
{ |
{ |
687 |
struct ascii_driver_ext *x = f->param; |
struct ascii_driver_ext *x = f->param; |
688 |
struct len_string *d = &x->ops[OPS_DONE]; |
struct fixed_string *d = &x->ops[OPS_DONE]; |
689 |
|
|
690 |
if (!ls_empty_p (d) && fwrite (ls_c_str (d), ls_length (d), 1, f->file) < 1) |
if (!ls_empty_p (d) && fwrite (ls_c_str (d), ls_length (d), 1, f->file) < 1) |
691 |
{ |
{ |
1209 |
{ |
{ |
1210 |
if (*bp & 0x800) |
if (*bp & 0x800) |
1211 |
{ |
{ |
1212 |
struct len_string *box = &ext->box[*bp & 0xff]; |
struct fixed_string *box = &ext->box[*bp & 0xff]; |
1213 |
size_t len = ls_length (box); |
size_t len = ls_length (box); |
1214 |
|
|
1215 |
if (remaining >= len) |
if (remaining >= len) |
1228 |
} |
} |
1229 |
else if (*bp & 0x0300) |
else if (*bp & 0x0300) |
1230 |
{ |
{ |
1231 |
struct len_string *on; |
struct fixed_string *on; |
1232 |
char buf[5]; |
char buf[5]; |
1233 |
int len; |
int len; |
1234 |
|
|
1373 |
struct ascii_driver_ext *ext = this->ext; |
struct ascii_driver_ext *ext = this->ext; |
1374 |
int line_num; |
int line_num; |
1375 |
|
|
1376 |
struct len_string *newline = &ext->ops[OPS_NEWLINE]; |
struct fixed_string *newline = &ext->ops[OPS_NEWLINE]; |
1377 |
|
|
1378 |
int n_chars; |
int n_chars; |
1379 |
int n_passes; |
int n_passes; |
1421 |
/* Turn off old font. */ |
/* Turn off old font. */ |
1422 |
if (attr != (OUTP_F_R << 8)) |
if (attr != (OUTP_F_R << 8)) |
1423 |
{ |
{ |
1424 |
struct len_string *off; |
struct fixed_string *off; |
1425 |
|
|
1426 |
switch (attr) |
switch (attr) |
1427 |
{ |
{ |
1446 |
attr = (*bp & 0x0300); |
attr = (*bp & 0x0300); |
1447 |
if (attr != (OUTP_F_R << 8)) |
if (attr != (OUTP_F_R << 8)) |
1448 |
{ |
{ |
1449 |
struct len_string *on; |
struct fixed_string *on; |
1450 |
|
|
1451 |
switch (attr) |
switch (attr) |
1452 |
{ |
{ |