外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。
mshtaで文字寸法を取得する(hcw,hch,hcd,hcc)
:mshtaで文字寸法を取得する(hcw,hch,hcd,hcc)
@echo off
if exist jwc_temp.txt (
copy jwc_temp.txt myfiles > nul
mshta %~f0 < myfiles > jwc_temp.txt
)
goto:eof
REM #jww
REM #e
<script>
hcw =
hch =
hcd =
hcc =
cn = ""
with (new ActiveXObject("Scripting.FileSystemObject")) {
f = GetStandardStream(0) //stdin
g = GetStandardStream(1) //stdout
while (! f.AtEndOfStream) {
F = ($_ = f.ReadLine()).split(/\s+/)
if (/^hcw/i .test($_)) { //hcw 文字幅
for (i = 1; i <= 10; i++) hcw[i] = F[i] * 1.0;
}
if (/^hch/i .test($_)) { //hch 文字高
for (i = 1; i <= 10; i++) hch[i] = F[i] * 1.0;
}
if (/^hcd/i .test($_)) { //hcd 文字間隔
for (i = 1; i <= 10; i++) hcd[i] = F[i] * 1.0;
}
if (/^hcc/i .test($_)) { //hcc 文字色
for (i = 1; i <= 10; i++) hcc[i] = F[i] * 1;
}
if (/^cn[0-9]/i .test($_)) { //cn 文字種
pcn = $_.substr(2); if (cn == "") cn = pcn;
}
}
f.close()
if (cn.length > 2) {
g.WriteLine("h#cn" + cn)
} else {
g.WriteLine("h#cn" + cn + " " + hcw[cn] + " " + hch[cn] + " " + hcd[cn] + " " + hcc[cn])
}
}
close()
</script>
スクリプト言語は jscript を使用しています。