我想编写一个java程序来打印Unicode字符。我想检测并不打印未知/未分配的CHaracters(由矩形显示)。我从“Character”类中尝试过“isDefined”和“isISOControl”,但它不起作用。 有人知道解决方案吗?这对我来说是一个很大的帮助。
感谢。
答案 0 :(得分:3)
显示为矩形的字符(在Windows上)是您正在使用的字体中不可用的字符。虽然你可以通过过滤掉未定义和控制字符来过滤掉很多它们,但你遇到的问题完全可能是你的字体不支持某些有效字符范围(这是典型的 - 很少的字体为所有已定义的Unicode字符定义字形。)
如果您的目标是删除呈现为矩形的字符,则可以使用Font中的canDisplay
方法。