What are some good fonts to use for a highly technical document? Is there any specific type that should be used/avoided?
Technical documents will have a deeply nested, hierarchical structure, and also make use of footnotes, different types of emphasis, cross-referencing, pull outs and side bars of one sort of another and captions. The main distinguishing feature of technical documents tends to be complex structure.
For headings, you can use any reasonably legible font; this could be serif or sans-serif. It should have a complementary style to your body text, but the headings should provide an obvious visual structure to the document.
A decent serif or sans-serif typeface is fine for the body text if you have a lot of prose. If you have a lot of illustrations with labels or captions, pull-outs or tables you might want to use a sans-serif font for the body text and a serif font for headings. Footnotes will be smaller than the body text, so don't use a font for the body that is too small.
For emphasis, the italic or oblique version of the font should have a noticeably different texture to the body text.
For tables, captions and pull outs you should use a sans-serif font in most cases. If you use a serif font for the body text make sure the texture of the sans-serif font complements but does contrast significantly from the text type.
If you intend to have code listings or other monospaced items in the document then you will have a third typeface for the monospaced text. This should visually complement any sans-serif typefaces. Don't use Courier for this as it is relatively wide; other monospace fonts such as Lucida Console will give you more monospaced characters in the same width for the same point size or general legibility. Also, Courier doesn't really go with anything and the version that ships with most O/S platforms is very light and not terribly legible for reading large code listings.
If you have the option of buying in the fonts then you can pick any combination that looks appropriate; many resources on the web have helpful suggestions for this.
If you are stuck with fonts supplied by your operating system vendor then the story is slightly different. Although I briefly worked as a typesetter about 20 years ago most of the technical documentation work I do these days is functional specifications and I am typically constrained by the software available in the client's standard desktop build.
Some options are:
Palatino is quite a pleasant typeface for text if you are writing large bodies of prose. It got done to death in the DTP era as it came bundled with most Postscript printers, but that is a bit of a dying memory so it can stand on its own merits. It will go with any of the Sans-serif fonts (Arial, Tahoma, Trebuchet, Calibri etc) that ship with Windows. MacOS and most Linux distros also come with a decent rendition of Palatino from Adobe or URW.
The Lucida family is designed for this type of work, and has serif, sans-serif and monospace fonts. It has a pleasant, contemporary look and works well. Another big plus is that most O/S platforms come with Lucida fonts. The Lucida family was also designed to render well on low-res output devices such as screens or early laser printers, so it is a good choice in a font intended for PDF output.
Stand-bys Times and Arial (or Helvetica) work OK, although I find that Times italic tends not to stand out very well on laser printed documents. The document will look like something done with MS Word, but the typefaces are serviceable. The main reason to avoid these fonts is personal taste or a desire to avoid looking like amateur word processing (which may be more important than you think if you need the document to be taken seriously.)
Traditional old-style or transitional types (e.g. Garamonds, Bembo, Baskerville) look quite nice and are legible in text, but have a low x-height so they need to be set in larger sizes. Mixing these inline with a sans-serif typeface with a bigger x-height can look strange. ITC Garamond (Used extensively by Apple in the 1980s and 1990s) is a re-imagining of Garamond with a larger x-height, so doesn't suffer from this problem.
Moderns such as CM or Century Schoolbook got done to death in the 19th and first half of the 20th centuries, so they tend to come with a lot of cultural baggage. I find moderns make a document look like something from the Victorian era or the 1920s or 30s. While they are quite practical and legible, I must beg to differ with DEK about their appropriateness for technical documents.
Take the usual hints about care when mixing humanist and geometric typefaces. Note that highly geometric sans-serifs like Avant-Garde Gothic or Futura aren't really suitable for text type for a technical document. Although they may be OK for headings, if you have a lot of captions, labels or otner sans-serif artifacts in the document they will clash with AGG or Futura if not set in the same typeface. This is a strike against using these fonts for anything but major headings such as chapter titles. Similar issues apply when using any sans-serif font with a highly distinctive look.
From memory, I have had good results with text type set in Times, Helvetica, Charter, Palatino, Frutiger, ITC Berkeley Old Style, Calibri, Tahoma and one or two others in various technical documents I have been involved in writing.
Some combinations I have used are:
Times text and Arial headings, captions and labels with Lucida Typewriter listings (dictated by corporate standards)
Palatino text and Helvetica headings, captions and labels (Adobe fonts, designed to be rendered to PDF without having to embed fonts so I stuck with the 35 standard PostScript fonts). The document was produced with Framemaker.
Palatino text and Tahoma headings with Lucida Console listings. In hindsight, the bold on Tahoma that comes with Windows is too heavy.
Cambria headings and Calibri text - defaults with Word 2010, and look OK together. Shrink down the heading styles from the default sizes - the bold is quite heavy and it looks too strong against the body text. Also, the default style inserts quite a bit of leading in the text styles.
Charter, CMSans, - document produced with LaTeX. This used the basic 'Charter' style that comes with LaTeX, modified a bit by hacking about the includes.
ITC Berkeley Old Style/Helvetica. Headings and text done with BOS and captions and some other bits done with Helvetica. I like Berkeley Oldstyle as a font (try setting the word 'Quidditch' in it) and it works for both display and text type. The ITC version (predictably enough, I suppose) has a fairly large x-height, so it works with sans-serif fonts.
Lucida - comes with pretty much every major OS platform, is highly legible, and is designed to render well on low-res output devices such as laser printers. There is a whole family of serif, sans-serif and monospaced fonts available. They render well on screen, look nice in print and have good ergonomics for technical documents.
EDIT: Actually, this reminds me of a story. At the university where I did my bachelor's degree they had a course that (amongst other things) teaches LaTeX and the joys of structured documents. My friend was a tutor for that paper at one point. One of the students complained about LaTeX thus:
But if I use LaTeX all my documents look like they were done in TeX
To which my friend replied:
Could be worse. Could look like they were done in Word.
The student saw the point.
A corollary to that is that one of the lecturers actually did some stats on this at one point and found a correlation between grades for assignments and using LaTeX. He swears that using LaTeX for an assignment is worth about half a grade on average. Whether this was due to the structured documentation effect and auto look-and-feel features of TeX or just because the smarter students tended to used it wasn't made clear, although I think he may have attempted to correct for the average grades of the student.