HMCL-dev / HMCL

A Minecraft Launcher which is multi-functional, cross-platform and popular
https://hmcl.huangyuhui.net
GNU General Public License v3.0
6.89k stars 676 forks source link

[Bug] 启动器汉字字体无法更换,锁定为宋体,且字体选项中有且只有5种英文字体 #3220

Open linyoucha opened 2 months ago

linyoucha commented 2 months ago

平台 | Platform

Windows11

问题描述 | Problem Description

image 如题,重装笔记本电脑系统后,又来用hmcl,结果刚打开就发现字体不是微软雅黑,而是极细的,难以辨认的宋体,在设置里也只有5种英文可选,明明电脑里安装有多种中文字体,但启动器无法辨识除截图中的5种英文字体以外的字体。。 image

启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File

hmcl-exported-logs-2024-08-08T23-39-14.log

3gf8jv4dv commented 2 months ago

Does this problem occur with previous versions of the launcher? You can also see if replacing Java can solve the problem. 之前的启动器版本会出现这个问题吗?另外也可以看看更换 Java 是否能解决问题。

Uninstall the original JDK and try this one. 卸载原来的 JDK,然后试下这个。

bellsoft-jdk21.0.4+9-windows-amd64-full.msi

linyoucha commented 2 months ago

Does this problem occur with previous versions of the launcher? You can also see if replacing Java can solve the problem. 之前的启动器版本会出现这个问题吗?另外也可以看看更换 Java 是否能解决问题。

Uninstall the original JDK and try this one. 卸载原来的 JDK,然后试下这个。

bellsoft-jdk21.0.4+9-windows-amd64-full.msi

我刚刚试了,效果是这样的 image 打开之后,启动器的字体从宋体变成了幼圆,列表里面也多出了“幼圆”的选项,但是依旧没有别的中文和英文字体出现。 我认为会出现“幼圆”的原因是我今天一直在尝试修复这个bug,我电脑里原本没有“幼圆”这个字体,我从网上下载并安装了这个字体,希望能在启动器的列表里发现这个新字体,但是并没有。直到刚刚你让我装上了新的jdk之后,“幼圆”才如愿以偿地出现了。 说实话我开始认为这个是windows11的bug了,我稍后会将微软雅黑也重装一遍,看看能否让hmcl的设置里出现这个字体。如果解决了,我会第一时间在这里更新情况。

linyoucha commented 2 months ago

最新情况:在安装你给我发的jdk后,我每安装一个新字体,都可以正常在hmcl的字体列表里找到并显示出来,但是hmcl依旧无法识别我电脑上已经安装的字体,也就是预装在C://Windows/fonts下的字体。。。

linyoucha commented 2 months ago

最新情况:在使用你给我发的jdk之前,我将新字体改名为font.ttf并放在与hmcl同一个目录下,无法让hmcl识别并应用这个字体。 但是在使用你给我发的jdk后,这么做可以直接让hmcl识别并应用这个新字体了。但是hmcl依旧无法识别到系统中其余已经预装的字体。 (顺带一提,我之前用的是hmcl帮我跳转并下载的微软版jdk17)

burningtnt commented 2 months ago

这个问题无法修复,因为字体加载是 JavaFX 内部实现

linyoucha commented 2 months ago

这个问题无法修复,因为字体加载是 JavaFX 内部实现

所以我这种情况应该是JavaFX的问题吗

burningtnt commented 2 months ago

这个问题无法修复,因为字体加载是 JavaFX 内部实现

所以我这种情况应该是JavaFX的问题吗

你误解我意思了。我这句话是指你这个问题只能通过社区帮你用各种设置解决,没法通过类似于 HMCL 这边远程提交一笔更新来解决(

linyoucha commented 2 months ago

这个问题无法修复,因为字体加载是 JavaFX 内部实现

所以我这种情况应该是JavaFX的问题吗

你误解我意思了。我这句话是指你这个问题只能通过社区帮你用各种设置解决,没法通过类似于 HMCL 这边远程提交一笔更新来解决(

好的,我明白了。。。😢请问“各种设置”指的是电脑中和java相关的设置吗

zkitefly commented 2 months ago

安装一个字体试试?要全局应用

linyoucha commented 2 months ago

安装一个字体试试?要全局应用

“全局应用”的意思是把Windows的显示语言也换成安装的新字体吗? 我听说Windows不让用户自己更换显示字体。。 我稍后把系统语言换成英文,再换回中文试一下,如果有用我会继续在这里更新。 更新:并没有用

linyoucha commented 2 months ago

感谢各位的帮助,我暂时不打算解决这个问题了。。。

burningtnt commented 2 months ago

保留以供未来人