Indexへ
(17762)//【17752】→(17763)
------------------------
【タイトル】jws形式のフォーマットは何処に?
【記事番号】 17752 (*)
【 日時 】06/12/17 19:13
【 発言者 】機械屋

皆さん こんにちは。

jws形式のフォーマット内容は何処に書き込みあるのでしょうか
情報ありましたら教えて頂きたいのですが宜しくお願いします。


Indexへ
(17752)←【17763】→(17817)
------------------------
【タイトル】Re(1):jws形式のフォーマットは何処に?
【記事番号】 17763 (17752)
【 日時 】06/12/18 11:37
【 発言者 】鈴木

▼機械屋さん:
>jws形式のフォーマット内容は何処に書き込みあるのでしょうか
>情報ありましたら教えて頂きたいのですが宜しくお願いします。

●Jws形式のフォーマットとは、何をお尋ねでしょうか?
すでに準備されたJws図形のあり場所でしょうか?
それとも、Jwk図形をJwsに変換(フォーマット)するシステムのことでしょうか?
JwkはJWWのファイル>ファイル操作>ファイル一括変換で
一挙にJwsに変換することが可能です。
お尋ねの趣旨が違っていましたらごめんなさい。


Indexへ
(17763)←【17817】→(17771)
------------------------
【タイトル】Re(2):jws形式のフォーマットは何処に?
【記事番号】 17817 (17763)
【 日時 】06/12/19 21:59
【 発言者 】機械屋

鈴木さん 早速に書き込み ありがとうございます。

>●Jws形式のフォーマットとは、何をお尋ねでしょうか?

はい jwsのデータをfree版の ターボdelphiにて 利用したと思っていまして
JWSのフォーマット形式が このホームページにあります jwwのフォーマット形式は
公開されているのですが jws形式は公開されていない様なので・・・書き込みさせて
頂きました。

何か参考になるコードがありましたら情報をお願いしたいのですが


Indexへ
(17817)←【17771】→(17818)
------------------------
【タイトル】Re(1):jws形式のフォーマットは何処に?
【記事番号】 17771 (17752)
【 日時 】06/12/18 14:21
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼機械屋さん:
>jws形式のフォーマット内容は何処に書き込みあるのでしょうか
>情報ありましたら教えて頂きたいのですが宜しくお願いします。

JWW形式のファイル構造
http://www.jwcad.net/jwdatafmt.txt
と同様に、JWS形式のファイル構造を知りたい、という事でしょうか?

であれば、JWS形式のファイル構造は、公開されていません。

中身の構造を知りたいのでしたら、JWW形式の構造が分っているのでしたら
独自で解析すれば それなりにでも分ると思います。


Indexへ
(17771)←【17818】→(17776)
------------------------
【タイトル】Re(2):jws形式のフォーマットは何処に?
【記事番号】 17818 (17771)
【 日時 】06/12/19 22:04
【 発言者 】機械屋

jokerさん こんにちは。

>JWW形式のファイル構造
>http://www.jwcad.net/jwdatafmt.txt
>と同様に、JWS形式のファイル構造を知りたい、という事でしょうか?

はい そうなのです。
free版のターボdelphiが商用利用も可能(もちろんfreeソフトもOKですが)に
なりましたので 是非 jws図形選択表で利用して見たいと思っていまして

>であれば、JWS形式のファイル構造は、公開されていません。

あれれ 公開されていないのですか!!

>中身の構造を知りたいのでしたら、JWW形式の構造が分っているのでしたら
>独自で解析すれば それなりにでも分ると思います。

それなりにですか?
まだまだ 解析が出来る程ではない未熟物でして 無理みたいです。
何か jws形式についての 情報がありましたらお願いできますでしょうか。


Indexへ
(17818)←【17776】→(17819)
------------------------
【タイトル】Re(1):jws形式のフォーマットは何処に?
【記事番号】 17776 (17752)
【 日時 】06/12/18 16:56
【 発言者 】古川
【 リンク 】http://jwx.hp.infoseek.co.jp/



