Mit diesen Makros klappt's auch mit LT. Die Variable textsize auf die gewünschte Texthöhe einstellen. Nun zuerst das "Reset"-Makro anwählen, dann "Text auf Bogen" und die Anweisungen befolgen, dann nur noch die Textausrichtung angeben.
Mathias
[Text auf Bogen Reset]^C^C+
MENUECHO;3;+
SETENV;cd;0;+
SETENV;ct1;0;+
SETENV;ct2;1;+
SETENV;ern;0;+
SETENV;er2;"Text zu lang.";+
SETENV;er3;"Radius = 0.";+
SETENV;mb;0;+
SETENV;ob;0;+
SETENV;qt;";+
SETENV;pm3;"Mittelpunkt des Bogens:";+
SETENV;pm7;"Mittelpunkt des Textes:";+
SETENV;pm6;"Text:";+
SETENV;pt1;0;+
SETENV;pt2;0;+
SETENV;rd;0;+
SETENV;sb;0;+
SETENV;sl;0;+
SETENV;st;"";+
SETENV;tb;0;+
SETENV;td;0;+
SETENV;tl;0;+
_-STYLE;Arctext;ArialN.TTF;$m=$(getvar,textsize);1;0;n;n;+
MENUECHO;0;
[Text auf Bogen]*^C^C+
$M=$(if,$(=,$(getenv,ct1),0),+
_UNDO;M;+
MENUECHO;3;+
SETENV;csm;$(getvar,osmode);+
OSMODE;0;+
SETENV;ern;0;+
GETENV;pm3;+
ID;\)+
$(if,$(=,$(getenv,ct1),0),+
SETENV;cps;$(getenv,qt)$(getvar,psprolog)$(getenv,qt);)+
$(if,$(=,$(getenv,ct1),1),+
SETENV;pt1;$(getvar,lastpoint);+
GETENV;pm7;+
ID;\+
GETENV;pm6;+
PSPROLOG;\)+
$(if,$(=,$(getenv,ct1),2),+
SETENV;pt2;$(getvar,lastpoint);+
SETENV;st;$(getenv,qt)$(getvar,psprolog)$(getenv,qt);+
PSPROLOG;$(getenv,cps);)+
$(if,$(=,$(getenv,ct1),3),+
SETENV;sl;$(strlen,$(getenv,st));+
_DIST;$(getenv,pt1);$(getenv,pt2);+
CHAMFERD;$(getenv,pt1);$(getenv,pt2);)+
$(if,$(=,$(getenv,ct1),4),+
SETENV;rd;$(getvar,distance);+
SETENV;mb;$(getvar,chamferd);+
SETENV;tl;$(*,$(getenv,sl),$(getvar,textsize),0.8);+
$(if,$(=,$(getvar,distance),0),+
SETENV;ern;3;))+
$(if,$(=,$(getenv,ct1),5),+
SETENV;td;$(/,$(getenv,tl),$(getenv,rd));)+
$(if,$(=,$(getenv,ct1),6),+
SETENV;cd;$(/,$(getenv,td),$(getenv,sl));+
$(if,$(>,$(getenv,td),6.2832),+
SETENV;ern;2;)+
SETENV;ct1;0;+
SETENV;ct2;1;+
$P0=ISKTexte.Bogentext $P0=*)+
$(if,$(<,$(getenv,ct1),6),+
SETENV;ct1;$(+,$(getenv,ct1),1))+
$(if,$(!=,$(getenv,ern),0),+
SETENV;ct1;0;+
MENUECHO;0;+
SETENV;ern;0;+
^C^C+
GETENV;er$(getenv,ern))
**Bogentext
[Bogentext]
[Text nach außen, Außenseite]*^C^C+
$M=$(if,$(=,$(getenv,ct1),0),+
SETENV;sb;$(-,$(+,$(/,$(getenv,td),2),$(getenv,mb)),$(*,$(getenv,cd),0.5));+
_UCS;_O;$(getenv,pt1);+
SETENV;ct1;$(+,$(getenv,ct1),1))+
$(if,$(=,$(getenv,ct1),1),+
SETENV;ob;$(-,$(getenv,sb),$(*,$(getenv,cd),$(-,$(getenv,ct2),1)));+
SETENV;tb;$(-,$(-,$(getenv,sb),$(*,$(getenv,cd),$(-,$(getenv,ct2),1))),1.57079633);+
SETENV;ct1;2;)+
$(if,$(=,$(getenv,ct1),2),+
-MTEXT;$(+,$(getenv,rd),$(*,$(getvar,textsize),1.0))<$(getenv,ob)r;a;oz;d;$(getenv,tb)r;br;0;$m=$(substr,$(getenv,st),$(getenv,ct2),1);;+
SETENV;ct2;$(+,$(getenv,ct2),1);+
SETENV;ct1;1;)+
$(if,$(=,$(getenv,ct2),$(+,$(getenv,sl),1)),+
_UCS;_W;+
SETENV;ct2;1;+
SETENV;ct1;0;+
OSMODE;$(getenv,csm);+
MENUECHO;0;+
^C^C$)
[Text nach außen, Innenseite]*^C^C+
$M=$(if,$(=,$(getenv,ct1),0),+
SETENV;sb;$(-,$(+,$(/,$(getenv,td),2),$(getenv,mb)),$(*,$(getenv,cd),0.5));+
_UCS;_O;$(getenv,pt1);+
SETENV;ct1;$(+,$(getenv,ct1),1))+
$(if,$(=,$(getenv,ct1),1),+
SETENV;ob;$(-,$(getenv,sb),$(*,$(getenv,cd),$(-,$(getenv,ct2),1)));+
SETENV;tb;$(-,$(-,$(getenv,sb),$(*,$(getenv,cd),$(-,$(getenv,ct2),1))),1.57079633);+
SETENV;ct1;2;)+
$(if,$(=,$(getenv,ct1),2),+
-MTEXT;$(-,$(getenv,rd),$(*,$(getvar,textsize),0.0))<$(getenv,ob)r;a;oz;d;$(getenv,tb)r;br;0;$m=$(substr,$(getenv,st),$(getenv,ct2),1);;+
SETENV;ct2;$(+,$(getenv,ct2),1);+
SETENV;ct1;1;)+
$(if,$(=,$(getenv,ct2),$(+,$(getenv,sl),1)),+
_UCS;_W;+
SETENV;ct2;1;+
SETENV;ct1;0;+
OSMODE;$(getenv,csm);+
MENUECHO;0;+
^C^C$)
[Text nach innen, Außenseite]*^C^C+
$M=$(if,$(=,$(getenv,ct1),0),+
SETENV;sb;$(-,$(-,$(getenv,mb),$(/,$(getenv,td),2)),$(*,$(getenv,cd),0.5));+
_UCS;_O;$(getenv,pt1);+
SETENV;ct1;$(+,$(getenv,ct1),1))+
$(if,$(=,$(getenv,ct1),1),+
SETENV;ob;$(+,$(getenv,sb),$(*,$(getenv,cd),$(getenv,ct2)));+
SETENV;tb;$(-,$(+,$(getenv,sb),$(*,$(getenv,cd),$(getenv,ct2))),4.71238898);+
SETENV;ct1;2)+
$(if,$(=,$(getenv,ct1),2),+
-MTEXT;$(+,$(getenv,rd),$(*,$(getvar,textsize),0.0))<$(getenv,ob)r;a;oz;d;$(getenv,tb)r;br;0;$m=$(substr,$(getenv,st),$(getenv,ct2),1);;+
SETENV;ct2;$(+,$(getenv,ct2),1);+
SETENV;ct1;1)+
$(if,$(=,$(getenv,ct2),$(+,$(getenv,sl),1)),+
_UCS;_W;+
SETENV;ct2;1;+
SETENV;ct1;0;+
OSMODE;$(getenv,csm);+
MENUECHO;0;+
^C^C$)
[Text nach innen, Innenseite]*^C^C+
$M=$(if,$(=,$(getenv,ct1),0),+
SETENV;sb;$(-,$(-,$(getenv,mb),$(/,$(getenv,td),2)),$(*,$(getenv,cd),0.5));+
_UCS;_O;$(getenv,pt1);+
SETENV;ct1;$(+,$(getenv,ct1),1))+
$(if,$(=,$(getenv,ct1),1),+
SETENV;ob;$(+,$(getenv,sb),$(*,$(getenv,cd),$(getenv,ct2)));+
SETENV;tb;$(-,$(+,$(getenv,sb),$(*,$(getenv,cd),$(getenv,ct2))),4.71238898);+
SETENV;ct1;2)+
$(if,$(=,$(getenv,ct1),2),+
-MTEXT;$(-,$(getenv,rd),$(*,$(getvar,textsize),1.0))<$(getenv,ob)r;a;oz;d;$(getenv,tb)r;br;0;$m=$(substr,$(getenv,st),$(getenv,ct2),1);;+
SETENV;ct2;$(+,$(getenv,ct2),1);+
SETENV;ct1;1)+
$(if,$(=,$(getenv,ct2),$(+,$(getenv,sl),1)),+
_UCS;_W;+
SETENV;ct2;1;+
SETENV;ct1;0;+
OSMODE;$(getenv,csm);+
MENUECHO;0;+
^C^C$)
[Diese Nachricht wurde von Grebe am 27. Jul. 2006 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP