Fonts unreadably small on high res monitors

Confirmed bugs should get a single post here. Check the READ ME FIRST sticky thread for the format.

Moderators: dorpond, trevor, Azhrei, giliath, jay, Mr.Ice, MapTool BugReport Manager

Forum rules
Posts that do not conform to the READ ME FIRST sticky thread are subject to deletion.
User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: Fonts unreadably small on high res monitors

Post by JamzTheMan »

No problem, glad it worked on one of your PC's :-)

It could just be Windows 7 too, perhaps it may even be a different registry key (i couldn't find a reference to Win7, most folks talk about Win8 & 10)?

FYI: You don't have to use my version if you don't want to. You can uninstall and use an older version. You just have to manually copy/place the manifest files in the JRE directory you are using (jwrapper for 1.4.1.x or your own java install for earlier versions). Your registry is set so you are golden.

Another FYI: You don't have to navigate to %appdata%\JWrapper-Maptool, you can right-click run as admin right from the start menu shortcut (you can also drag short cut to start menu or desktop and run as admin there as well). Just useful info if you need to walk one of your players through it...
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

ryushinji
Kobold
Posts: 7
Joined: Mon Dec 05, 2016 1:50 am

Re: Fonts unreadably small on high res monitors

Post by ryushinji »

Well, I'm personally fairly confident that the secret binary blobs that Windows uses for the Windows Mangification API differ in some fundamental way between Win7 (Windows 6.1.7601) and Windows 10 (Windows 10.0.14393). Why?

Because Steam on the same 3440x1440 Ultrawide monitor on Win7 SP1 uses ridiculously tiny fonts. On Win10, though, with the same 200% DPI bump, at the same resolution, does NOT. So, yeah, there's something weird going on with Win7's Magnification API. And whilst Win8.x gave me a bad taste in my mouth that turned me off from Win10, I now really wished I had taken MS up on the free Win10 offer on my Win7 box. Oh well.

Anyways, TL;DR: yeah, Win10 does Magnification infinitely better.

I do have a quick question: one of my players commented that the custom biuild mentioned would NOT install on x86 (e.g. 32-bit, not x64/x86-64). Is there an x86 (32-bit) exe installer for Windows somewhere?

Thanks again!

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: Fonts unreadably small on high res monitors

Post by JamzTheMan »

I don't usually bother with x32 builds, someone actually still has a 32 bit windows install? (whhhyyy lol)

Here's a direct link to a 32bit build. http://maptool.nerps.net/prod_releases/ ... &ie=ie.exe

*Note: I consider 32bit to be deprecated and as such make no guarantee that 32bit builds will be available for a future build. Either verify before upgrading or upgrade to a 64bit OS please. :wink:
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

masagas
Kobold
Posts: 3
Joined: Fri Jan 27, 2017 3:53 pm

Re: Fonts unreadably small on high res monitors

Post by masagas »

Hi Jamz,

So I have having the same issue with resolution being unreadable on my Lenovo yoga.
So I went and tried to use your package that has the registry edit built in and everything. All of that part works fine but now when I try to do anything, (Click a drop down menu, change from background to token layer, literally any click other than closing the program) I get a java error. I wasn't having this issue at all with the unreadable fonts.
Note before I wasn't using a custom build Maptools before, I was just using the stock.
Do you have any idea what would be cause this error?

Code: Select all

java.lang.NullPointerException
	at net.rptools.maptool.client.ui.assetpanel.ImageFileImagePanelModel.getImage(ImageFileImagePanelModel.java:164)
	at net.rptools.lib.swing.ImagePanel.paintComponent(ImagePanel.java:190)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JViewport.paint(JViewport.java:728)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:36)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at net.rptools.maptool.client.swing.MapToolEventQueue.displayPopup(MapToolEventQueue.java:62)
	at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:47)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:36)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: Fonts unreadably small on high res monitors

Post by JamzTheMan »

Well, that's not good. :oops: What version are you using?

You can try upgrading to 1.4.3.15 and see if that fixes it. Also, down on the lower right, you see a safe & pushpin with sizes (123 mb for instance). Try double clicking on each one, this will clear your asset and thumbnail cache.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