▼機械屋さん:
> jws形式のフォーマット内容は何処に書き込みあるのでしょうか

残念ながらどこにも無いので、私は自分で解析しました。

JWWのデータ構造をご存知の方であれば難しくはありません。
JWS形式が発表された翌日には、私を含めた複数の方が
解析を終えられていました。

私が解析したものは最初のバージョンですが、
変わっていなければ、ヘッダー部分はJWWより遥かにシンプルで、
バージョンNo、原点、グループ縮尺、予備領域(72byte)、図形範囲で
その次の図形数以降は、JWWと同じです。

ちなみに、予備領域と思われる部分は、Longword、double で
規則正しい数字が並んでいましたが現在何かに使われているかどうかは不明です。


Indexへ
(17776)←【17819】→(17826)
------------------------
【タイトル】Re(2):jws形式のフォーマットは何処に?
【記事番号】 17819 (17776)
【 日時 】06/12/19 22:13
【 発言者 】機械屋

古川さん こんにちは。

JWC2JWW 便利に利用させて頂いてます。
精度を保ちながらjwwに変換出来るので便利なツールになっています。
無くてはならないツールの1つですね。

>残念ながらどこにも無いので、私は自分で解析しました。

自分で解析されるなんて 凄いですね!。
どんなツールで解析されるのでしょうか?
不思議です。

>私が解析したものは最初のバージョンですが、
>変わっていなければ、ヘッダー部分はJWWより遥かにシンプルで、
>バージョンNo、原点、グループ縮尺、予備領域(72byte)、図形範囲で
>その次の図形数以降は、JWWと同じです。

是非にjws形式のフォーマットを公開お願いしたいですね。
下記に私が作成したjwsデータをバイナリーエディターで見たのですが
こんな感じでして 何がなんだか全く検討が付きません?

