15

In Mathematica 13 the font and everything else in notebooks and the size of toolbars is too big, compared to Mathematica 12.3 (with all the settings the same, magnification set at 100%).

It seems, the "global magnification" setting actually works (for the purpose of correcting everything being big), but does not affect the palettes (but per-palette magnification setting is remembered, so not a big problem), does not affect the about and welcome dialogs, and does not affect some elements in the notebook windows (the "+" at the top of the notebook and the cell braces at the right). Here is Mathematica 13 with global magnification 75%:

enter image description here

Here is Mathematica 12.3 with global magnification 100%, the font size is the same, but the "+" and braces are smaller:

enter image description here

The welcome screen, about dialog, etc, still remain too big, because global magnification does not affect them.

It reports scale 1.3333...: enter image description here

Alexey Popkov
  • 61,809
  • 7
  • 149
  • 368
Anixx
  • 3,585
  • 1
  • 20
  • 32
  • 1
    Please tell us more about how you are changing the "global magnification". When I evaluate SetOptions[$FrontEnd, FontSize->13, Magnification->2] in MMA 12.1, the change affects all of my open notebooks, the NBs I open in the same session and the NBs I open in the next session. But the NotebookMagnification at the lower right still shows 100%. – LouisB Dec 18 '21 at 23:38
  • @LouisB via Preferences dialog. Yes, it affects all notebooks but not the toolbars and not welcome dialog and not about dialog and not the "+" and cell braces in the notebooks. – Anixx Dec 18 '21 at 23:42
  • 1
    I have a similar problem - after upgrading to 13 the 100% magnification is huge and I have to scale down to get back to what I was used to. The welcome screen and palettes are bigger too. – flinty Dec 19 '21 at 14:39
  • @flinty exactly! – Anixx Dec 19 '21 at 15:18
  • 3
    fyi, I also noticed this first time I installed V13. It is also discussed in community wolfram. – Nasser Dec 20 '21 at 06:39
  • @Nasser thanks, should we mark this as a bug? – Anixx Dec 20 '21 at 06:47
  • 3
    I do not know if this can be called a "bug" or not in traditional sense. But it certainly annoying. But many have noticed this and complaining about it. May be you could submit a request to support and see what they say about it? – Nasser Dec 20 '21 at 06:51
  • 4
    It's not a bug. The appearance now matches the documented behavior of WindowSize, ImageSize, etc... More specifically, the Windows and Linux frontend in v13 no longer misrepresent the dpi of the display under any circumstance. In this case 12.3 would have reported 72 for CurrentValue["WindowResolution"], instead of the 96 that Windows uses. – ihojnicki Dec 20 '21 at 15:19
  • @ihojnicki why does it report scale 1.33333... (see the post update)? – Anixx Dec 20 '21 at 15:29
  • 1
    96/72 = 1.33333 – ihojnicki Dec 20 '21 at 15:29
  • 1
    @ihojnicki so, what does it mean? Can I make scale 1? – Anixx Dec 20 '21 at 15:31
  • 2
    It means that WindowSize and ImageSize are not in pixels. i.e., WindowSize->{100, 100} is actually 133.333x133.333 pixels across on a 96dpi display. If you had a 4k display running at 175% then it would be 233.333x233.333 pixels. – ihojnicki Dec 20 '21 at 15:42
  • 1
    @ihojnicki how to set the scale to 1 so that the lines in brackets and in other places to take 1 px as in version 12.3? – Anixx Dec 20 '21 at 15:43
  • 5
    You can revert back to the legacy behavior by evaluating the following, CurrentValue[$FrontEnd, "ScreenResolutionCompatibilityMode"] = True and restarting the FrontEnd. This only works if all of your displays are set to 100% under the display settings in the Settings app. I make no guarantees that this will continue to work in future versions. – ihojnicki Dec 20 '21 at 15:45
  • @ihojnicki thanks, this worked very well! One has to change magnification back to 100% before applying this. – Anixx Dec 20 '21 at 15:47
  • @ihojnicki the scale returned to 1.x, so that 1 dot=1 px. – Anixx Dec 20 '21 at 15:52

2 Answers2

4

Following the advice by ihojnicki, evaluating

CurrentValue[$FrontEnd, "ScreenResolutionCompatibilityMode"] = True

brings everything back to normal. The lines are again 1px wide, not 1.333 px. The "scale" in system properties became 1.x.

enter image description here

Note however that

This only works if all of your displays are set to 100% under the display settings in the Settings app. I make no guarantees that this will continue to work in future versions.

So this method works only if all of your displays are set to 100% under the "Display" in the Windows "Settings" application:

screenshot

And of course, there is no guarantee that this will continue to work in future Mathematica versions.

More information from Ian Hojnicki:

12.1.0 - 12.3.1 has an active compatibility shim which forces 96dpi displays to report as if they were 72dpi. Evaluating the following will disable it, but I would restart the FrontEnd afterwards.

CurrentValue[$FrontEnd, "ScreenResolutionCompatibilityMode"] = False

So the undocumented option "ScreenResolutionCompatibilityMode" simply switches on and off the compatibility shim.

Alexey Popkov
  • 61,809
  • 7
  • 149
  • 368
Anixx
  • 3,585
  • 1
  • 20
  • 32
3

There is another workaround, which doesn't affect cell braces but fixes the low-quality rendering of Images in the FrontEnd of version 13.0.0 (Image appears as GraphicsBox inside of a Notebook):

SetOptions[$FrontEnd, GraphicsBoxOptions -> {BaseStyle -> Magnification -> 72/96}]

This affects all Image and Graphics objects in all Notebooks.

For reverting to the defaults one should evaluate:

SetOptions[$FrontEnd, GraphicsBoxOptions -> {BaseStyle -> Inherited}]

Strongly related Wolfram Community thread:

Alexey Popkov
  • 61,809
  • 7
  • 149
  • 368