一种CAD字体文件云存储与文件缺失字体自动安装方法技术

技术编号:32221505 阅读:36 留言:0更新日期:2022-02-09 17:26
本发明专利技术公开了一种CAD字体文件云存储与文件缺失字体自动安装方法,其包括:步骤S1:建立字体文件云数据库;步骤S2:打开AutoCAD读入支持格式的图纸文件的文件数据;步骤S3:遍历AutoCAD安装目录下Fonts文件夹,得到所有后缀为SHX的文件名称,将这些文件名称存入变量ShxFonts;步骤S4:读取当前文档的字体样式表TextStyleTable中的每一个样式TextStyleTableRecord;步骤S5:判断每一个TextStyleTableRecord为SHX字体或TTF字体文件,分别进行操作,完成安装。本发明专利技术具有原理简单、易实现、自动化程度高、可以精确还原等优点。点。点。

【技术实现步骤摘要】
一种CAD字体文件云存储与文件缺失字体自动安装方法


[0001]本专利技术主要涉及到计算机辅助设计
,特指一种CAD字体文件云存储与文件缺失字体自动安装方法。

技术介绍

[0002]CAD(Computer Aided Design)作为计算机辅助设计,是计算机技术的一个重要的应用领域。AutoCAD是美国Autodesk公司开发的交互式绘图软件,用于二维及三维设计、绘图的系统工具,用户可以使用它来创建、浏览、管理、打印、输出、共享富含信息的设计图形。作为通用型的制图软件,AutoCAD广泛用于各个行业的设计工作。
[0003]AutoCAD图形显示的文字,来自于两类字体文件:后缀SHX文件以及后缀TTF文件。其中SHX文件由Autodesk开发被列在AutoCAD的编译形文件类型并归类为一个CAD文件,字体文件在客户端通常保存在AutoCAD安装目录下Fonts文件夹内,SHX文件仅能被存储该字体的特定AutoCAD程序引用。TTF文件是由苹果公司创建的一种字体文件格式,但在Macintosh和Windows平台上都可以使用,并可以被系统内所有的程序引用,包括AutoCAD程序。TTF文件保存在“系统安装盘\Windows\Fonts\”文件夹内。
[0004]由于AutoCAD保存的文件格式DWG,仅包含了加载绘图的矢量图像数据和元数据,SHX和TTF字体文件不能随DWG文件进行传递和安装,导致DWG文件打开和编辑环境发生变化时,可能会出现由于系统没有安装相应的SHX和TTF字体,出现CAD图形文字内容不能显示,或者出现乱码、变形等异常显示情况。
[0005]为了修复这类异常请求,通常需要AutoCAD软件操作者人工查找丢失的字体信息,并找到对应的SHX字体文件拷贝到AutoCAD安装目录下Fonts文件夹内或将安装对应的TTF文件。
[0006]为此,也有从业者也提出过尝试对于缺失的字体采用替代的办法,往往也会带来文字风格、字高、字宽、特殊字符异常显示问题,不能充分还原DWG原始的绘图内容。

技术实现思路

