Trying out Mathematica 10 and I still get the Courier font, not the new font shown in all of the examples on Wolfram's website. Anybody have any ideas how to get the new font working? Running on Mac OS X if that helps. I also deleted my entire Library/Mathematica folder, but that did not help.
2 Answers
Mathematica still works with Courier by default. Nothing is broken about your copy of Mathematica. It is the case, however, that if you use any sans serif font (or at least any font that properly advertises itself as sans serif...many amateur font designers don't bother setting font metadata bits correctly), you'll see the new MathematicaSans font in use for the Mathematica characters. It was a lot of work and long overdue, and we're very proud of it.
So why are the examples different? The short answer is we're doing different things on the web and on the desktop. For now.
The long answer is that there's been a bit of a row within the company of which, I confess, I'm one of the chief instigators...but I won't say for which side. I think that most people would like to see us retire the tired old Courier for something a bit more modern, but the big question is whether that font should be proportionally or mono-spaced.
On the one hand, Mathematica has never offered a strictly monospaced environment. That would be impossible with true typesetting, but even without it we do things like putting little spacing hints around operators and such.
On the other hand, Mathematica is a full coding environment for the Wolfram Language, and it's pretty uncommon for a coding environment to use anything but a monospaced font. It can really play havoc with attempting to do proper indenting, and arguments can be made that code is just not as readable in proportional fonts, especially in regards to the treatment of punctuation and delimiters.
So we've split the difference between the web and desktop environments for now, which is probably not a permanent solution.
I'm curious what SEers think about the situation. Maybe those who care might look at the comments below and upvote what most closely represents your opinion
- 12,581
- 58
- 73
-
5Upvote if this describes you: Proportional is totally the future, and a brilliant break from stodgy tradition! I'm so tired of being kicked around by pseudo-modern coding environments that can't even figure out modern typesetting! – John Fultz Jul 10 '14 at 05:45
-
35Upvote if this describes you: Proportional for coding? Are you insane? Do the people who thought this stinker up actually ever write code? There are so many great coding fonts out there today...let's modernize on one of those! – John Fultz Jul 10 '14 at 05:46
-
11Upvote if this describes you: Wait...are you suggesting that you're going to take away my Courier font? You'll have to pry it from my lifeless limbs. It was an inspired choice when Wolfram did it in 1988, and it's no less inspired today. – John Fultz Jul 10 '14 at 05:48
-
1fyi, I personally do not like the default style sheet used in V10 and also in V9. I do not like the fonts used in these at all. First thing I do, is switch Default.nb to use Default_8.0.nb instead. I find The old fonts used in Mathematica much better for reading. – Nasser Jul 10 '14 at 06:45
-
1I upvoted the proportional comment, but what I really like is the freedom of using whatever fonts I want. More specifically, I like the idea of structure editor, and I think all the alignment and readability advantages from mono-spaced fonts can, and should, be achieved by underlying Box-based layout constructed from the AST on the fly! And the fonts people choose should have little/no effect on the code's readability. – Silvia Jul 10 '14 at 11:19
-
And of course people shoul always be able to fall back to monospaced fonts when using plaintext editors. – Silvia Jul 10 '14 at 11:20
-
I think the biggest thing is flexibility. Proportional vs Monospaced is not going to get solved here, but it would be nice to have both alternatives available, especially if one is being used on the web versions of Mathematica and Wolfram Cloud. Seems odd to me to have two different styles when the interfaces themselves are so similar. I would personally vote for a modern monospaced font, Courier has always bothered me. – bridges2 Jul 10 '14 at 13:18
-
Also, is there anyway to change the font system wide? Szabolcs answer mostly solves it for the notebook, but things like the documentation center, autocomplete menus, etc are still Courier. – bridges2 Jul 10 '14 at 13:20
-
1
-
5I think that proportional vs monospace is less important than clear distinguishability of characters. In the Wolfram Cloud input font,
Inandlnlooks much too similar, especially iflnhas a value assigned to make it black (not blue). When looking atInas part of an input (not cell label!), my brain wants to seeln(probably too used to natural logarithms). – Szabolcs Jul 10 '14 at 16:49 -
I wonder if the survey results would change if people are given the chance to use a proportional-font stylesheet for a few weeks ;-) The arguments you list suggests that currently there isn't really any advantage for monospaced (the main one, predictable spacing, doesn't apply in Mathematica). Something that would be a very welcome change is easy transition between a fixed-width format and usual StandardForm auto-indented input. I'd like to be able to "Copy As -> Code" auto-indented code, and have explicit indenting spaces automatically inserted. ... – Szabolcs Jul 10 '14 at 17:04
-
3... There's also the annoying bug where lines won't be auto-indented after an edit (e.g. adding a wrapper f[ ... ]) until I manually remove and re-add each newline in the input. – Szabolcs Jul 10 '14 at 17:05
-
One of the reasons I like this StackExchange site is that it allows (indeed encourages) users to enter code in blocks that are formatted as fixed-width with nice highlighting. As soon as someone forgets to do this, I find the code much harder to read. Similarly in papers when code is typed as regular text (to see what I mean, wrap any Mathematica code in
TraditionaForm@HoldForm. In fact,TraditionalFormis already available as a means of getting proportional spacing, so why the need to fixInputFormif it ain't broken? – Jens Jul 10 '14 at 17:40 -
@Szabolcs I would be dropping nukes if you couldn't tell the difference between l/1/I and 0/O in code. I do wish the web font we're using did a better job of distinguishing l and I (there's a little curve on the bottom of the l, but it's pretty subtle). – John Fultz Jul 10 '14 at 19:45
-
Is it normal that
FontFamily -> "AnyNonexistentFont"triggers the use of Mathematica Sans? (Please see the last few comments on my answer in this thread.) – Szabolcs Jul 11 '14 at 19:02 -
@Szabolcs No. If you give a non-existent font, we let the operating system determine which font to use. The choice is entirely up to the operating system. But once we have a font (whether it matched or not), then we query it to see if it declares itself as being serifed or monospace, and use the appropriate Mathematica font with it. So, the behavior you're seeing is, in part, operating-system-dependent behavior that is outside of our control. – John Fultz Jul 15 '14 at 17:41
-
@JohnFultz Is there any other way than specifying a non-existent font to use Mathematica Sans on Windows or Linux? On OS X
Style[..., FontFamily -> "MathematicaSans"]works well, but on Linux (and maybe Windows) it turns all characters to boxes. Perhaps using this font is not supported yet? (I'm trying to use this font as the default for a while because I'm curious what it's really like to work with a proportional font instead of a monospace one.) – Szabolcs Jul 15 '14 at 17:48 -
Mathematica has never been a programming environment where the programmer takes great care to align things between different lines of code — this is by nature of the variable spacing around operators, size of operators, etc.… So, there is no reason why a fixed-width font should be worthwhile in Mathematica. The environment can and already does typeset things The Way They Should Be™… modernize, I say! – jtbandes Jul 17 '14 at 07:06
-
What would happen if the additional spacings around operators were suppressed? I experimentally found out that ()[]{}+-*/!|= have 10% extra space around them and underscore and backslash seem to have 20% extra space. I just tried it with sequences of 10 consecutive equal characters and compared it with the length of 123456789012. Much debate would be over if tab would jump to the next multiple of n (e.g. multiples of four or eight) characters starting from the beginning of a line like in some ASCII editors where one used this feature to vertically align comments or to indent new expressions. – Adalbert Hanßen Nov 21 '16 at 18:28
Nothing is wrong with your settings. Mathematica 10 is supposed to be using the old fonts. The old fonts are shown in the blog post introducing Mathematica 10.
Note: People report that the hack described below doesn't work on Windows or Linux. It works on OS X, where I tried it.
But you can play with the new fonts if you like. Go to Format -> Edit Stylesheet.... Create a new cell in the style definitions window. Show the cell expression by selecting the cell bracket and pressing Command-Shift-E. Then change the cell expression to
Cell[StyleData["StandardForm"], FontFamily -> "MathematicaSans", FontSize -> 12]
convert the cell back (Command-Shift-E), then close the style definitions window. Now the notebook will use Mathematica Sans for standard form expressions.

Here's a better example showing actual code:

You can also try Mathematica (serif) or MathematicaMono (fixed width). The fonts are located in $InstallationDirectory/SystemFiles/Fonts.
- 234,956
- 30
- 623
- 1,263
-
Seems weird they would do this when all of their examples are shown with the new font, in addition to the Cloud interface (which essentially is a mathematica notebook). – bridges2 Jul 10 '14 at 04:20
-
@bridges2 For what it's worth I personally loathe the new font. I'm glad they stuck with the current one. :) – RunnyKine Jul 10 '14 at 05:30
-
Ugly. I am almost tempted to use the term fugly, but shall refrain from doing that. – wolfies Jul 10 '14 at 16:13
-
@wolfies I guess I posted the wrong kind of screenshot of a 2D math expression. It doesn't look bad when used for more usual inputs. – Szabolcs Jul 10 '14 at 16:47
-
2This doesn't work for me. I just get a bunch of empty boxes. – Sjoerd C. de Vries Jul 10 '14 at 19:55
-
@SjoerdC.deVries You're on Windows, right? I only tried on OS X. Are the fonts included in the Windows version? – Szabolcs Jul 10 '14 at 19:56
-
-
And on my Win8.1, the English and digital characters become strange (looks like the SimSun font). – Silvia Jul 10 '14 at 20:10
-
It looks like new fonts are not properly installed under Windows: they are listed in the
Format -> Font...dialog inside of Mathematica but they are not visible for OS: they are not listed inControl Panel -> Fonts. – Alexey Popkov Jul 11 '14 at 10:47 -
@AlexeyPopkov I always thought this was an intentional change (i.e. not installing the Mathematica fonts system-wide). – Szabolcs Jul 11 '14 at 16:56
-
But other Mathematica fonts are visible for Windows. I even use one of them in Microsoft Word... – Alexey Popkov Jul 11 '14 at 16:59
-
@AlexeyPopkov Aren't those leftovers from version 9? Anyway, I really don't know how this works. Probably only the Front End developers could answer. It seems this method I describe only work on Mac. (On Mac I don't see the Mma fonts in other programs.) – Szabolcs Jul 11 '14 at 17:01
-
It seems you are right: these fonts are not intended for the use outside of Mathematica. Based on John Fultz' answer I set
FontFamily->"Sans"in the stylesheet as you suggest and get what you show on the screenshots. With exception to the ordinary English letters it looks ugly. – Alexey Popkov Jul 11 '14 at 17:29 -
@Alexey So you used
FontFamily->"Sans", and notFontFamily->"MathematicaSans", and it worked? If so, I'll update the answer with that. – Szabolcs Jul 11 '14 at 17:44 -
@Alexey It seems that I get this new sans serif font for any invalid
FontFamilysetting. I get this font forFontFamily > "nosuchfont". – Szabolcs Jul 11 '14 at 17:47 -
Yes,
FontFamily->"Sans"works and any other invalidFontFamilysetting gives the same. ButFontFamily -> "MathematicaSans"gives empty boxes instead of letters. – Alexey Popkov Jul 11 '14 at 17:59 -
This is neat, but not the same font used in Wolfram Cloud (Source Sans Pro). – jtbandes Jul 17 '14 at 07:06
DefaultStyleDefinitionssay in advanced preferences? (ps. I am not sure I understand what you mean byI also deleted my entire Library/MathematicaThe default style sheet should use Default.nb – Nasser Jul 10 '14 at 04:00