REM 任意文字のサイズ・個数
echo off
REM #jww
REM #cd
REM #h3
REM #g1
REM #0記入点を指示してください。
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 任意文字分類.rb temp.txt > jwc_temp.txt
◎スクリプトファイル(ファイル名 任意文字分類.rb)
BEGIN{
$moji=Array.new
$gyo=5
}
def main
while ARGF.gets
xy=split
if xy[0]=~/^hp1/
x=xy[1].to_f
y=xy[2].to_f
end
if xy[0]=="cn0"
cn=xy
end
if xy[0]=="ch"
$moji.push(cn)
end
end
moji=$moji.uniq
mojis=moji.collect{|item| item[1].to_f}
sort=mojis.sort_index
mojia=moji.sort_by(sort)
n=0
while (na=$moji.count
b=a[mojia[n]]
print "bz\n"
cn=["cn0","3","3","0",mojia[n][4],"\n"].join("\s")
print cn
printf("ch%e %e %e %e\"幅%s 高%s 間隔%s 色%s 個数%s\n", 0,-$gyo*n, 1,0,
mojia[n][1],mojia[n][2],mojia[n][3],mojia[n][4],b)
n+=1
end
end
class Array
def count
k=Hash.new(0)
self.each{|x| k[x]+=1}
k
end
end
class Array
def sort_index
d=[]
self.each_with_index{|x,i| d[i]=[x,i]}
if block_given?
d.sort {|x,i| yield x[0],y[0]}.collect{|x| x[1]}
else
d.sort.collect{|x| x[1]}
end
end
def sort_by(ord=[])
return nil if self.length!=ord.length
self.indexes(*ord)
end
end
main()
BEGIN{
$moji=Array.new
$gyo=0
$total=0
}
def main
while ARGF.gets
xy=split
if xy[0]=~/^hp1/
x=xy[1].to_f
y=xy[2].to_f
end
if xy[0]=~/^cn/ && xy[0]=~/[0-9]$/
cn=xy
end
if xy[0]=="ch" or xy[0]=="cs"
if cn.size==5
$moji.push(cn)
end
end
end
if $moji.size>0
moji=$moji.uniq
mojis=moji.collect{|item| item[1].to_f}
sort=mojis.sort_index
mojia=moji.sort_by(sort)
n=0
while (n a=$moji.count
b=a[mojia[n]]
print "bz\n"
print mojia[n].join("\s")+"\n"
printf("ch%e %e %e %e\"幅%s 高%s 間隔%s 色%s 個数%s\n", 0,-$gyo, 1,0,
mojia[n][1],mojia[n][2],mojia[n][3],mojia[n][4],b)
n+=1
$total +=b
break if n==mojia.size
$gyo +=mojia[n][2].to_f+1
end
print "cn5\n"
printf("ch%e %e %e %e\"合計 %s種類 %s個\n",
0,-$gyo-10, 1,0,mojia.size,$total)
else
print("h#任意文字はありません\n")
end
end
class Array
def count
k=Hash.new(0)
self.each{|x| k[x]+=1}
k
end
end
class Array
def sort_index
d=[]
self.each_with_index{|x,i| d[i]=[x,i]}
if block_given?
d.sort {|x,i| yield x[0],y[0]}.collect{|x| x[1]}
else
d.sort.collect{|x| x[1]}
end
end
def sort_by(ord=[])
return nil if self.length!=ord.length
self.indexes(*ord)
end
end
main()
REM 任意文字のサイズ・個数 txt書出
echo off
REM #jww
REM #cd
REM #h3
REM #hc文字を範囲選択してください
REM #g1
REM #h/任意文字2.bat
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 任意文字.rb temp.txt > jwc_temp.txt
notepad.exe 任意文字.txt
◎バッチファイル(ファイル名 任意文字2.bat)
@REM 任意文字のレイヤ・文字種変更
@echo off
REM #jww
REM #cd
REM #h3
REM #hc文字を範囲選択してください
REM #g1
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 任意文字2.rb temp.txt > jwc_temp.txt
◎スクリプトファイル(ファイル名 任意文字.rb)
BEGIN{
$moji=Array.new
}
def main
while ARGF.gets
xy=split
if xy[0]=~/^cn/ && xy[0]=~/[0-9]$/
cn=xy
end
if xy[0]=="ch" or xy[0]=="cs"
if cn.size==5
$moji.push(cn)
end
end
end
if $moji.size>0
moji=$moji.uniq
mojis=moji.collect{|item| item[1].to_f}
sort=mojis.sort_index
mojia=moji.sort_by(sort)
mojia.collect!{|item| item.join("\s")+"\s"+"ly"+"\s"+"cn"}
mojia.unshift("文字種 幅 高 間隔 色 ・・の順\n↓")
mojia.unshift("レイヤ移動したい文字種は、lyの後にレイヤ番号を記入する")
mojia.unshift("文字種(1〜10)にしたい文字種は、cnの後に文字種番号を記入する")
print("h#任意文字はありません\n")
end
end
class Array
def sort_index
d=[]
self.each_with_index{|x,i| d[i]=[x,i]}
if block_given?
d.sort {|x,i| yield x[0],y[0]}.collect{|x| x[1]}
else
d.sort.collect{|x| x[1]}
end
end
def sort_by(ord=[])
return nil if self.length!=ord.length
self.indexes(*ord)
end
end
main()
◎スクリプトファイル(ファイル名 任意文字2.rb)
BEGIN{
print "hd\n"
File.foreach("任意文字.txt","r") do |line|
$foo=line.split(/\n/)
$fo=$foo[4..-1]
end
}
def main
while ARGF.gets
xy=split
if xy[0]=~/^hq/
elsif xy[0]=~/^ly/
ly=xy[0]
elsif xy[0]=~/^cn/ && xy[0]=~/[0-9]$/
cn=xy
elsif xy[0]=="ch" or xy[0]=="cs"
if cn.size==5
$ab=$fo.select{|item| a=item.split("\s")
a.pop
a.pop
a.join==cn.join}
if $ab.size>0
$abc=$ab.join.split("\s")
if ($abc[5].split('')).size>2 && ($abc[6].split('')).size>2
print $abc[5]+"\n"
print $abc[6]+"\n"
print $_
elsif ($abc[5].split('')).size>2 && ($abc[6].split('')).size==2
print $abc[5]+"\n"
print cn.join("\s")+"\n"
print $_
elsif ($abc[5].split('')).size==2 && ($abc[6].split('')).size>2
print ly+"\n"
print $abc[6]+"\n"
print $_
elsif ($abc[5].split('')).size==2 && ($abc[6].split('')).size==2
print ly+"\n"
print cn.join("\s")+"\n"
print $_
end
else
print ly+"\n"
print cn.join("\s")+"\n"
print $_
end
else
print ly+"\n"
print cn.join("\s")+"\n"
print $_
end
else
print $_
end
end
end
main()