I would choose different font styles of the same letter for different physical
meanings. For instance script style (
\mathscr) of n for
particle density and normal italic n for refractive index, bold for
vectors, bold or sans serif for tensors. However, in the available type1 font
packages, it is hard to find a complete font, which includes all styles.
Among all T1 fonts, STIX is a relatively complete one. However, the difference between the normal uppercase letters and the bold uppercase ones in the version 1 of STIX is not obvious. STIX version 2 is still not mature due to the bugs such as the kerning of all math accents and the limited support of Greek letter styles. Hence, I am forced to switch to the OTF fonts by using XeTeX OR LuaTeX.
In order to check the implementations of styles in the fonts with unicode-math, I wrote a short TeX document to demonstrate the typical variants of the math letter symbols. The compiled demo PDF has 80 pages showing the styles of the following fonts:
A page of the demo PDF is presented as the following image (here shows only the lowercase Latin letters, but the full documents contains uppercase ones as well as the Greek letters). More contents can be found in the PDF. TeX source code is available. You may need to recompile the TeX file when a new version of font is released or to add other fonts.
(It seems that Cambria should be the most satisfying font, although Cambria Math is not generally free.)
EDIT 2019-10-19: Add Libertinus and Garamond Math