import java.awt.Font
import java.io.File
import java.io.FileInputStream
public class Loadfont
{
public static Font loadFont(String fontFileName, float fontSize) //第一个参数是外部字体名,第二个是字体大小
{
try
{
File file = new File(fontFileName)
FileInputStream aixing = new FileInputStream(file)
Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, aixing)
Font dynamicFontPt = dynamicFont.deriveFont(fontSize)
aixing.close()
return dynamicFontPt
}
catch(Exception e)//异常处理
{
e.printStackTrace()
return new java.awt.Font("宋体", Font.PLAIN, 14)
}
}
public static java.awt.Font Font(){
String root=System.getProperty("user.dir")//项目根目录路径
Font font = Loadfont.loadFont(root+"/data/PRISTINA.ttf", 18f)//调用
return font//返回字体
}
public static java.awt.Font Font2(){
String root=System.getProperty("user.dir")//项目根目录路径
Font font = Loadfont.loadFont(root+"/data/XXXX.ttf", 18f)
return font//返回字体
}
}
2.转换:
public static String ascii2native(String ascii) {
int n = ascii.length() / 6
StringBuilder sb = new StringBuilder(n)
for (int i = 0, j = 2i <ni++, j += 6) {
String code = ascii.substring(j, j + 4)
char ch = (char) Integer.parseInt(code, 16)
sb.append(ch)
}
return sb.toString()
}
CAD文字格式是dwg文件自身的属性,是CAD中画图人设定的字体样式,不能因为你的电脑里没有其要求的字体就删除,对于其它电脑还是能读出来的。文字格式分大字体和小字体,就是中文和英文数字符号的字体文件,你可以分别指定不同的字体文件。如果文字格式如standard中没有使用gb,那么还是显示不出来,就是说这个字体你没有用到。
对于CAD让你选择字体文件,是因为如果不选就会显示???,CAD希望你自己找一个其它的字体文件可以读取并正确显示原来dwg文件中的文字,起暂时替代作用,由于每种字体编码不尽相同,所以并不能100%替代显示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)