AWKの外変が使える環境でしたらコピペして試してみて下さい。
--------文字一括倍率.bat---------ここから----------------
@REM 【文字一括倍率】
@echo off
REM #jww
REM #cd
REM #h3
REM #g1
REM #hc 【文字一括倍率】範囲選択
REM #c 文字幅 倍率 (無指定 1.0) : /_AW
REM #c 文字高 倍率 (無指定 1.0) : /_BH
REM #hr
REM #e
copy jwc_temp.txt temp.txt > nul
jgawk -f 文字一括倍率.awk temp.txt %1 %2 > jwc_temp.txt
--------文字一括倍率.bat---------ここまで----------------
#--------文字一括倍率.awk--------ここから--------------
BEGIN{
hw=1;
hh=1
print "hd"
lg_flag=0
ly_flag=0
cn_flag=0
for(i=2;i<=ARGC-1;i++){
if(ARGV[i]~/^AW/){ hw = substr(ARGV[i],3)*1}
if(ARGV[i]~/^BH/){ hh = substr(ARGV[i],3)*1}
ARGV[i]="";
}
}
/^lg/ {
print;
if(lg_flag==0){
first_lg=$0;
lg = toupper(substr($0,3));
lg_h = hexdec(lg)
}
lg_flag++
}
/^ly/ {
print;
if(ly_flag==0){
first_ly=$0;
ly = toupper(substr($0,3));
ly_h = hexdec(lg)
}
ly_flag++
}
/^hcw/{split($0,apw)}
/^hch/{split($0,aph)}
/^hcd/{split($0,apd)}
/^hcc/{split($0,apc)}
/^cn"/{print}
/^cn[1-9]/{
cn =substr($0,3)
pw=apw[cn+1];
ph=aph[cn+1];
pd=apd[cn+1];
pc=apc[cn+1];
printf("cn0 %g %g %g %d\n",pw*hw,ph*hh,pd*hw,pc);
if(cn_flag == 0){
first_cn=$0
}
cn_flag++
}
/^cn0/{
printf("%s %g %g %g %d\n",$1,$2*hw,$3*hh,$4*hw,$5);
}
/^c[hvsroptkz2]/{print}
#
END{
print first_lg
print first_ly
print first_cn
}
function hexdec(str){
gsub("A","10",str); gsub("B","11",str)
gsub("C","12",str); gsub("D","13",str)
gsub("E","14",str); gsub("F","15",str)
return(str)
}