OSDN Git Service

This files are from svn. master
authorH.Yamamoto <admin@hysoftware.net>
Tue, 17 Feb 2009 03:46:25 +0000 (12:46 +0900)
committerH.Yamamoto <admin@hysoftware.net>
Tue, 17 Feb 2009 03:46:25 +0000 (12:46 +0900)
12 files changed:
Bin2WispGUI.sln [new file with mode: 0644]
Bin2WispGUI/Bin2Wisp.cs [new file with mode: 0644]
Bin2WispGUI/Bin2WispGUI.csproj [new file with mode: 0644]
Bin2WispGUI/MainForm.Designer.cs [new file with mode: 0644]
Bin2WispGUI/MainForm.cs [new file with mode: 0644]
Bin2WispGUI/MainForm.resx [new file with mode: 0644]
Bin2WispGUI/Program.cs [new file with mode: 0644]
Bin2WispGUI/Properties/AssemblyInfo.cs [new file with mode: 0644]
Bin2WispGUI/Properties/Resources.Designer.cs [new file with mode: 0644]
Bin2WispGUI/Properties/Resources.resx [new file with mode: 0644]
Bin2WispGUI/Properties/Settings.Designer.cs [new file with mode: 0644]
Bin2WispGUI/Properties/Settings.settings [new file with mode: 0644]

