- <STRONG>if</STRONG>
-
- and finally
- output <STRONG>is3</STRONG>.
-
- Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
- set up without duplicating strings by putting the common sequences in
- <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
-
- A set of sequences that does a harder reset from a totally unknown
- state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
- and <STRONG>is3</STRONG> respectively. These strings are output by the <STRONG>reset</STRONG> program,
- which is used when the terminal gets into a wedged state. Commands are
- normally placed in <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying
- effects on the screen and are not necessary when logging in. For exam-
- ple, the command to set the vt100 into 80-column mode would normally be
- part of <STRONG>is2</STRONG>, but it causes an annoying glitch of the screen and is not
- normally needed since the terminal is usually already in 80 column
- mode.
-
- The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
- order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
- any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
- <STRONG>reset</STRONG> program falls back upon the corresponding initialization capabil-
- ity string.
-
- If there are commands to set and clear tab stops, they can be given as
- <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
- of every row). If a more complex sequence is needed to set the tabs
- than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
+ <B>if</B>
+
+ and finally output
+ <B>is3</B>.
+
+ Most initialization is done with <B>is2</B>. Special terminal modes can be
+ set up without duplicating strings by putting the common sequences in
+ <B>is2</B> and special cases in <B>is1</B> and <B>is3</B>.
+
+ A set of sequences that does a harder reset from a totally unknown
+ state can be given as <B>rs1</B>, <B>rs2</B>, <B>rf</B> and <B>rs3</B>, analogous to <B>is1</B> <B>,</B> <B>is2</B> <B>,</B> <B>if</B>
+ and <B>is3</B> respectively. These strings are output by <I>reset</I> option of
+ <B>tput</B>, or by the <B>reset</B> program (an alias of <B>tset</B>), which is used when
+ the terminal gets into a wedged state. Commands are normally placed in
+ <B>rs1</B>, <B>rs2</B> <B>rs3</B> and <B>rf</B> only if they produce annoying effects on the screen
+ and are not necessary when logging in. For example, the command to set
+ the vt100 into 80-column mode would normally be part of <B>is2</B>, but it
+ causes an annoying glitch of the screen and is not normally needed
+ since the terminal is usually already in 80-column mode.
+
+ The <B>reset</B> program writes strings including <B>iprog</B>, etc., in the same
+ order as the <I>init</I> program, using <B>rs1</B>, etc., instead of <B>is1</B>, etc. If
+ any of <B>rs1</B>, <B>rs2</B>, <B>rs3</B>, or <B>rf</B> reset capability strings are missing, the
+ <B>reset</B> program falls back upon the corresponding initialization
+ capability string.
+
+ If there are commands to set and clear tab stops, they can be given as
+ <B>tbc</B> (clear all tab stops) and <B>hts</B> (set a tab stop in the current column
+ of every row). If a more complex sequence is needed to set the tabs
+ than can be described by this, the sequence can be placed in <B>is2</B> or <B>if</B>.
+
+ The <B>tput</B> <B>reset</B> command uses the same capability strings as the <B>reset</B>
+ command, although the two programs (<B>tput</B> and <B>reset</B>) provide different
+ command-line options.
+
+ In practice, these terminfo capabilities are not often used in
+ initialization of tabs (though they are required for the <B>tabs</B> program):
+
+ <B>o</B> Almost all hardware terminals (at least those which supported tabs)
+ initialized those to every <I>eight</I> columns:
+
+ The only exception was the AT&T 2300 series, which set tabs to
+ every <I>five</I> columns.
+
+ <B>o</B> In particular, developers of the hardware terminals which are
+ commonly used as models for modern terminal emulators provided
+ documentation demonstrating that <I>eight</I> columns were the standard.
+
+ <B>o</B> Because of this, the terminal initialization programs <B>tput</B> and <B>tset</B>
+ use the <B>tbc</B> (<B>clear_all_tabs</B>) and <B>hts</B> (<B>set_tab</B>) capabilities
+ directly only when the <B>it</B> (<B>init_tabs</B>) capability is set to a value
+ other than <I>eight</I>.