[求助]如何在AcDbTextStyleTable中添加一个TrueType字体?
答复
TrueType字体,以.TTF为扩展名的,这种字体表示真实类型( TrueType)字体,该字体拥有较高的字体质量。另外,使用各种真实类型字体可以给图增加更好的对比效果。
TrueType字体的方法1:(用Mtext不显示仿宋体)
(1) 建立一个新的字体样式表记录
(2) 使用SetFont()函数,设置TrueType字体。
(3) 使用add()函数添加到字体样式表中。
TrueType字体的方法2:
(1) 建立一个新的字体样式表记录
(2) 使用setFileName()函数和setBigFontFileName()函数,设置字母和TrueType字体。
(3) 使用add()函数添加到字体样式表中。
我写了一段代码,好像不行,帮我看看。
Acad::ErrorStatus SetFont(){
Acad::ErrorStatus Er;
AcDbTextStyleTable * pTxt;
Er=acdbCurDwg()->getTextStyleTable(pTxt,AcDb::kForWrite);
if (Er!=Acad::eOk)
{
ads_alert("Error Get TextStyleTable");
return Er;
};
AcDbTextStyleTableRecord* pRecord=new AcDbTextStyleTableRecord;
pRecord->setFont("simfang.ttf",FALSE,FALSE,0,0);
pRecord->setName("fqj");
Er=pTxt->add(pRecord);
pTxt->close();
return Er;
}
re
SetFont()函数,用于将TrueType字型设置为字体样式。Acad::ErrorStatus setFont(
const char* pTypeface,
Adesk::Boolean bold,
Adesk::Boolean italic,
int charset,
int pitchAndFamily) const;
pTypeface 字体名
bold true为粗体
italic true为斜体
charset 字符集的值
pitchAndFamily 字距和字符族的值
TrueType常用字体
TrueType字体名 charset pitchAndFamily
仿宋_GB2312 134 49
宋体 134 2
黑体 134 2
隶书 134 49
幼园 134 49
楷体_GB2312 134 49
斑竹,我按你的提示改了一下,可还是没加进去。再看看?谢了
Acad::ErrorStatus SetFont(){
Acad::ErrorStatus Er;
AcDbTextStyleTable * pTxt;
Er=acdbCurDwg()->getTextStyleTable(pTxt,AcDb::kForWrite);
if (Er!=Acad::eOk)
{
ads_alert("Error Get TextStyleTable");
return Er;
};
AcDbTextStyleTableRecord* pRecord=new AcDbTextStyleTableRecord;
pRecord->setFont("仿宋_GB2312",FALSE,FALSE,134,49);
pRecord->setName("fqj");
Er=pTxt->add(pRecord);
pTxt->close();
return Er;
}
re
AcDbTextStyleTable *pTextStyleTable;acdbHostApplicationServices()->workingDatabase()
->getSymbolTable(pTextStyleTable, AcDb::kForWrite);
AcDbTextStyleTableRecord *pTextStyleTableRecord =
new AcDbTextStyleTableRecord;
pTextStyleTableRecord->setName("机械制图1");
// pTextStyleTableRecord->setFont("宋体",0,0,134,2);
pTextStyleTableRecord->setFont("仿宋_GB2312",FALSE,FALSE,134,49);
pTextStyleTableRecord->setXScale(0.67);
AcDbObjectId Id;
pTextStyleTable->add(Id,pTextStyleTableRecord);
pTextStyleTable->close();
pTextStyleTableRecord->close();
return Id; [此贴子已经被作者于2002-8-3 11:26:16编辑过]
斑竹,我编译不通过呀!我用的是ObjectARX R14.
页:
[1]