设置LCD伽玛/对比度(IntelliJ IDEA,JDK 8)自定义 IntelliJ IDEA VM 选项
我在 IntelliJ IDEA 中使用抗锯齿文本时遇到问题。出于某种原因,这个东西附带了自己的OpenJDK 8版本。无论如何。。。对于亮起暗文本,子像素混叠是可以接受的:
但是,对于明暗文本,伽玛是错误的:
这意味着在此方案中,文本看起来好像是粗体的,并且水平涂抹/模糊。
是否可以指定系统属性或破解系统,否则将AA插值的伽玛更改为较深的颜色?我已经选择了一种非常精细的字体(FicaCode Light),在这台计算机上根本没有显示不那么粗体的字体(Linux与Gnome 3,1920x1080显示)。
编辑:我真的在寻找一种控制AA伽马的方法。我没有使用IDEA 2017.1 EAP,但是已经附带了“固定”捆绑调整版本1.8.0_112的发布版本,这在要点评论中提到。如果我下载该版本,我会获得与上面两个图像完全相同的像素输出。这些是:idea64.jvmoptions
自定义 IntelliJ IDEA VM 选项
-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Dawt.useSystemAAFontSettings=lcd
-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
-Djava2d.font.loadFontConf=false
添加或删除最后一个属性只是零差异,也从更改为或具有零效果。lcd
on
off
将这些图片与我通过 Debian 安装的常规 OpenJDK 1.8.0_121 进行比较:
显然,这里的AA是坏的(在1:1时,它看起来完全是彩色的)。所以我认为捆绑版本的子像素渲染基本上是正确的。只有它对深色背景上的浅色文本使用了错误的伽玛。
编辑:经过进一步的调查,问题归结为:我可以使用一个介于 、 和 之间的自定义文件。对于轻微的提示,字体在宽高比方面看起来是平衡的,但是抗锯齿有错误的伽玛,因此字体行很粗(一切看起来都很粗)。对于中或全提示,字体显得更细线和清晰,但现在宽高比被打破,字体太宽。font.conf
hintstyle
hintslight
hintmedium
hintfull