The font is Donald Knuth's Computer Modern. The documentation was no doubt created with LaTeX (or maybe even plain TeX). (Actually, these are both confirmed by the PDF metadata.)
(Edit: Poking around a bit more, it looks like, strictly speaking the documentation is created in a base format, which, thanks to GNU texinfo is exported to a variety of formats, but the PDF format goes through TeX.)
If you want a high quality clone of Computer Modern in Open Type format, look at the Latin Modern collection.
TrueType versions of Computer Modern are also available.
Or you can just install LaTeX (see TeXlive) and get the real deal, with Type3 and Type1 fonts in a variety of encodings.
TeX is one of the earliest examples of free software, and Stallman even mentions it in the GNU manifesto: "We will use TeX as our text formatter ..."
Interpretation of *.*
under old Windows/DOS systems
The significance here is more related to Windows/DOS than to Unix/Linux. On old Windows/DOS sytstems it was a 'wildcard' pattern. Wildcard patterns were used for matching filenames in a similar manner to Unix globs. The *.*
wildcard was commonly used to match any file.
As with a Unix glob, the *
will match any sequence of characters in a filename, as such *
on its own will also match any file. However the reason why *.*
will match any filename too is due to differences in the way that these wildcards work. According to this article:
Any characters other than a dot that come after an asterisk have no effect, since the asterisk moves the cursor to position 12, at which point nothing changes the parse state except for a dot, which clears the last three positions and moves the cursor.
This behaviour (somewhat odd from Unix perspective) means that a dot following a *
does not actually match a dot, but is just a hackish way to allow you to add more characters to the pattern. This means that adding another *
will match anything in these last three positions.
This makes a little more sense when you consider that the syntax was used on DOS and old Windows systems before Windows 95 which required 8.3 filenames. These filenames were only allowed to have one dot and at most three characters following the dot. Most, if not all files on the system would have a three character extension (even though technically a shorter or no extension was allowed), so somehow I guess it made sense to use *.*
to match any file (at least from a warped Windowsey logic perspective).
Interpretation of *.*
in Unix shells
In Unix shells, as others have pointed out, this represents a 'pathname expansion' or 'glob.' The *
does not have any odd jumping to the end behaviour and thus does not lead to characters following it being ignored. *.*
pattern will match any filename containing a dot (except at the start). This will definitely not match any file as there are many files on a Unix/Linux system that don't have an extension (or otherwise contain a dot since this is allowed too).
The reason for *.*
not matching a dot at the start of filenames on Unix is because putting a dot at the start is how files are 'hidden' and hidden files are excluded from globs by default. To match them in a POSIX shell, a dot needs to be put explicitly at the start of the pattern. In bash
the dotglob
shell option can be set or the GLOBIGNORE
variable can be set appropriately, but this is another question!
Best Answer
The circumflex (
^
) was equated to the up-arrow character on teleprinters. By the time SunOS and so forth came around, this part was more than 10 years in the past. The same character (replacement) was used in mathematical expressions, e.g.,^
for powers (where some others might use**
). It was also used in Pascal to indicate pointers.Used for indicating control characters, this dates (at least) before 1980. You can find it used in DEC documentation for instance (it was certainly in use by the mid-1970s when I used teco. The Utilities manual from 1973 (page 927) shows a controlC for instance.
Looking for a suitable source, I find Teletypewriter Communication Codes by Gil Smith which says enough to place this in the late 1960s (demonstrating that the origin is pre-Unix, as well):
This used to be well-known, due to the problems of interchanging files between different encodings such as ASCII and EBCDIC where there were still printers capable of rendering up-arrows as such long after the character no longer existed in ASCII.