diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-06-25 18:53:14 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-06-25 18:53:14 +0000 |
commit | e38e92fb342e1fd7972ac583e284ef136e875f84 (patch) | |
tree | c5a249ab316aec4cc0440968a92bd0ebf5dcaa52 /term_ps.c | |
parent | c085e34da24e96f30415b3bb39ccf1d20b32fd83 (diff) | |
download | mandoc-e38e92fb342e1fd7972ac583e284ef136e875f84.tar.gz |
Initial chunks for variable-width fonts. Pushes all width calculations
in mdoc_term.c and man_term.c down into term.c. This is still not
implemented in term.c, although stubs for width calculations are in
place. From now on, offset, rmargin, and other layout variables are
abstract screen widths. They will resolve to the the familiar values
for -Tascii but -Tps will eventually use points instead of chars.
Diffstat (limited to 'term_ps.c')
-rw-r--r-- | term_ps.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -60,6 +60,7 @@ static void ps_end(struct termp *); static void ps_advance(struct termp *, size_t); static void ps_endline(struct termp *); static void ps_fclose(struct termp *); +static size_t ps_width(const struct termp *, char); static void ps_pclose(struct termp *); static void ps_pletter(struct termp *, char); static void ps_printf(struct termp *, const char *, ...); @@ -75,12 +76,16 @@ ps_alloc(void) if (NULL == (p = term_alloc(TERMENC_ASCII))) return(NULL); + p->defrmargin = 78; + p->tabwidth = 5; + p->type = TERMTYPE_PS; p->letter = ps_letter; p->begin = ps_begin; p->end = ps_end; p->advance = ps_advance; p->endline = ps_endline; + p->width = ps_width; return(p); } @@ -425,3 +430,10 @@ ps_setfont(struct termp *p, enum termfont f) p->engine.ps.lastf = f; } + +static size_t +ps_width(const struct termp *p, char c) +{ + + return(1); +} |