Jw_cad 情報交換室−その3New

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

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

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


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

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

Re:文字打ち消し線が画面に表示されない R.N 17/10/21(土) 23:31
Re:文字打ち消し線が画面に表示されない いっち 17/10/22(日) 6:47
Re:文字打ち消し線が画面に表示されない R.N 17/10/22(日) 13:07
Re:文字打ち消し線が画面に表示されない いっち 17/10/22(日) 15:36
Re:文字打ち消し線が画面に表示されない R.N 17/10/22(日) 17:04
Re:文字打ち消し線が画面に表示されない いっち 17/10/22(日) 17:13
Re:文字打ち消し線が画面に表示されない いっち 17/10/25(水) 9:02
Re:文字打ち消し線が画面に表示されない R.N 17/10/27(金) 8:25
Re:文字打ち消し線が画面に表示されない いっち 17/10/27(金) 8:51
文字内消し線 外変(3) いっち 17/11/3(金) 10:10

Re:文字打ち消し線が画面に表示されない
 R.N  - 17/10/21(土) 23:31 -
▼いっちさん:こんばんは

いつも、助言頂きありがとうございます。

>文字種1を 横5, 縦8, 間隔50, 色NO. 1 にして文字種1-----

に設定して

>2.正常に文字消し線を引かなかった文字
>あいうえお1
>あいうえお12

を試してみましたが---問題なく消し線が引けました?

私は、いっちさんが思われてるような、プログラミング能力はありませんので、動作確認程度しかできません---
相応のレスができなく、ごめんなさい。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0@i180-63-96-156.s41.a034.ap.plala.or.jp>
・ツリー全体表示

Re:文字打ち消し線が画面に表示されない
 いっち  - 17/10/22(日) 6:47 -
▼R.Nさん:

お返事、ありがとうございます。

> を試してみましたが---問題なく消し線が引けました?

今一度外変をダウンロードするところから、行ってみました。
たぶん、私のパソコンでのみ現れる不具合だと、思います。

引用なし

パスワード


<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>
・ツリー全体表示

Re:文字打ち消し線が画面に表示されない
 R.N  - 17/10/22(日) 13:07 -
▼いっちさん:こんにちは、

>今一度外変をダウンロードするところから、行ってみました。
>たぶん、私のパソコンでのみ現れる不具合だと、思います。

腑に落ちないので、再度やってみました。

文字が"横5, 縦8, 間隔50, 色NO. 1 文字種1"になっていませんでした。
失礼しました。(ボケ^^^)

任意文字には対応してないように思いましたが?

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0@i180-63-96-156.s41.a034.ap.plala.or.jp>
・ツリー全体表示

Re:文字打ち消し線が画面に表示されない
 いっち  - 17/10/22(日) 15:36 -
▼R.Nさん:

> 腑に落ちないので、再度やってみました。
再度やって頂いてありがとうございます。
腑に落ちないままだと健康管理上良くないと思いましたので(もう若くないし?)下記にメモを残します。

> 任意文字には対応してないように思いましたが?
それを修正するのは簡単です。

スクリプトの19行目に下記を追加します。
(元々の19行目には、何も書かれていません。)

/^cn0/{W[0]=$2;H[0]=$3;D[0]=$4;MOJ=0}

このスクリプトは、8行目から18行目で「#初期状態の保存及び現状の抽出」を行っていますが、任意文字には対応していない為、そのコードを追加する必要があります。
それが上記のコードです。

尚、バッチファイルは、下記のようにしています。

REM #jw
は、
REM #jww
にして

任意のフォルダーで実行させる為、
REM #cd
を追加しました。


REM #mc

-Wmemory
は不要ですが、残しておいても動きます。


> 腑に落ちないので、再度やってみました。
> 文字が"横5, 縦8, 間隔50, 色NO. 1 文字種1"になっていませんでした。

20行目に
#処理
という文章があり、

26行目に
SSU=(length(MJ)-countUD(MJ)*2-1)/2;
があり、

27行目に
HEN=sqrt($4*$4+$5*$5);
があり、

31行目に
X2=XMJ+longMOJI(MOJ,SSU)*DX+W[MOJ]*DX*LBE-HMJ1*DY;
があり、

