There are two types of predefined registers: read-only and read-write.
| .$ | Number of arguments available at the current macro level. |
| .$$ | Process id of troff process (ditroff only). |
| .A | Set to 1 in troff, if -a option used; always 1 in nroff. |
| .H | Available horizontal resolution in basic units. |
| .T | Set to 1 in nroff, if -T option used; always 0 in troff; in ditroff, the string |
| .V | Available vertical resolution in basic units. |
| .a | Post-line extra line-space most recently utilized using
\x'n'. |
| .c | Number of lines read from current input file. |
| .d | Current vertical place in current diversion; equal to register nl when there is no diversion. |
| .f | Current font as physical quadrant (1 to 4 in otroff; 1 to 9 in ditroff). |
| .h | Text baseline high-water mark on current page or diversion. |
| .i | Current indent. |
| .j | Current adjustment mode. |
| .l | Current line length. |
| .n | Length of text portion on previous output line. |
| .o | Current page offset. |
| .p | Current page length. |
| .s | Current point size. |
| .t | Distance to the next trap. |
| .u | Equal to 1 in fill mode and 0 in no-fill mode. |
| .v | Current vertical line spacing. |
| .w | Width of previous character. |
| .x | Reserved version-dependent register. |
| .y | Reserved version-dependent register. |
| .z | Name of current diversion. |
| % | Current page number. |
| ct | Character type (set by width function). |
| dl | Width (maximum) of last completed diversion. |
| dn | Height (vertical size) of last completed diversion. |
| dw | Current day of the week (1 to 7). |
| dy | Current day of the month (1 to 31). |
| hp | Current horizontal place on input line. |
| ln | Output line number. |
| mo | Current month (1 to 12). |
| nl | Vertical position of last printed text baseline. |
| sb | Depth of string below baseline (generated by width function). |
| st | Height of string above base line (generated by width function). |
| yr | Last two digits of current year. |