数字丸囲み
◇AWKスクリプト
#ファイル名 circle.awk
# 文字コード ANSIで保存してください。
BEGIN{
BEGIN{
#ユーザー設定
ly="lyf" #指定レイヤ
lc="lc1" #指定線色
cn="cn4" #文字種
cht=4 #文字高
ra2=3 #指定半径
ra3=4 #指定半径3桁
#初期設定
i=0;j=0 #カウンタ
}
##jwc_temp読込
#選択データ消去
/hq/{print "hd";next}
#縮尺
/^hs/{for(i=0;i<=9;i++) S[i]=$(i+2);
S["a"]=$12;S["b"]=$13;S["c"]=$14;
S["d"]=$15;S["e"]=$16;S["f"]=$17}
/^lg/{lg=substr($1,3);sc=S[lg]}
#文字データ取得
/^ch/{chr=substr($6,2)
for(i=1;i<=999;i++){
if(chr==i){
x[j]=$2;y[j]=$3
w[j]=$4;ch[j]=$6
if(i<100){ra[j]=ra2}else{ra[j]=ra3}
j=j+1;k=j;next
} #if
} #for
}
#再作図
{print}
END{
print ly #移動先レイヤ
print lc #線色
print cn #文字種
for(j=0;j<k;j++){
#数字
print "ch",x[j],y[j],w[j],0,ch[j]
#丸囲み
xc[j]=x[j]+w[j]/2;yc[j]=y[j]+cht*sc/2
print "ci",xc[j],yc[j],sc*ra[j]
} #for
} #END
| 固定リンク


コメント
somem様
お世話になっております
イメージ通り実行できました
いつも私の厚かましい言葉に耳を傾けて
頂き感謝します
ありがとうございました
追伸
#ユーザー設定
ly="lyf" #指定レイヤ
lc="lc1" #指定線色
cn="cn4" #文字種
cht=4 #文字高
ra2=3 #指定半径
ra3=4 #指定半径3桁
ra2とra3の設定は桁数に応じてと言うことでしょうか?
投稿: a.fujii | 2025年6月28日 (土) 03時25分
a.fujiiさん
>ra2とra3の設定は桁数に応じてと言うことでしょうか?
変える必要がなければ、同じ数字を設定してください。
投稿: somem | 2025年6月30日 (月) 11時38分