最近项目中需要用到POI的HSLF。遇到一个很头疼的问题。生成PPT的中文字体全部都是宋体。设置字体根本不好用。英文字体没问题。 public static void main(String[] args) throws Exception { SlideShow ppt = new SlideShow(); Slide slide = ppt.createSlide(); TextBox tb = new TextBox(); tb.setAnchor(new Rectangle(100, 100, 100, 20)); // 这里用英文的话,字体都OK,中文的话,字体设置无效 tb.setText("测试字体"); RichTextRun rt = tb.getTextRun().getRichTextRuns()[0]; rt.setFontName("黑体"); rt.setFontSize(50); slide.addShape(tb); OutputStream out = new FileOutputStream("c:/font.ppt"); ppt.write(out); out.close(); }有哪位大神遇到这种问题,怎么解决的?POI的3.7和3.11版本都测试过,应该不是版本的问题。字体就是用的“黑体”,这个应该不存在不支持的问题。把上面源码中的tb.setText("测试字体");中的字符串换成英文,一切都正常(黑体显示),再改成中文,变成宋体了..