円番号作図その2
今回は、 y座標基準(下⇒上)のソートを追加しています。
座標を配列に組込む際に、x座標と y座標を入替。
数値列のソートは、列の最初の数字だけが対象となります。
<sort.awk>
----------
BEGIN{
sp=" " # 半角スペース
dq="\"" # ダブルコーテーション
st=5
en=0
} # BEGIN
/^ci/{
n=n+1
yx[n]=$3 sp $2 # 円中心座標(y,x)
}
END{
sort(yx,n) # ソート(y座標基準)
for(k=1;k<=n;k++){
split(yx[k],xy,sp)
x_y[k]=xy[2] sp xy[1]
}
sort(x_y,n) # ソート(x座標基準)
print "cc4" # 文字基点(中中)
for(k=1;k<=n;k++){
ch=dq k
print "ch",x_y[k],st,en,ch
} # for k
} # END
#####
function sort(arry,n){ # 昇順
for(i=2;i<=n;i++){
for (j=i;j>1 && arry[j-1]-arry[j]>0;j--){
temp=arry[j-1]
arry[j-1]=arry[j]
arry[j]=temp
} # for j
} # for i
} # function
| 固定リンク
コメント