[Tex/LaTex] Why does it seem that font sizes are quantized in typography

fontsizelatex-base

There are several points, especially when using LaTeX, that give me the feeling that the size of a font is not really a continuous quantity, but somehow quantized, i.e. can only take some specific predefined values.

  • LaTeX has several macros like \Large, \huge, \footnotesize, etc. to specify the font size I want to use. This seems very reasonable, because this is some kind of recommendation and standardization of what sizes to use for what kind of task. However, it seems there is no built-in way to set the font size to some specific value like 13pt without you having to specify at least some other "independent" parameter (e.g. some skip value when using \fontsize).

  • When using the usual document classes, e.g. article, I am restricted to sizes like 10pt, 11pt and 12pt.

  • The macro \fontsize{13pt}{10pt} should do the trick. However, the documentation stated (and I confirmed by myself) that the value of the first argument gets rounded to the next available value. E.g. 16pt, 17pt, 18pt and 19pt all gave the exact same result. Why are there just a few available options here?

In my naive understanding, fonts are vector graphics, so there should be no problem in scaling them to any arbitrary value.

My best guesses for why this is the case are

  1. It is not so easy. Each font size has its own specific properties and fine tuned algorithms for type setting.
  2. TeX is from a time where it was not so easy to use vector graphics as careless as today. Maybe fonts where not even vector graphics back then.

I do not have much background in the theory or history of type setting. So I might have used very wrong assumptions.


Note: I completely rewrote this question after some suggestion to clarify my intentions and to sort out the several different sub questions. I did this after some answers were given. However, I made sure that the current answers still fit the question.

Best Answer

You can specify any size that you like, for example

\fontsize{2cm}{2in}\selectfont

for a 2cm font on a 2in baseline.

However some fonts (not many these days) are only available in a fixed set of sizes. By default the initial Computer Modern fonts are restricted as originally they were only available as bitmap fonts and while they could be generated at different sizes you would not want to generate arbitrary bitmaps and fill your disk.

If you put

\RequirePackage{fix-cm}

at the top of the file, Computer Modern is also allowed at any size.

Most other fonts typically used with TeX are by default allowed at arbitrary sizes.

Note that most classes offer a restricted set of font sizes not because it is technically hard to load a font at another size but because for each size supported you need to specify matching font sub/super script sizes, matching vertical spaces around lists etc, and also it is good document practice to use a small consistent set of font sizes not have different sized fonts all over the document.

So in the standard classes font choices are restricted in two ways, firstly a fixed set of named sizes \tiny, ... \normalsize, ... \huge ... these do not just set the font size as would happen with \fontsize{}{}\selectfont they also set matching spaces and math fonts. A more restricted set of three size options for the class 10pt,11pt,12pt are only loosely related to choosing a font size at all, they are named after the default font size but the class options set up page size, heading choices math font setup, so they are really best thought of a name of an option rather than a length.