我使用 java.awt.Graphics 设置英文字体绘制中英文混排文字的时候其中中文显示的是一个一个的方块,请问这样的情况该如何解决啊?
注:由于字体是用户选择的所以不能将字体限制为中文字体。
由于字体是用户选择的所以不能将字体限制为中文字体。
逻辑上问题,如果不是中文字体,那么当然不被支持了。
所以要将字体设置为中文,如果用户存在中文字体的话,那么就能显示,并且,就算是设置为中文字体,如果用户不存在中文字体,也不能显示。
如果不能确定的话,要么不设置字体,或者设置一个通用的字体族,通常情况下都会有一些支持的中文字体。例如serif,这样可以支持“宋体”及“Times New Roman”,而如果直接设置“Times New Roman”,那么宋体肯定不能显示的
这个八成就是字符编码不支持中文的导致,
默认成utf-8的就能处理所有字符了