0
点赞
收藏
分享

微信扫一扫

java计算自定义字体宽度

兮城 2023-02-04 阅读 64


import lombok.extern.slf4j.Slf4j;

import javax.swing.*;
import java.awt.*;
import java.io.*;

/**
* @Author zyh
* @Date 2020/12/3 11:07
*/
@Slf4j
public class Test {

public static void main(String[] args) throws IOException, FontFormatException {

String fontFilePath="D:\\company\\font\\hanyizhengyuanzitidabao_downcc.com\\HYZhengYuan-35W.ttf";
String text="纸上得来终觉浅";

Font font = Font.createFont(Font.TRUETYPE_FONT, new File(fontFilePath));
FontMetrics fm = Toolkit.getDefaultToolkit().getFontMetrics(font);
int width = SwingUtilities.computeStringWidth(fm, text);

log.info("width:"+width);
}

private static java.awt.Font getSelfDefinedFont(String filepath){
java.awt.Font font = null;
File file = new File(filepath);
try{
FileInputStream fi = new FileInputStream(file);
BufferedInputStream fb = new BufferedInputStream(fi);
font = java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, fb);
font = font.deriveFont(java.awt.Font.PLAIN, 40);
}catch (FontFormatException e){
return null;
}catch (FileNotFoundException e){
return null;
}catch (IOException e){
return null;
}
return font;
}


}

 

举报

相关推荐

0 条评论