Jw_cad 情報交換室−その3
JWW
についての情報交換の場としてお使いください
初心者の方などのご相談は
Jw_cad 相談 室−その2
をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください
2009年9月以前の発言
は
過去ログのページ
からご覧ください。
それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。
新規投稿
┃
ツリー表示
┃
スレッド表示
┃
一覧表示
┃
トピック表示
┃
番号順表示
┃
検索
┃
設定
┃
過去ログ
┃
ホーム
7 / 387 ツリー
←次へ
|
前へ→
作成した外部変形が開かない
ほぼ初心者
23/8/10(木) 8:42
Re:作成した外部変形が開かない
暇人
26/6/10(水) 11:59
GNU Awk について
とりさん
26/7/1(水) 22:40
Re:GNU Awk について
いっち
26/7/2(木) 7:17
Re:作成した外部変形が開かない
暇人
- 26/6/10(水) 11:59 -
同じ様な症状が出てたどり着いて、
解決ついでに素人ながらに確認したので備忘録兼ねて追加情報
根本原因は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>
・ツリー全体表示
GNU Awk について
とりさん
- 26/7/1(水) 22:40 -
文字コードで説明しないと後で見返したときに「?」になると思います。 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>
・ツリー全体表示
Re:GNU Awk について
いっち
- 26/7/2(木) 7:17 -
▼とりさんさん:
>## 動作確認環境
>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>
・ツリー全体表示
7 / 387 ツリー
←次へ
|
前へ→
新規投稿
┃
ツリー表示
┃
スレッド表示
┃
一覧表示
┃
トピック表示
┃
番号順表示
┃
検索
┃
設定
┃
過去ログ
┃
ホーム
ページ:
┃
記事番号:
C-BOARD Moyuku v1.03b5
Jw_cad
Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka