From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from localhost (fantadrom.bsd.lv [local]) by fantadrom.bsd.lv (OpenSMTPD) with ESMTPA id 9e939c1f for ; Sat, 15 Dec 2018 19:17:37 -0500 (EST) Date: Sat, 15 Dec 2018 19:17:37 -0500 (EST) X-Mailinglist: mandoc-source Reply-To: source@mandoc.bsd.lv MIME-Version: 1.0 From: schwarze@mandoc.bsd.lv To: source@mandoc.bsd.lv Subject: mandoc: Yet another round of improvements to manual font selection. X-Mailer: activitymail 1.26, http://search.cpan.org/dist/activitymail/ Content-Type: text/plain; charset=utf-8 Message-ID: <05f5ff316b3751e2@fantadrom.bsd.lv> Log Message: ----------- Yet another round of improvements to manual font selection. Unify handling of \f and .ft. Support \f4 (bold+italic). Support ".ft BI" and ".ft CW" for terminal output. Support the .ft request in HTML output. Reject the bogus fonts \f(C1, \f(C2, \f(C3, and \f(CP. In regress.pl, only strip leading whitespace in math mode. Modified Files: -------------- mandoc: Makefile.depend html.c html.h man_html.c mandoc.c mandoc.h mandoc_headers.3 mdoc_html.c roff.7 roff_html.c roff_term.c roff_validate.c tbl_html.c mandoc/regress: regress.pl mandoc/regress/roff/esc: Makefile f.in f.out_ascii mandoc/regress/roff/ft: Makefile badargs.in badargs.out_ascii badargs.out_lint Added Files: ----------- mandoc/regress/roff/esc: f.out_html mandoc/regress/roff/ft: badargs.out_html Revision Data ------------- Index: regress.pl =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/regress.pl,v retrieving revision 1.8 retrieving revision 1.9 diff -Lregress/regress.pl -Lregress/regress.pl -u -p -r1.8 -r1.9 --- regress/regress.pl +++ regress/regress.pl @@ -79,23 +79,25 @@ sub syshtml ($@) { open my $outfd, '>', $outfile or die "$outfile: $!"; my $infd; my $pid = open3 undef, $infd, undef, @_; - my $state; + my $state = 0; while (<$infd>) { chomp; if (!$state && s/.*//) { - $state = 1; + $state = 'math'; next unless length; + } elsif (/^BEGINTEST/) { + $state = 'other'; } - $state = 1 if /^BEGINTEST/; - if ($state && s/<\/math>.*//) { + if ($state eq 'math') { s/^ *//; - print $outfd "$_\n" if length; - undef $state; - next; + if (s/<\/math>.*//) { + print $outfd "$_\n" if length; + $state = 0; + next; + } } - s/^ *//; print $outfd "$_\n" if $state; - undef $state if /^ENDTEST/; + $state = 0 if /^ENDTEST/; } close $outfd; close $infd; Index: mandoc_headers.3 =================================================================== RCS file: /home/cvs/mandoc/mandoc/mandoc_headers.3,v retrieving revision 1.28 retrieving revision 1.29 diff -Lmandoc_headers.3 -Lmandoc_headers.3 -u -p -r1.28 -r1.29 --- mandoc_headers.3 +++ mandoc_headers.3 @@ -556,7 +556,10 @@ or Requires .In sys/types.h for -.Vt size_t +.Vt size_t , +.Pa mandoc.h +for +.Vt enum mandoc_esc , and .Qq Pa out.h for Index: roff_html.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/roff_html.c,v retrieving revision 1.14 retrieving revision 1.15 diff -Lroff_html.c -Lroff_html.c -u -p -r1.14 -r1.15 --- roff_html.c +++ roff_html.c @@ -18,8 +18,10 @@ #include #include -#include +#include +#include +#include "mandoc.h" #include "roff.h" #include "out.h" #include "html.h" @@ -30,12 +32,13 @@ typedef void (*roff_html_pre_fp)(ROFF_HT static void roff_html_pre_br(ROFF_HTML_ARGS); static void roff_html_pre_ce(ROFF_HTML_ARGS); +static void roff_html_pre_ft(ROFF_HTML_ARGS); static void roff_html_pre_sp(ROFF_HTML_ARGS); static const roff_html_pre_fp roff_html_pre_acts[ROFF_MAX] = { roff_html_pre_br, /* br */ roff_html_pre_ce, /* ce */ - NULL, /* ft */ + roff_html_pre_ft, /* ft */ NULL, /* ll */ NULL, /* mc */ NULL, /* po */ @@ -72,6 +75,15 @@ roff_html_pre_ce(ROFF_HTML_ARGS) roff_html_pre(h, n); } roff_html_pre_br(h, n); +} + +static void +roff_html_pre_ft(ROFF_HTML_ARGS) +{ + const char *cp; + + cp = n->child->string; + print_metaf(h, mandoc_font(cp, (int)strlen(cp))); } static void Index: html.h =================================================================== RCS file: /home/cvs/mandoc/mandoc/html.h,v retrieving revision 1.95 retrieving revision 1.96 diff -Lhtml.h -Lhtml.h -u -p -r1.95 -r1.96 --- html.h +++ html.h @@ -125,6 +125,7 @@ void roff_html_pre(struct html *, con void print_gen_comment(struct html *, struct roff_node *); void print_gen_decls(struct html *); void print_gen_head(struct html *); +void print_metaf(struct html *, enum mandoc_esc); struct tag *print_otag(struct html *, enum htmltag, const char *, ...); void print_tagq(struct html *, const struct tag *); void print_stagq(struct html *, const struct tag *); Index: mdoc_html.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/mdoc_html.c,v retrieving revision 1.317 retrieving revision 1.318 diff -Lmdoc_html.c -Lmdoc_html.c -u -p -r1.317 -r1.318 --- mdoc_html.c +++ mdoc_html.c @@ -27,6 +27,7 @@ #include #include "mandoc_aux.h" +#include "mandoc.h" #include "roff.h" #include "mdoc.h" #include "out.h" Index: roff.7 =================================================================== RCS file: /home/cvs/mandoc/mandoc/roff.7,v retrieving revision 1.108 retrieving revision 1.109 diff -Lroff.7 -Lroff.7 -u -p -r1.108 -r1.109 --- roff.7 +++ roff.7 @@ -132,20 +132,73 @@ One-letter backslash escape. See .Xr mandoc_char 7 for a complete list. -.Ss Text Decoration -Terms may be text-decorated using the -.Sq \ef -escape followed by an indicator: B (bold), I (italic), R (regular), or P -(revert to previous mode). -A numerical representation 3, 2, or 1 (bold, italic, and regular, -respectively) may be used instead. -The indicator or numerical representative may be preceded by C -(constant-width), which is ignored. -.Pp -The two-character indicator -.Sq BI -requests a font that is both bold and italic. -It may not be portable to old roff implementations. +.Ss Font Selection +In +.Xr mdoc 7 +and +.Xr man 7 +documents, fonts are usually selected with macros. +The +.Ic \ef +escape sequence and the +.Ic \&ft +request can be used to manually change the font, +but this is not recommended in +.Xr mdoc 7 +documents. +Such manual font changes are overridden by many subsequent macros. +.Pp +The following fonts are supported: +.Pp +.Bl -tag -width CW -offset indent -compact +.It Cm B +Bold font. +.It Cm BI +A font that is both bold and italic. +.It Cm CB +Bold constant width font. +Same as +.Cm B +in terminal output. +.It Cm CI +Italic constant width font. +Same as +.Cm I +in terminal output. +.It Cm CR +Regular constant width font. +Same as +.Cm R +in terminal output. +.It Cm CW +An alias for +.Cm CR . +.It Cm I +Italic font. +.It Cm P +Return to the previous font. +If a macro caused a font change since the last +.Ic \ef +eascape sequence or +.Ic \&ft +request, this returns to the font before the last font change in +the macro rather than to the font before the last manual font change. +.It Cm R +Roman font. +This is the default font. +.It Cm 1 +An alias for +.Cm R . +.It Cm 2 +An alias for +.Cm I . +.It Cm 3 +An alias for +.Cm B . +.It Cm 4 +An alias for +.Cm BI . +.El .Pp Examples: .Bl -tag -width Ds -offset indent -compact @@ -156,12 +209,6 @@ Write in \fIitalic\fP, then return to pr .It Li \ef(BIbold italic\efP Write in \f(BIbold italic\fP, then return to previous font mode. .El -.Pp -Text decoration is -.Em not -recommended for -.Xr mdoc 7 , -which encourages semantic annotation. .Ss Whitespace Whitespace consists of the space character. In text lines, whitespace is preserved within a line. @@ -890,27 +937,12 @@ This is a Heirloom extension and current Conditionally define a special font. This is a groff extension and currently ignored. .It Ic \&ft Op Ar font -Change the font. -The following +Change the font; see +.Sx Font Selection . +The .Ar font -arguments are supported: -.Bl -tag -width 4n -offset indent -.It Cm B , BI , CB , 3 , 4 -switches to -.Sy bold -font -.It Cm I , CI , 2 -switches to -.Em underlined -font -.It Cm R , CR , CW , 1 -switches to normal font -.It Cm P No "or no argument" -switches back to the previous font -.El -.Pp -This request takes effect only locally and may be overridden -by macros and escape sequences. +argument defaults to +.Cm P . .It Ic \&ftr Ar newname Op Ar oldname Translate font name. This is a groff extension and currently ignored. @@ -2006,11 +2038,15 @@ and Switch to the font .Ar name , see -.Sx Text Decoration . +.Sx Font Selection . For short names, there are variants .Ic \ef Ns Ar c and .Ic \ef( Ns Ar cc . +An empty name +.Ic \ef[] +defaults to +.Ic \efP . .It Ic \eg[ Ns Ar name Ns Ic \&] Interpolate the format of a number register; ignored by .Xr mandoc 1 . Index: roff_validate.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/roff_validate.c,v retrieving revision 1.14 retrieving revision 1.15 diff -Lroff_validate.c -Lroff_validate.c -u -p -r1.14 -r1.15 --- roff_validate.c +++ roff_validate.c @@ -104,30 +104,8 @@ roff_valid_ft(ROFF_VALID_ARGS) } cp = n->child->string; - switch (*cp) { - case '1': - case '2': - case '3': - case '4': - case 'I': - case 'P': - case 'R': - if (cp[1] == '\0') - return; - break; - case 'B': - if (cp[1] == '\0' || (cp[1] == 'I' && cp[2] == '\0')) - return; - break; - case 'C': - if (cp[1] != '\0' && cp[2] == '\0' && - strchr("BIRW", cp[1]) != NULL) - return; - break; - default: - break; - } - + if (mandoc_font(cp, (int)strlen(cp)) != ESCAPE_ERROR) + return; mandoc_msg(MANDOCERR_FT_BAD, n->line, n->pos, "ft %s", cp); roff_node_delete(man, n); } Index: roff_term.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/roff_term.c,v retrieving revision 1.16 retrieving revision 1.17 diff -Lroff_term.c -Lroff_term.c -u -p -r1.16 -r1.17 --- roff_term.c +++ roff_term.c @@ -18,6 +18,7 @@ #include #include +#include #include "mandoc.h" #include "roff.h" @@ -113,25 +114,22 @@ roff_term_pre_ft(ROFF_TERM_ARGS) { const char *cp; - if (*(cp = n->child->string) == 'C') - cp++; - - switch (*cp) { - case '4': - case '3': - case 'B': + cp = n->child->string; + switch (mandoc_font(cp, (int)strlen(cp))) { + case ESCAPE_FONTBOLD: term_fontrepl(p, TERMFONT_BOLD); break; - case '2': - case 'I': + case ESCAPE_FONTITALIC: term_fontrepl(p, TERMFONT_UNDER); break; - case 'P': + case ESCAPE_FONTBI: + term_fontrepl(p, TERMFONT_BI); + break; + case ESCAPE_FONTPREV: term_fontlast(p); break; - case '1': - case 'C': - case 'R': + case ESCAPE_FONTROMAN: + case ESCAPE_FONTCW: term_fontrepl(p, TERMFONT_NONE); break; default: Index: man_html.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/man_html.c,v retrieving revision 1.159 retrieving revision 1.160 diff -Lman_html.c -Lman_html.c -u -p -r1.159 -r1.160 --- man_html.c +++ man_html.c @@ -26,6 +26,7 @@ #include #include "mandoc_aux.h" +#include "mandoc.h" #include "roff.h" #include "man.h" #include "out.h" Index: mandoc.h =================================================================== RCS file: /home/cvs/mandoc/mandoc/mandoc.h,v retrieving revision 1.261 retrieving revision 1.262 diff -Lmandoc.h -Lmandoc.h -u -p -r1.261 -r1.262 --- mandoc.h +++ mandoc.h @@ -270,6 +270,7 @@ enum mandoc_esc { }; +enum mandoc_esc mandoc_font(const char *, int sz); enum mandoc_esc mandoc_escape(const char **, const char **, int *); void mandoc_msg_setoutfile(FILE *); const char *mandoc_msg_getinfilename(void); Index: tbl_html.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/tbl_html.c,v retrieving revision 1.30 retrieving revision 1.31 diff -Ltbl_html.c -Ltbl_html.c -u -p -r1.30 -r1.31 --- tbl_html.c +++ tbl_html.c @@ -24,6 +24,7 @@ #include #include +#include "mandoc.h" #include "tbl.h" #include "out.h" #include "html.h" Index: Makefile.depend =================================================================== RCS file: /home/cvs/mandoc/mandoc/Makefile.depend,v retrieving revision 1.39 retrieving revision 1.40 diff -LMakefile.depend -LMakefile.depend -u -p -r1.39 -r1.40 --- Makefile.depend +++ Makefile.depend @@ -34,7 +34,7 @@ html.o: html.c config.h mandoc_aux.h man lib.o: lib.c config.h roff.h libmdoc.h lib.in main.o: main.c config.h mandoc_aux.h mandoc.h mandoc_xr.h roff.h mdoc.h man.h mandoc_parse.h tag.h main.h manconf.h mansearch.h man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h -man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h +man_html.o: man_html.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h html.h main.h man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h man_term.o: man_term.c config.h mandoc_aux.h roff.h man.h out.h term.h main.h man_validate.o: man_validate.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h @@ -49,7 +49,7 @@ manpath.o: manpath.c config.h mandoc_aux mansearch.o: mansearch.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h -mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h +mdoc_html.o: mdoc_html.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h out.h html.h main.h mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h mdoc_markdown.o: mdoc_markdown.c mandoc_aux.h mandoc.h roff.h mdoc.h main.h @@ -61,7 +61,7 @@ out.o: out.c config.h mandoc_aux.h tbl.h preconv.o: preconv.c config.h mandoc.h roff.h mandoc_parse.h libmandoc.h read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h mandoc_parse.h libmandoc.h roff_int.h roff.o: roff.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mandoc_parse.h libmandoc.h roff_int.h tbl_parse.h eqn_parse.h predefs.in -roff_html.o: roff_html.c roff.h out.h html.h +roff_html.o: roff_html.c mandoc.h roff.h out.h html.h roff_term.o: roff_term.c mandoc.h roff.h out.h term.h roff_validate.o: roff_validate.c mandoc.h roff.h libmandoc.h roff_int.h soelim.o: soelim.c config.h compat_stringlist.h @@ -69,7 +69,7 @@ st.o: st.c config.h mandoc.h roff.h libm tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h tag.h tbl.o: tbl.c config.h mandoc_aux.h mandoc.h tbl.h libmandoc.h tbl_parse.h tbl_int.h tbl_data.o: tbl_data.c config.h mandoc_aux.h mandoc.h tbl.h libmandoc.h tbl_int.h -tbl_html.o: tbl_html.c config.h tbl.h out.h html.h +tbl_html.o: tbl_html.c config.h mandoc.h tbl.h out.h html.h tbl_layout.o: tbl_layout.c config.h mandoc_aux.h mandoc.h tbl.h libmandoc.h tbl_int.h tbl_opts.o: tbl_opts.c config.h mandoc.h tbl.h libmandoc.h tbl_int.h tbl_term.o: tbl_term.c config.h mandoc.h tbl.h out.h term.h Index: html.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/html.c,v retrieving revision 1.246 retrieving revision 1.247 diff -Lhtml.c -Lhtml.c -u -p -r1.246 -r1.247 --- html.c +++ html.c @@ -117,7 +117,6 @@ static void print_ctag(struct html *, s static int print_escape(struct html *, char); static int print_encode(struct html *, const char *, const char *, int); static void print_href(struct html *, const char *, const char *, int); -static void print_metaf(struct html *, enum mandoc_esc); void * @@ -210,7 +209,7 @@ print_gen_head(struct html *h) print_tagq(h, t); } -static void +void print_metaf(struct html *h, enum mandoc_esc deco) { enum htmlfont font; @@ -236,7 +235,7 @@ print_metaf(struct html *h, enum mandoc_ font = HTMLFONT_NONE; break; default: - abort(); + return; } if (h->metaf) { Index: mandoc.c =================================================================== RCS file: /home/cvs/mandoc/mandoc/mandoc.c,v retrieving revision 1.111 retrieving revision 1.112 diff -Lmandoc.c -Lmandoc.c -u -p -r1.111 -r1.112 --- mandoc.c +++ mandoc.c @@ -38,6 +38,59 @@ static char *time2a(time_t); enum mandoc_esc +mandoc_font(const char *cp, int sz) +{ + switch (sz) { + case 0: + return ESCAPE_FONTPREV; + case 1: + switch (cp[0]) { + case 'B': + case '3': + return ESCAPE_FONTBOLD; + case 'I': + case '2': + return ESCAPE_FONTITALIC; + case 'P': + return ESCAPE_FONTPREV; + case 'R': + case '1': + return ESCAPE_FONTROMAN; + case '4': + return ESCAPE_FONTBI; + default: + return ESCAPE_ERROR; + } + case 2: + switch (cp[0]) { + case 'B': + switch (cp[1]) { + case 'I': + return ESCAPE_FONTBI; + default: + return ESCAPE_ERROR; + } + case 'C': + switch (cp[1]) { + case 'B': + return ESCAPE_FONTBOLD; + case 'I': + return ESCAPE_FONTITALIC; + case 'R': + case 'W': + return ESCAPE_FONTCW; + default: + return ESCAPE_ERROR; + } + default: + return ESCAPE_ERROR; + } + default: + return ESCAPE_ERROR; + } +} + +enum mandoc_esc mandoc_escape(const char **end, const char **start, int *sz) { const char *local_start; @@ -367,47 +420,7 @@ mandoc_escape(const char **end, const ch switch (gly) { case ESCAPE_FONT: - if (*sz == 2) { - if (**start == 'C') { - if ((*start)[1] == 'W' || - (*start)[1] == 'R') { - gly = ESCAPE_FONTCW; - break; - } - /* - * Treat other constant-width font modes - * just like regular font modes. - */ - (*start)++; - (*sz)--; - } else { - if ((*start)[0] == 'B' && (*start)[1] == 'I') - gly = ESCAPE_FONTBI; - break; - } - } else if (*sz != 1) { - if (*sz == 0) - gly = ESCAPE_FONTPREV; - break; - } - - switch (**start) { - case '3': - case 'B': - gly = ESCAPE_FONTBOLD; - break; - case '2': - case 'I': - gly = ESCAPE_FONTITALIC; - break; - case 'P': - gly = ESCAPE_FONTPREV; - break; - case '1': - case 'R': - gly = ESCAPE_FONTROMAN; - break; - } + gly = mandoc_font(*start, *sz); break; case ESCAPE_SPECIAL: if (**start == 'c') { Index: f.out_ascii =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/roff/esc/f.out_ascii,v retrieving revision 1.2 retrieving revision 1.3 diff -Lregress/roff/esc/f.out_ascii -Lregress/roff/esc/f.out_ascii -u -p -r1.2 -r1.3 --- regress/roff/esc/f.out_ascii +++ regress/roff/esc/f.out_ascii @@ -1,11 +1,18 @@ ESC-F(1) General Commands Manual ESC-F(1) + + NNAAMMEE - eesscc--ff - the roff escape f sequence: font changes + esc-f - the roff escape f sequence: font changes DDEESSCCRRIIPPTTIIOONN - numbers: bboolldd_i_t_a_l_i_croman - letters: bboolldd_i_t_a_l_i_cbbaacckk_bb_oo_ll_dd_ii_tt_aa_ll_ii_ccroman - multiletter: bboolldd_i_t_a_l_i_cbbaacckk_bb_oo_ll_dd_ii_tt_aa_ll_ii_ccroman + BEGINTEST + numbers: _bb_oo_ll_dd_ii_tt_aa_ll_ii_ccbboolldd_i_t_a_l_i_croman + letters: bboolldd_i_t_a_l_i_cbbaacckk_bb_oo_ll_dd_ii_tt_aa_ll_ii_ccroman + multiletter: bboollddempty_i_t_a_l_i_cback_bb_oo_ll_dd_ii_tt_aa_ll_ii_ccroman + typewriter: romanbboollddroman_i_t_a_l_i_croman + ENDTEST + + -OpenBSD July 4, 2017 OpenBSD +OpenBSD December 15, 2018 ESC-F(1) Index: f.in =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/roff/esc/f.in,v retrieving revision 1.2 retrieving revision 1.3 diff -Lregress/roff/esc/f.in -Lregress/roff/esc/f.in -u -p -r1.2 -r1.3 --- regress/roff/esc/f.in +++ regress/roff/esc/f.in @@ -1,13 +1,12 @@ -.\" $OpenBSD: f.in,v 1.3 2017/07/04 14:53:27 schwarze Exp $ -.Dd $Mdocdate$ -.Dt ESC-F 1 -.Os -.Sh NAME -.Nm esc-f -.Nd the roff escape f sequence: font changes -.Sh DESCRIPTION -numbers: \f3bold\f2italic\f1roman -.br +.\" $OpenBSD: f.in,v 1.4 2018/12/15 23:33:20 schwarze Exp $ +.TH ESC-F 1 "December 15, 2018" +.SH NAME +esc-f \- the roff escape f sequence: font changes +.SH DESCRIPTION +.nf +BEGINTEST +numbers: \f4bolditalic\f3bold\f2italic\f1roman letters: \fBbold\fIitalic\fPback\f(BIbolditalic\fRroman -.br -multiletter: \f[B]bold\f[I]italic\f[P]back\f[BI]bolditalic\f[R]roman +multiletter: \f[B]bold\f[]empty\f[I]italic\f[P]back\f[BI]bolditalic\f[R]roman +typewriter: \f(CWroman\f(CBbold\f(CRroman\f(CIitalic\fRroman +ENDTEST Index: Makefile =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/roff/esc/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -Lregress/roff/esc/Makefile -Lregress/roff/esc/Makefile -u -p -r1.4 -r1.5 --- regress/roff/esc/Makefile +++ regress/roff/esc/Makefile @@ -1,7 +1,8 @@ -# $OpenBSD: Makefile,v 1.11 2015/04/29 18:32:57 schwarze Exp $ +# $OpenBSD: Makefile,v 1.15 2018/12/15 23:33:20 schwarze Exp $ REGRESS_TARGETS = one two multi B c c_man e f h l O o p w z REGRESS_TARGETS += ignore invalid unsupp +HTML_TARGETS = f LINT_TARGETS = B h l O w ignore invalid unsupp .include --- /dev/null +++ regress/roff/esc/f.out_html @@ -0,0 +1,6 @@ +BEGINTEST +numbers: bolditalicbolditalicroman +letters: bolditalicbackbolditalicroman +multiletter: boldemptyitalicbackbolditalicroman +typewriter: romanboldromanitalicroman +ENDTEST --- /dev/null +++ regress/roff/ft/badargs.out_html @@ -0,0 +1,9 @@ +BEGINTEST +
+default font italic bold italic + typeqriter + roman bold + italic bold still bold + italic back to bold back to italic +
+ENDTEST Index: Makefile =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/roff/ft/Makefile,v retrieving revision 1.2 retrieving revision 1.3 diff -Lregress/roff/ft/Makefile -Lregress/roff/ft/Makefile -u -p -r1.2 -r1.3 --- regress/roff/ft/Makefile +++ regress/roff/ft/Makefile @@ -1,6 +1,7 @@ -# $OpenBSD: Makefile,v 1.1 2014/07/05 12:33:54 schwarze Exp $ +# $OpenBSD: Makefile,v 1.3 2018/12/15 23:33:20 schwarze Exp $ REGRESS_TARGETS = badargs badargs-mdoc +HTML_TARGETS = badargs LINT_TARGETS = badargs badargs-mdoc SKIP_TMAN = badargs Index: badargs.out_ascii =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/roff/ft/badargs.out_ascii,v retrieving revision 1.1 retrieving revision 1.2 diff -Lregress/roff/ft/badargs.out_ascii -Lregress/roff/ft/badargs.out_ascii -u -p -r1.1 -r1.2 --- regress/roff/ft/badargs.out_ascii +++ regress/roff/ft/badargs.out_ascii @@ -6,8 +6,11 @@ NNAAMMEE ft-badargs - font request with bad arguments DDEESSCCRRIIPPTTIIOONN - default font bboolldd ssttiillll bboolldd _i_t_a_l_i_c bbaacckk ttoo bboolldd _b_a_c_k _t_o _i_t_a_l_i_c + BEGINTEST + default font _i_t_a_l_i_c _bb_oo_ll_dd _ii_tt_aa_ll_ii_cc typeqriter roman bboolldd _i_t_a_l_i_c bboolldd ssttiillll + bboolldd _i_t_a_l_i_c bbaacckk ttoo bboolldd _b_a_c_k _t_o _i_t_a_l_i_c + ENDTEST -OpenBSD July 5, 2014 FT-BADARGS(1) +OpenBSD December 15, 2018 FT-BADARGS(1) Index: badargs.in =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/roff/ft/badargs.in,v retrieving revision 1.2 retrieving revision 1.3 diff -Lregress/roff/ft/badargs.in -Lregress/roff/ft/badargs.in -u -p -r1.2 -r1.3 --- regress/roff/ft/badargs.in +++ regress/roff/ft/badargs.in @@ -1,9 +1,23 @@ -.\" $OpenBSD: badargs.in,v 1.3 2017/07/04 14:53:27 schwarze Exp $ -.TH "FT-BADARGS" 1 "July 5, 2014" +.\" $OpenBSD: badargs.in,v 1.5 2018/12/16 00:10:03 schwarze Exp $ +.TH "FT-BADARGS" 1 "December 15, 2018" .SH NAME ft-badargs \(en font request with bad arguments .SH DESCRIPTION +BEGINTEST +.br default font +.ft I +italic +.ft BI +bold italic +.ft CR +typeqriter +.ft CW +roman +.ft CB +bold +.ft CI +italic .ft B bold .ft foo @@ -14,3 +28,6 @@ italic back to bold .ft back to italic +.ft R +.br +ENDTEST Index: badargs.out_lint =================================================================== RCS file: /home/cvs/mandoc/mandoc/regress/roff/ft/badargs.out_lint,v retrieving revision 1.4 retrieving revision 1.5 diff -Lregress/roff/ft/badargs.out_lint -Lregress/roff/ft/badargs.out_lint -u -p -r1.4 -r1.5 --- regress/roff/ft/badargs.out_lint +++ regress/roff/ft/badargs.out_lint @@ -1,2 +1,2 @@ -mandoc: badargs.in:11:7: ERROR: skipping excess arguments: ft ... bogus -mandoc: badargs.in:9:2: WARNING: unknown font, skipping request: ft foo +mandoc: badargs.in:25:7: ERROR: skipping excess arguments: ft ... bogus +mandoc: badargs.in:23:2: WARNING: unknown font, skipping request: ft foo -- To unsubscribe send an email to source+unsubscribe@mandoc.bsd.lv