diff --git a/Bin2WispGUI.sln b/Bin2WispGUI.sln
new file mode 100644 (file)
index 0000000..462f345
--- /dev/null
@@ -0,0 +1,24 @@
+\r
+Microsoft Visual Studio Solution File, Format Version 10.00\r
+# Visual Studio 2008\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bin2WispGUI", "Bin2WispGUI\Bin2WispGUI.csproj", "{B897563E-DB20-4473-A0F1-E42CA3F9A607}"\r
+EndProject\r
+Global\r
+       GlobalSection(SubversionScc) = preSolution\r
+               Svn-Managed = True\r
+               Manager = AnkhSVN - Subversion Support for Visual Studio\r
+       EndGlobalSection\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               Debug|Any CPU = Debug|Any CPU\r
+               Release|Any CPU = Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {B897563E-DB20-4473-A0F1-E42CA3F9A607}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {B897563E-DB20-4473-A0F1-E42CA3F9A607}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {B897563E-DB20-4473-A0F1-E42CA3F9A607}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+               {B897563E-DB20-4473-A0F1-E42CA3F9A607}.Release|Any CPU.Build.0 = Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(SolutionProperties) = preSolution\r
+               HideSolutionNode = FALSE\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/Bin2WispGUI/Bin2Wisp.cs b/Bin2WispGUI/Bin2Wisp.cs
new file mode 100644 (file)
index 0000000..c53a675
--- /dev/null
@@ -0,0 +1,101 @@
+using System;\r
+using System.Collections;\r
+using System.Collections.Specialized;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+\r
+using System.Threading;\r
+using System.Windows.Forms;\r
+using System.IO;\r
+\r
+namespace Bin2WispGUI.TranslateSystem\r
+{\r
+       public class Bin2Wisp\r
+       {\r
+               private struct ThreadParameter\r
+               {\r
+                       public string sentence;\r
+                       public Encoding Encoder;\r
+                       public bool IsWisp;\r
+               }\r
+               private Control Parent { get; set; }\r
+               private delegate void EncodeCompleted(string result, bool IsWisp);\r
+               public delegate void EncodeCompletedEventHandler(object sender, string result);\r
+               public event EncodeCompletedEventHandler ToWispCompleted, ToHumanCompleted;\r
+               protected virtual void OnEncoderCompleted(string result, bool IsWisp)\r
+               {\r
+                       if (Parent.InvokeRequired)\r
+                       {\r
+                               Parent.Invoke(new EncodeCompleted(OnEncoderCompleted), result, IsWisp);\r
+                               return;\r
+                       }\r
+                       if (IsWisp) { if (ToWispCompleted != null) ToWispCompleted(this, result); }\r
+                       else { if (ToHumanCompleted != null) ToHumanCompleted(this, result); }\r
+               }\r
+               public string Sentence { get; set; }\r
+               public Encoding Encoder { get; set; }\r
+               public Bin2Wisp(string sentence, Control parent) { init(sentence, parent, Encoding.Unicode); }\r
+               public Bin2Wisp(string sentence, Control parent, Encoding enc) { init(sentence, parent, enc); }\r
+               private void init(string sentence, Control parent, Encoding enc)\r
+               {\r
+                       Encoder = enc; Parent = parent; Sentence = sentence;\r
+               }\r
+               public void TranslateToWisp()\r
+               {\r
+                       Thread th = new Thread(new ParameterizedThreadStart(ThreadCallback));\r
+                       th.Start(new ThreadParameter { sentence = Sentence, IsWisp = true, Encoder = Encoder });\r
+               }\r
+               public void TranslateToHuman()\r
+               {\r
+                       Thread th = new Thread(new ParameterizedThreadStart(ThreadCallback));\r
+                       th.Start(new ThreadParameter { sentence = Sentence, IsWisp = false, Encoder=Encoder });\r
+               }\r
+               private void ThreadCallback(object p)\r
+               {\r
+                       ThreadParameter param = (ThreadParameter)p;\r
+                       if (param.IsWisp)\r
+                       {\r
+                               BitArray ba;\r
+                               try { ba = new BitArray(param.Encoder.GetBytes(param.sentence)); }\r
+                               catch (DecoderFallbackException) { throw new FormatException("Unicodeコード表にない文字列です。"); }\r
+                               StringBuilder sb = new StringBuilder();\r
+                               for (int i = 0; i < ba.Count; i++) { sb.Append((ba[i]) ? "!" : "?"); }\r
+                               OnEncoderCompleted(sb.ToString(), true);\r
+                       }\r
+                       else\r
+                       {\r
+                               byte[] wisplang;\r
+                               int byte_len, ExSize;\r
+                               byte_len = Math.DivRem(param.sentence.Length, 8, out ExSize);\r
+                               using (MemoryStream ms = new MemoryStream())\r
+                               {\r
+                                       for (int i = 0, StringPosition = 0; i < byte_len; i++)\r
+                                       {\r
+                                               BitArray ba = new BitArray(8);\r
+                                               for (int c = 0; c < 8; c++, StringPosition++)\r
+                                               {\r
+                                                       switch (param.sentence[StringPosition])\r
+                                                       {\r
+                                                               case '!':\r
+                                                                       ba[c] = true;\r
+                                                                       break;\r
+                                                               case '?':\r
+                                                                       ba[c] = false;\r
+                                                                       break;\r
+                                                               default:\r
+                                                                       throw new FormatException("!or?以外の文字が含まれています。");\r
+                                                       }\r
+                                               }\r
+                                               byte[] tmp = new byte[1];\r
+                                               ba.CopyTo(tmp, 0);\r
+                                               ms.Write(tmp, 0, tmp.Length);\r
+                                       }\r
+                                       wisplang = ms.ToArray();\r
+                               }\r
+                               try { OnEncoderCompleted(param.Encoder.GetString(wisplang), false); }\r
+                               catch (DecoderFallbackException) { throw new FormatException("コードが不正です。"); }\r
+                       }\r
+               }\r
+       }\r
+}
\ No newline at end of file
diff --git a/Bin2WispGUI/Bin2WispGUI.csproj b/Bin2WispGUI/Bin2WispGUI.csproj
new file mode 100644 (file)
index 0000000..27b2811
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B897563E-DB20-4473-A0F1-E42CA3F9A607}</ProjectGuid>\r
+    <OutputType>WinExe</OutputType>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>Bin2WispGUI</RootNamespace>\r
+    <AssemblyName>Bin2WispGUI</AssemblyName>\r
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <Optimize>false</Optimize>\r
+    <OutputPath>bin\Debug\</OutputPath>\r
+    <DefineConstants>DEBUG;TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <Optimize>true</Optimize>\r
+    <OutputPath>bin\Release\</OutputPath>\r
+    <DefineConstants>TRACE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <Reference Include="System" />\r
+    <Reference Include="System.Core">\r
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+    </Reference>\r
+    <Reference Include="System.Xml.Linq">\r
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+    </Reference>\r
+    <Reference Include="System.Data.DataSetExtensions">\r
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>\r
+    </Reference>\r
+    <Reference Include="System.Data" />\r
+    <Reference Include="System.Deployment" />\r
+    <Reference Include="System.Drawing" />\r
+    <Reference Include="System.Windows.Forms" />\r
+    <Reference Include="System.Xml" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Compile Include="Bin2Wisp.cs" />\r
+    <Compile Include="MainForm.cs">\r
+      <SubType>Form</SubType>\r
+    </Compile>\r
+    <Compile Include="MainForm.Designer.cs">\r
+      <DependentUpon>MainForm.cs</DependentUpon>\r
+    </Compile>\r
+    <Compile Include="Program.cs" />\r
+    <Compile Include="Properties\AssemblyInfo.cs" />\r
+    <EmbeddedResource Include="MainForm.resx">\r
+      <DependentUpon>MainForm.cs</DependentUpon>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Properties\Resources.resx">\r
+      <Generator>ResXFileCodeGenerator</Generator>\r
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>\r
+      <SubType>Designer</SubType>\r
+    </EmbeddedResource>\r
+    <Compile Include="Properties\Resources.Designer.cs">\r
+      <AutoGen>True</AutoGen>\r
+      <DependentUpon>Resources.resx</DependentUpon>\r
+    </Compile>\r
+    <None Include="Properties\Settings.settings">\r
+      <Generator>SettingsSingleFileGenerator</Generator>\r
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>\r
+    </None>\r
+    <Compile Include="Properties\Settings.Designer.cs">\r
+      <AutoGen>True</AutoGen>\r
+      <DependentUpon>Settings.settings</DependentUpon>\r
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>\r
+    </Compile>\r
+  </ItemGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+</Project>
\ No newline at end of file
diff --git a/Bin2WispGUI/MainForm.Designer.cs b/Bin2WispGUI/MainForm.Designer.cs
new file mode 100644 (file)
index 0000000..44365fd
--- /dev/null
@@ -0,0 +1,227 @@
+using System;\r
+\r
+namespace Bin2WispGUI\r
+{\r
+       partial class MainForm\r
+       {\r
+               /// <summary>\r
+               /// 必要なデザイナ変数です。\r
+               /// </summary>\r
+               private System.ComponentModel.IContainer components = null;\r
+\r
+               /// <summary>\r
+               /// 使用中のリソースをすべてクリーンアップします。\r
+               /// </summary>\r
+               /// <param name="disposing">マネージ リソースが破棄される場合 true、破棄されない場合は false です。</param>\r
+               protected override void Dispose(bool disposing)\r
+               {\r
+                       if (disposing && (components != null))\r
+                       {\r
+                               components.Dispose();\r
+                       }\r
+                       base.Dispose(disposing);\r
+               }\r
+\r
+               #region Windows フォーム デザイナで生成されたコード\r
+\r
+               /// <summary>\r
+               /// デザイナ サポートに必要なメソッドです。このメソッドの内容を\r
+               /// コード エディタで変更しないでください。\r
+               /// </summary>\r
+               private void InitializeComponent()\r
+               {\r
+                       this.MainPanel = new System.Windows.Forms.TableLayoutPanel();\r
+                       this.BtnPanel = new System.Windows.Forms.SplitContainer();\r
+                       this.ToWispBtn = new System.Windows.Forms.Button();\r
+                       this.ToHumanoid = new System.Windows.Forms.Button();\r
+                       this.TextPanel = new System.Windows.Forms.GroupBox();\r
+                       this.Humanoid = new System.Windows.Forms.TextBox();\r
+                       this.WispBox = new System.Windows.Forms.GroupBox();\r
+                       this.Wisp = new System.Windows.Forms.TextBox();\r
+                       this.enc_uni = new System.Windows.Forms.RadioButton();\r
+                       this.enc_sjis = new System.Windows.Forms.RadioButton();\r
+                       this.enc_euc = new System.Windows.Forms.RadioButton();\r
+                       this.MainPanel.SuspendLayout();\r
+                       this.BtnPanel.Panel1.SuspendLayout();\r
+                       this.BtnPanel.Panel2.SuspendLayout();\r
+                       this.BtnPanel.SuspendLayout();\r
+                       this.TextPanel.SuspendLayout();\r
+                       this.WispBox.SuspendLayout();\r
+                       this.SuspendLayout();\r
+                       // \r
+                       // MainPanel\r
+                       // \r
+                       this.MainPanel.ColumnCount = 3;\r
+                       this.MainPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 44.44444F));\r
+                       this.MainPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 11.11111F));\r
+                       this.MainPanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 44.44444F));\r
+                       this.MainPanel.Controls.Add(this.BtnPanel, 1, 0);\r
+                       this.MainPanel.Controls.Add(this.TextPanel, 0, 0);\r
+                       this.MainPanel.Controls.Add(this.WispBox, 2, 0);\r
+                       this.MainPanel.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       this.MainPanel.Location = new System.Drawing.Point(0, 0);\r
+                       this.MainPanel.Name = "MainPanel";\r
+                       this.MainPanel.RowCount = 1;\r
+                       this.MainPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
+                       this.MainPanel.Size = new System.Drawing.Size(552, 273);\r
+                       this.MainPanel.TabIndex = 0;\r
+                       // \r
+                       // BtnPanel\r
+                       // \r
+                       this.BtnPanel.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       this.BtnPanel.Location = new System.Drawing.Point(248, 3);\r
+                       this.BtnPanel.Name = "BtnPanel";\r
+                       this.BtnPanel.Orientation = System.Windows.Forms.Orientation.Horizontal;\r
+                       // \r
+                       // BtnPanel.Panel1\r
+                       // \r
+                       this.BtnPanel.Panel1.Controls.Add(this.ToWispBtn);\r
+                       // \r
+                       // BtnPanel.Panel2\r
+                       // \r
+                       this.BtnPanel.Panel2.Controls.Add(this.enc_euc);\r
+                       this.BtnPanel.Panel2.Controls.Add(this.enc_sjis);\r
+                       this.BtnPanel.Panel2.Controls.Add(this.enc_uni);\r
+                       this.BtnPanel.Panel2.Controls.Add(this.ToHumanoid);\r
+                       this.BtnPanel.Size = new System.Drawing.Size(55, 267);\r
+                       this.BtnPanel.SplitterDistance = 119;\r
+                       this.BtnPanel.TabIndex = 0;\r
+                       // \r
+                       // ToWispBtn\r
+                       // \r
+                       this.ToWispBtn.Dock = System.Windows.Forms.DockStyle.Bottom;\r
+                       this.ToWispBtn.Location = new System.Drawing.Point(0, 96);\r
+                       this.ToWispBtn.Name = "ToWispBtn";\r
+                       this.ToWispBtn.Size = new System.Drawing.Size(55, 23);\r
+                       this.ToWispBtn.TabIndex = 0;\r
+                       this.ToWispBtn.Text = "→";\r
+                       this.ToWispBtn.UseVisualStyleBackColor = true;\r
+                       this.ToWispBtn.Click += new System.EventHandler(this.ToWispBtn_Click);\r
+                       // \r
+                       // ToHumanoid\r
+                       // \r
+                       this.ToHumanoid.Dock = System.Windows.Forms.DockStyle.Top;\r
+                       this.ToHumanoid.Location = new System.Drawing.Point(0, 0);\r
+                       this.ToHumanoid.Name = "ToHumanoid";\r
+                       this.ToHumanoid.Size = new System.Drawing.Size(55, 23);\r
+                       this.ToHumanoid.TabIndex = 0;\r
+                       this.ToHumanoid.Text = "←";\r
+                       this.ToHumanoid.UseVisualStyleBackColor = true;\r
+                       this.ToHumanoid.Click += new System.EventHandler(this.ToHumanoid_Click);\r
+                       // \r
+                       // TextPanel\r
+                       // \r
+                       this.TextPanel.Controls.Add(this.Humanoid);\r
+                       this.TextPanel.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       this.TextPanel.Location = new System.Drawing.Point(3, 3);\r
+                       this.TextPanel.Name = "TextPanel";\r
+                       this.TextPanel.Size = new System.Drawing.Size(239, 267);\r
+                       this.TextPanel.TabIndex = 1;\r
+                       this.TextPanel.TabStop = false;\r
+                       this.TextPanel.Text = "テキスト";\r
+                       // \r
+                       // Humanoid\r
+                       // \r
+                       this.Humanoid.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       this.Humanoid.Location = new System.Drawing.Point(3, 15);\r
+                       this.Humanoid.MaxLength = 0;\r
+                       this.Humanoid.Multiline = true;\r
+                       this.Humanoid.Name = "Humanoid";\r
+                       this.Humanoid.ScrollBars = System.Windows.Forms.ScrollBars.Both;\r
+                       this.Humanoid.Size = new System.Drawing.Size(233, 249);\r
+                       this.Humanoid.TabIndex = 0;\r
+                       // \r
+                       // WispBox\r
+                       // \r
+                       this.WispBox.Controls.Add(this.Wisp);\r
+                       this.WispBox.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       this.WispBox.Location = new System.Drawing.Point(309, 3);\r
+                       this.WispBox.Name = "WispBox";\r
+                       this.WispBox.Size = new System.Drawing.Size(240, 267);\r
+                       this.WispBox.TabIndex = 2;\r
+                       this.WispBox.TabStop = false;\r
+                       this.WispBox.Text = "Wisp語";\r
+                       // \r
+                       // Wisp\r
+                       // \r
+                       this.Wisp.Dock = System.Windows.Forms.DockStyle.Fill;\r
+                       this.Wisp.Location = new System.Drawing.Point(3, 15);\r
+                       this.Wisp.MaxLength = 0;\r
+                       this.Wisp.Multiline = true;\r
+                       this.Wisp.Name = "Wisp";\r
+                       this.Wisp.ScrollBars = System.Windows.Forms.ScrollBars.Both;\r
+                       this.Wisp.Size = new System.Drawing.Size(234, 249);\r
+                       this.Wisp.TabIndex = 0;\r
+                       // \r
+                       // enc_uni\r
+                       // \r
+                       this.enc_uni.AutoSize = true;\r
+                       this.enc_uni.Checked = true;\r
+                       this.enc_uni.Dock = System.Windows.Forms.DockStyle.Top;\r
+                       this.enc_uni.Location = new System.Drawing.Point(0, 23);\r
+                       this.enc_uni.Name = "enc_uni";\r
+                       this.enc_uni.Size = new System.Drawing.Size(55, 16);\r
+                       this.enc_uni.TabIndex = 1;\r
+                       this.enc_uni.TabStop = true;\r
+                       this.enc_uni.Text = "Uni";\r
+                       this.enc_uni.UseVisualStyleBackColor = true;\r
+                       // \r
+                       // enc_sjis\r
+                       // \r
+                       this.enc_sjis.AutoSize = true;\r
+                       this.enc_sjis.Dock = System.Windows.Forms.DockStyle.Top;\r
+                       this.enc_sjis.Location = new System.Drawing.Point(0, 39);\r
+                       this.enc_sjis.Name = "enc_sjis";\r
+                       this.enc_sjis.Size = new System.Drawing.Size(55, 16);\r
+                       this.enc_sjis.TabIndex = 2;\r
+                       this.enc_sjis.Text = "Sjis";\r
+                       this.enc_sjis.UseVisualStyleBackColor = true;\r
+                       // \r
+                       // enc_euc\r
+                       // \r
+                       this.enc_euc.AutoSize = true;\r
+                       this.enc_euc.Dock = System.Windows.Forms.DockStyle.Top;\r
+                       this.enc_euc.Location = new System.Drawing.Point(0, 55);\r
+                       this.enc_euc.Name = "enc_euc";\r
+                       this.enc_euc.Size = new System.Drawing.Size(55, 16);\r
+                       this.enc_euc.TabIndex = 3;\r
+                       this.enc_euc.Text = "Euc_jp";\r
+                       this.enc_euc.UseVisualStyleBackColor = true;\r
+                       // \r
+                       // MainForm\r
+                       // \r
+                       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);\r
+                       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;\r
+                       this.ClientSize = new System.Drawing.Size(552, 273);\r
+                       this.Controls.Add(this.MainPanel);\r
+                       this.Name = "MainForm";\r
+                       this.Text = "Bin2Wisp";\r
+                       this.MainPanel.ResumeLayout(false);\r
+                       this.BtnPanel.Panel1.ResumeLayout(false);\r
+                       this.BtnPanel.Panel2.ResumeLayout(false);\r
+                       this.BtnPanel.Panel2.PerformLayout();\r
+                       this.BtnPanel.ResumeLayout(false);\r
+                       this.TextPanel.ResumeLayout(false);\r
+                       this.TextPanel.PerformLayout();\r
+                       this.WispBox.ResumeLayout(false);\r
+                       this.WispBox.PerformLayout();\r
+                       this.ResumeLayout(false);\r
+\r
+               }\r
+\r
+               #endregion\r
+\r
+               private System.Windows.Forms.TableLayoutPanel MainPanel;\r
+               private System.Windows.Forms.SplitContainer BtnPanel;\r
+               private System.Windows.Forms.GroupBox TextPanel;\r
+               private System.Windows.Forms.GroupBox WispBox;\r
+               private System.Windows.Forms.TextBox Humanoid;\r
+               private System.Windows.Forms.TextBox Wisp;\r
+               private System.Windows.Forms.Button ToWispBtn;\r
+               private System.Windows.Forms.Button ToHumanoid;\r
+               private System.Windows.Forms.RadioButton enc_sjis;\r
+               private System.Windows.Forms.RadioButton enc_uni;\r
+               private System.Windows.Forms.RadioButton enc_euc;\r
+       }\r
+}\r
+\r
diff --git a/Bin2WispGUI/MainForm.cs b/Bin2WispGUI/MainForm.cs
new file mode 100644 (file)
index 0000000..6ffc1f8
--- /dev/null
@@ -0,0 +1,44 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.ComponentModel;\r
+using System.Data;\r
+using System.Drawing;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Windows.Forms;\r
+\r
+using Bin2WispGUI.TranslateSystem;\r
+\r
+namespace Bin2WispGUI\r
+{\r
+       public partial class MainForm : Form\r
+       {\r
+               public MainForm()\r
+               {\r
+                       InitializeComponent();\r
+               }\r
+               public Encoding enc\r
+               {\r
+                       get\r
+                       {\r
+                               return (enc_uni.Checked) ? Encoding.GetEncoding(65001) :\r
+                                       (enc_sjis.Checked) ? Encoding.GetEncoding(0) :  (enc_euc.Checked) ? Encoding.GetEncoding(51932) : \r
+                                       Encoding.GetEncoding(65001);\r
+                       }\r
+               }\r
+               private void ToWispBtn_Click(object sender, EventArgs e)\r
+               {\r
+                       Bin2Wisp sys = new Bin2Wisp(Humanoid.Text, this, enc);\r
+                       sys.ToWispCompleted += new Bin2Wisp.EncodeCompletedEventHandler(sys_ToWispCompleted);\r
+                       sys.TranslateToWisp();\r
+               }\r
+               private void ToHumanoid_Click(object sender, EventArgs e)\r
+               {\r
+                       Bin2Wisp sys = new Bin2Wisp(Wisp.Text, this, enc);\r
+                       sys.ToHumanCompleted += new Bin2Wisp.EncodeCompletedEventHandler(sys_ToHumanCompleted);\r
+                       sys.TranslateToHuman();\r
+               }\r
+               private void sys_ToWispCompleted(object sender, string result) { Wisp.Text = result; }\r
+               private void sys_ToHumanCompleted(object sender, string result) { Humanoid.Text = result; }\r
+       }\r
+}\r
diff --git a/Bin2WispGUI/MainForm.resx b/Bin2WispGUI/MainForm.resx
new file mode 100644 (file)
index 0000000..ff31a6d
--- /dev/null
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<root>\r
+  <!-- \r
+    Microsoft ResX Schema \r
+    \r
+    Version 2.0\r
+    \r
+    The primary goals of this format is to allow a simple XML format \r
+    that is mostly human readable. The generation and parsing of the \r
+    various data types are done through the TypeConverter classes \r
+    associated with the data types.\r
+    \r
+    Example:\r
+    \r
+    ... ado.net/XML headers & schema ...\r
+    <resheader name="resmimetype">text/microsoft-resx</resheader>\r
+    <resheader name="version">2.0</resheader>\r
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>\r
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>\r
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">\r
+        <value>[base64 mime encoded serialized .NET Framework object]</value>\r
+    </data>\r
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r
+        <comment>This is a comment</comment>\r
+    </data>\r
+                \r
+    There are any number of "resheader" rows that contain simple \r
+    name/value pairs.\r
+    \r
+    Each data row contains a name, and value. The row also contains a \r
+    type or mimetype. Type corresponds to a .NET class that support \r
+    text/value conversion through the TypeConverter architecture. \r
+    Classes that don't support this are serialized and stored with the \r
+    mimetype set.\r
+    \r
+    The mimetype is used for serialized objects, and tells the \r
+    ResXResourceReader how to depersist the object. This is currently not \r
+    extensible. For a given mimetype the value must be set accordingly:\r
+    \r
+    Note - application/x-microsoft.net.object.binary.base64 is the format \r
+    that the ResXResourceWriter will generate, however the reader can \r
+    read any of the formats listed below.\r
+    \r
+    mimetype: application/x-microsoft.net.object.binary.base64\r
+    value   : The object must be serialized with \r
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter\r
+            : and then encoded with base64 encoding.\r
+    \r
+    mimetype: application/x-microsoft.net.object.soap.base64\r
+    value   : The object must be serialized with \r
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r
+            : and then encoded with base64 encoding.\r
+\r
+    mimetype: application/x-microsoft.net.object.bytearray.base64\r
+    value   : The object must be serialized into a byte array \r
+            : using a System.ComponentModel.TypeConverter\r
+            : and then encoded with base64 encoding.\r
+    -->\r
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">\r
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />\r
+    <xsd:element name="root" msdata:IsDataSet="true">\r
+      <xsd:complexType>\r
+        <xsd:choice maxOccurs="unbounded">\r
+          <xsd:element name="metadata">\r
+            <xsd:complexType>\r
+              <xsd:sequence>\r
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />\r
+              </xsd:sequence>\r
+              <xsd:attribute name="name" use="required" type="xsd:string" />\r
+              <xsd:attribute name="type" type="xsd:string" />\r
+              <xsd:attribute name="mimetype" type="xsd:string" />\r
+              <xsd:attribute ref="xml:space" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+          <xsd:element name="assembly">\r
+            <xsd:complexType>\r
+              <xsd:attribute name="alias" type="xsd:string" />\r
+              <xsd:attribute name="name" type="xsd:string" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+          <xsd:element name="data">\r
+            <xsd:complexType>\r
+              <xsd:sequence>\r
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />\r
+              </xsd:sequence>\r
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />\r
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />\r
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />\r
+              <xsd:attribute ref="xml:space" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+          <xsd:element name="resheader">\r
+            <xsd:complexType>\r
+              <xsd:sequence>\r
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+              </xsd:sequence>\r
+              <xsd:attribute name="name" type="xsd:string" use="required" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+        </xsd:choice>\r
+      </xsd:complexType>\r
+    </xsd:element>\r
+  </xsd:schema>\r
+  <resheader name="resmimetype">\r
+    <value>text/microsoft-resx</value>\r
+  </resheader>\r
+  <resheader name="version">\r
+    <value>2.0</value>\r
+  </resheader>\r
+  <resheader name="reader">\r
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+  </resheader>\r
+  <resheader name="writer">\r
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+  </resheader>\r
+</root>
\ No newline at end of file
diff --git a/Bin2WispGUI/Program.cs b/Bin2WispGUI/Program.cs
new file mode 100644 (file)
index 0000000..0e9a7aa
--- /dev/null
@@ -0,0 +1,21 @@
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Windows.Forms;\r
+\r
+namespace Bin2WispGUI\r
+{\r
+       static class Program\r
+       {\r
+               /// <summary>\r
+               /// アプリケーションのメイン エントリ ポイントです。\r
+               /// </summary>\r
+               [STAThread]\r
+               static void Main()\r
+               {\r
+                       Application.EnableVisualStyles();\r
+                       Application.SetCompatibleTextRenderingDefault(false);\r
+                       Application.Run(new MainForm());\r
+               }\r
+       }\r
+}\r
diff --git a/Bin2WispGUI/Properties/AssemblyInfo.cs b/Bin2WispGUI/Properties/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..0b9ea99
--- /dev/null
@@ -0,0 +1,36 @@
+using System.Reflection;\r
+using System.Runtime.CompilerServices;\r
+using System.Runtime.InteropServices;\r
+\r
+// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。\r
+// アセンブリに関連付けられている情報を変更するには、\r
+// これらの属性値を変更してください。\r
+[assembly: AssemblyTitle("Bin2WispGUI")]\r
+[assembly: AssemblyDescription("")]\r
+[assembly: AssemblyConfiguration("")]\r
+[assembly: AssemblyCompany("HYSoftware")]\r
+[assembly: AssemblyProduct("Bin2WispGUI")]\r
+[assembly: AssemblyCopyright("Copyright © HYSoftware 2008")]\r
+[assembly: AssemblyTrademark("")]\r
+[assembly: AssemblyCulture("")]\r
+\r
+// ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから \r
+// 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、\r
+// その型の ComVisible 属性を true に設定してください。\r
+[assembly: ComVisible(false)]\r
+\r
+// 次の GUID は、このプロジェクトが COM に公開される場合の、typelib の ID です\r
+[assembly: Guid("ba1f54a0-97c3-4bd8-98ad-4bda27bf53c5")]\r
+\r
+// アセンブリのバージョン情報は、以下の 4 つの値で構成されています:\r
+//\r
+//      Major Version\r
+//      Minor Version \r
+//      Build Number\r
+//      Revision\r
+//\r
+// すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を \r
+// 既定値にすることができます:\r
+// [assembly: AssemblyVersion("1.0.*")]\r
+[assembly: AssemblyVersion("1.0.0.0")]\r
+[assembly: AssemblyFileVersion("1.0.0.0")]\r
diff --git a/Bin2WispGUI/Properties/Resources.Designer.cs b/Bin2WispGUI/Properties/Resources.Designer.cs
new file mode 100644 (file)
index 0000000..2f1559a
--- /dev/null
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------\r
+// <auto-generated>\r
+//     このコードはツールによって生成されました。\r
+//     ランタイム バージョン:2.0.50727.3053\r
+//\r
+//     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、\r
+//     コードが再生成されるときに損失したりします\r
+// </auto-generated>\r
+//------------------------------------------------------------------------------\r
+\r
+namespace Bin2WispGUI.Properties\r
+{\r
+\r
+\r
+       /// <summary>\r
+       ///   ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。\r
+       /// </summary>\r
+       // このクラスは StronglyTypedResourceBuilder クラスが ResGen\r
+       // または Visual Studio のようなツールを使用して自動生成されました。\r
+       // メンバを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に\r
+       // ResGen を実行し直すか、または VS プロジェクトをビルドし直します。\r
+       [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]\r
+       [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\r
+       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\r
+       internal class Resources\r
+       {\r
+\r
+               private static global::System.Resources.ResourceManager resourceMan;\r
+\r
+               private static global::System.Globalization.CultureInfo resourceCulture;\r
+\r
+               [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]\r
+               internal Resources()\r
+               {\r
+               }\r
+\r
+               /// <summary>\r
+               ///   このクラスに使用される、キャッシュされた ResourceManager のインスタンスを返します。\r
+               /// </summary>\r
+               [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\r
+               internal static global::System.Resources.ResourceManager ResourceManager\r
+               {\r
+                       get\r
+                       {\r
+                               if ((resourceMan == null))\r
+                               {\r
+                                       global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Bin2WispGUI.Properties.Resources", typeof(Resources).Assembly);\r
+                                       resourceMan = temp;\r
+                               }\r
+                               return resourceMan;\r
+                       }\r
+               }\r
+\r
+               /// <summary>\r
+               ///   厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、\r
+               ///   現在のスレッドの CurrentUICulture プロパティをオーバーライドします。\r
+               /// </summary>\r
+               [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]\r
+               internal static global::System.Globalization.CultureInfo Culture\r
+               {\r
+                       get\r
+                       {\r
+                               return resourceCulture;\r
+                       }\r
+                       set\r
+                       {\r
+                               resourceCulture = value;\r
+                       }\r
+               }\r
+       }\r
+}\r
diff --git a/Bin2WispGUI/Properties/Resources.resx b/Bin2WispGUI/Properties/Resources.resx
new file mode 100644 (file)
index 0000000..ffecec8
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<root>\r
+  <!-- \r
+    Microsoft ResX Schema \r
+    \r
+    Version 2.0\r
+    \r
+    The primary goals of this format is to allow a simple XML format \r
+    that is mostly human readable. The generation and parsing of the \r
+    various data types are done through the TypeConverter classes \r
+    associated with the data types.\r
+    \r
+    Example:\r
+    \r
+    ... ado.net/XML headers & schema ...\r
+    <resheader name="resmimetype">text/microsoft-resx</resheader>\r
+    <resheader name="version">2.0</resheader>\r
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>\r
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>\r
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>\r
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>\r
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">\r
+        <value>[base64 mime encoded serialized .NET Framework object]</value>\r
+    </data>\r
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>\r
+        <comment>This is a comment</comment>\r
+    </data>\r
+                \r
+    There are any number of "resheader" rows that contain simple \r
+    name/value pairs.\r
+    \r
+    Each data row contains a name, and value. The row also contains a \r
+    type or mimetype. Type corresponds to a .NET class that support \r
+    text/value conversion through the TypeConverter architecture. \r
+    Classes that don't support this are serialized and stored with the \r
+    mimetype set.\r
+    \r
+    The mimetype is used for serialized objects, and tells the \r
+    ResXResourceReader how to depersist the object. This is currently not \r
+    extensible. For a given mimetype the value must be set accordingly:\r
+    \r
+    Note - application/x-microsoft.net.object.binary.base64 is the format \r
+    that the ResXResourceWriter will generate, however the reader can \r
+    read any of the formats listed below.\r
+    \r
+    mimetype: application/x-microsoft.net.object.binary.base64\r
+    value   : The object must be serialized with \r
+            : System.Serialization.Formatters.Binary.BinaryFormatter\r
+            : and then encoded with base64 encoding.\r
+    \r
+    mimetype: application/x-microsoft.net.object.soap.base64\r
+    value   : The object must be serialized with \r
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter\r
+            : and then encoded with base64 encoding.\r
+\r
+    mimetype: application/x-microsoft.net.object.bytearray.base64\r
+    value   : The object must be serialized into a byte array \r
+            : using a System.ComponentModel.TypeConverter\r
+            : and then encoded with base64 encoding.\r
+    -->\r
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">\r
+    <xsd:element name="root" msdata:IsDataSet="true">\r
+      <xsd:complexType>\r
+        <xsd:choice maxOccurs="unbounded">\r
+          <xsd:element name="metadata">\r
+            <xsd:complexType>\r
+              <xsd:sequence>\r
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />\r
+              </xsd:sequence>\r
+              <xsd:attribute name="name" type="xsd:string" />\r
+              <xsd:attribute name="type" type="xsd:string" />\r
+              <xsd:attribute name="mimetype" type="xsd:string" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+          <xsd:element name="assembly">\r
+            <xsd:complexType>\r
+              <xsd:attribute name="alias" type="xsd:string" />\r
+              <xsd:attribute name="name" type="xsd:string" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+          <xsd:element name="data">\r
+            <xsd:complexType>\r
+              <xsd:sequence>\r
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />\r
+              </xsd:sequence>\r
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />\r
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />\r
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+          <xsd:element name="resheader">\r
+            <xsd:complexType>\r
+              <xsd:sequence>\r
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />\r
+              </xsd:sequence>\r
+              <xsd:attribute name="name" type="xsd:string" use="required" />\r
+            </xsd:complexType>\r
+          </xsd:element>\r
+        </xsd:choice>\r
+      </xsd:complexType>\r
+    </xsd:element>\r
+  </xsd:schema>\r
+  <resheader name="resmimetype">\r
+    <value>text/microsoft-resx</value>\r
+  </resheader>\r
+  <resheader name="version">\r
+    <value>2.0</value>\r
+  </resheader>\r
+  <resheader name="reader">\r
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+  </resheader>\r
+  <resheader name="writer">\r
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
+  </resheader>\r
+</root>
\ No newline at end of file
diff --git a/Bin2WispGUI/Properties/Settings.Designer.cs b/Bin2WispGUI/Properties/Settings.Designer.cs
new file mode 100644 (file)
index 0000000..d564467
--- /dev/null
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------\r
+// <auto-generated>\r
+//     This code was generated by a tool.\r
+//     Runtime Version:2.0.50727.3053\r
+//\r
+//     Changes to this file may cause incorrect behavior and will be lost if\r
+//     the code is regenerated.\r
+// </auto-generated>\r
+//------------------------------------------------------------------------------\r
+\r
+namespace Bin2WispGUI.Properties\r
+{\r
+\r
+\r
+       [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]\r
+       [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]\r
+       internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase\r
+       {\r
+\r
+               private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));\r
+\r
+               public static Settings Default\r
+               {\r
+                       get\r
+                       {\r
+                               return defaultInstance;\r
+                       }\r
+               }\r
+       }\r
+}\r
diff --git a/Bin2WispGUI/Properties/Settings.settings b/Bin2WispGUI/Properties/Settings.settings
new file mode 100644 (file)
index 0000000..abf36c5
--- /dev/null
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>\r
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">\r
+  <Profiles>\r
+    <Profile Name="(Default)" />\r
+  </Profiles>\r
+  <Settings />\r
+</SettingsFile>\r