masagas
Kobold
Posts: 3
Joined: Fri Jan 27, 2017 3:53 pm

Re: Fonts unreadably small on high res monitors

Post by masagas »

Not good at all. :cry:

So I tried tinkering with it most of the afternoon and I'll provide as much information on it as I can.
I have a big old gaming rig which was first built in 2012. It currently runs Windows 10 (64) and has absolutely no issues with your 1.4.3.15 version. In fact I have three instances open right now testing some server features and it has no troubles.

The problem only comes up with my laptop, which is a Lenovo Yoga 900. Which I really want to use with my local friends and my external monitor in a suitcase or Spy-Suitcase-ScreenCopyright as one of my group mates calls it, for a map. :mrgreen:
The laptop has the unreadable scaling issue and that's how I got myself to this thread in the beginning.
The laptop can run the stock version of Maptools, but only after some tinkering. (I have to make a .bat file that will run the launcher than comes in RPtools Zip file otherwise java refuses to initialize the application.)

So your home-brew all incased version of maptools is a dream come true. Other than whatever is going on in this error :(
Now about the error:
In my last post the error is from version 1.4.3.14 as I've tried both your online (1.4.3.15) and offline (1.4.3.14) installer to see if either of them help. But nope, same problem in both.
I've since put version 1.4.3.15 back onto the laptop and I'll post the error at the bottom of this post in case it differs between the two versions.
I did try clearing the caches, but they're empty to begin with, the error comes up before I manage to open a campaign or anything.

When does it occur: So, the error comes up after you click on any of the options along the top of Maptools (e.g. The painter tool, the fog tool, the select map, and after choosing some options from the drop down menus)
Once the error has occurred once, it will happen more and more frequently. Like scrolling over the drop down menus with your mouse. Or even hitting close on the error can cause another one to pop up. :shock:
All of the errors have identical text (as far as I can tell) but I'm very poor at Java programming.

The other thing I did try with the laptop was to uninstall every version of Java the laptop had on it so that it could only be pulling from the java files that you've placed inside your build. But that didn't fix it. :?

I'm at a loss of how it can happen on one computer (that is quite new and doesn't have much installed on it) and not ever occur on my old gaming tower.

Any help you can offer would be awesome. :D

Cheers,
Masagas.

P.S. Code from the error occuring in version 1.4.3.15

Code: Select all

java.lang.NullPointerException
	at net.rptools.maptool.client.ui.assetpanel.ImageFileImagePanelModel.getImage(ImageFileImagePanelModel.java:164)
	at net.rptools.lib.swing.ImagePanel.paintComponent(ImagePanel.java:190)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JViewport.paint(JViewport.java:728)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:36)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at net.rptools.maptool.client.swing.MapToolEventQueue.displayPopup(MapToolEventQueue.java:62)
	at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:47)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at net.rptools.maptool.client.swing.MapToolEventQueue.dispatchEvent(MapToolEventQueue.java:36)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: Fonts unreadably small on high res monitors

Post by JamzTheMan »

Strange indeed. So, this laptop, how is your "User" set up? Do you have Administration rights? From the start menu, does it help if you find the MapTool icon, right-click and select "Run as Administrator"? (In fact, are you launching MapTool from the start menu or from the downloaded executable?)

How about the Launcher or TokenTool, do those run without error?

Lastly, you can try and run the Jar manually, but you will have to have java installed or build the path manually using the one provided, for instance:

From a command prompt (your path will be different):
"C:\Users\Jamz\AppData\Roaming\JWrapper-MapTool\JWrapper-Windows64JRE-00049396302-complete\bin\java" -jar "C:\Users\Jamz\AppData\Roaming\JWrapper-MapTool\JWrapper-MapTool-00049396336-complete\MapTool-1.4.3.16-fat.jar"

If that doesn't work, copy the whole directory: C:\Users\Jamz\AppData\Roaming\JWrapper-MapTool out of the Users directory to somewhere like a D: or under C: where you have full rights.

Note: Versions .14 & .15 were bad builds (updated jWrapper) so .16 is the correct version for this week.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

masagas
Kobold
Posts: 3
Joined: Fri Jan 27, 2017 3:53 pm

Re: Fonts unreadably small on high res monitors

Post by masagas »

