JVM/AWT在不同的平台上以不同的方式显示Unicode字符

k3fezbri  于 7个月前  发布在  其他
关注(0)|答案(1)|浏览(78)

我一直在为类Lisp语言开发一个小编程环境。该环境可以在JVM或Android上运行,JVM变体可以渲染到Swing或终端(使用Lanterna库)
我的编辑器本身是用Kawa Scheme编写的,我计划在某个时候开始使用它来编辑它本身-但到目前为止,我主要是在Emacs中编辑它。
我还可以将GRASP表达式呈现为字符串,这使我可以以更直观的方式编写单元测试。下面是两个这样的测试的例子,在Emacs中显示:

当我在GRASP的终端版本中打开它们时,它们看起来相当不错:

当我在WSL下的GRASP图形版本中打开它们时,看起来字体缺少一些字形(我使用Fira Mono):

但是当我在原生Windows下打开GRASP的图形版本时,似乎unicode字符显示完全脱离图表:

所以问题如下:
1.如何强制Windows上的JVM选择正确的编码?
1.谁能推荐一个好看的等宽字体,支持各种字符,包括方块画字符?

mmvthczy

mmvthczy1#

阅读Mojibake in JavaFX (works fine in Netbeans)我发现,为了使程序在Windows上正常运行,需要将-Dfile.encoding=UTF-8参数传递给java命令(这为我解决了问题)

相关问题