[offset]: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0123456789ABCDEF
----------------------------------------------------------------------------
00000000: 4A 77 73 44 61 74 61 2E 2E 2E 2E 2E 2E 2E 2E 2E JwsData.........
00000010: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000020: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000030: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000040: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000050: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000060: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000070: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000080: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
00000090: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000000A0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000000B0: 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E 2E ................
000000C0: 2E 2E 2E 2E 2E 2E 2E 2E A4 01 00 00 6D EB 9E E3 ........、...m・・
000000D0: 0E 5E 5E C0 22 E9 79 EB 02 AE 30 40 00 00 00 00  ^^タ"騫・ョ0@....
000000E0: 00 00 3E 40 00 00 00 00 00 00 3E 40 00 00 00 00 ..>@......>@....
000000F0: 00 00 3E 40 00 00 00 00 00 00 3E 40 00 00 00 00 ..>@......>@....
00000100: 00 00 3E 40 00 00 00 00 00 00 3E 40 00 00 00 00 ..>@......>@....
00000110: 00 00 3E 40 00 00 00 00 00 00 3E 40 00 00 00 00 ..>@......>@....
00000120: 00 00 3E 40 00 00 00 00 00 00 3E 40 00 00 00 00 ..>@......>@....
00000130: 00 00 3E 40 00 00 00 00 00 00 3E 40 00 00 00 00 ..>@......>@....
00000140: 00 00 3E 40 00 00 00 00 00 00 3E 40 00 00 00 00 ..>@......>@....
00000150: 00 00 3E 40 00 00 00 00 00 00 3E 40 01 00 00 00 ..>@......>@....
00000160: 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 ................
00000170: 06 00 00 00 00 00 00 00 00 00 F0 3F 00 00 00 00 ..........・....
00000180: 00 00 00 40 00 00 00 00 00 00 08 40 00 00 00 00 ...@.......@....
00000190: 00 00 10 40 00 00 00 00 00 00 14 40 00 00 00 00 ...@.......@....
000001A0: 00 00 18 40 6D EB 9E E3 0E 5E 5E C0 22 E9 79 EB ...@m・・^^タ"騫・
000001B0: 02 AE 30 40 4B C9 7C C1 EC 5B 5E C0 AA 71 02 74  ョ0@Kノ|チ・^タェq.t
000001C0: 8B B6 30 40 05 00 FF FF A4 01 0A 00 43 44 61 74 狂0@..、...CDat
000001D0: 61 42 6C 6F 63 6B 00 00 00 00 01 02 00 00 00 01 aBlock..........
000001E0: 00 09 00 02 00 6D EB 9E E3 0E 5E 5E C0 22 E9 79 .....m・・^^タ"騫
000001F0: EB 02 AE 30 40 00 00 00 00 00 00 F0 3F 00 00 00 ・ョ0@......・...
00000200: 00 00 00 F0 3F 00 00 00 00 00 00 00 00 00 00 00 ...・...........
00000210: 00 FF FF A4 01 08 00 43 44 61 74 61 53 65 6E 01 .、...CDataSen.
00000220: 00 00 00 01 03 00 00 00 01 00 09 00 02 00 6D EB ..............m・
00000230: 9E E3 0E 5E 5E C0 AA 71 02 74 8B B6 30 40 6D EB  ・^^タェq.t狂0@m・
00000240: 9E E3 0E 5E 5E C0 22 E9 79 EB 02 AE 30 40 03 80  ・^^タ"騫・ョ0@.
00000250: 01 00 00 00 01 03 00 00 00 01 00 09 00 02 00 4B ...............K
00000260: C9 7C C1 EC 5B 5E C0 AA 71 02 74 8B B6 30 40 6D ノ|チ・^タェq.t狂0@m
00000270: EB 9E E3 0E 5E 5E C0 AA 71 02 74 8B B6 30 40 03 ・・^^タェq.t狂0@.
00000280: 80 01 00 00 00 01 03 00 00 00 01 00 09 00 02 00 ...............
00000290: 4B C9 7C C1 EC 5B 5E C0 22 E9 79 EB 02 AE 30 40 Kノ|チ・^タ"騫・ョ0@
000002A0: 4B C9 7C C1 EC 5B 5E C0 AA 71 02 74 8B B6 30 40 Kノ|チ・^タェq.t狂0@
000002B0: 03 80 01 00 00 00 01 03 00 00 00 01 00 09 00 02 ...............
000002C0: 00 6D EB 9E E3 0E 5E 5E C0 22 E9 79 EB 02 AE 30 .m・・^^タ"騫・ョ0
000002D0: 40 4B C9 7C C1 EC 5B 5E C0 22 E9 79 EB 02 AE 30 @Kノ|チ・^タ"騫・ョ0
000002E0: 40 01 00 FF FF A4 01 09 00 43 44 61 74 61 4C 69 @..、...CDataLi
000002F0: 73 74 00 00 00 00 01 02 00 00 00 01 00 09 00 00 st..............
00000300: 00 00 00 00 00 01 00 00 00 DB 71 87 45 1A 89 D7 .........ロq6..荷
00000310: 8F E3 8A 4A 8C FB 95 94 40 40 53 66 69 67 6F 72 上開口部@@Sfigor
00000320: 67 46 6C 61 67 40 40 34 02 00 03 80 00 00 00 00 gFlag@@4.......
00000330: 01 03 00 00 00 01 00 09 00 00 00 00 00 00 00 00 ................
00000340: 00 00 00 00 00 00 00 00 00 00 00 00 10 11 11 11 ................
00000350: 11 A1 3F 00 10 11 11 11 11 A1 3F 03 80 00 00 00 .。?......。?....
00000360: 00 01 03 00 00 00 01 00 09 00 00 00 00 00 00 00 ................
00000370: 00 00 00 00 00 10 11 11 11 11 A1 3F 00 10 11 11 ..........。?....
00000380: 11 11 A1 3F 00 00 00 00 00 00 00 00       ..。?........  


