I know of the OTF "optical sizes" feature, but I don't know how to use it properly. How can I check which optical sizes are available for my font?

E.g. I have Adobe Caslon Pro which has the aforementioned feture enabled. I browsed the TEX.SE website, but all I found is related to Minion Pro which has different files for different sizes (as I understand). My Caslon does not. So how can I exploit the feature?

Please mind that my main concern regards LuaLaTeX, which I'm using, but for completeness I think that having the XeLaTeX way in the answer too wouldn't be bad (esp. if they differ).


  • Usually, optical sizes are indicated in font files name with things like Capt, Regular, Subh, Disp. If your font have optical sizes, you can activate them with fontspec using SizeFeatures. Jul 15, 2016 at 6:31
  • I only have one font file for "regular" text, i.e. ACaslonPro-Regular which has the otf feature optical sizes; so no other files (of course I have the italic and bold/semibold)
    – Moriambar
    Jul 15, 2016 at 6:32
  • The value of size can be only one value indicating the Design Size, e.g. 10pt with no ranges. In this case, it is one size fits all. Jul 15, 2016 at 6:47
  • @ArashEsbati so, let me see if I understood correctly: my font probably has the "size" feature meaning that it is designed to be scaled up and down indefinitely with good results? Also, to use this "feature" I do not have to give special commands. Is this correct? Thanks.
    – Moriambar
    Jul 15, 2016 at 6:54
  • 2
    Let me put it this way: The font designer made the font to give you best results when using it at Design Size. You can scale up and down indefinitely with good results. You don't need any special setup for the font within fontspec. Jul 15, 2016 at 6:58

2 Answers 2


The fontfeature "size" is used as information about design size, recommended range of sizes, and subfamily ID, which is shared for all font files in given family with various optical sizes. This parameter is read-only. An application can read it and do implement an intelligence based on such information. For example automatically selection of the font file given by the desired size selected by user.

You can cd to texmf/fonts/opentype/public/lm and do these experiments:

otfinfo -z lmroman10-regular.otf
design size 10 pt, size range (9.5 pt, 11 pt], subfamily ID 1, subfamily name Regular
otfinfo -z lmroman12-regular.otf
design size 12 pt, size range (11 pt, 14 pt], subfamily ID 1, subfamily name Regular
otfinfo -z lmroman9-regular.otf
design size 9 pt, size range (8.5 pt, 9.5 pt], subfamily ID 1, subfamily name Regular

Of course, you can do geometrical scaling of arbitrary font to arbitrary size, but there are only recommended values of size range.

If you have only one font file per each variant in the font family, then only geometrical scaling is possible. No more "optical sizes" are available.

The "size" fontfeature is documented here.

  • thanks, your answer is very detailed; regarding Caslon Pro, I only have the Design Size info (12pts). The documentation is very clear
    – Moriambar
    Jul 15, 2016 at 8:13

In general, size feature refers to:

Tag: 'size'

Friendly name: Optical size

Function: This feature stores two kinds of information about the optical size of the font: design size (the point size for which the font is optimized) and size range (the range of point sizes which the font can serve well), as well as other information which helps applications use the size range. The design size is useful for determining proper tracking behavior.

You can access this information for example with fontforge. Here is an example for Source Code Pro:

enter image description here

Design size indicates the size which the font designer had in mind as they made the fonts (here 10pt). Size range is available when the font comes with real optical sizes, usually indicated with Capt, Subh, Disp in the name of the fonts files.

For Source Code Pro and your example Adobe Caslon Pro, it means that you get the best results when you use the font at design size, and from a technical point of view, you will not have any problems up- and down-scaling the font to any size you want.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .