How do I change the Ctrl+0 zoom level in IE10?

15,713

As Ashley mentioned, this is due to the per display dpi scaling in Windows 8. A noble attempt to make things not look so tiny on high dpi displays but in some cases, it breaks the web on "sort of high dpi" screens as many of you are seeing. And you thought IE was done doing that! Well, the folks working on the rendering engine might be, but somebody else is responsible for this one.

The problem is that Internet Explorer assumes if the dpi of the display is high, that you need this "fix" - but, say, on a laptop with a 13" display at 1920x1080, it wants to set 150% as the default zoom. That's insane. I could actually see 125%, but 150% is excessive.

Here is an actual solution which I also posted on the connect bug (https://connect.microsoft.com/IE/feedback/details/804990/internet-explorer-11-auto-zoom-feature-within-ie11#tabs) but thought it would be more useful here.

What you can do is supply a custom monitor.inf file for your display that overrides the "EDID" information (extended display information which includes all kinds of details about the display including its physical size). You are basically telling Windows you display's physical size is larger than it is. This lowers the dpi. A little larger and the dpi will be calculated such that Internet Explorer will default to 125%. Even larger and it will go back to 100% as the default zoom.

The easiest way to do this is if you have two displays where one behaves properly (e.g. in IE, default zoom is 100%). In my case, the internal laptop display was 13" @ 1920x1080 and my external display was 24" @ 1920x1080. The internal display had IE default zoom at 150% but on the external display it was 100%.

You do this by supplying a custom monitor.inf file - the trick is the EDID is a bunch of hex codes - rather than sort it out, you can copy the EDID from the working display to the high dpi display. I'll provide instructions here. If you want to edit the EDID yourself, say to supply a different size and make the default zoom, say 125%, get searchin' on that EDID format. There are some utilities that help you work it out but it also might take some experimentation. Proceed there at your own risk...

However, if you have two displays like I did:

Download this utility: http://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU

It basically queries your attached displays and shows you resolutions, refresh rates, etc...

Use it to save a monitor.inf file of both of your displays. Inside each of these files is a line that has the EDID for each display.

Replace the HKR,EDID_OVERRIDE line in the high dpi monitor.inf file (the one with the problem) with the same line from the other monitor.inf file.

You can't use this file directly, however, because Windows will complain that it isn't digitally signed. You need to turn that system check off (temporarily).

At a command prompt, enter:

shutdown /r /o /f /t 00

System will restart to a "Choose an option" screen.

Select "Troubleshoot" and then "Advanced Options."

Select "Startup Settings" and then "Restart."

When restarting, choose the option to "Disable Driver Signature Enforcement" (should be option 7).

Now, go into your screen resolution settings, right-click, Properties for the high dpi display, choose the Monitor tab, get Properties, Driver tab, then Update the Driver and follow the option (Browse, Let me Pick, Have Disk...) to grab your edited monitor.inf file.

It should work immediately but you might want to restart to turn driver signature enforcement back on.

Share:
15,713

Related videos on Youtube

Toomai
Author by

Toomai

Yes, the same Toomai you know from those other websites. Also my reputation is 4 too high on SO because an answer got downvoted twice and upvoted once in that order (resulting in a +10 instead of a +6 because of the rep-cannot-be-zero policy).

Updated on September 18, 2022

Comments

  • Toomai
    Toomai almost 2 years

    I often accidentally press zoom shortcuts, so I often use the Ctrl+0 shortcut to return to 100% zoom. However, I have a new laptop, and for some reason with it pressing Ctrl+0 changes the zoom level to 125% instead of 100%. This is unacceptable. How do I change it?

  • Ashley
    Ashley about 10 years
    Unfortunately it seems Windows 8.1 has broken this by trying to allow "cleverer" scaling across multiple monitors and seems to ignore that I've explicitly told it 100% scaling, with IE still showing default (ctrl+0) zoom level as 125%... :(
  • Arjan
    Arjan almost 10 years
    Nice! I'm not on Windows, so curious: one can install unsigned drivers while signing is not required, and then Windows does not complain about those drivers when signing is required later on? In other words: are you sure signature enforcement is enabled after restarting? (I guess you are.)
  • Arjan
    Arjan almost 10 years
    @Ashley, if this is still an issue for you: see Chris' new answer.
  • Chris
    Chris almost 10 years
    That's my understanding, yes. The enforcement relaxing is a one time t hing and the check is only done upon driver installation, not every time the system boots. It is also my experience in the sense that I did exactly what I posted and the name of my custom monitor.inf file still shows as the "driver" for in Display Properties and IE is still setting the zoom properly.
  • Chris
    Chris almost 10 years
    It's also worth noting this changes display scaling elsewhere, e.g. in Windows Store apps (Metro apps) and the start screen. But if you need this fix, you likely want those addressed as well. Truth be told, IE isn't my main browser, but I use it to test and this problem was annoying even with limited use...
  • Arjan
    Arjan almost 10 years
    I indeed assumed your custom driver is still used, but are you sure the signature enforcement is re-enabled? ;-) (I'm quite sure it is.)
  • Chris
    Chris almost 10 years
    Aha - so, I can't say for sure but it's all in a troubleshooting effort and set of menus. There is no set of menus that you go through to turn it back on so it seems logical to think that a restart and normal boot brings that all back into play.
  • fixer1234
    fixer1234 almost 9 years
    External links can break, in which case your answer would not be useful. Link-only answers attract downvotes and may get deleted. Please include the essential information within your answer and use the link for attribution and further reading. Thanks.