From 4b61804a4553ffa8d7ee9b984abb2e1be665b21c Mon Sep 17 00:00:00 2001 From: l2- Date: Mon, 22 Oct 2018 17:51:34 +0200 Subject: [PATCH] make sure rl uses OS font rendering hints --- .../components/shadowlabel/JShadowedLabel.java | 17 +++++++++++++++++ .../client/ui/overlay/OverlayRenderer.java | 10 ++++++++++ 2 files changed, 27 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/components/shadowlabel/JShadowedLabel.java b/runelite-client/src/main/java/net/runelite/client/ui/components/shadowlabel/JShadowedLabel.java index 35ccf12374..79b7200f7b 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/components/shadowlabel/JShadowedLabel.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/components/shadowlabel/JShadowedLabel.java @@ -25,7 +25,11 @@ package net.runelite.client.ui.components.shadowlabel; import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; import java.awt.Point; +import java.awt.Toolkit; +import java.util.Map; import javax.swing.JLabel; import lombok.Getter; @@ -61,4 +65,17 @@ public class JShadowedLabel extends JLabel revalidate(); repaint(); } + + @Override + public void paint(Graphics g) + { + // Set font rendering properties like the OS's font rendering + Toolkit tk = Toolkit.getDefaultToolkit(); + Map desktopHints = (Map)(tk.getDesktopProperty("awt.font.desktophints")); + if (desktopHints != null) + { + ((Graphics2D)g).addRenderingHints(desktopHints); + } + super.paint(g); + } } diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java index a9f2e9f017..eb817354b7 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayRenderer.java @@ -31,9 +31,11 @@ import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; +import java.awt.Toolkit; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.util.List; +import java.util.Map; import javax.inject.Inject; import javax.inject.Singleton; import javax.swing.SwingUtilities; @@ -165,6 +167,14 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener return; } + // Set font rendering properties like the OS's font rendering + Toolkit tk = Toolkit.getDefaultToolkit(); + Map desktopHints = (Map)(tk.getDesktopProperty("awt.font.desktophints")); + if (desktopHints != null) + { + graphics.addRenderingHints(desktopHints); + } + if (shouldInvalidateBounds()) { snapCorners = buildSnapCorners();