![]() |
|
|
(部分参阅了网络上其他人的文档) GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); String fontNames[] = ge.getAvailableFontFamilyNames(); String path=application.getRealPath("/client")+"/test"; // Iterate the font family names for (int i = 0; i < fontNames.length; i++) { String fontName = fontNames[i]; out.print(fontName); BufferedImage bufferedImage = new BufferedImage(400,400,BufferedImage.TYPE_3BYTE_BGR); Graphics big = bufferedImage.createGraphics(); big.setFont(new Font(fontName,Font.PLAIN,30)); big.drawString("你好,发送到A",100,100); OutputStream os=new FileOutputStream(path+"/"+fontName+".jpg"); JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(os); encoder.encode(bufferedImage); os.close(); } 用系统列出来所有字体画一遍图,然后一个一个看,果然,问题找到了 1没有simsun字体!汗~~~,原来能画出来的那些部分中文用的不知道是什么字体。 2 情况和batik一样,部分中文绘制不出来,为方框 上网google了一下, 发现原来jdk5.0在linux下和以前的版本还不一样,默认不支持中文字体的。得手动去搞一个fontconfig配置, 此文件在$JAVA_HOME/jre/lib/下, 果然有一大堆fontconfig.XX.properties, 官方的解释在这里, 懒得看那么多,直接搞一个自己的,先从windows上拷贝simsun.ttc到lib下面的fonts目录下 然后自己编一个简单的 # @(#)linux.fontconfig.SuSE.properties 1.2 03/10/17 # # Copyright 2003 Sun Microsystems, Inc. All rights reserved. # # Version version=1 # Component Font Mappings serif.plain.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 serif.bold.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 serif.italic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 serif.bolditalic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 sansserif.plain.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 sansserif.bold.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 sansserif.italic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 sansserif.bolditalic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 monospaced.plain.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 monospaced.bold.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 monospaced.italic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 monospaced.bolditalic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialog.plain.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialog.bold.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialog.italic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialog.bolditalic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialoginput.plain.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialoginput.bold.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialoginput.italic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 dialoginput.bolditalic.zh-1=Simsun GB-medium-r-normal--0-0-0-0-c-0-gb2312.1988-0 # Search Sequences sequence.allfonts=zh-1 # Exclusion Ranges # Font File Names
|