红联Linux门户
Linux帮助

服务器安装字体库解决出现xx问题

发布时间:2016-04-17 15:10:33来源:linux网站作者:wenxuechaozhe

以ubuntu服务器为示例:


首先,先安装字体库所需要的控件

apt-get install xfonts-utils  

apt-get install fontconfig 

apt-get install ttf-dejavu-core 


然后,将你下载好的字体文件放置到如下位置(.ttf文件):

将下载好的字体复制到/usr/share/fonts/truetype/liberation路径下

服务器安装字体库解决出现xx问题

然后,在fonts路径下执行以下命令行

服务器安装字体库解决出现xx问题

sudo mkfontscale (创建字体的fonts.scale文件,它用来控制字体旋转缩放) 
sudo mkfontdir (创建字体的fonts.dir文件,它用来控制字体粗斜体产生) 
sudo fc-cache -fv (建立字体缓存信息,也就是让系统认识认识雅黑) 

建立路径和缓存之后,重启服务器或者重启服务,让系统识别新加入的字体库。 


最后,在Graphics2D调用中,申明宋体字符即可直接调用。
最后,在代码部分进行调用,展示的时候即可正确展示:

package org.activiti.examples.processdefinitions; 
 
import java.awt.Font; 
import java.awt.FontMetrics; 
import java.awt.Graphics2D; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 

import javax.imageio.ImageIO; 

public class Test { 

/**
* @param args
*/ 
public static void main(String[] args) { 
int width = 100; 
int height = 100; 
String text = "爱我中华"; 
int x = 0; 
int y = 0; 
BufferedImage processDiagram = new BufferedImage(100, 100, 
BufferedImage.TYPE_INT_ARGB); 
Graphics2D g = (Graphics2D) processDiagram.createGraphics(); 
Font font = new Font("宋体", Font.BOLD, 12); 
g.setFont(font); 
FontMetrics fontMetrics = g.getFontMetrics(); 
int textX = x + ((width - fontMetrics.stringWidth(text)) / 2); 
int textY = y + ((height - fontMetrics.getHeight()) / 2) 
+ fontMetrics.getHeight(); 
g.drawString(text, textX, textY); 
File outFile = new File("d:/newfile.png"); 
try { 
ImageIO.write(processDiagram, "png", outFile); 
} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
}// 写图片 

}


本文永久更新地址:http://www.linuxdiyf.com/linux/19841.html