« 文字下線調整2 | トップページ | 数値の取得 »

2025年6月27日 (金)

数字丸囲み

選択した文字列の数字を円で囲み、指定レイヤに移動する外部変形。

Photo_20250627204301

◇バッチファイル
@REM 数字丸囲み
@echo off
REM #jww
REM #cd
REM #h3 範囲内の文字データのみを選択
REM #hc 範囲選択してください
REM #e
jgawk -f circle.awk jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
文字コード ANSIで保存してください
:end

◇AWKスクリプト

#ファイル名 circle.awk
# 文字コード ANSIで保存してください。
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

|

« 文字下線調整2 | トップページ | 数値の取得 »

コメント

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分

コメントを書く



(ウェブ上には掲載しません)




« 文字下線調整2 | トップページ | 数値の取得 »