Jw_cad 情報交換室−その3
JWW についての情報交換の場としてお使いください
初心者の方などのご相談は
Jw_cad 相談
室−その2をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください
2009年9月以前の発言は
過去ログのページからご覧ください。
それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。
▼ほぼ初心者さん:
>パソコンの買い替え(現在Windows11)で、今まで使用できていた外部変形(当方で作成)が上手く作動しません。
>何が原因か不明です。原因がわかる方がいましたら、ご享受ください。
>
>@REM 07)《□--> 写真No. F2:開始番号》
>@echo off
>REM #jw
>REM #cd
>REM #h0
>REM #hp
>REM #hc 【□--> 写真No. F2:開始番号】
>REM #g1
>REM #1- 写真No.の基点(番号表示位置)
>REM #2- 矢印表示方向
>REM #c 初期番号指定( 1〜8001 無指定:1 ) : /_/N
>REM 引出番号作図の場合の追加オプション
>REM /N* :文字番号 「*」 (無指定:1)
>REM /P* :文字種を指定 「*」 (無指定:2)
>REM /A* :矢印長さを指定 「*」 は矢印長さ (無指定:3mm)
>REM /D* :矢印角度を指定 「*」 は角度(゚) (無指定:15゚)
>REM (矢印角度或いは長さが0の場合、実点となる。)
>REM /M* :文字種 [*]は文字種 (0-10 無指定:2)
>REM /L* :レイヤー [*]はレイヤー (無指定: 無変更)
>REM /T* :線種 [*]は線種 (無指定: 1)
>REM /C* :線色 [*]は線色 (無指定: 3)
>REM /P* :実点種 [*]は点種 (無指定: 1)
>REM /I* :矢印線角度を指定 「*」 は角度(゚) (無指定:0゚)
>REM 0の場合指示点より傾斜角度を取得
>REM /H* :楕円の扁平率を指定 1以下 (無指定:1)
>REM #e
>gawk -f ARROWsay.awk jwc_temp.txt /B140 /F /M2 /L4 /A2 %1 %2 > temp.txt
>del jwc_temp.txt
>rename temp.txt jwc_temp.txt
>GOTO END
>
>:COMENT
>引出線を利用して写真番号(f・2)を記載するスクリプトです。
>
> (1)<-- 円のつもり
> /o2
> /
> /
> /
> 1o
> 使い方
> 1.引出線の始点(図1のポイント)をクリックします。
> 2.引出線の終点(図2のポイント)をクリックします。
> 3.写真番号は自動連続入力します。
>:END
>
>
>以上、よろしくお願いします。
どの様に動作しないのでしょうか?
全く動かないのか?
gawk.exeが導入されていない
又は、gawk.exeのスクリプト、ARROWsay.awkが無い。
又は、両方が無い。
アジアポケットさんの写真番号を改変したと思われますが、
batファイルを同じフォルダに入れて実行させると、
動作しますよ。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.200@p7046-ipngn801morioka.iwate.ocn.ne.jp>
|
|
ほぼ初心者
- 23/8/10(木) 14:59 -
|
banさん
ありがとうございます。
アジアポケットの写真方向を参考にしています。
外部変形で当該記号を選択し、作図はするものの、図面に表示されません。
gawk.exeは導入しています、gawk.exeのスクリプト、ARROWsay.awkもあるのですが、図示されません。
他に出来る手段はありますか?
▼banさん:
>▼ほぼ初心者さん:
>>パソコンの買い替え(現在Windows11)で、今まで使用できていた外部変形(当方で作成)が上手く作動しません。
>>何が原因か不明です。原因がわかる方がいましたら、ご享受ください。
>>
>>@REM 07)《□--> 写真No. F2:開始番号》
>>@echo off
>>REM #jw
>>REM #cd
>>REM #h0
>>REM #hp
>>REM #hc 【□--> 写真No. F2:開始番号】
>>REM #g1
>>REM #1- 写真No.の基点(番号表示位置)
>>REM #2- 矢印表示方向
>>REM #c 初期番号指定( 1〜8001 無指定:1 ) : /_/N
>>REM 引出番号作図の場合の追加オプション
>>REM /N* :文字番号 「*」 (無指定:1)
>>REM /P* :文字種を指定 「*」 (無指定:2)
>>REM /A* :矢印長さを指定 「*」 は矢印長さ (無指定:3mm)
>>REM /D* :矢印角度を指定 「*」 は角度(゚) (無指定:15゚)
>>REM (矢印角度或いは長さが0の場合、実点となる。)
>>REM /M* :文字種 [*]は文字種 (0-10 無指定:2)
>>REM /L* :レイヤー [*]はレイヤー (無指定: 無変更)
>>REM /T* :線種 [*]は線種 (無指定: 1)
>>REM /C* :線色 [*]は線色 (無指定: 3)
>>REM /P* :実点種 [*]は点種 (無指定: 1)
>>REM /I* :矢印線角度を指定 「*」 は角度(゚) (無指定:0゚)
>>REM 0の場合指示点より傾斜角度を取得
>>REM /H* :楕円の扁平率を指定 1以下 (無指定:1)
>>REM #e
>>gawk -f ARROWsay.awk jwc_temp.txt /B140 /F /M2 /L4 /A2 %1 %2 > temp.txt
>>del jwc_temp.txt
>>rename temp.txt jwc_temp.txt
>>GOTO END
>>
>>:COMENT
>>引出線を利用して写真番号(f・2)を記載するスクリプトです。
>>
>> (1)<-- 円のつもり
>> /o2
>> /
>> /
>> /
>> 1o
>> 使い方
>> 1.引出線の始点(図1のポイント)をクリックします。
>> 2.引出線の終点(図2のポイント)をクリックします。
>> 3.写真番号は自動連続入力します。
>>:END
>>
>>
>>以上、よろしくお願いします。
>どの様に動作しないのでしょうか?
>全く動かないのか?
>
>gawk.exeが導入されていない
>又は、gawk.exeのスクリプト、ARROWsay.awkが無い。
>又は、両方が無い。
>
>アジアポケットさんの写真番号を改変したと思われますが、
>batファイルを同じフォルダに入れて実行させると、
>動作しますよ。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36@KD106154131085.au-net.ne.jp>
|
|
somem
- 23/8/10(木) 17:11 -
|
▼ほぼ初心者さん:
>外部変形で当該記号を選択し、
REM #h0 なので、データを選択しない外変ですが。
>作図はするものの、図面に表示されません。
外変は実行できるが、作図ができないということですか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36@KD175132143241.ppp-bb.dion.ne.jp>
|
|
ほぼ初心者
- 23/8/10(木) 17:18 -
|
somemさん
外変は実行できるが、作図ができないということです。
▼somemさん:
>▼ほぼ初心者さん:
>
>>外部変形で当該記号を選択し、
>
>REM #h0 なので、データを選択しない外変ですが。
>
>>作図はするものの、図面に表示されません。
>
>外変は実行できるが、作図ができないということですか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36@KD106154131085.au-net.ne.jp>
|
|
somem
- 23/8/10(木) 20:50 -
|
▼ほぼ初心者さん:
>外変は実行できるが、作図ができないということです。
gawk -f ARROWsay.awk jwc_temp.txt・・・ > temp.txtの次行に、
pauseを追記した時、エラーメッセージは出ませんか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36@KD175132143241.ppp-bb.dion.ne.jp>
|
|
ほぼ初心者
- 23/8/11(金) 17:14 -
|
someさん
最後にpauseを追加したら、以下のメッセージが出ました。
これで何が問題かわかりますか?
gawk: ARROWsay.awk:73: (FILENAME=jwc_temp.txt FNR=17) 致命的: 関数 `jlength' は定義されていません。
続行するには何かキーを押してください . . .
というメッセージが出ます。
▼somemさん:
>▼ほぼ初心者さん:
>
>>外変は実行できるが、作図ができないということです。
>
>gawk -f ARROWsay.awk jwc_temp.txt・・・ > temp.txtの次行に、
>pauseを追記した時、エラーメッセージは出ませんか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36@p6523132-ipoe.ipoe.ocn.ne.jp>
▼ほぼ初心者さん:
>someさん
>
>最後にpauseを追加したら、以下のメッセージが出ました。
>これで何が問題かわかりますか?
>
>gawk: ARROWsay.awk:73: (FILENAME=jwc_temp.txt FNR=17) 致命的: 関数 `jlength' は定義されていません。
>続行するには何かキーを押してください . . .
>
>というメッセージが出ます。
>
>
>▼somemさん:
>>▼ほぼ初心者さん:
>>
>>>外変は実行できるが、作図ができないということです。
>>
>>gawk -f ARROWsay.awk jwc_temp.txt・・・ > temp.txtの次行に、
>>pauseを追記した時、エラーメッセージは出ませんか?
現在お使いの
gawk.exeは日本語文字に対応していないと思われます。
GAWKM115.ZIPを探してダウンロードする。
解凍フォルダ内の、
gawk.exeを使用する。
ダウンロード参考
yakushima-tonboさんのサイト
http://www.yakushima-tonbo.com/jw_cad/gaihen.htm
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203@p7046-ipngn801morioka.iwate.ocn.ne.jp>
|
|
ほぼ初心者
- 23/8/12(土) 13:59 -
|
banさん
GAWKM115.ZIPを探してダウンロード。
解凍フォルダ内の、gawk.exeを使用しましたが
解決しません。
もうほかに手段はありませんか?
何度も対応して頂きありがとうございます。
ちなみに、アジアポケットの展開図は利用できます。
▼banさん:
>▼ほぼ初心者さん:
>>someさん
>>
>>最後にpauseを追加したら、以下のメッセージが出ました。
>>これで何が問題かわかりますか?
>>
>>gawk: ARROWsay.awk:73: (FILENAME=jwc_temp.txt FNR=17) 致命的: 関数 `jlength' は定義されていません。
>>続行するには何かキーを押してください . . .
>>
>>というメッセージが出ます。
>>
>>
>>▼somemさん:
>>>▼ほぼ初心者さん:
>>>
>>>>外変は実行できるが、作図ができないということです。
>>>
>>>gawk -f ARROWsay.awk jwc_temp.txt・・・ > temp.txtの次行に、
>>>pauseを追記した時、エラーメッセージは出ませんか?
>
>現在お使いの
>gawk.exeは日本語文字に対応していないと思われます。
>
>GAWKM115.ZIPを探してダウンロードする。
>解凍フォルダ内の、
>gawk.exeを使用する。
>
>ダウンロード参考
>yakushima-tonboさんのサイト
>
>http://www.yakushima-tonbo.com/jw_cad/gaihen.htm
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36@p6523132-ipoe.ipoe.ocn.ne.jp>
GAWKM115.ZIP内からコピーした
gawk.exeは
何処に導入したのですか?
同じエラーメッセージが出ている場合、
動作しているgawk.exeは、
GAWKM115のgawk.exeファイルで無い可能性があります。
gawk.exe 2001/05/26 21:50 316KB
上記バージョンは
jlengthに対応している
batファイルと同じフォルダに入れても動作しませんか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203@p7046-ipngn801morioka.iwate.ocn.ne.jp>
|
|
ほぼ初心者
- 23/8/12(土) 15:11 -
|
banさん
最初batファイルと同じフォルダに入れたのですがダメでした。
でも再度トライした所、問題なく動くことが確認できました。
banさん、somemさん、対応本当にありがとうございました。
▼banさん:
>GAWKM115.ZIP内からコピーした
>gawk.exeは
>何処に導入したのですか?
>
>同じエラーメッセージが出ている場合、
>動作しているgawk.exeは、
>GAWKM115のgawk.exeファイルで無い可能性があります。
>
>gawk.exe 2001/05/26 21:50 316KB
>上記バージョンは
>jlengthに対応している
>
>batファイルと同じフォルダに入れても動作しませんか?
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36@p6523132-ipoe.ipoe.ocn.ne.jp>
同じ様な症状が出てたどり着いて、
解決ついでに素人ながらに確認したので備忘録兼ねて追加情報
根本原因はgawkのバージョン次第での
『jlength』関数に対応していない事による起動障害
jlengthが使われているのは、文字間隔による文字列長さの調整であるので、
文字間隔を0で利用するならば関係ない部分であるので、
Arrowsay.awkをメモ帳等で開き編集可能な状態にし、
『+(jlength(No)-1)*pd』を削除してしまって良い
ちなみに、JWCADのバージョンによるかも知れないが、
文字サイズ設定は全角文字基準であるので、
文字間隔を0以外で使用する場合は半角では1/2されるため、
半角2桁以上の場合、文字位置が円中心からズレてしまうので、
上記項『(jlength(No)-1)*pd』を『(jlength(No)-1)*pd/2』に変える必要あり。
また、バグかも知れないが、
『jlength』は全角文字を全角文字として取得する関数と紹介されているが、
半角2文字扱いをされるため文字間隔による長さ増加がおかしくなる。
そもそも全角数字は数字として処理しないので連続処理ができないが⋯
<Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36@sni106-red.in.shared-server.net>
文字コードで説明しないと後で見返したときに「?」になると思います。
jlengthは「文字数」を返す関数です。
'26年現在、本家awk、GNU awk ともにマルチバイトに対応しています。
GNU awk について少し調べました。
(※ 他の実装については説明を避けます。)
# jgawk(GNU awk 日本語対応版 2.15.2 + 1.1 など) との違い
- multibyte characters.
- CSV 形式の読み込み・処理。
- @load
- @include
- 追加されていた組み込み関数 jindex, jlength, jsubstr はない。
- コマンドラインオプション「-Wlang-xxxx(-Wctype=xxxx)」はない。
- 文字コードの判別は UNIX の場合はロケール設定、Windows の場合はコードページ設定に依存する。
- → UNIX: ja_JP.UTF-8, ja_JP.SJIS; Windows: 65001(UTF-8), 932(Shift JIS)
- debuger
- The only supported binary distribution for MS-Windows systems is that provided by Eli Zaretskii’s “ezwinports” project.
# 試す
Windows 版は試した限りにおいて Shift JIS 環境は機能していないように見えます。
よって multibyte characters というのは UTF-8 のことと解釈します。
Linux 版での Shift JIS 環境下は試していません。
ロケール/コードページ設定とスクリプトで使用する文字コードは一致している必要があります。
Shift JIS 環境下において最新の gawk を既存スクリプトで運用する場合は、以下を留意する必要があります。
(※ バッチファイルの文字コードを UTF-8 とした場合、生成される jwc_temp.txt の文字コードは UTF-8(BOM 付き)です。)
- バッチファイルの文字コードは Shift JIS。
- awk スクリプトファイルの文字コードは UTF-8。
- 入出力は Shift JIS 、処理は UTF-8 と考える。
- 文字コードの変換は iconv, nkf, PowerShell などを利用する。
- jgawk は awk または gawk に置換する。
- jindex, jlength, jsubstr はそれぞれ index, length, substr に置換する。
- -Wlang-xxxx(-Wctype=xxxx) は削除する。
## 動作確認環境
Microsoft Windows [Version 10.0.26200.8655]
GNU Awk 5.4.0, API 4.1, (GNU MPFR 4.0.2, GNU MP 6.1.2)
iconv (GNU libiconv 1.19)
## BATCH FILE
@rem coding: CP932
@echo off
rem #jww
set "data_file=jwc_temp.txt"
set "temp_file=temp.txt"
set "awk_script=sample.awk"
chcp 65001
echo.
iconv --version
echo.
gawk --version
echo.
rem 適宣引数を追加してください。
iconv -f CP932 -t UTF-8 %data_file% | gawk -f %awk_script% - | iconv -f UTF-8 -t CP932 > %temp_file%
if exist %data_file% (
del %data_file%
) else (
echo %data_file% not found.
)
if exist %temp_file% (
rename %temp_file% %data_file%
) else (
echo %temp_file% not found.
)
:END
# SITE
One true awk · GitHub
https://github.com/onetrueawk/awk
Gawk - GNU Project - Free Software Foundation (FSF)
https://www.gnu.org/software/gawk/
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36@sni102-red.in.shared-server.net>
▼とりさんさん:
>## 動作確認環境
>GNU Awk 5.4.0, API 4.1, (GNU MPFR 4.0.2, GNU MP 6.1.2)
>
>GNU awk について少し調べました。
>CSV 形式の読み込み・処理。
>Windows 版は試した限りにおいて Shift JIS 環境は機能していないように見えます。
>よって multibyte characters というのは UTF-8 のことと解釈します。
gawk 5.2.2 までとgawk 5.3.0 以降で大きく仕様が変わっている部分がありますね。
ですから私は、今でも gawk 5.2.2 [も] 利用しています。
しかし、今でも (gawk 5.2.2が) ダウンロード出来るかどうかは、わかりません。
あまり細かな確認をしたわけではなく、自分が書いたコードが正常動作すればよいかな位のものです。
<Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36@sni102-red.in.shared-server.net>
Jw_cad Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka