jw_cad 外部変形 - (1362) mshtaで文字寸法を取得する(hcw,hch,hcd,hcc) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

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 を使用しています。