From: Noritsugu Nakamura Date: 1998-07-11T14:18:23+09:00 Subject: [ruby-list:8693] tgif module ver 0.01 中村 のりつぐ です。 Draw ソフトの tgif の obj 形式ファイルを 生成するモジュールを書いてみました。 (オブジェクト指向していません m(_ _)m ) □ データのチェックはしていないので、 正しい obj が生成されるかは保証しません。 (チェックできる程データ形式を把握していないから) □ 生成するファイル形式は Version 30 です。 (最新のバージョンでは不明点がたくさんあるから) □ 確認したのは、tgif 2.16 です。 □ group 化も対応していません。大幅改造して Front, Back とかぐらいは出来るようにしたいですね。 □ 参考にしたものは、tgif ソースの const.h, tgif.pl pstoedit 2.3 の drvTGIF.c や TGIFCRTL などです。 □ 相当 bug が混入されていると思うので、 もし万が一使用する場合には、気をつけて下さい (^^; text 関係は特にまずいか? 使い方の例は、以下のようです。標準出力に出力します。 #!/usr/local/bin/ruby require 'tgif' # 必ず必要 Tgif.show_state Tgif.show_page Tgif.show_box(400, 400, 200, 100) Tgif.line_width = 3 #Tgif.line_dash = 1 Tgif.line_style = Tgif::LEFT Tgif.line_type = Tgif::SPLINE Tgif.show_poly(300, 300, 500, 300, 500, 400) Tgif.point_size = 34 Tgif.show_text(450, 450, 'Test!!') Tgif.font_name = 'Times-Roman%GothicBBB-Medium-EUC-H' Tgif.show_text(450, 650, 'テスト') はっきりいって いいかげんスクリプトですが、 obj を自分で手で書くより楽な時もあるかな?と いうことで… # スクリプトを作ってみると、自分が全然分かっていないのが # 確認できるので、早く ruby 本 欲しい〜 begin 644 tgif.rb.gz M'XL("%GMIC4``W1G:68N MER)S"\=]B@-!EN18C2P:%)7$_?6](R6*MJ4@&Q9@@Q6'O#L>C]]'?:1WK5TR MODUFY"\6%6E,[F-.W)[K6;O@F'&V(-[IZ=N>>]+S7+!,5V3(>"+RXK8@P^`N M6!0\L"QKH49C)HA*DRSV<[%*8XN0+Y?O+X:D3UQHCRX^_CF&M@?MR\$?V#R" MYH?/7\\O!]!Y70XF8K7$L5?CT?MR"`Z_^G)Y,1R4XR^&8]T_@A)VR2OG_+?# M3]3YZ'QV'.>MDSB?'.=5]QR"W['IMS@4?A*5H]\M@]M8MBWLS5@F_"Q8H&G_ M=U;P).;[Z!#QHU!+*6M0EF]%+M8,G(E`Z)@E2R!?GGR74YS(*20H49#/JZ`: MI34++GW-\)!$8EZ5#>OP9TF:ZIGBS%\&0JT$^B%+&<=%3-,@O-N7-AY$29%C MR#'"='9VAM:L6/B8/Z]23Z?LT7^`WAM7=^>Z&^1A%1C58^[]?!F$NEZ)0L(R M73\+[^*HZ@61G,8[VC#*R20?@1"\:VM2;$K&HZ^#`^VI66EV(3W- M'L73EJ\F;,NE>6OV-%>AF6SV2$JW7!6WV]4IDK?LDNPMJZ);F\$>Q3.RY+C" MD#$>Y=V?Y'KS`ZLS@]V2D"0C7J^GC#U$P>H0`J*0D)T^63-W9)[2=IW\[-U0 M8E,;X^,T;PR0OBS2*?=@'Y(^[HDJV)YD$V'K./Q2S;+V?`Y;)$?BK&J$['5= M^MJEGNM2_'C4.X:O4VR4!O6G7VCLGY2N-]48_#XN8^%ST)MDLI2R!*,"E(RR M@!FQL=?=B^C$GMAR$%6B8G64MARJ5V0C!V["[B,E*TIRP0_J='OY/CP4$L)C M-)_YN/0:"H$BL'2YU;M8D-PAE#P2.6,M*KLD=U?JC MPI2"T$H[J"&[5"H(E>*A@JO=3K6*T%I`:*4=-4`3,0&0)O:-`AMS`(*`=BWM MS9!#+=T4($\!`?GB43*/D]NY:$/_B<<$&?,:&*<(,LX!C<-JHG0%;37;UJIK M)=C$T41-R\\3Z)`2E&>`P>Z#]$70D(G_=W`L6;HRU!#TR5`[4*HC%$`7J[@: M?QB,1KUR@F&QF,)-B57Q9($7@FE,XOLXV]DI)83'HN"9$K0F=*^E[BG\9"4& M?F8=O\`%I],BX%76F^?059)E7#V,_B;V#<#CB=9,W"8E,L@\\.GZ45_.*VD# M5[Y@3,Q!!N+PGY%XR[+_#H]8S(M063.H\7^*OVW.7NH]XN&_J;(;TJ*2OXRV MK.$@+TX;^WY]1_\M?."?^EWDSXHLE/?B7_4)W&_RU@=RNQN/X7:O.I@;_?4! MW^C62+1[VRO3.ZW=*^%O=%=$-5>MV&KTR>W0Z%%4]LN?.YW&Q,9+V$B5<>ML M\\K[7IL3^6AUPHYN]>%1VCXEZ,N33A"?5K]\DP"3%G?`0PLW[@\A1%LU%1`` !`,K[ ` end 中村典嗣 E-mail: nnakamur@mxq.mesh.ne.jp