Java 一种使用Freetype-like字体呈现获取Linux-JDK tarball的方法
我想知道一种制作自包含(tarball)LinuxJDK/JRE的方法,该方法具有与提供的类似的高字体呈现质量。到目前为止,在: --正在试用可用于Ubuntu的不同版本的JDK:Java 一种使用Freetype-like字体呈现获取Linux-JDK tarball的方法,java,linux,swing,fonts,rendering,Java,Linux,Swing,Fonts,Rendering,我想知道一种制作自包含(tarball)LinuxJDK/JRE的方法,该方法具有与提供的类似的高字体呈现质量。到目前为止,在: --正在试用可用于Ubuntu的不同版本的JDK: java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) openjdk version "
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-3~14.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
(字符的形状可能是一些无关的字体问题,我不知道)
--尝试了许多不同的字体和大小,但似乎是正交的
--切换许多开关,如LCD渲染和抗锯齿:
--遵循“将不同repo的补丁包和脚本应用到Ubuntu衍生产品”之类的方法(这对我来说不起作用,至少在不久前,它在发行版级别上起作用,并提供了一个固定版本的jdk)
--从Swing辞职并尝试用JavaFX制作GUI
我开始相信我不会得到与Freetype相媲美的字体渲染。然后我无意中进入了Android Studio,它包含了三种Java和Linux以及一种类似Freetype的字体渲染:
事实证明,这一切都归结为它使用的JRE:
openjdk version "1.8.0_76-release"
OpenJDK Runtime Environment (build 1.8.0_76-release-b03)
OpenJDK 64-Bit Server VM (build 25.76-b03, mixed mode)
我尝试从启用FreeType的源代码编译OpenJDK:
sudo apt-get install libfreetype6-dev libasound2-dev libasound2-dev libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev
mkdir freetype && ln -s /usr/include/freetype2 freetype/include && ln -s /usr/lib/x86_64-linux-gnu/ freetype/lib
sudo apt-get install ccache
cd YourOpenJDK
bash ./configure --with-freetype=../freetype --with-cups=/usr/include/cups --with-x=/usr/include/X11/extensions --with-jvm-variants=server --with-target-bits=64 --with-debug-level=release
checking if we can compile and link with freetype... yes`
checking if we should bundle freetype... yes`
make all
但它不起作用-字体渲染仍然像前两幅图像一样
对于暗示良好的字体,差异会变小:
但是需要适当提示的渲染器仍然做得不好-第4幅图像中的所有字体都有缺陷:
java version "1.8.0_122-ea"
Java(TM) SE Runtime Environment (build 1.8.0_122-ea-b04)
Java HotSpot(TM) 64-Bit Server VM (build 25.122-b04, mixed mode)
又有了“传统的Linux Java”字体渲染,是不是第三个图像中使用的方法是后来放弃的功能?它发现有一个定制的jdk JetBrain OpenJDK,它有一个大大改进的字体渲染。它发现有一个定制的jdk JetBrain OpenJDK,这大大改进了字体渲染。好,这是什么意思
我想知道一种方法,可以制作一个自包含(tarball)的Linux JDK/JRE,其字体呈现与Freetype类似
如果这意味着您需要一种看起来像Freetype的自定义字体,那么您可以找到一种(.ttf)并轻松地应用于JavaFX应用程序的css,无论Java版本如何,它都可以工作。当然,它必须首先支持JavaFX:)如果你想将它捆绑到你的JRE中,我想知道为什么?最后+1因为它很有趣。GOX,Freetype是一个提供高质量字体渲染的项目。我会修改这个问题使它更清楚。好的,这是什么意思我想知道一种方法,可以制作一个自包含(tarball)的Linux JDK/JRE,其字体呈现与Freetype类似
如果这意味着您需要一种看起来像Freetype的自定义字体,那么您可以找到一种(.ttf)并轻松地应用于JavaFX应用程序的css,无论Java版本如何,它都可以工作。当然,它必须首先支持JavaFX:)如果你想将它捆绑到你的JRE中,我想知道为什么?最后+1因为它很有趣。GOX,Freetype是一个提供高质量字体渲染的项目。我将对问题进行编辑,使其更清楚。