I figure answering everything in line is the easiest way to read this.
JamzTheMan wrote:Strange indeed. So, this laptop, how is your "User" set up? Do you have Administration rights? From the start menu, does it help if you find the MapTool icon, right-click and select "Run as Administrator"? (In fact, are you launching MapTool from the start menu or from the downloaded executable?)

The laptop only has one User setup on it and that is the Administration account. Same problem if I start Maptool from the start menu icon. With or without "Run as Admin" makes no change
(Most of the time I was testing I was launching it by clicking on the downloaded executable and selecting either "Maptools" or "Maptools launcher" from the window that pops up. But I have tested all the other ways to launch Maptools and they all have the same error.


How about the Launcher or TokenTool, do those run without error?

The Launcher works exactly as it should, and all of the features (language choosing, turning on and off the Reg-edit file all work) The ToeknTool also fully works.

Lastly, you can try and run the Jar manually, but you will have to have java installed or build the path manually using the one provided, for instance:

From a command prompt (your path will be different):
"C:\Users\Jamz\AppData\Roaming\JWrapper-MapTool\JWrapper-Windows64JRE-00049396302-complete\bin\java" -jar "C:\Users\Jamz\AppData\Roaming\JWrapper-MapTool\JWrapper-MapTool-00049396336-complete\MapTool-1.4.3.16-fat.jar"

PROGRESS MAYBE!!! :D So if I try to run the Jar completely maunally through cmd as in "C:\Users\Michael\Desktop\Maptools\JWrapper-MapTool\JWrapper-MapTool-00049396336-complete\MapTool-1.4.3.16-fat.jar"
then we get the error "Could not find or load main class" "File location"


If that doesn't work, copy the whole directory: C:\Users\Jamz\AppData\Roaming\JWrapper-MapTool out of the Users directory to somewhere like a D: or under C: where you have full rights.

My above test I did both with it in the original location and with a folder that I moved the entire directory to /Desktop/Maptools/
Both tests come up with the same thing. Executing just the Jar file with no path leads to Could not Find or load main class.
Executing with the path specified launches the application and proceeds to error when I try to do anything.
All of the above tests I tried on version 1.4.3.15 and then I fully uninstalled and tried again with version 1.4.3.16. Same results in both versions.
I did also download the basic Java runtime enviroment and did the tests with the fully written path to both the Jrwapper\bin\java and to the other one being Programfiles(x86)\jre.1.80_121\bin\java
Both of them lead to the exact same results with both .15 and .16 builds

Again I'm not good with Java but I tried to run all of your suggestions with every possibility. (e.g. Different versions of java, or different builds etc) Let me know if I missed any that might work?
Does the Could not find or load main class error mean anything? or is it just something that comes up when you try to run a .jar file through cmd without a full path built?

And thank you again for trying to help me fix this.
:)
Cheers,
Masagas.

User avatar
JamzTheMan
Great Wyrm
Posts: 1872
Joined: Mon May 10, 2010 12:59 pm
Location: Chicagoland
Contact:

Re: Fonts unreadably small on high res monitors

Post by JamzTheMan »

Maybe there's something else going on. Launch it normally, then shut it down after your get your errors. then go to your .maptool directory, there should be a log.txt. Hopefully there are some java exceptions in there, grab that log, zip it and send it on over.

Also, we did establish, this labtop is x64 bit right? (don't think it would even run otherwise, but gotta ask).

PS. If all else fails, you can roll back to 1.4.1.7 or 1.4.0.5. Your registry setting is already set, all you need beyond that are the manifest files. There are two .manifest files in the java directory, eg. C:\Users\Jamz\AppData\Roaming\JWrapper-MapTool\JWrapper-Windows64JRE-00049396302-complete\bin\java

Copy those out and save em. Place them in either your installed java (for 1.4.0.5) or in the JWrapper JRE for 1.4.1.7 AFTER you install it. (uninstall 1.4.3.x first). At least, it's also a test.
-Jamz
____________________
Custom MapTool 1.4.x.x Fork: maptool.nerps.net
Custom TokenTool 2.0 Fork: tokentool.nerps.net
More information here: MapTool Nerps! Fork

Post Reply

Return to “Bug Reports”