[0007]本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种原理简单、易实现、自动化程度高、可以精确还原的CAD字体文件云存储与文件缺失字体自动安装方法。
[0008]为解决上述技术问题,本专利技术采用以下技术方案:
[0009]一种CAD字体文件云存储与文件缺失字体自动安装方法,其包括:
[0010]步骤S1:建立字体文件云数据库;
[0011]步骤S2:打开AutoCAD读入支持格式的图纸文件的文件数据;
[0012]步骤S3:遍历AutoCAD安装目录下Fonts文件夹,得到所有后缀为SHX的文件名称,将这些文件名称存入变量ShxFonts;
[0013]步骤S4:读取当前文档的字体样式表TextStyleTable中的每一个样式
TextStyleTableRecord;
[0014]步骤S5:判断每一个TextStyleTableRecord为SHX字体或TTF字体文件,分别进行操作,完成安装。
[0015]作为本专利技术的进一步改进:所述步骤S5中,获得TextStyleTableRecord的字体文件名称FileName与大字体文件名称BigFontFileName,如FileName字符串中包含“shx”,表明该字体样式采用SHX字体文件。
[0016]作为本专利技术的进一步改进:所述步骤S5中,如判断为SHX字体文件,执行以下流程:
[0017]如AutoCAD已安装SHX字体列表ShxFonts中不包含名称为FileName的字体以及名称为BigFontFileName的大字体,从字体文件云数据库检索FNAME与FileName或BigFontFileName匹配,FTYPE=0的数据记录Data;
[0018]将数据记录Data下载至客户端临时文件夹,将文件内容FCONTENT保存为名为FileName或BigFontFileName的文件SFile;
[0019]将文件SFile移动至AutoCAD安装目录下Fonts文件夹内,完成SHX字体的安装。
[0020]作为本专利技术的进一步改进:所述步骤S5中,如FileName字符串中不包含“shx”,表明该字体样式采用TTF字体文件。
[0021]作为本专利技术的进一步改进:所述步骤S5中,如判断为TTF字体文件,执行以下流程:
[0022]如系统已安装TTF字体列表TtfFonts中不包含名称为FileName的字体,需要从字体文件云数据库检索FNAME与FileName匹配,FTYPE=1的数据记录Data;
[0023]将数据记录Data下载至客户端临时文件夹,将文件内容FCONTENT保存为名为FileName的TFile;
[0024]将文件TFile移动至“系统安装盘\Windows\Fonts\”文件夹内,完成TTF字体的安装。
[0025]作为本专利技术的进一步改进:直至所有TextStyleTableRecord都被遍历后,重新启动AutoCAD,并打开原文档。
[0026]作为本专利技术的进一步改进:所述字体文件云数据库中的数据库字段包括:字体文件编号FID、字体名FNAME、字体文件内容FCONTENT、字体类型FTYPE和存储时间FTIME。
[0027]作为本专利技术的进一步改进:所述步骤S4中,通过AutoCAD的API读取当前文档的字体样式表TextStyleTable中的每一个样式TextStyleTableRecord。
[0028]与现有技术相比,本专利技术的优点就在于:
[0029]本专利技术的CAD字体文件云存储与文件字体缺失自动安装方法,原理简单、易实现、自动化程度高、可以精确还原,其针对CAD文件SHX格式与TTF格式两种字体文件,实现自动识别缺失的字体文件,并从云端字体文件数据库,自动下载缺失的字体文件,分别安装到对应的目录中,实现缺失字体文件的自动识别与安装,解决了由于字体文件缺失引起的图形不能正常解析这个经常性出现的问题。
附图说明
[0030]图1是本专利技术方法的流程示意图。
具体实施方式
[0031]以下将结合说明书附图和具体实施例对本专利技术做进一步详细说明。
[0032]如图1所示,本专利技术的一种CAD字体文件云存储与文件缺失字体自动安装方法,其包括:
[0033]步骤S1:建立字体文件云数据库;
[0034]步骤S2:打开AutoCAD读入其支持格式的图纸文件的文件数据;
[0035]步骤S3:遍历AutoCAD安装目录下Fonts文件夹,得到所有后缀为SHX的文件名称,将这些文件名称存入变量ShxFonts;
[0036]步骤S4:通过AutoCAD的API,读取当前文档的字体样式表TextStyleTable中的每一个样式Tex本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CAD字体文件云存储与文件缺失字体自动安装方法,其特征在于,包括:步骤S1:建立字体文件云数据库;步骤S2:打开AutoCAD读入支持格式的图纸文件的文件数据;步骤S3:遍历AutoCAD安装目录下Fonts文件夹,得到所有后缀为SHX的文件名称,将这些文件名称存入变量ShxFonts;步骤S4:读取当前文档的字体样式表TextStyleTable中的每一个样式TextStyleTableRecord;步骤S5:判断每一个TextStyleTableRecord为SHX字体或TTF字体文件,分别进行操作,完成安装。2.根据权利要求1所述的CAD字体文件云存储与文件缺失字体自动安装方法,其特征在于,所述步骤S5中,获得TextStyleTableRecord的字体文件名称FileName与大字体文件名称BigFontFi leName,如Fi leName字符串中包含“shx”,表明该字体样式采用SHX字体文件。3.根据权利要求2所述的CAD字体文件云存储与文件缺失字体自动安装方法,其特征在于,所述步骤S5中,如判断为SHX字体文件,执行以下流程:如AutoCAD已安装SHX字体列表ShxFonts中不包含名称为Fi leName的字体以及名称为BigFontFi leName的大字体,从字体文件云数据库检索FNAME与Fi leName或BigFontFi leName匹配,FTYPE=0的数据记录Data;将数据记录Data下载至客户端临时文件夹,将文件内容FCONTENT保存为名为FileName或BigFontFi leName的文件SFi le;将文件SFi le移动至AutoCAD安装目录下Fonts文件夹内,完成SHX字体的安装。4.根据...

【专利技术属性】
技术研发人员:贺耀北向建军刘婷婷彭江辉陈光
申请(专利权)人:湖南省交通规划勘察设计院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1