1*99db7d0eSSascha Wildner.\" $Id: tbl.7,v 1.37 2021/09/18 12:34:27 schwarze Exp $ 280387638SSascha Wildner.\" 360e1e752SSascha Wildner.\" Copyright (c) 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv> 454ba9607SSascha Wildner.\" Copyright (c) 2014,2015,2017,2018,2019 Ingo Schwarze <schwarze@openbsd.org> 580387638SSascha Wildner.\" 680387638SSascha Wildner.\" Permission to use, copy, modify, and distribute this software for any 780387638SSascha Wildner.\" purpose with or without fee is hereby granted, provided that the above 880387638SSascha Wildner.\" copyright notice and this permission notice appear in all copies. 980387638SSascha Wildner.\" 1080387638SSascha Wildner.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 1180387638SSascha Wildner.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 1280387638SSascha Wildner.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 1380387638SSascha Wildner.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 1480387638SSascha Wildner.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 1580387638SSascha Wildner.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 1680387638SSascha Wildner.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 1780387638SSascha Wildner.\" 18*99db7d0eSSascha Wildner.Dd $Mdocdate: September 18 2021 $ 1980387638SSascha Wildner.Dt TBL 7 2080387638SSascha Wildner.Os 2180387638SSascha Wildner.Sh NAME 2280387638SSascha Wildner.Nm tbl 2380387638SSascha Wildner.Nd tbl language reference for mandoc 2480387638SSascha Wildner.Sh DESCRIPTION 2580387638SSascha WildnerThe 2680387638SSascha Wildner.Nm tbl 2754ba9607SSascha Wildnerlanguage formats tables. 2880387638SSascha WildnerIt is used within 2980387638SSascha Wildner.Xr mdoc 7 3080387638SSascha Wildnerand 3180387638SSascha Wildner.Xr man 7 3254ba9607SSascha Wildnerpages. 3380387638SSascha WildnerThis manual describes the subset of the 3480387638SSascha Wildner.Nm 3580387638SSascha Wildnerlanguage accepted by the 3680387638SSascha Wildner.Xr mandoc 1 3780387638SSascha Wildnerutility. 3880387638SSascha Wildner.Pp 3954ba9607SSascha WildnerEach table is started with a 4080387638SSascha Wildner.Xr roff 7 4154ba9607SSascha Wildner.Ic \&TS 4254ba9607SSascha Wildnermacro, consist of at most one line of 4354ba9607SSascha Wildner.Sx Options , 4454ba9607SSascha Wildnerone or more 4580387638SSascha Wildner.Sx Layout 4654ba9607SSascha Wildnerlines, one or more 4754ba9607SSascha Wildner.Sx Data 4854ba9607SSascha Wildnerlines, and ends with a 4954ba9607SSascha Wildner.Ic \&TE 5054ba9607SSascha Wildnermacro. 5180387638SSascha WildnerAll input must be 7-bit ASCII. 5280387638SSascha Wildner.Ss Options 5354ba9607SSascha WildnerIf the first input line of a table ends with a semicolon, it contains 5454ba9607SSascha Wildnercase-insensitive options separated by spaces, tabs, or commas. 5554ba9607SSascha WildnerOtherwise, it is interpreted as the first 5680387638SSascha Wildner.Sx Layout 5754ba9607SSascha Wildnerline. 5854ba9607SSascha Wildner.Pp 5954ba9607SSascha WildnerThe following options are available. 6054ba9607SSascha WildnerSome of them require arguments enclosed in parentheses: 6180387638SSascha Wildner.Bl -tag -width Ds 6254ba9607SSascha Wildner.It Cm allbox 6354ba9607SSascha WildnerDraw a single-line box around each table cell. 6480387638SSascha Wildner.It Cm box 6580387638SSascha WildnerDraw a single-line box around the table. 6654ba9607SSascha WildnerFor GNU compatibility, this may also be invoked with 6780387638SSascha Wildner.Cm frame . 6854ba9607SSascha Wildner.It Cm center 6954ba9607SSascha WildnerCenter the table instead of left-adjusting it. 7054ba9607SSascha WildnerFor GNU compatibility, this may also be invoked with 7154ba9607SSascha Wildner.Cm centre . 7280387638SSascha Wildner.It Cm decimalpoint 7354ba9607SSascha WildnerUse the single-character argument as the decimal point with the 7480387638SSascha Wildner.Cm n 7580387638SSascha Wildnerlayout key. 7654ba9607SSascha WildnerThis is a GNU extension. 7754ba9607SSascha Wildner.It Cm delim 7854ba9607SSascha WildnerUse the two characters of the argument as 7954ba9607SSascha Wildner.Xr eqn 7 8054ba9607SSascha Wildnerdelimiters. 8154ba9607SSascha WildnerCurrently unsupported. 8254ba9607SSascha Wildner.It Cm doublebox 8354ba9607SSascha WildnerDraw a double-line box around the table. 8454ba9607SSascha WildnerFor GNU compatibility, this may also be invoked with 8554ba9607SSascha Wildner.Cm doubleframe . 8654ba9607SSascha Wildner.It Cm expand 8754ba9607SSascha WildnerIncrease the width of the table to the current line length. 8854ba9607SSascha WildnerCurrently ignored. 8954ba9607SSascha Wildner.It Cm linesize 9054ba9607SSascha WildnerDraw lines with the point size given by the unsigned integer argument. 9154ba9607SSascha WildnerCurrently ignored. 9254ba9607SSascha Wildner.It Cm nokeep 9354ba9607SSascha WildnerAllow page breaks within the table. 9454ba9607SSascha WildnerThis is a GNU extension and currently ignored. 9580387638SSascha Wildner.It Cm nospaces 9654ba9607SSascha WildnerIgnore leading and trailing spaces in data cells. 97*99db7d0eSSascha WildnerThis is a GNU extension. 9854ba9607SSascha Wildner.It Cm nowarn 9954ba9607SSascha WildnerSuppress warnings about tables exceeding the current line length. 10054ba9607SSascha WildnerThis is a GNU extension and currently ignored. 10154ba9607SSascha Wildner.It Cm tab 10254ba9607SSascha WildnerUse the single-character argument as a delimiter between data cells. 10354ba9607SSascha WildnerBy default, the horizontal tabulator character is used. 10480387638SSascha Wildner.El 10580387638SSascha Wildner.Ss Layout 10654ba9607SSascha WildnerThe table layout follows an 10780387638SSascha Wildner.Sx Options 10854ba9607SSascha Wildnerline or a 10954ba9607SSascha Wildner.Xr roff 7 11054ba9607SSascha Wildner.Ic \&TS 11154ba9607SSascha Wildneror 11254ba9607SSascha Wildner.Ic \&T& 11354ba9607SSascha Wildnermacro. 11454ba9607SSascha WildnerEach layout line specifies how one line of 11554ba9607SSascha Wildner.Sx Data 11654ba9607SSascha Wildneris formatted. 11754ba9607SSascha WildnerThe last layout line ends with a full stop. 11854ba9607SSascha WildnerIt also applies to all remaining data lines. 11954ba9607SSascha WildnerMultiple layout lines can be joined by commas on a single physical 12054ba9607SSascha Wildnerinput line. 12154ba9607SSascha Wildner.Pp 12254ba9607SSascha WildnerEach layout line consists of one or more layout cell specifications, 12354ba9607SSascha Wildneroptionally separated by whitespace. 12454ba9607SSascha WildnerThe following case-insensitive key characters start a new cell 12554ba9607SSascha Wildnerspecification: 12654ba9607SSascha Wildner.Bl -tag -width 2n 12780387638SSascha Wildner.It Cm c 12854ba9607SSascha WildnerCenter the string in this cell. 12980387638SSascha Wildner.It Cm r 13054ba9607SSascha WildnerRight-justify the string in this cell. 13180387638SSascha Wildner.It Cm l 13254ba9607SSascha WildnerLeft-justify the string in this cell. 13380387638SSascha Wildner.It Cm n 13460e1e752SSascha WildnerJustify a number around its last decimal point. 13554ba9607SSascha WildnerIf no decimal point is found in the number, 13654ba9607SSascha Wildnerit is assumed to trail the number. 13780387638SSascha Wildner.It Cm s 13860e1e752SSascha WildnerHorizontally span columns from the last 13954ba9607SSascha Wildner.Pf non- Cm s 14054ba9607SSascha Wildnerlayout cell. 14154ba9607SSascha WildnerIt is an error if a column span follows a 14280387638SSascha Wildner.Cm _ 14380387638SSascha Wildneror 14480387638SSascha Wildner.Cm = 14554ba9607SSascha Wildnercell, or comes first on a layout line. 14654ba9607SSascha WildnerThe combined cell as a whole consumes only one cell 14754ba9607SSascha Wildnerof the corresponding data line. 14854ba9607SSascha Wildner.It Cm a 14954ba9607SSascha WildnerLeft-justify a string and pad with one space. 15054ba9607SSascha Wildner.It Cm \(ha 15154ba9607SSascha WildnerVertically span rows from the last 15254ba9607SSascha Wildner.Pf non- Cm \(ha 15354ba9607SSascha Wildnerlayout cell. 15454ba9607SSascha WildnerIt is an error to invoke a vertical span on the first layout line. 15554ba9607SSascha WildnerUnlike a horizontal span, a vertical span consumes a data cell 15654ba9607SSascha Wildnerand discards the content. 15754ba9607SSascha Wildner.It Cm _ 15854ba9607SSascha WildnerDraw a single horizontal line in this cell. 15954ba9607SSascha WildnerThis consumes a data cell and discards the content. 16054ba9607SSascha WildnerIt may also be invoked with 16154ba9607SSascha Wildner.Cm \- . 16254ba9607SSascha Wildner.It Cm = 16354ba9607SSascha WildnerDraw a double horizontal line in this cell. 16454ba9607SSascha WildnerThis consumes a data cell and discards the content. 16554ba9607SSascha Wildner.El 16680387638SSascha Wildner.Pp 16754ba9607SSascha WildnerEach cell key may be followed by zero or more of the following 16854ba9607SSascha Wildnercase-insensitive modifiers: 16954ba9607SSascha Wildner.Bl -tag -width 2n 17054ba9607SSascha Wildner.It Cm b 17154ba9607SSascha WildnerUse a bold font for the contents of this cell. 17254ba9607SSascha Wildner.It Cm d 17354ba9607SSascha WildnerMove content down to the last row of this vertical span. 17454ba9607SSascha WildnerCurrently ignored. 17554ba9607SSascha Wildner.It Cm e 17654ba9607SSascha WildnerMake this column wider to match the maximum width 17754ba9607SSascha Wildnerof any other column also having the 17854ba9607SSascha Wildner.Cm e 17954ba9607SSascha Wildnermodifier. 18054ba9607SSascha Wildner.It Cm f 181*99db7d0eSSascha WildnerThe next one or two characters select the font to use for this cell. 182*99db7d0eSSascha WildnerOne-character font names must be followed by a blank or period. 18354ba9607SSascha WildnerSee the 18454ba9607SSascha Wildner.Xr roff 7 185*99db7d0eSSascha Wildnermanual for supported font names. 18654ba9607SSascha Wildner.It Cm i 18754ba9607SSascha WildnerUse an italic font for the contents of this cell. 18854ba9607SSascha Wildner.It Cm m 18954ba9607SSascha WildnerSpecify a cell start macro. 19054ba9607SSascha WildnerThis is a GNU extension and currently unsupported. 19154ba9607SSascha Wildner.It Cm p 19254ba9607SSascha WildnerSet the point size to the following unsigned argument, 19354ba9607SSascha Wildneror change it by the following signed argument. 19454ba9607SSascha WildnerCurrently ignored. 19554ba9607SSascha Wildner.It Cm v 19654ba9607SSascha WildnerSet the vertical line spacing to the following unsigned argument, 19754ba9607SSascha Wildneror change it by the following signed argument. 19854ba9607SSascha WildnerCurrently ignored. 19954ba9607SSascha Wildner.It Cm t 20054ba9607SSascha WildnerDo not vertically center content in this vertical span, 20154ba9607SSascha Wildnerleave it in the top row. 20254ba9607SSascha WildnerCurrently ignored. 20354ba9607SSascha Wildner.It Cm u 20454ba9607SSascha WildnerMove cell content up by half a table row. 20554ba9607SSascha WildnerCurrently ignored. 20654ba9607SSascha Wildner.It Cm w 20754ba9607SSascha WildnerSpecify a minimum column width. 20854ba9607SSascha Wildner.It Cm x 20954ba9607SSascha WildnerAfter determining the width of all other columns, distribute the 21054ba9607SSascha Wildnerrest of the line length among all columns having the 21154ba9607SSascha Wildner.Cm x 21254ba9607SSascha Wildnermodifier. 21354ba9607SSascha Wildner.It Cm z 21454ba9607SSascha WildnerDo not use this cell for determining the width of this column. 21554ba9607SSascha Wildner.It Cm \&| 21654ba9607SSascha WildnerDraw a single vertical line to the right of this cell. 21754ba9607SSascha Wildner.It Cm || 21854ba9607SSascha WildnerDraw a double vertical line to the right of this cell. 21954ba9607SSascha Wildner.El 22054ba9607SSascha Wildner.Pp 22154ba9607SSascha WildnerIf a modifier consists of decimal digits, 22254ba9607SSascha Wildnerit specifies a minimum spacing in units of 22354ba9607SSascha Wildner.Cm n 22454ba9607SSascha Wildnerbetween this column and the next column to the right. 22554ba9607SSascha WildnerThe default is 3. 22654ba9607SSascha WildnerIf there is a vertical line, it is drawn inside the spacing. 22754ba9607SSascha Wildner.Ss Data 22854ba9607SSascha WildnerThe data section follows the last 22954ba9607SSascha Wildner.Sx Layout 23054ba9607SSascha Wildnerline. 23154ba9607SSascha WildnerEach data line consists of one or more data cells, delimited by 23254ba9607SSascha Wildner.Cm tab 23354ba9607SSascha Wildnercharacters. 23454ba9607SSascha Wildner.Pp 23554ba9607SSascha WildnerIf a data cell contains only the two bytes 23654ba9607SSascha Wildner.Ql \e\(ha , 23754ba9607SSascha Wildnerthe cell above spans to this row, as if the layout specification 23854ba9607SSascha Wildnerof this cell were 23954ba9607SSascha Wildner.Cm \(ha . 24054ba9607SSascha Wildner.Pp 24154ba9607SSascha WildnerIf a data cell contains only the single character 24254ba9607SSascha Wildner.Ql _ 24354ba9607SSascha Wildneror 24454ba9607SSascha Wildner.Ql = , 24554ba9607SSascha Wildnera single or double horizontal line is drawn across the cell, 24654ba9607SSascha Wildnerjoining its neighbours. 24754ba9607SSascha WildnerIf a data cell contains only the two character sequence 24854ba9607SSascha Wildner.Ql \e_ 24954ba9607SSascha Wildneror 25054ba9607SSascha Wildner.Ql \e= , 25154ba9607SSascha Wildnera single or double horizontal line is drawn inside the cell, 25254ba9607SSascha Wildnernot joining its neighbours. 25354ba9607SSascha WildnerIf a data line contains nothing but the single character 25454ba9607SSascha Wildner.Ql _ 25554ba9607SSascha Wildneror 25654ba9607SSascha Wildner.Ql = , 25754ba9607SSascha Wildnera horizontal line across the whole table is inserted 25854ba9607SSascha Wildnerwithout consuming a layout row. 25954ba9607SSascha Wildner.Pp 26054ba9607SSascha WildnerIn place of any data cell, a text block can be used. 26154ba9607SSascha WildnerIt starts with 26254ba9607SSascha Wildner.Ic \&T{ 26354ba9607SSascha Wildnerat the end of a physical input line. 26454ba9607SSascha WildnerInput line breaks inside the text block 26554ba9607SSascha Wildnerneither end the text block nor its data cell. 26654ba9607SSascha WildnerIt only ends if 26754ba9607SSascha Wildner.Ic \&T} 26854ba9607SSascha Wildneroccurs at the beginning of a physical input line and is followed 26954ba9607SSascha Wildnerby an end-of-cell indicator. 27054ba9607SSascha WildnerIf the 27154ba9607SSascha Wildner.Ic \&T} 27254ba9607SSascha Wildneris followed by the end of the physical input line, the text block, 27354ba9607SSascha Wildnerthe data cell, and the data line ends at this point. 27454ba9607SSascha WildnerIf the 27554ba9607SSascha Wildner.Ic \&T} 27654ba9607SSascha Wildneris followed by the 27754ba9607SSascha Wildner.Cm tab 27854ba9607SSascha Wildnercharacter, only the text block and the data cell end, 27954ba9607SSascha Wildnerbut the data line continues with the data cell following the 28054ba9607SSascha Wildner.Cm tab 28154ba9607SSascha Wildnercharacter. 28254ba9607SSascha WildnerIf 28354ba9607SSascha Wildner.Ic \&T} 28454ba9607SSascha Wildneris followed by any other character, it does not end the text block, 28554ba9607SSascha Wildnerwhich instead continues to the following physical input line. 28654ba9607SSascha Wildner.Sh EXAMPLES 28754ba9607SSascha WildnerString justification and font selection: 28854ba9607SSascha Wildner.Bd -literal -offset indent 28954ba9607SSascha Wildner\&.TS 29054ba9607SSascha Wildnerrb c lb 29154ba9607SSascha Wildnerr ci l. 29254ba9607SSascha Wildnerr center l 29354ba9607SSascha Wildnerri ce le 29454ba9607SSascha Wildnerright c left 29554ba9607SSascha Wildner\&.TE 29654ba9607SSascha Wildner.Ed 29754ba9607SSascha Wildner.Bd -filled -offset indent 29854ba9607SSascha Wildner.TS 29954ba9607SSascha Wildnerrb c lb 30054ba9607SSascha Wildnerr ci l. 30154ba9607SSascha Wildnerr center l 30254ba9607SSascha Wildnerri ce le 30354ba9607SSascha Wildnerright c left 30454ba9607SSascha Wildner.TE 30554ba9607SSascha Wildner.Ed 30654ba9607SSascha Wildner.Pp 30754ba9607SSascha WildnerSome ports in 30854ba9607SSascha Wildner.Ox 6.1 30954ba9607SSascha Wildnerto show number alignment and line drawing: 31054ba9607SSascha Wildner.Bd -literal -offset indent 31154ba9607SSascha Wildner\&.TS 31254ba9607SSascha Wildnerbox tab(:); 31354ba9607SSascha Wildnerr| l 31454ba9607SSascha Wildnerr n. 31554ba9607SSascha Wildnersoftware:version 31654ba9607SSascha Wildner_ 31754ba9607SSascha WildnerAFL:2.39b 31854ba9607SSascha WildnerMutt:1.8.0 31954ba9607SSascha WildnerRuby:1.8.7.374 32054ba9607SSascha WildnerTeX Live:2015 32154ba9607SSascha Wildner\&.TE 32254ba9607SSascha Wildner.Ed 32354ba9607SSascha Wildner.Bd -filled -offset indent 32454ba9607SSascha Wildner.TS 32554ba9607SSascha Wildnerbox tab(:); 32654ba9607SSascha Wildnerr| l 32754ba9607SSascha Wildnerr n. 32854ba9607SSascha Wildnersoftware:version 32954ba9607SSascha Wildner_ 33054ba9607SSascha WildnerAFL:2.39b 33154ba9607SSascha WildnerMutt:1.8.0 33254ba9607SSascha WildnerRuby:1.8.7.374 33354ba9607SSascha WildnerTeX Live:2015 33454ba9607SSascha Wildner.TE 33554ba9607SSascha Wildner.Ed 33654ba9607SSascha Wildner.sp 2v 33754ba9607SSascha WildnerSpans and skipping width calculations: 33854ba9607SSascha Wildner.Bd -literal -offset indent 33954ba9607SSascha Wildner\&.TS 34054ba9607SSascha Wildnerbox tab(:); 34154ba9607SSascha Wildnerlz s | rt 34254ba9607SSascha Wildnerlt| cb| \(ha 34354ba9607SSascha Wildner\(ha | rz s. 34454ba9607SSascha Wildnerleft:r 34554ba9607SSascha Wildnerl:center: 34654ba9607SSascha Wildner:right 34754ba9607SSascha Wildner\&.TE 34854ba9607SSascha Wildner.Ed 34954ba9607SSascha Wildner.Bd -filled -offset indent 35054ba9607SSascha Wildner.TS 35154ba9607SSascha Wildnerbox tab(:); 35254ba9607SSascha Wildnerlz s | rt 35354ba9607SSascha Wildnerlt| cb| ^ 35454ba9607SSascha Wildner^ | rz s. 35554ba9607SSascha Wildnerleft:r 35654ba9607SSascha Wildnerl:center: 35754ba9607SSascha Wildner:right 35854ba9607SSascha Wildner.TE 35954ba9607SSascha Wildner.Ed 36054ba9607SSascha Wildner.sp 2v 36154ba9607SSascha WildnerText blocks, specifying spacings and specifying and equalizing 36254ba9607SSascha Wildnercolumn widths, putting lines into individual cells, and overriding 36354ba9607SSascha Wildner.Cm allbox : 36454ba9607SSascha Wildner.Bd -literal -offset indent 36554ba9607SSascha Wildner\&.TS 36654ba9607SSascha Wildnerallbox tab(:); 36754ba9607SSascha Wildnerle le||7 lw10. 36854ba9607SSascha WildnerThe fourth line:_:line 1 36954ba9607SSascha Wildnerof this column:=:line 2 37054ba9607SSascha Wildnerdetermines:\_:line 3 37154ba9607SSascha Wildnerthe column width.:T{ 37254ba9607SSascha WildnerThis text is too wide to fit into a column of width 17. 37354ba9607SSascha WildnerT}:line 4 37454ba9607SSascha WildnerT{ 37554ba9607SSascha WildnerNo break here. 37654ba9607SSascha WildnerT}::line 5 37754ba9607SSascha Wildner\&.TE 37854ba9607SSascha Wildner.Ed 37954ba9607SSascha Wildner.Bd -filled -offset indent 38054ba9607SSascha Wildner.TS 38154ba9607SSascha Wildnerallbox tab(:); 38254ba9607SSascha Wildnerle le||7 lw10. 38354ba9607SSascha WildnerThe fourth line:_:line 1 38454ba9607SSascha Wildnerof this column:=:line 2 38554ba9607SSascha Wildnerdetermines:\_:line 3 38654ba9607SSascha Wildnerthe column width.:T{ 38754ba9607SSascha WildnerThis text is too wide to fit into a column of width 17. 38854ba9607SSascha WildnerT}:line 4 38954ba9607SSascha WildnerT{ 39054ba9607SSascha WildnerNo break here. 39154ba9607SSascha WildnerT}::line 5 39254ba9607SSascha Wildner.TE 39354ba9607SSascha Wildner.Ed 39454ba9607SSascha Wildner.sp 2v 39554ba9607SSascha WildnerThese examples were constructed to demonstrate many 39654ba9607SSascha Wildner.Nm 39754ba9607SSascha Wildnerfeatures in a compact way. 39854ba9607SSascha WildnerIn real manual pages, keep tables as simple as possible. 39954ba9607SSascha WildnerThey usually look better, are less fragile, and are more portable. 40054ba9607SSascha Wildner.Sh COMPATIBILITY 40180387638SSascha WildnerThe 40280387638SSascha Wildner.Xr mandoc 1 40354ba9607SSascha Wildnerimplementation of 40454ba9607SSascha Wildner.Nm 40554ba9607SSascha Wildnerdoesn't support 40654ba9607SSascha Wildner.Xr mdoc 7 40754ba9607SSascha Wildnerand 40854ba9607SSascha Wildner.Xr man 7 40954ba9607SSascha Wildnermacros and 41054ba9607SSascha Wildner.Xr eqn 7 41154ba9607SSascha Wildnerequations inside tables. 41280387638SSascha Wildner.Sh SEE ALSO 41380387638SSascha Wildner.Xr mandoc 1 , 41480387638SSascha Wildner.Xr man 7 , 41580387638SSascha Wildner.Xr mandoc_char 7 , 41680387638SSascha Wildner.Xr mdoc 7 , 41780387638SSascha Wildner.Xr roff 7 41880387638SSascha Wildner.Rs 41980387638SSascha Wildner.%A M. E. Lesk 42080387638SSascha Wildner.%T Tbl \(em A Program to Format Tables 42180387638SSascha Wildner.%D June 11, 1976 42280387638SSascha Wildner.Re 42380387638SSascha Wildner.Sh HISTORY 42480387638SSascha WildnerThe tbl utility, a preprocessor for troff, was originally written by M. 42580387638SSascha WildnerE. Lesk at Bell Labs in 1975. 42680387638SSascha WildnerThe GNU reimplementation of tbl, part of the groff package, was released 42780387638SSascha Wildnerin 1990 by James Clark. 42880387638SSascha WildnerA standalone tbl implementation was written by Kristaps Dzonsons in 42980387638SSascha Wildner2010. 43054ba9607SSascha WildnerThis formed the basis of the implementation that first appeared in 43154ba9607SSascha Wildner.Ox 4.9 43254ba9607SSascha Wildneras a part of the 43380387638SSascha Wildner.Xr mandoc 1 43480387638SSascha Wildnerutility. 43580387638SSascha Wildner.Sh AUTHORS 43636342e81SSascha WildnerThis 43780387638SSascha Wildner.Nm 43880387638SSascha Wildnerreference was written by 43954ba9607SSascha Wildner.An Kristaps Dzonsons Aq Mt kristaps@bsd.lv 44054ba9607SSascha Wildnerand 44154ba9607SSascha Wildner.An Ingo Schwarze Aq Mt schwarze@openbsd.org . 44254ba9607SSascha Wildner.Sh BUGS 44354ba9607SSascha WildnerIn 44454ba9607SSascha Wildner.Fl T 44554ba9607SSascha Wildner.Cm utf8 44654ba9607SSascha Wildneroutput mode, heavy lines are drawn instead of double lines. 44754ba9607SSascha WildnerThis cannot be improved because the Unicode standard only provides 44854ba9607SSascha Wildneran incomplete set of box drawing characters with double lines, 44954ba9607SSascha Wildnerwhereas it provides a full set of box drawing characters 45054ba9607SSascha Wildnerwith heavy lines. 45154ba9607SSascha WildnerIt is unlikely this can be improved in the future because the box 45254ba9607SSascha Wildnerdrawing characters are already marked in Unicode as characters 45354ba9607SSascha Wildnerintended only for backward compatibility with legacy systems, 45454ba9607SSascha Wildnerand their use is not encouraged. 45554ba9607SSascha WildnerSo it seems unlikely that the missing ones might get added in the future. 456