Jw_cad 情報交換室−その3New

 JWW についての情報交換の場としてお使いください
初心者の方などのご相談は Jw_cad 相談 室−その2をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
6 / 301 ツリー    ←次へ | 前へ→

文字打ち消し線が画面に表示されない sue 17/10/17(火) 14:37

Re:文字打ち消し線が画面に表示されない いっち 17/10/27(金) 8:51
文字内消し線 外変(3) いっち 17/11/3(金) 10:10

Re:文字打ち消し線が画面に表示されない
 いっち  - 17/10/27(金) 8:51 -
▼R.Nさん:

おはようございます。

DOS版の外変を、Windows版で利用させて頂く時に、なるべく元のスクリプトを弄らずに動くように調整しようと心がけました。
その時に見落としていました。

私は、DOS版のJw_cadを使ったことが無いので違うかもしれませんが、たぶん、DOS版のJw_cadには、「フォント」の指定がなかったのでしょうね。
あったとしてもそれは、プロッター用のファイルでの指定だったのかも知れないと思いました。
(違うかも?)

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

文字内消し線 外変(3)
 いっち  - 17/11/3(金) 10:10 -
酒井さんの文字消線.BATを見ていて、Windows版で動作させるなら、文字消し線は「拡張線の赤」、「拡張線の実線」で引きたいと思うようになりました。
もちろん、酒井さんの外変を利用させて頂いても、そのカスタマイズは可能ですが、そうでは無くJscriptで作りました。

Jscript外変なので、「何か特別なものをインストール」したり、「PATHの設定」とか、「PATHの通っているフォルダーを調べる」とかの必要はありません。

js文字消線.bat (この下から)↓

@if(0==1) // 文字に取消線を引く(拡張線)
@echo off
REM #jww
REM #cd
REM #h3
REM #g0
REM #hc取消線を引く文字を選択して下さい
REM #bz
REM #zw
REM #e
rem copy jwc_temp.txt bakup_temp.txt > nul
cscript //nologo //e:jscript %0
rem pause
goto:eof
@end
// 基本設定(ここから)
// 取消線の文字前後のはみ出し文字数(全角文字数)
LBE=0.3;
// 取消線の間隔(文字高に対する割合)
LBT=0.2;
// 線色("lc102"は拡張線の赤)
mylc="lc102";
// 線種("lt31"は拡張線の実線)
mylt="lt31";
// 線幅("lw0"は基本幅)
mylw="lw0";
//基本設定(ここまで)
fso=new ActiveXObject("Scripting.FileSystemObject");
g=fso.CreateTextFile("myfiles");
f=fso.OpenTextFile("jwc_temp.txt");
var hcw=new Array(11);
var hch=new Array(11);
g.WriteLine("bz");
g.WriteLine(mylc);
g.WriteLine(mylt);
g.WriteLine(mylw);
while (!f.AtEndOfLine) {
line=f.ReadLine();
if (/^hcw/.test(line)) {
hcwtmp=line.split(/\s+/);
for (i=0; i < hcw.length; i++) {
hcw[i]=parseFloat(hcwtmp[i]);
}
}
if (/^hch/.test(line)) {
hchtmp=line.split(/\s+/);
for (i=0; i < hcw.length; i++) {
hch[i]=parseFloat(hchtmp[i]);
}
}
if (/^cn[1-9]/.test(line)) {
cnNO=parseInt(line.slice(2));
}
if (/^cn0/.test(line)) {
cntmp0=line.split(/\s+/);
cnNO=0;
hcw[0]=parseFloat(cntmp0[1]);
hch[0]=parseFloat(cntmp0[2]);
}
if (/^c[hvsroptkz2]/.test(line)) {
chtmp=line.split(/\s+/, 5).slice(1, 5);
X1=parseFloat(chtmp[0]);
Y1=parseFloat(chtmp[1]);
X2=parseFloat(chtmp[2]);
Y2=parseFloat(chtmp[3]);
// 文字の長さ
chlength=Math.sqrt(Math.pow(X2,2)+Math.pow(Y2,2));
// 線の長さ
linelength=chlength+hcw[cnNO]*LBE*2;
// 線を引き始める高さ(下側)
hpos1=(hch[cnNO]/2)-(hch[cnNO]*LBT/2);
// 線を引き始める高さ(上側)
hpos2=(hch[cnNO]/2)+(hch[cnNO]*LBT/2);
// 三角関数
chcos=Math.cos(Math.atan2(Y2,X2));
chsin=Math.sin(Math.atan2(Y2,X2));
// 文字基点を、線を引き始める側にずらした点
tempX1=X1-hcw[cnNO]*LBE*chcos;
tempY1=Y1-hcw[cnNO]*LBE*chsin;
// 下側の線を引き始める点
pos1Xs=tempX1-hpos1*chsin;
pos1Ys=tempY1+hpos1*chcos;
// 下側の線を引き終わる点
pos1Xe=pos1Xs+linelength*chcos;
pos1Ye=pos1Ys+linelength*chsin;
// 上側の線を引き始める点
pos2Xs=tempX1-hpos2*chsin;
pos2Ys=tempY1+hpos2*chcos;
// 上側の線を引き終わる点
pos2Xe=pos2Xs+linelength*chcos;
pos2Ye=pos2Ys+linelength*chsin;
// 線を出力する
putLn1=pos1Xs+" "+pos1Ys+" "+pos1Xe+" "+pos1Ye;
putLn2=pos2Xs+" "+pos2Ys+" "+pos2Xe+" "+pos2Ye;
g.WriteLine(putLn1);
g.WriteLine(putLn2);
}
}
f.Close();
g.Close();
fso.CopyFile("myfiles", "jwc_temp.txt");
fso.DeleteFile("myfiles");

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36@KD113151236026.ppp-bb.dion.ne.jp>
・ツリー全体表示

6 / 301 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
 734487
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b3
Jw_cad Copyright (C)1997-2016 Jiro Shimizu & Yoshifumi Tanaka