I have not tried in a DCAL program, but this should work.
Code: Select all
type
{This is DataCAD's internal record for display settings of TTF. Not to be modified}
TDisplayTTF = PACKED RECORD
dooutline : Boolean;
dofill : Boolean;
OutlineClr : aSInt; {Valid values -1 or 1..255}
FillClr : Integer; { Valid values -1 or 1..255 or RGBValue+1000}
{any -ve value means inherit color properties from the entity ie. ent.color}
END;
procedure inserttext(txtpoint : point; str : str255);
var
dispttf : TDisplayTTF;
ent : entity;
begin
ent_init(ent,enttxt);
ent.txtpnt:= txtpoint;
ent.txtsiz := savevar.txtsiz;
ent.txtang := savevar.txtang;
ent.txtslant := savevar.txtslnt;
ent.txtaspect := savevar.txtaspt;
ent.txtBase := savevar.basez;
ent.txtHite := savevar.hitez;
ent.txtfon := savevar.fontName;
ent.txtwinfont := savevar.txtwinfont;
ent.txtstr := str;
ent_add(ent);
if savevar.txtwinfont then
begin
atr_init (atr, atr_str);
atr.name := 'WFFontName';
{DataCAD's internal attribute name that keeps Windows TTF FileName}
atr.str := 'Times New Roman';
if atr_add2ent(ent,atr) then
begin
atr_init (atr, atr_str);
atr.name := 'TTFProp';
{DataCAD's internal attribute name that keeps TTF Display colors/settings}
dispttf.dooutline := true;
dispttf.dofill:= true;
dispttf.OutlineClr:= -1;
dispttf.FillClr:= 1000 + RGB(255,128,0);
setlength(atr.str,sizeof(dispttf));
move(@dispttf,atr.str[1],sizeof(dispttf));
atr_add2ent(ent,atr);
end;
end;
ent_draw(ent, drmode_white)
end;
Devinder S Verman
DATACAD LLC
DATACAD LLC