I have the following code:



This produces an output with numbers in (4 or) 5 different environments.

  1. The numbers that I type in the document body.
  2. The page number.
  3. The footnote-mark in footnote.
  4. The footnote-mark in document.
  5. The text in footnote.

Only the first one though, gets OldStyle numbers. I have two questions.

  1. How to get OldStyle numbers globally?
  2. Will that be typographically advisable?
  • 5
    Why don't you just do \setmainfont[Numbers=OldStyle]{lmroman10-regular}? This changes all numbers uniformly.
    – campa
    Commented Nov 29, 2023 at 12:26
  • @campa You just beat me in seconds... :-D
    – MadyYuvi
    Commented Nov 29, 2023 at 12:32
  • @campa I am using a package which sets font already for me. I just wanted to \add- a few -fontfeatures, which is what I thought the command meant.
    – Niranjan
    Commented Nov 29, 2023 at 13:47

1 Answer 1


Your mistake lies in running \addfontfeature{Numbers={OldStyle}} only after executing \setmainfont, \setsansfont, etc. The \addfontfeature (alias: \addfontfeatures) command does not apply retroactively to all situations where arabic numerals are used.

You should either

  • execute \defaultfontfeatures{Numbers=OldStyle} immediately after \usepackage{fontspec} and before executing \setmainfont, \setsansfont, etc., or

  • add the option Numbers=OldStyle to each and every instance of \setmainfont, \setsansfont, etc. E.g.,

  • 1
    Thanks. This worked. The add part in the name of the command is kinda misleading. Anyways, I will be careful. Lastly, do you think changing Arabic numerals to old style globally is typographically advisable (except math obviously)?
    – Niranjan
    Commented Nov 29, 2023 at 13:51
  • 1
    @Niranjan Most probably, in Math, normal lining characters only comes not OsF, but it's purely based on your wish
    – MadyYuvi
    Commented Nov 29, 2023 at 14:15
  • @Niranjan - A complicating factor is that oldstyle numerals generally have variable widths, whereas lining numerals generally have fixed widths; e.g., 1 is as wide as 8. When displaying numbers in tables, it's highly advisable to use fixed-width rather than variable-width numerals.
    – Mico
    Commented Nov 29, 2023 at 14:22
  • 1
    Okay great! I will be careful.
    – Niranjan
    Commented Nov 29, 2023 at 14:29

You must log in to answer this question.

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