mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-06 09:29:38 +01:00
JBR-3269 Disabled subpixel antialiasing for macOS Big Sur and newer
This commit is contained in:
committed by
Vitaly Provodin
parent
d7e51fe60c
commit
7faec92ebe
@@ -111,11 +111,12 @@ public class FontStrikeDesc {
|
||||
*/
|
||||
public static int getAAHintIntVal(Object aa, Font2D font2D, int ptSize) {
|
||||
|
||||
if (FontUtilities.isMacOSX14 &&
|
||||
(aa == VALUE_TEXT_ANTIALIAS_OFF ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_DEFAULT ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_ON ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_GASP))
|
||||
if (FontUtilities.isMacOSX16 ||
|
||||
(FontUtilities.isMacOSX14 &&
|
||||
(aa == VALUE_TEXT_ANTIALIAS_OFF ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_DEFAULT ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_ON ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_GASP)))
|
||||
{
|
||||
return INTVAL_TEXT_ANTIALIAS_ON;
|
||||
}
|
||||
@@ -153,11 +154,12 @@ public class FontStrikeDesc {
|
||||
FontRenderContext frc) {
|
||||
Object aa = frc.getAntiAliasingHint();
|
||||
|
||||
if (FontUtilities.isMacOSX14 &&
|
||||
(aa == VALUE_TEXT_ANTIALIAS_OFF ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_DEFAULT ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_ON ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_GASP))
|
||||
if (FontUtilities.isMacOSX16 ||
|
||||
(FontUtilities.isMacOSX14 &&
|
||||
(aa == VALUE_TEXT_ANTIALIAS_OFF ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_DEFAULT ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_ON ||
|
||||
aa == VALUE_TEXT_ANTIALIAS_GASP)))
|
||||
{
|
||||
return INTVAL_TEXT_ANTIALIAS_ON;
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ public final class FontUtilities {
|
||||
|
||||
public static boolean isMacOSX;
|
||||
public static boolean isMacOSX14;
|
||||
public static boolean isMacOSX16;
|
||||
|
||||
public static boolean useJDKScaler;
|
||||
|
||||
@@ -70,9 +71,10 @@ public final class FontUtilities {
|
||||
isMacOSX = osName.contains("OS X"); // TODO: MacOSX
|
||||
if (isMacOSX) {
|
||||
// os.version has values like 10.13.6, 10.14.6
|
||||
// If it is not positively recognised as 10.13 or less,
|
||||
// assume it means 10.14 or some later version.
|
||||
// If it is not positively recognised as 10.13 (10.15) or less,
|
||||
// assume it means 10.14 (10.16) or some later version.
|
||||
isMacOSX14 = true;
|
||||
isMacOSX16 = true;
|
||||
String version = System.getProperty("os.version", "");
|
||||
if (version.startsWith("10.")) {
|
||||
version = version.substring(3);
|
||||
@@ -83,6 +85,7 @@ public final class FontUtilities {
|
||||
try {
|
||||
int v = Integer.parseInt(version);
|
||||
isMacOSX14 = (v >= 14);
|
||||
isMacOSX16 = (v >= 16);
|
||||
} catch (NumberFormatException e) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -774,8 +774,9 @@ public final class SunGraphics2D
|
||||
}
|
||||
}
|
||||
}
|
||||
if (FontUtilities.isMacOSX14 &&
|
||||
(aahint == SunHints.INTVAL_TEXT_ANTIALIAS_OFF))
|
||||
if (FontUtilities.isMacOSX16 ||
|
||||
(FontUtilities.isMacOSX14 &&
|
||||
aahint == SunHints.INTVAL_TEXT_ANTIALIAS_OFF))
|
||||
{
|
||||
aahint = SunHints.INTVAL_TEXT_ANTIALIAS_ON;
|
||||
}
|
||||
|
||||
@@ -456,7 +456,11 @@ public abstract class SurfaceData
|
||||
} else {
|
||||
solidTextRenderer = new SolidTextRenderer();
|
||||
}
|
||||
lcdTextRenderer = new LCDTextRenderer();
|
||||
if (FontUtilities.isMacOSX16) {
|
||||
lcdTextRenderer = aaTextRenderer;
|
||||
} else {
|
||||
lcdTextRenderer = new LCDTextRenderer();
|
||||
}
|
||||
|
||||
colorPipe = new AlphaColorPipe();
|
||||
// colorShape = colorPrimitives;
|
||||
|
||||
Reference in New Issue
Block a user