''LangDraw 2の開発は終了しています。現在は、後継ソフトウェアの[[LangDraw 3>LangDraw3]]が開発&配布中です。''

&attachref(LangDraw2-Logo.png,,LangDraw 2 Logo);

LangDraw2は、言語構造式描画に特化したWindows用フリーソフトウェアです。

#contents


*LangDraw 2の特長 [#bc2c049c]

LangDraw 2は、言語構造式を編集・作図できるWindowsソフトウェアです。タグ付けされたテキストに基づいて言語構造式を作図・編集することのできる(おそらく)世界で唯一のソフトウェアです。


**言語構造式とは? [#b39da17d]

言語構造式とは、文字表記されたある言語の句および節の構造や修飾関係を一群の文字や記号および線を用いて視覚的に示されたものです(下図参照)。

&attachref(LD2-sample.png,,LangDraw 2で作図した言語構造式サンプル);

言語構造式は、語学教育、中でも英語教育の分野ではお馴染みです。特に大学受験生向けの参考書や問題集の解説でよく目にします。

しかしながら、こうした図をコンピュータ上で作図するには多くの労力を要し、また、せっかく作った図のデータも互換性が低いため再利用性が低いという問題点がありました。こうした問題点を解決したいという気持ちから生まれたのがLangDraw 2です。
**タグつきテキストに基づく作図 [#o81a5ce0]

LangDraw 2は、XMLの書式でタグづけされたテキストデータに基づいて言語構造式を作図します。

たとえば上記のサンプル言語構造式は次のテキストデータに基づいて作図されました。

#region(サンプル言語構造式のソース)
 <LangDraw>
 
 <!--Style Settings-->
  <Style>
    <Body Font-Family="Times New Roman" Font-Size="30" Font-Style="Normal" Color="#FF000000" Fill-Background="true" Background-Color="#FFFFFFFF" />
    <Span Font-Family="Times New Roman" Font-Size="30" Font-Style="Normal" Color="#FF000000" Text-Decoration="None" Text-Decoration-Color="#FFFF0000" Border-Color="#FFFF0000" Border-Width="1,1,1,1" Background-Color="#FFFFC0CB" />
    <Span ID="ul" Font-Family="Times New Roman" Font-Size="30" Font-Style="Normal" Color="#FF000000" Text-Decoration="Underline" Text-Decoration-Color="#FF000000" />
    <Arrow Arrow-Color="#FFFF0000" Arrow-Width="1" Radius="20" Start-HeadSize="None" End-HeadSize="Normal" />
    <BR Line-Height="50" />
    <InMark Font-Family="Times New Roman" Font-Size="35" Font-Style="Normal" Color="#FF0000FF" />
    <Mark Font-Family="MS ゴシック" Font-Size="25" Font-Style="Normal" Color="#FF804000" Margin="5" Horizontal-Align="Center" Vertical-Align="Sub" />
    <TextBox Font-Family="Times New Roman" Font-Size="20" Font-Style="Normal" Color="#FF000000" Background-Color="#FFFFC0CB" Border-Color="#FFFF0000" Padding="3,3,3,3" Border-Width="1,1,1,1" />
    <TextBox ID="JPN" Font-Family="MS 明朝" Font-Size="23" Font-Style="Normal" Color="#FF000000" Background-Color="#00FFFFFF" Border-Color="#00FFFFFF" Padding="2,2,2,2" Border-Width="0,0,0,0" />
  </Style>
 
 <!--TextBox Settings-->
  <TextBoxes>
    <TextBox Position="285,13" Width="68" Height="29">副詞句</TextBox>
    <TextBox ID="JPN" Position="0,70" Width="303" Height="27">僕はLangDraw 2が大好きさ!</TextBox>
  </TextBoxes>
 
 <!--Arrow Settings-->
  <Arrows>
    <Arrow Start-Point="255,-7" End-Point="61,17" Depth="56" />
  </Arrows>
 
 <!--Sentence Settings-->
  <Body><Mark Show="S">I</Mark> <Mark Show="V">love</Mark> <Mark Show="O"><Span ID="ul">LangDraw 2</Span></Mark> <InMark Show="<"/>so much<InMark Show=">"/>! </Body>
 </LangDraw>
#endregion

テキストデータですので、データの編集や保存、受け渡しが簡単に行えます。


**編集と同時に言語構造式を描画 [#ze3c0b0a]

LangDraw 2は、編集ペインと描画ペインの2つのウィンドウで構成されています。編集ペインの作業結果はリアルタイムで描画ペインに反映されますので、擬似的なWYSIWYG編集が可能です。

&attachref(LD2-Panes.png,,LangDraw 2の画面構成);


**PNG / EMF形式の画像ファイルで出力可能 [#sdd2d0e9]

LangDraw 2で作図した言語構造式は、PNG形式とEMF(Enhanced Metafile)形式の画像ファイルとして出力できます。



*ダウンロード [#n50ac849]


**ソフトウェアのダウンロード [#d67bd9c2]

-開発言語:Microsoft Visual Studio 2008
-動作確認OS:Windows 7





*タグ・リファレンス(執筆中) [#t89fb9d8]

LangDraw 2で使用できるタグとその属性について説明します。


**LangDraw [#w653ffbc]

LangDraw要素は全ての要素の上位に位置するルート要素である。

-使用例:
 <LangDraw>
 (その他の要素)
 </LangDraw>

-直下の要素
--Arrows / TextBoxes / Style / Body


**Arrows [#oa0dc7a3]

Arrows要素は、矢印線を表現するArrow要素を記述する。

-使用例
 <Arrows>
 (Arrow要素)
 </Arrows>

-直下の要素
--Arrow


**TextBoxes [#x0b04491]

TextBoxes要素は、テキストボックスを表現するTextBox要素を記述する。

-使用例
 <TextBoxes>
 (TextBox要素)
 </TextBoxes>

-直下の要素
--TextBox


**Style [#d87f6c0f]

Style要素では、言語構造式全体および言語構造式内に表れる解説要素の表現形式(スタイル)に関わる設定を一括して行う。

-使用例:
 <Style>
 (スタイルの一括設定の対象となる要素)
 </Style>

-直下の要素
--Arrow / Body / BR / InMark / Mark / Span / TextBox


**Arrow [#cbccd217]

Arrow要素は、言語構造式内の矢印線を表現する空要素である。


***Arrows要素内 [#k5d0fa42]

-使用例:
 <Arrow Start-Point="401,-17" End-Point="217,-20" Depth="-34" />

:Start-Point="'''X,Y'''"|矢印線の始点の座標を指定。

:End-Point="'''X,Y'''"|矢印線の終点の座標を指定。

:Depth="'''ピクセル数'''"|矢印線が始点から終点に向けて引かれるときの垂直方向の深さを指定。


***Style要素内 [#q9456217]

-使用例:
 <Arrow Arrow-Color="#FFFF0000" Arrow-Width="1" Radius="20" Start-HeadSize="None" End-HeadSize="Normal" />

:ID="'''文字列'''"|スタイル固有のIDを文字列にて設定。本文中にID指定すれば対応する設定が読み込まれる。

:Arrow-Width="'''ピクセル数'''"|矢印線の太さをピクセル数で指定。

:Arrow-Color="'''アルファ値を含むRGB16進数'''"|線の色を 透明度2桁(16進数)+色6桁(16進数) で設定。

:Radius="'''ピクセル数'''"|曲線部分(円弧)の半径をピクセル数で指定。

:Start-HeadSize="'''None''' OR '''XSmall''' OR '''Small''' OR '''Normal''' OR '''Large''' OR '''XLarge'''"|始点の矢印のサイズや種類を変更。Noneは矢印なし、XSmallは極小矢印、Smallは小矢印、Normalは通常サイズの矢印、Largeは大矢印、XLargeは極大矢印。

:End-HeadSize="'''None''' OR '''XSmall''' OR '''Small''' OR '''Normal''' OR '''Large''' OR '''XLarge'''"|終点の矢印のサイズや種類を変更。Noneは矢印なし、XSmallは極小矢印、Smallは小矢印、Normalは通常サイズの矢印、Largeは大矢印、XLargeは極大矢印。


**Body [#we69e996]

Body要素内では、言語構造式による解説の対象となるテキストそのものや、テキストを解説するための要素を記述する。

-使用例
 <body>
 (解説対象となるテキストおよび解説要素)
 </body.

-直下の要素
--BR / InMark / Mark / Span


***Style要素内 [#vaff64e7]

-使用例
 <Body Font-Family="Times New Roman" Font-Size="30" Font-Style="Normal" Color="#FF000000" Fill-Background="true" Background-Color="#FFFFFFFF" />

:Font-Family="'''フォント名'''"|フォントの種類のをフォント名で指定。

:Font-Size="'''ピクセル数'''"|フォントのサイズをピクセル数で設定。

:Font-Style="'''Normal''' OR ''Bold'' OR ''Italic'' OR '''Bold-Italic'''"|フォントのスタイルを設定。Normalは通常、Boldは太字、Italicは斜体、Bold-Italicは太字かつ斜体。

:Color="'''フォントカアルファ値を含むRGB16進数'''"|フォントの色を 透明度2桁(16進数)+色6桁(16進数) で設定。

:Fill-Background="'''True OR False'''"|背景塗りつぶしの設定。

:Background-Color="'''アルファ値を含むRGB16進数'''"|言語構造式全体の背景色を 透明度2桁(16進数)+色6桁(16進数) で設定。


**Mark [#x1a8cd47]

Mark要素は、挟み込んだテキストの下または上に、解説用の文字列を挿入する。


***Body要素内 [#y9517637]

-使用例:
 <Mark Show="S">Ken and Mike</Mark>

:Show="'''文字列'''"|任意の文字列(ただしXMLメタ文字は実態文字参照する必要あり)


***Style要素内 [#jff5d627]

-使用例
 <Body Font-Family="Times New Roman" Font-Size="30" Font-Style="Normal" Color="#FF000000" Fill-Background="true" Background-Color="#FFFFFFFF" />

:ID="'''文字列'''"|スタイル固有のIDを文字列で設定。Body要素内でID指定すれば対応するスタイル要素内の設定が読み込まれる。

:Font-Family="'''フォント名'''"|属性 Show の属性値で使用するフォントの種類をフォント名で指定。

:Font-Size="'''ピクセル数'''"|属性 Show の属性値で使用するフォントの大きさをピクセル数で指定。

:Font-Style="'''Normal''' OR '''Bold''' OR '''Italic'''"|属性 Show の属性値で使用するフォントのスタイルを指定。 Normal は通常、 Bold は太字、 Italic は斜体。

:Color="'''アルファ値を含むRGB16進数'''"|属性 Show の属性値で使用するフォントの色を 透明度2桁(16進数)+色6桁(16進数) 指定。

:Text-Decoration="'''Underline''' OR '''Line-Through'''"|本文に対する装飾を設定。Underlineは下線、Line-Throughは打ち消し線。


**TextBox [#r08dde28]



**BR [#m94aa490]

***Style要素内 [#o1412746]


***Body要素内 [#ee8205ee]

Body内でのBR要素の挿入箇所が改行されます。

-使用例:
 <Body>
  I'll insert a break<BR/>
  now.
 </Body>


***TextBox要素内 [#n23ab637]

TextBox内でのBR要素の挿入箇所が改行されます。

-使用例:
 <TextBox>
 I'll insert a break<BR/>
 now.
 </TextBox>
*発案者・開発者について [#z879b0f0]

LangDraw 2のアイデアを発案したのは syuhei です。開発してくれたのは友人の [[ASWAN 氏>http://twitter.com/#!/_ASWAN_]]です。


*免責事項 [#md5862f1]

-本ソフトウェアのご利用は利用者の責任において行ってください。
-本ソフトウェアを利用した事によるいかなる損害も作者([[ASWAN:http://twitter.com/#!/_ASWAN_]])は一切の責任を負いません。自己の責任の上で使用して下さい。
-本ソフトウェアはフリーソフトです。
-個人・法人に限らず利用者は自由に使用することができますが、著作権は[[ASWAN:http://twitter.com/#!/_ASWAN_]]に帰属します。
-本ソフトウェアは、サードパーティー製のライブラリを添付しています。それらのライブラリの著作権、ライセンスは全てライブラリの製造元に属します。
-ライブラリの詳細はソフトウェア中のAboutより確認できます。
-配布、転載、雑誌掲載などを行う場合、著作者([[ASWAN:http://twitter.com/#!/_ASWAN_]])への連絡をお願いいたします。
-その他ソフトを使用することで直接的に利益を生じる使い方をする場合は必ず事前に著作者([[ASWAN:http://twitter.com/#!/_ASWAN_]])に連絡して下さい。
-感想や要望、バグなどありましたらTwitterからお願いします。バグや要望などは可能な範囲で応えたいと思います。