From fb7ea55796176565141285c5c6de1d3127655116 Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sun, 16 Dec 2018 00:17:02 +0000 Subject: 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. --- regress/regress.pl | 22 ++++++++++++---------- regress/roff/esc/Makefile | 3 ++- regress/roff/esc/f.in | 23 +++++++++++------------ regress/roff/esc/f.out_ascii | 17 ++++++++++++----- regress/roff/esc/f.out_html | 6 ++++++ regress/roff/ft/Makefile | 3 ++- regress/roff/ft/badargs.in | 21 +++++++++++++++++++-- regress/roff/ft/badargs.out_ascii | 7 +++++-- regress/roff/ft/badargs.out_html | 9 +++++++++ regress/roff/ft/badargs.out_lint | 4 ++-- 10 files changed, 80 insertions(+), 35 deletions(-) create mode 100644 regress/roff/esc/f.out_html create mode 100644 regress/roff/ft/badargs.out_html (limited to 'regress') diff --git a/regress/regress.pl b/regress/regress.pl index 8d7245cb..9d8fcf58 100755 --- a/regress/regress.pl +++ b/regress/regress.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# $Id: regress.pl,v 1.8 2017/07/18 18:47:06 schwarze Exp $ +# $Id: regress.pl,v 1.9 2018/12/16 00:17:04 schwarze Exp $ # # Copyright (c) 2017 Ingo Schwarze # @@ -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; diff --git a/regress/roff/esc/Makefile b/regress/roff/esc/Makefile index 74f153d5..1be8b179 100644 --- a/regress/roff/esc/Makefile +++ b/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 diff --git a/regress/roff/esc/f.in b/regress/roff/esc/f.in index 571161d3..3eaca449 100644 --- a/regress/roff/esc/f.in +++ b/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: July 4 2017 $ -.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 diff --git a/regress/roff/esc/f.out_ascii b/regress/roff/esc/f.out_ascii index fb8520f8..797dbe86 100644 --- a/regress/roff/esc/f.out_ascii +++ b/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) diff --git a/regress/roff/esc/f.out_html b/regress/roff/esc/f.out_html new file mode 100644 index 00000000..332e0f00 --- /dev/null +++ b/regress/roff/esc/f.out_html @@ -0,0 +1,6 @@ +BEGINTEST +numbers: bolditalicbolditalicroman +letters: bolditalicbackbolditalicroman +multiletter: boldemptyitalicbackbolditalicroman +typewriter: romanboldromanitalicroman +ENDTEST diff --git a/regress/roff/ft/Makefile b/regress/roff/ft/Makefile index 5d2accbb..0eadb05d 100644 --- a/regress/roff/ft/Makefile +++ b/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 diff --git a/regress/roff/ft/badargs.in b/regress/roff/ft/badargs.in index 82269609..ac3ee72a 100644 --- a/regress/roff/ft/badargs.in +++ b/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 diff --git a/regress/roff/ft/badargs.out_ascii b/regress/roff/ft/badargs.out_ascii index 30bfed3c..07c2392a 100644 --- a/regress/roff/ft/badargs.out_ascii +++ b/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) diff --git a/regress/roff/ft/badargs.out_html b/regress/roff/ft/badargs.out_html new file mode 100644 index 00000000..8b30ab05 --- /dev/null +++ b/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 diff --git a/regress/roff/ft/badargs.out_lint b/regress/roff/ft/badargs.out_lint index 36c8c0bf..493aaeb4 100644 --- a/regress/roff/ft/badargs.out_lint +++ b/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 -- cgit v1.2.3-56-ge451