でしたがさっぱり解りませんでした。
古川さんは delphiでJWC2JWWを開発されている書き込みありましたが
何か参考になるコード等 公開お願いできないでしょうか。

>ちなみに、予備領域と思われる部分は、Longword、double で
>規則正しい数字が並んでいましたが現在何かに使われているかどうかは不明です。


Indexへ
(17819)←【17826】//(17757)
------------------------
【タイトル】Re(3):jws形式のフォーマットは何処に?
【記事番号】 17826 (17819)
【 日時 】06/12/20 00:42
【 発言者 】古川

> どんなツールで解析されるのでしょうか?

普通のバイナリエディタと、自作した簡単なバイナリ→10進数変換ソフトです。

JWWに限って言えば、4バイトのものは整数、実数はすべて8バイト(double)
なので、4桁→Longword、8桁→double 変換するだけです。

解析の基本は、設定の一部を変更して、何バイト目が変化するのかを
追いかける事ですが、さすがにバイナリエディタだけではよく分からないので
10進数に変換して確認することになります。

たとえば、ファイルバージョンを例にとると、例のデータだと
A4 01 00 00 という部分がそうなんですが10進数だとどうなるのでしょうか?
実は、ファイル上でのデータの並びは普通の16進数から見ると逆になっています。

00 00 01 A4 と並び替えると、10進数(Longword)で 420 になり、
ファイルバージョン 4.20 と分かります。

> 何か参考になるコード等 公開お願いできないでしょうか。

おそらく参考にはならないかもしれませんが、
公開されていないJWSのヘッダー部分の読み取りルーチンと
レコード定義部分は以下の通りです。
なお、Ver 2.30 当時の情報なので
これ以降の変更に関しては独自で解析してください。
独自解析した物なので実際の情報どおりなのか
保障できるものでもありません。

ただ、大変なのは公開されているそれ以降の部分なんですが。(^^ゞ

最初の8byteは'JwsData.'でファイルの識別情報で、
その次から始まる 2E 192個はダミーだろうと言う前提です。

「レコード定義部分」
 TJSHeader = record        // ヘッダ情報
  JW_DATA_VERSION : Longword ;  // バージョンNo
  org_x   : double ;  // 配置原点 x
  org_y   : double ;  // 配置原点 y
  scale   : array [0..15] of double ; // グループ縮尺
  yobi_d  : array [1..6] of Longword ; // 予備1〜6 DWORD
  yobi_w  : array [1..6] of double  ; // 予備1〜6 double
  zukeih_x1 : double ;  // 図形範囲 左下 x座標
  zukeih_y1 : double ;  // 図形範囲 左下 y座標
  zukeih_x2 : double ;  // 図形範囲 右上 x座標
  zukeih_y2 : double ;  // 図形範囲 右上 y座標
 end;

var
 JWShd : TJSHeader ;

「ファイル読み込み、ヘッダー部分のみ抜粋」
var
 F : File ;
 Buff : array [1..256] of Char ;


 AssignFile(F, FName);
 Reset(F, 1);
  seek(F, 200);           // 予備、読み飛ばし
  BlockRead(F, JWShd.JW_DATA_VERSION, 4); // JW_DATA_VERSION
  BlockRead(F, JWShd.org_x, 8);
  BlockRead(F, JWShd.org_y, 8);
  for i := 0 to 15 do BlockRead(F, JWShd.scale[i], 8);
  BlockRead(F, Buff, 72);      // 予備、読み飛ばし
  BlockRead(F, JWShd.zukeih_x1, 8);    // 図形範囲 左下 X座標
  BlockRead(F, JWShd.zukeih_y1, 8);    // 図形範囲 左下 y座標
  BlockRead(F, JWShd.zukeih_x2, 8);    // 図形範囲 右上 X座標
  BlockRead(F, JWShd.zukeih_y2, 8);    // 図形範囲 右上 X座標