home *** CD-ROM | disk | FTP | other *** search
- Give a more helpful error message when the indent is set to a value
- greater than the line-length.
-
- Tracing. This is a pain to implement because requests are responsible
- for reading their own arguments.
-
- Possibly implement -s option (stop every N pages). This functionality
- would be more appropriate in a postprocessor.
-
- Line breaking should be smarter. In particular, it should be possible
- to shrink spaces. Also avoid having a line that's been shrunk a lot
- next to a line that's been stretched a lot. The difficulty is to
- design a mechanism that allows the user complete control over the
- decision of where to break the line.
-
- Provide a mechanism to control the shape of the rag in non-justified
- text.
-
- Add a discretionary break escape sequence. \B'...'...'...' like TeX.
-
- Think about kerning between characters and spaces. (Need to implement
- get_breakpoints and split methods for kern_pair_node class.)
-
- In troff, if .L > 1 when a diversion is reread in no-fill mode, then
- extra line-spacing is added on. Groff at the moment treats line-spacing
- like vertical spacing and doesn't do this.
-
- Suppose \(ch comes from a special font S, and that the current font is
- R. Suppose that R contains a hyphen character and that S does not.
- Suppose that the current font is R. Suppose that \(ch is in a word
- and has a non-zero hyphen-type. Then we ought to be able to hyphenate,
- but we won't be able to because we will look for the hyphen only in
- font S and not in font R.
-
- Variant of tm which doesn't write a newline.
-
- Perhaps the current input level should be accessible in a number register.
-
- Should \w deal with a newline like \X?
-
- Have another look at uses of token::delimiter. Perhaps we need to
- distinguish the case where we want to see if a token could start a
- number, from the case where we want to see if it could occur somewhere
- in a number expression.
-
- Provide a facility like copy thru in pic.
-
- Fancier implementation of font families which doesn't group fonts into
- families purely on the basis of their names.
-
- In the DESC file make the number of fonts optional if they are all on
- one line.
-
- Number register to give the diversion level.
-
- Time various alternative implementations of scale (both in font.c and
- number.c). On a sparc it's faster to always do it in floating point.
-
- Devise a more compact representation for the hyphenation patterns trie.
-
- Have a per-environment parameter to increase letter-spacing.
-
- Number register to return character height.
-
- Number register to return character slant.
-
- Request to set character height.
-
- Request to set character slant.
-
- Provide some way to upcase or downcase strings.
-
- Support non-uniformly scalable fonts. Perhaps associate a suffix with
- a particular range of sizes. eg
- sizesuffix .display 14-512
- Then is you ask for R at pointsize 16, groff will first look for
- R.display and then R. Probably necessary to be able to specify a
- separate unitwidth for each sizesuffix (eg. for X).
-
- Request to copy an environment into the current environment.
-
- Variant of `.it' for which a line interrupted with \c counts as one
- input line.
-
- Make it possible to suppress hyphenation on a word-by-word basis.
- (Perhaps store hyphenation flags in tfont.)
-
- Possibly allow multiple simultaneous input line traps.
-
- Unpaddable, breakable space escape sequence.
-
- Support hanging punctuation.
-
- In justified text, if the last line of a paragraph is only a little
- bit short it might be desirable to justify the line. Allow the user
- control over this.
-
- Have a blank line macro like the end macro. When a blank line macro
- has been set, then a blank line causes the blank line macro to be
- called rather than doing the equivalent of .sp.
-
- The pm request could print where the macro was defined. Also could
- optionally print the contents of a macro.
-
- Provide some way to round numbers to multiples of the current
- horizontal or vertical resolution.
-
- Better string-processing support (substring, length, search).
-
- Generalized ligatures.
-
- Provide some way for a macro to tell whether it was called with `'' or
- `.'. This would be useful for implementing a tracing macro package.
-
- Request to remove an environment. (Maintain a count of the references
- to the environment from the environment table, environment dictionary
- or environment stack.)
-
- Perhaps in the nr request a leading `-' should only be recognized as a
- decrement when it's at the same input level as the request.
-
- Don't ever change a charinfo. Create new variants instead and chain
- them together.
-
- Make it possible to tr characters onto \~.
-
- Unix troff appears to read the first character of a request name in
- copy mode. Should we do the same?
-
- Number register giving name of end macro.
-
- More thorough range checking.
-
- Provide syntax for octal and hexadecimal numeric constants. Perhaps
- o#100 and x#7f as per Scheme. Or perhaps PostScript 16#7f. Ambiguity
- between whether `c' is treated as digit or scaling indicator.
-