32行目に
Y2=YMJ+longMOJI(MOJ,SSU)*DY+W[MOJ]*DY*LBE+HMJ1*DX;
があり、

49行目に
#文字の長さ
という文章があり、

50行目に
function longMOJI(MOJ,N){ return (W[MOJ]+D[MOJ])*N-D[MOJ] }
がありますが、


26行目のSSU=と、27行目のHEN=の間に下記のコードを追加しました。

jLen = jlength(MJ)
endMJ = jsubstr(MJ, jLen)
endBITE = length(endMJ)
endX = (endBITE==2) ? 1 : 0.5

上記で、最後の文字が全角なのか、半角なのか、判断しています。
それを関数に送る必要がありますので、

元の31行目と32行目のコードを、下記のように訂正しました。

X2=XMJ+longMOJI(MOJ,SSU,endX)*DX+W[MOJ]*DX*LBE-HMJ1*DY;
Y2=YMJ+longMOJI(MOJ,SSU,endX)*DY+W[MOJ]*DY*LBE+HMJ1*DX;

受け取る関数側つまり元の50行目の function longMOJI(MOJ,N) は下記のように修正しました。

function longMOJI(MOJ,N,X){return (W[MOJ]+D[MOJ])*N-D[MOJ]*X}

酒井さんの「文字消線.BAT」は大変便利な外変ですが、DOS版の外変であり、Windows版の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>
・ツリー全体表示

Re:文字打ち消し線が画面に表示されない
 R.N  - 17/10/22(日) 17:04 -
▼いっちさん:こんにちは

参考にさせて頂き、やってみました。バッチリでした!!

今日は雨で暇だったので、朝からスクリプト修正に挑戦していたところでした。
素人ながら、何をやろうとしているかは、ある程度分かりますが、そこからスクリプト内容を解読するまで、時間が掛かりますね
ある程度までは、自分なりにできたのですが----

参考に、他のスクリプト修正に挑戦してみます。
ありがとうございます。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0@i180-63-96-156.s41.a034.ap.plala.or.jp>
・ツリー全体表示

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

こんばんは。

> 今日は雨で暇だったので、朝からスクリプト修正に挑戦していたところでした。
今日は雨だったので、外に出たくなかったです。

> 参考に、他のスクリプト修正に挑戦してみます。
それが良いですね。
R.Nさんは、古い外変たくさんご存知のようですから。

引用なし

パスワード


<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>
・ツリー全体表示

Re:文字打ち消し線が画面に表示されない
 いっち  - 17/10/25(水) 9:02 -
修正漏れに気が付きました。

現在の文字種が文字種1〜10の場合で、文字種1〜10の文字に線を引こうと思うと、引けない場合がありました。

それが何故かを検証する為に、
バッチファイルの
REM #e
のすぐ後に、
copy jwc_temp.txt bakup_temp.txt > nul
を入れて確認致しました。

簡単な事でした。

下記のように、jwc_temp.txt の書き出し順番を見ると分かりますが、

cn7
cn"$<MS ゴシック>
#
ch -1995.70003239391 663.601814058957 1500 0 "あいうえお

この状態だと現在の文字種が、cn"$<MS ゴシック>になってしまうのです。

従って、文字消線.AWK の18行目
/^cn/ {MOJ=$1; gsub("cn","",MOJ); if(FMJ==0){MMJ=MOJ;FMJ=1} }; # 文字種
は、
/^cn[1-9]/ {MOJ=$1; gsub("cn","",MOJ); if(FMJ==0){MMJ=MOJ;FMJ=1} }; # 文字種
に修正する必要があります。

引用なし

パスワード


<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>
・ツリー全体表示

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

こんにちは、

>/^cn[1-9]/ {MOJ=$1; gsub("cn","",MOJ); if(FMJ==0){MMJ=MOJ;FMJ=1} }; # 文字種

それでですかね、偶に作図されないのは、出力結果を確認すると、始点と終点座標が同じに。

ありがとうございます。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0@i180-63-96-156.s41.a034.ap.plala.or.jp>
・ツリー全体表示

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>
・ツリー全体表示

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

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