java处理将unicode char替换为square

问题描述

我正在用eclipse v2021-3开发一个java项目,软件处理v3.5.4,我想把unicode字符作为文本放在我的屏幕上。

只要这样做,我就可以做到并取得积极的结果:

@Override
public void mousepressed(papplet p) {
    p.text("\u2196",10,10);      // "\u2196" code for arrow top-left
}

但是每当我尝试更改 textSize 时:

p.textSize(10);

不管我选择什么大小,它都会将所有 unicode 字符变成正方形。

https://prnt.sc/12pykgs -> 这是我缩放文本前后的屏幕截图。

在我的工作中,同事也在她的计算机上使用 eclipse 和处理,她可以毫无问题地做到这一点,我在论坛上寻求帮助,但没有找到任何东西。

如果您能帮我解决这个问题,在此先感谢您! :)

解决方法

主机操作系统配置问题,不是编程问题

可能不是 Java 编程问题,也不是 Eclipse 的问题。可能与您特定计算机上的字体问题有关。

参见类似的 code run live on IdeOne.com

    String input = "\u2196" ;
    System.out.println( input ) ;

Code point U+2196 in hex(8,598 十进制)是 NORTH WEST ARROW

如果您的显示应用在提供带有定义的 glyph 字体的计算机上运行,​​您应该会看到此字符。如果所有可用字体都没有这样的字形,您将得到一个 fall-back 字形,例如空框。