diff --git a/IME WL Converter/IME WL Converter Test/IME WL Converter Test.csproj b/IME WL Converter/IME WL Converter Test/IME WL Converter Test.csproj
index 567d6dd6..b21c7f58 100644
--- a/IME WL Converter/IME WL Converter Test/IME WL Converter Test.csproj
+++ b/IME WL Converter/IME WL Converter Test/IME WL Converter Test.csproj
@@ -10,10 +10,9 @@
Properties
Studyzy.IMEWLConverter.Test
IME WL Converter Test
- v3.5
+ v4.0
512
-
-
+ Client
true
diff --git a/IME WL Converter/IME WL Converter Test/Resource4Test.Designer.cs b/IME WL Converter/IME WL Converter Test/Resource4Test.Designer.cs
index aa8ce578..ce2598e0 100644
--- a/IME WL Converter/IME WL Converter Test/Resource4Test.Designer.cs
+++ b/IME WL Converter/IME WL Converter Test/Resource4Test.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.34209
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
diff --git a/IME WL Converter/IME WL Converter/Dictionaries.Designer.cs b/IME WL Converter/IME WL Converter/Dictionaries.Designer.cs
index b05570f6..ac3b552e 100644
--- a/IME WL Converter/IME WL Converter/Dictionaries.Designer.cs
+++ b/IME WL Converter/IME WL Converter/Dictionaries.Designer.cs
@@ -1,521 +1,520 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.18449
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace Studyzy.IMEWLConverter {
- using System;
-
-
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Dictionaries {
-
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Dictionaries() {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager {
- get {
- if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Studyzy.IMEWLConverter.Dictionaries", typeof(Dictionaries).Assembly);
- resourceMan = temp;
- }
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture {
- get {
- return resourceCulture;
- }
- set {
- resourceCulture = value;
- }
- }
-
- ///
- /// Looks up a localized string similar to 日 a
- ///曰 a
- ///昌 aa
- ///昍 aa
- ///晶 aaa
- ///晿 aaa
- ///曑 aaah
- ///曡 aaam
- ///曐 aaam
- ///曟 aaav
- ///覸 aabuu
- ///焸 aaf
- ///鷼 aahaf
- ///暒 aahm
- ///暥 aajv
- ///暘 aamh
- ///晘 aamj
- ///晹 aaph
- ///暍 aapv
- ///曝 aate
- ///暻 aayf
- ///明 ab
- ///冐 ab
- ///暝 abac
- ///曖 abbe
- ///暧 abbe
- ///盟 abbt
- ///覵 abbuu
- ///焽 abf
- ///晭 abgr ab'gr
- ///鷳 abhaf
- ///猒 abik
- ///曌 abjcm
- ///暈 abjj
- ///暉 abjj
- ///晕 abkq
- ///晖 abkq
- ///暖 abme
- ///琞 abmgi
- ///晍 abmr ab'mr
- ///勗 abms
- ///暩 abof
- ///暚 abou
- ///昷 abt
- ///冒 abu
- ///晛 abuu
- ///昖 aci
- ///暡 acim
- ///顕 acmbc
- ///晜 acnh
- ///昐 acsh
- ///杲 ad
- ///晽 add
- ///鷴 adhaf
- ///晰 adhl
- ///时 adi
- ///昩 adj
- ///暐 admq
- ///暕 adwf adw'f
- ///鄤 aenl
- ///炅 af
- ///炚 af
- ///曭 afbf
- ///暽 afdq
- ///晱 af [rest of string was truncated]";.
- ///
- internal static string Cangjie5 {
- get {
- return ResourceManager.GetString("Cangjie5", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to a k Y
- ///ai ge
- ///an hi
- ///ang re
- ///ao be
- ///ba ak
- ///bai ag
- ///ban ah
- ///bang ar
- ///bao ab
- ///bei aw
- ///ben an
- ///beng at
- ///bi af
- ///bian aj
- ///biao am
- ///bie ai
- ///bin ad
- ///bing as
- ///bo a Y
- ///bu av
- ///ca pk
- ///cai pg
- ///can ph
- ///cang pr
- ///cao pb
- ///ce pa
- ///cen pn
- ///ceng pt
- ///cha bk
- ///chai bg
- ///chan bh
- ///chang br
- ///chao bb
- ///che ba
- ///chen bn
- ///cheng bt
- ///chi b Y
- ///chong bu
- ///chou by
- ///chu bv
- ///chua
- ///chuai bs
- ///chuan bo
- ///chuang bj
- ///chui bd
- ///chun bl
- ///chuo bx
- ///ci p Y
- ///cong pu
- ///cou py
- ///cu pv
- ///cuan po
- ///cui pd
- ///cun pl
- ///c [rest of string was truncated]";.
- ///
- internal static string ChaoyinCodeMapping {
- get {
- return ResourceManager.GetString("ChaoyinCodeMapping", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to 8140 丂 gnv kao3,yu2 0
- ///8141 丄 hgd shang4 0
- ///8142 丅 ghk xia4 0
- ///8143 丆 dgt shi2 0
- ///8144 丏 ghnn mian3 0
- ///8145 丒 vygf 0
- ///8146 丗 gkgd shi4 0
- ///8147 丟 gcu diu1 0
- ///8148 丠 uxgf qiu1 0
- ///8149 両 gmmk liang3 0
- ///814A 丣 gajn gjan you3 0
- ///814B 並 uogf uof bing4 0
- ///814C 丩 nhk jiu1 0
- ///814D 丮 nfhk ngk ji3 0
- ///814E 丯 ehk jie4 0
- ///814F 丱 njhg jnhg guan4 0
- ///8150 丳 kkjk chan3 0
- ///8151 丵 oguf oufj zhuo2 0
- ///8152 丷 uyt ba1 0
- ///8153 丼 fjyi jing3 0
- ///8154 乀 yyll fu2 0
- ///8155 乁 yyll gyi yi2 0
- ///8156 乂 qty rty yi4 0
- ///8157 乄 ny [rest of string was truncated]";.
- ///
- internal static string ChineseCode {
- get {
- return ResourceManager.GetString("ChineseCode", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to 〇 b o
- ///吖 l
- ///阿 m m a
- ///啊 l
- ///锕 z
- ///錒 z
- ///嗄 l l a
- ///厑 k
- ///哎 l l a
- ///哀 y y a
- ///唉 l l a
- ///埃 v v a
- ///挨 u u a
- ///欸 v . .
- ///溾 c
- ///锿 z z a
- ///鎄 z
- ///啀 l
- ///捱 u u a
- ///皑 w w a
- ///凒 y
- ///嵦 g
- ///溰 c
- ///嘊 l
- ///敱 g
- ///敳 g
- ///皚 w
- ///癌 y y a
- ///毐 j
- ///昹 s
- ///娾 c , ,
- ///嗳 l l a
- ///矮 q q a
- ///蔼 b b a
- ///躷 w
- ///噯 l
- ///濭 c
- ///﨟 b
- ///藹 b
- ///譪 y
- ///霭 l l a
- ///靄 l
- ///艾 b b a
- ///伌 f
- ///爱 r r a
- ///砹 k k a
- ///硋 k
- ///隘 m m a
- ///嗌 l l a
- ///塧 v
- ///嫒 c , , a
- ///愛 r
- ///碍 k k a
- ///叆 h
- ///暧 s s [rest of string was truncated]";.
- ///
- internal static string Erbi {
- get {
- return ResourceManager.GetString("Erbi", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to 1,a
- ///2,ai
- ///3,an
- ///4,ang
- ///5,ao
- ///7,ba
- ///8,bai
- ///9,ban
- ///10,bang
- ///11,bao
- ///12,bei
- ///13,ben
- ///14,beng
- ///15,bi
- ///16,bian
- ///18,biao
- ///19,bie
- ///20,bin
- ///21,bing
- ///22,bo
- ///23,bu
- ///25,ca
- ///26,cai
- ///27,can
- ///28,cang
- ///29,cao
- ///30,ce
- ///31,cen
- ///32,ceng
- ///33,cha
- ///34,chai
- ///35,chan
- ///36,chang
- ///37,chao
- ///38,che
- ///39,chen
- ///40,cheng
- ///41,chi
- ///42,chong
- ///43,chou
- ///44,chu
- ///45,chuai
- ///46,chuan
- ///47,chuang
- ///48,chui
- ///49,chun
- ///50,chuo
- ///51,ci
- ///52,cong
- ///53,cou
- ///54,cu
- ///56,cuan
- ///59,cui
- ///60,cun
- ///61,cuo
- ///63,da
- ///64,dai
- ///65,dan
- ///66,dang
- ///67,dao
- ///68,de
- ///69,dei
- ///70,den
- /// [rest of string was truncated]";.
- ///
- internal static string TouchPalPinyinDic {
- get {
- return ResourceManager.GetString("TouchPalPinyinDic", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to 'zeng'yi 曾毅
- ///'yin'yue 音乐
- ///'jin'xing 进行
- ///'liao'jie 了解
- ///'diao'cha 调查
- ///'mu'di 目的
- ///'ji'ou 奇偶
- ///'he'le 饸饹
- ///'xing'wei 行为
- ///'zhi'xing 执行
- ///'chong'qing 重庆
- ///'shi'xing 实行
- ///'ju'xing 举行
- ///'diao'yan 调研
- ///'gan'jue 感觉
- ///'chang'qi 长期
- ///'yun'xing 运行
- ///'liu'xing 流行
- ///'jue'de 觉得
- ///'zhu'ming 著名
- ///'qiang'diao 强调
- ///'xing'dong 行动
- ///'chong'xin 重新
- ///'xian'zhu 显著
- ///'fa'xing 发行
- ///'chang'de 长的
- ///'bu'liao 不了
- ///'zi'jue 自觉
- ///'zi'xing 自行
- ///'xi'zang 西藏
- ///'chang'chun 长春
- ///'zi'xi 仔细
- ///'chang'sha 长沙
- ///'lv'xing 履行
- ///'jue'se 角色
- ///'pian'yi 便宜
- ///'chang'jiang 长江
- ///'chong'fu [rest of string was truncated]";.
- ///
- internal static string WordPinyin {
- get {
- return ResourceManager.GetString("WordPinyin", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to 丨 ia iaaa
- ///丩 zi ziaa
- ///丬 ti tia
- ///丫 ui udi
- ///丰 ci ci
- ///中 jv j jivv
- ///丮 yb ydab
- ///丯 ci pdi
- ///丱 zi ziaa
- ///卡 ia iai idai iid
- ///串 jj jji jjv
- ///丳 jj jjnd
- ///卥 ij idos
- ///临 km kdmk kmk
- ///亅 ia iaaa
- ///亊 du duxb
- ///事 dj ajx dj djx djxb
- ///乀 yd ydaa
- ///乁 yd ydaa
- ///丿 ma maaa
- ///乃 ym ymv ymvv
- ///乂 os osa
- ///乄 zs msvv osaa zsvv
- ///九 qy qy
- ///亇 ri mxi rivv
- ///久 rs rsv rsvv
- ///么 mz mzs
- ///乇 mh mhd
- ///乊 mu mud
- ///乆 zo zod
- ///丸 qs qya qys [rest of string was truncated]";.
- ///
- internal static string Zhengma {
- get {
- return ResourceManager.GetString("Zhengma", resourceCulture);
- }
- }
-
- ///
- /// Looks up a localized string similar to ㄚ a
- ///ㄞ ai
- ///ㄢ an
- ///ㄤ ang
- ///ㄠ ao
- ///ㄅㄚ ba
- ///ㄅㄞ bai
- ///ㄅㄢ ban
- ///ㄅㄤ bang
- ///ㄅㄠ bao
- ///ㄅㄟ bei
- ///ㄅㄣ ben
- ///ㄅㄥ beng
- ///ㄅㄧ bi
- ///ㄅㄧㄢ bian
- ///ㄅㄧㄠ biao
- ///ㄅㄧㄝ bie
- ///ㄅㄧㄣ bin
- ///ㄅㄧㄥ bing
- ///ㄅㄛ bo
- ///ㄅㄨ bu
- ///ㄘㄚ ca
- ///ㄘㄞ cai
- ///ㄘㄢ can
- ///ㄘㄤ cang
- ///ㄘㄠ cao
- ///ㄘㄜ ce
- ///ㄘㄣ cen
- ///ㄘㄥ ceng
- ///ㄔㄚ cha
- ///ㄔㄞ chai
- ///ㄔㄢ chan
- ///ㄔㄤ chang
- ///ㄔㄠ chao
- ///ㄔㄜ che
- ///ㄔㄣ chen
- ///ㄔㄥ cheng
- ///ㄔㄨㄥ chong
- ///ㄔㄡ chou
- ///ㄔㄨ chu
- ///ㄔㄨㄞ chuai
- ///ㄔㄨㄢ chuan
- ///ㄔㄨㄤ chuang
- ///ㄔㄨㄟ chui
- ///ㄔㄨㄣ chun
- ///ㄔㄨㄛ chuo
- ///ㄘㄨㄥ cong
- ///ㄘㄡ cou
- ///ㄘㄨ cu
- ///ㄘㄨㄢ cuan
- ///ㄘㄨㄟ cui
- ///ㄘㄨㄣ cun
- ///ㄘㄨㄛ cuo
- ///ㄉㄚ da
- ///ㄉㄞ dai
- ///ㄉㄢ dan
- ///ㄉㄤ dang
- ///ㄉㄠ dao
- ///ㄉㄜ de
- ///ㄉㄟ dei
- ///ㄉㄥ [rest of string was truncated]";.
- ///
- internal static string Zhuyin {
- get {
- return ResourceManager.GetString("Zhuyin", resourceCulture);
- }
- }
- }
-}
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Studyzy.IMEWLConverter {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Dictionaries {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Dictionaries() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Studyzy.IMEWLConverter.Dictionaries", typeof(Dictionaries).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 日 a
+ ///曰 a
+ ///昌 aa
+ ///昍 aa
+ ///晶 aaa
+ ///晿 aaa
+ ///曑 aaah
+ ///曡 aaam
+ ///曐 aaam
+ ///曟 aaav
+ ///覸 aabuu
+ ///焸 aaf
+ ///鷼 aahaf
+ ///暒 aahm
+ ///暥 aajv
+ ///暘 aamh
+ ///晘 aamj
+ ///晹 aaph
+ ///暍 aapv
+ ///曝 aate
+ ///暻 aayf
+ ///明 ab
+ ///冐 ab
+ ///暝 abac
+ ///曖 abbe
+ ///暧 abbe
+ ///盟 abbt
+ ///覵 abbuu
+ ///焽 abf
+ ///晭 abgr ab'gr
+ ///鷳 abhaf
+ ///猒 abik
+ ///曌 abjcm
+ ///暈 abjj
+ ///暉 abjj
+ ///晕 abkq
+ ///晖 abkq
+ ///暖 abme
+ ///琞 abmgi
+ ///晍 abmr ab'mr
+ ///勗 abms
+ ///暩 abof
+ ///暚 abou
+ ///昷 abt
+ ///冒 abu
+ ///晛 abuu
+ ///昖 aci
+ ///暡 acim
+ ///顕 acmbc
+ ///晜 acnh
+ ///昐 acsh
+ ///杲 ad
+ ///晽 add
+ ///鷴 adhaf
+ ///晰 adhl
+ ///时 adi
+ ///昩 adj
+ ///暐 admq
+ ///暕 adwf adw'f
+ ///鄤 aenl
+ ///炅 af
+ ///炚 af
+ ///曭 afbf
+ ///暽 afdq
+ ///晱 af [rest of string was truncated]";.
+ ///
+ internal static string Cangjie5 {
+ get {
+ return ResourceManager.GetString("Cangjie5", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to a ki
+ ///ai ge
+ ///an hi
+ ///ang re
+ ///ao be
+ ///ba ak
+ ///bai ag
+ ///ban ah
+ ///bang ar
+ ///bao ab
+ ///bei aw
+ ///ben an
+ ///beng at
+ ///bi af
+ ///bian aj
+ ///biao am
+ ///bie ai
+ ///bin ad
+ ///bing as
+ ///bo a Y
+ ///bu av
+ ///ca pk
+ ///cai pg
+ ///can ph
+ ///cang pr
+ ///cao pb
+ ///ce pa
+ ///cen pn
+ ///ceng pt
+ ///cha bk
+ ///chai bg
+ ///chan bh
+ ///chang br
+ ///chao bb
+ ///che ba
+ ///chen bn
+ ///cheng bt
+ ///chi b Y
+ ///chong bu
+ ///chou by
+ ///chu bv
+ ///chua bf
+ ///chuai bs
+ ///chuan bo
+ ///chuang bj
+ ///chui bd
+ ///chun bl
+ ///chuo bx
+ ///ci p Y
+ ///cong pu
+ ///cou py
+ ///cu pv
+ ///cuan po
+ ///cui pd
+ ///cun pl
/// [rest of string was truncated]";.
+ ///
+ internal static string ChaoyinCodeMapping {
+ get {
+ return ResourceManager.GetString("ChaoyinCodeMapping", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 8140 丂 gnv kao3,yu2 0
+ ///8141 丄 hgd shang4 0
+ ///8142 丅 ghk xia4 0
+ ///8143 丆 dgt shi2 0
+ ///8144 丏 ghnn mian3 0
+ ///8145 丒 vygf 0
+ ///8146 丗 gkgd shi4 0
+ ///8147 丟 gcu diu1 0
+ ///8148 丠 uxgf qiu1 0
+ ///8149 両 gmmk liang3 0
+ ///814A 丣 gajn gjan you3 0
+ ///814B 並 uogf uof bing4 0
+ ///814C 丩 nhk jiu1 0
+ ///814D 丮 nfhk ngk ji3 0
+ ///814E 丯 ehk jie4 0
+ ///814F 丱 njhg jnhg guan4 0
+ ///8150 丳 kkjk chan3 0
+ ///8151 丵 oguf oufj zhuo2 0
+ ///8152 丷 uyt ba1 0
+ ///8153 丼 fjyi jing3 0
+ ///8154 乀 yyll fu2 0
+ ///8155 乁 yyll gyi yi2 0
+ ///8156 乂 qty rty yi4 0
+ ///8157 乄 ny [rest of string was truncated]";.
+ ///
+ internal static string ChineseCode {
+ get {
+ return ResourceManager.GetString("ChineseCode", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 〇 b o
+ ///吖 l
+ ///阿 m m a
+ ///啊 l
+ ///锕 z
+ ///錒 z
+ ///嗄 l l a
+ ///厑 k
+ ///哎 l l a
+ ///哀 y y a
+ ///唉 l l a
+ ///埃 v v a
+ ///挨 u u a
+ ///欸 v . .
+ ///溾 c
+ ///锿 z z a
+ ///鎄 z
+ ///啀 l
+ ///捱 u u a
+ ///皑 w w a
+ ///凒 y
+ ///嵦 g
+ ///溰 c
+ ///嘊 l
+ ///敱 g
+ ///敳 g
+ ///皚 w
+ ///癌 y y a
+ ///毐 j
+ ///昹 s
+ ///娾 c , ,
+ ///嗳 l l a
+ ///矮 q q a
+ ///蔼 b b a
+ ///躷 w
+ ///噯 l
+ ///濭 c
+ ///﨟 b
+ ///藹 b
+ ///譪 y
+ ///霭 l l a
+ ///靄 l
+ ///艾 b b a
+ ///伌 f
+ ///爱 r r a
+ ///砹 k k a
+ ///硋 k
+ ///隘 m m a
+ ///嗌 l l a
+ ///塧 v
+ ///嫒 c , , a
+ ///愛 r
+ ///碍 k k a
+ ///叆 h
+ ///暧 s s [rest of string was truncated]";.
+ ///
+ internal static string Erbi {
+ get {
+ return ResourceManager.GetString("Erbi", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 1,a
+ ///2,ai
+ ///3,an
+ ///4,ang
+ ///5,ao
+ ///7,ba
+ ///8,bai
+ ///9,ban
+ ///10,bang
+ ///11,bao
+ ///12,bei
+ ///13,ben
+ ///14,beng
+ ///15,bi
+ ///16,bian
+ ///18,biao
+ ///19,bie
+ ///20,bin
+ ///21,bing
+ ///22,bo
+ ///23,bu
+ ///25,ca
+ ///26,cai
+ ///27,can
+ ///28,cang
+ ///29,cao
+ ///30,ce
+ ///31,cen
+ ///32,ceng
+ ///33,cha
+ ///34,chai
+ ///35,chan
+ ///36,chang
+ ///37,chao
+ ///38,che
+ ///39,chen
+ ///40,cheng
+ ///41,chi
+ ///42,chong
+ ///43,chou
+ ///44,chu
+ ///45,chuai
+ ///46,chuan
+ ///47,chuang
+ ///48,chui
+ ///49,chun
+ ///50,chuo
+ ///51,ci
+ ///52,cong
+ ///53,cou
+ ///54,cu
+ ///56,cuan
+ ///59,cui
+ ///60,cun
+ ///61,cuo
+ ///63,da
+ ///64,dai
+ ///65,dan
+ ///66,dang
+ ///67,dao
+ ///68,de
+ ///69,dei
+ ///70,den
+ /// [rest of string was truncated]";.
+ ///
+ internal static string TouchPalPinyinDic {
+ get {
+ return ResourceManager.GetString("TouchPalPinyinDic", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 'zeng'yi 曾毅
+ ///'yin'yue 音乐
+ ///'jin'xing 进行
+ ///'liao'jie 了解
+ ///'diao'cha 调查
+ ///'mu'di 目的
+ ///'ji'ou 奇偶
+ ///'he'le 饸饹
+ ///'xing'wei 行为
+ ///'zhi'xing 执行
+ ///'chong'qing 重庆
+ ///'shi'xing 实行
+ ///'ju'xing 举行
+ ///'diao'yan 调研
+ ///'gan'jue 感觉
+ ///'chang'qi 长期
+ ///'yun'xing 运行
+ ///'liu'xing 流行
+ ///'jue'de 觉得
+ ///'zhu'ming 著名
+ ///'qiang'diao 强调
+ ///'xing'dong 行动
+ ///'chong'xin 重新
+ ///'xian'zhu 显著
+ ///'fa'xing 发行
+ ///'chang'de 长的
+ ///'bu'liao 不了
+ ///'zi'jue 自觉
+ ///'zi'xing 自行
+ ///'xi'zang 西藏
+ ///'chang'chun 长春
+ ///'zi'xi 仔细
+ ///'chang'sha 长沙
+ ///'lv'xing 履行
+ ///'jue'se 角色
+ ///'pian'yi 便宜
+ ///'chang'jiang 长江
+ ///'chong'fu [rest of string was truncated]";.
+ ///
+ internal static string WordPinyin {
+ get {
+ return ResourceManager.GetString("WordPinyin", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to 丨 ia iaaa
+ ///丩 zi ziaa
+ ///丬 ti tia
+ ///丫 ui udi
+ ///丰 ci ci
+ ///中 jv j jivv
+ ///丮 yb ydab
+ ///丯 ci pdi
+ ///丱 zi ziaa
+ ///卡 ia iai idai iid
+ ///串 jj jji jjv
+ ///丳 jj jjnd
+ ///卥 ij idos
+ ///临 km kdmk kmk
+ ///亅 ia iaaa
+ ///亊 du duxb
+ ///事 dj ajx dj djx djxb
+ ///乀 yd ydaa
+ ///乁 yd ydaa
+ ///丿 ma maaa
+ ///乃 ym ymv ymvv
+ ///乂 os osa
+ ///乄 zs msvv osaa zsvv
+ ///九 qy qy
+ ///亇 ri mxi rivv
+ ///久 rs rsv rsvv
+ ///么 mz mzs
+ ///乇 mh mhd
+ ///乊 mu mud
+ ///乆 zo zod
+ ///丸 qs qya qys [rest of string was truncated]";.
+ ///
+ internal static string Zhengma {
+ get {
+ return ResourceManager.GetString("Zhengma", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to ㄚ a
+ ///ㄞ ai
+ ///ㄢ an
+ ///ㄤ ang
+ ///ㄠ ao
+ ///ㄅㄚ ba
+ ///ㄅㄞ bai
+ ///ㄅㄢ ban
+ ///ㄅㄤ bang
+ ///ㄅㄠ bao
+ ///ㄅㄟ bei
+ ///ㄅㄣ ben
+ ///ㄅㄥ beng
+ ///ㄅㄧ bi
+ ///ㄅㄧㄢ bian
+ ///ㄅㄧㄠ biao
+ ///ㄅㄧㄝ bie
+ ///ㄅㄧㄣ bin
+ ///ㄅㄧㄥ bing
+ ///ㄅㄛ bo
+ ///ㄅㄨ bu
+ ///ㄘㄚ ca
+ ///ㄘㄞ cai
+ ///ㄘㄢ can
+ ///ㄘㄤ cang
+ ///ㄘㄠ cao
+ ///ㄘㄜ ce
+ ///ㄘㄣ cen
+ ///ㄘㄥ ceng
+ ///ㄔㄚ cha
+ ///ㄔㄞ chai
+ ///ㄔㄢ chan
+ ///ㄔㄤ chang
+ ///ㄔㄠ chao
+ ///ㄔㄜ che
+ ///ㄔㄣ chen
+ ///ㄔㄥ cheng
+ ///ㄔㄨㄥ chong
+ ///ㄔㄡ chou
+ ///ㄔㄨ chu
+ ///ㄔㄨㄞ chuai
+ ///ㄔㄨㄢ chuan
+ ///ㄔㄨㄤ chuang
+ ///ㄔㄨㄟ chui
+ ///ㄔㄨㄣ chun
+ ///ㄔㄨㄛ chuo
+ ///ㄘㄨㄥ cong
+ ///ㄘㄡ cou
+ ///ㄘㄨ cu
+ ///ㄘㄨㄢ cuan
+ ///ㄘㄨㄟ cui
+ ///ㄘㄨㄣ cun
+ ///ㄘㄨㄛ cuo
+ ///ㄉㄚ da
+ ///ㄉㄞ dai
+ ///ㄉㄢ dan
+ ///ㄉㄤ dang
+ ///ㄉㄠ dao
+ ///ㄉㄜ de
+ ///ㄉㄟ dei
+ ///ㄉㄥ [rest of string was truncated]";.
+ ///
+ internal static string Zhuyin {
+ get {
+ return ResourceManager.GetString("Zhuyin", resourceCulture);
+ }
+ }
+ }
+}
diff --git a/IME WL Converter/IME WL Converter/IME WL Converter.csproj b/IME WL Converter/IME WL Converter/IME WL Converter.csproj
index d3c95ab6..45b8958a 100644
--- a/IME WL Converter/IME WL Converter/IME WL Converter.csproj
+++ b/IME WL Converter/IME WL Converter/IME WL Converter.csproj
@@ -10,7 +10,7 @@
Properties
Studyzy.IMEWLConverter
深蓝词库转换
- v3.5
+ v4.0
512
app.ico
@@ -37,8 +37,7 @@
False
False
false
-
-
+ Client
true
@@ -416,6 +415,7 @@
XiaoxiaoConfigForm.cs
+
SettingsSingleFileGenerator
Settings.Designer.cs
diff --git a/IME WL Converter/IME WL Converter/IME/Win10MsPinyin.cs b/IME WL Converter/IME WL Converter/IME/Win10MsPinyin.cs
index c9f7b1ef..37849104 100644
--- a/IME WL Converter/IME WL Converter/IME/Win10MsPinyin.cs
+++ b/IME WL Converter/IME WL Converter/IME/Win10MsPinyin.cs
@@ -14,26 +14,53 @@ namespace Studyzy.IMEWLConverter.IME
/// Win10微软拼音
///
[ComboBoxShow(ConstantString.WIN10_MS_PINYIN, ConstantString.WIN10_MS_PINYIN_C, 130)]
- public class Win10MsPinyin : IWordLibraryExport , IWordLibraryImport
+ public class Win10MsPinyin : IWordLibraryExport, IWordLibraryImport
{
- /*
- mschxudp file format
+/*
+ * _X 做后缀的字段表示 win10 1703 与 1607 有改动的部分
+
+# win10 1703
+# proto8 unknown_X version
+# 00000000 6d 73 63 68 78 75 64 70 02 00 60 00 01 00 00 00 |mschxudp..`.....|
+# phrase_offset_start
+# phrase_start phrase_end phrase_count
+# 00000010 40 00 00 00 48 00 00 00 98 00 00 00 02 00 00 00 |@...H...........|
+# timestamp
+# 00000020 49 4e 06 59 00 00 00 00 00 00 00 00 00 00 00 00 |IN.Y............|
+# 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
+# candidate2
+# phrase_offsets[] magic_X phrase_offset2
+# 00000040 00 00 00 00 24 00 00 00 10 00 10 00 18 00 06 06 |....$...........|
+# phrase_unknown8_X pinyin
+# 00000050 00 00 00 00 96 0a 99 20 61 00 61 00 61 00 00 00 |....... a.a.a...|
+# phrase magic_X
+# 00000060 61 00 61 00 61 00 61 00 61 00 00 00 10 00 10 00 |a.a.a.a.a.......|
+# phrase_unknown8_X
+# candidate2
+# offset2 pinyin
+# 00000070 1a 00 07 06 00 00 00 00 a6 0a 99 20 62 00 62 00 |........... b.b.|
+# phrase
+# 00000080 62 00 62 00 00 00 62 00 62 00 62 00 62 00 62 00 |b.b...b.b.b.b.b.|
+# 00000090 62 00 62 00 62 00 00 00 |b.b.b...|
+# 00000098
+
+# win10 1607
# proto8 version phrase_offset_start
# 00000000 6d 73 63 68 78 75 64 70 01 00 00 00 40 00 00 00 |mschxudp....@...|
-# phrase_start phrase_end phrase_count
+# phrase_start phrase_end phrase_count unknown_X
# 00000010 48 00 00 00 7e 00 00 00 02 00 00 00 00 00 00 00 |H...~...........|
# timestamp
# 00000020 29 b8 cc 58 00 00 00 00 00 00 00 00 00 00 00 00 |)..X............|
# 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
# candidate2
-# phrase_offsets[] magic hanzi_offset2
+# phrase_offsets[] magic offset2
# 00000040 00 00 00 00 1c 00 00 00 08 00 08 00 10 00 01 06 |................|
# pinyin phrase
# 00000050 61 00 61 00 61 00 00 00 61 00 61 00 61 00 61 00 |a.a.a...a.a.a.a.|
# pinyin
# candidate2
-# magic hanzi_offset2
+# magic offset2
# 00000060 61 00 00 00 08 00 08 00 10 00 05 06 62 00 62 00 |a...........b.b.|
# phrase
# 00000070 62 00 00 00 62 00 62 00 62 00 62 00 00 00 |b...b.b.b.b...|
@@ -43,11 +70,15 @@ mschxudp file format
phrase_start + phrase_offsets[N] == magic(0x00080008)
pinyin&phrase: utf16-le string
hanzi_offset = 8 + len(pinyin)
-phrase_offsets[N] + hanzi_offset + len(phrase) == phrase_offsets[N + 1]
+phrase_offsets[N] + offset + len(phrase) == phrase_offsets[N+1]
+candidate 第一个字节代表短语在候选框位置
-*/
-
- public Encoding Encoding { get {return Encoding.Unicode;} }
+ */
+
+ public Encoding Encoding
+ {
+ get { return Encoding.Unicode; }
+ }
public int CountWord { get; set; }
public int CurrentStatus { get; set; }
@@ -56,65 +87,63 @@ mschxudp file format
public CodeType CodeType
{
- get
- {
- return CodeType.Pinyin;
- }
+ get { return CodeType.Pinyin; }
}
public WordLibraryList Import(string path)
{
var pyAndWord = new WordLibraryList();
var fs = new FileStream(path, FileMode.Open, FileAccess.Read);
- fs.Position = 0x0C;
+ fs.Position = 0x10;
var phrase_offset_start = BinFileHelper.ReadInt32(fs);
- var phrase_start= BinFileHelper.ReadInt32(fs);
+ var phrase_start = BinFileHelper.ReadInt32(fs);
var phrase_end = BinFileHelper.ReadInt32(fs);
var phrase_count = BinFileHelper.ReadInt32(fs);
fs.Position = phrase_offset_start;
var offsets = ReadOffsets(fs, phrase_count);
- offsets.Add(phrase_end- phrase_start);
+ offsets.Add(phrase_end - phrase_start);
fs.Position = phrase_start;
for (var i = 0; i < phrase_count; i++)
{
- var wl = ReadOnePhrase(fs, phrase_start+offsets[i+1]);
+ var wl = ReadOnePhrase(fs, phrase_start + offsets[i + 1]);
pyAndWord.Add(wl);
}
return pyAndWord;
}
- private IList ReadOffsets(FileStream fs,int count)
+ private IList ReadOffsets(FileStream fs, int count)
{
- var result=new List();
-
+ var result = new List();
+
for (var i = 0; i < count; i++)
{
var offset = BinFileHelper.ReadInt32(fs);
result.Add(offset);
}
return result;
- }
+ }
- private WordLibrary ReadOnePhrase(FileStream fs,int nextStartPosition)
+ private WordLibrary ReadOnePhrase(FileStream fs, int nextStartPosition)
{
- WordLibrary wl=new WordLibrary();
+ WordLibrary wl = new WordLibrary();
var magic = BinFileHelper.ReadInt32(fs);
var hanzi_offset = BinFileHelper.ReadInt16(fs);
wl.Rank = fs.ReadByte();
- var x6 = fs.ReadByte();//不知道干啥的
- var pyBytesLen = hanzi_offset - 10;
+ var x6 = fs.ReadByte(); //不知道干啥的
+ var unknown8 = BinFileHelper.ReadInt64(fs);//新增的,不知道什么意思
+ var pyBytesLen = hanzi_offset - 18;
var pyBytes = BinFileHelper.ReadArray(fs, pyBytesLen);
- var pyStr= Encoding.Unicode.GetString(pyBytes);
- var split = BinFileHelper.ReadInt16(fs);//00 00 分割拼音和汉字
- var wordBytesLen = nextStartPosition - (int)fs.Position-2;//结尾还有个00 00
+ var pyStr = Encoding.Unicode.GetString(pyBytes);
+ var split = BinFileHelper.ReadInt16(fs); //00 00 分割拼音和汉字
+ var wordBytesLen = nextStartPosition - (int) fs.Position - 2; //结尾还有个00 00
var wordBytes = BinFileHelper.ReadArray(fs, wordBytesLen);
- BinFileHelper.ReadInt16(fs);//00 00分割
+ BinFileHelper.ReadInt16(fs); //00 00分割
var word = Encoding.Unicode.GetString(wordBytes);
wl.Word = word;
wl.SetPinyinString(pyStr);
- wl.CodeType= CodeType.Pinyin;
+ wl.CodeType = CodeType.Pinyin;
return wl;
}
@@ -125,61 +154,64 @@ public WordLibraryList ImportLine(string str)
public IList Export(WordLibraryList wlList)
{
- //Win10拼音只支持最多32个字符的编码
+//Win10拼音只支持最多32个字符的编码
wlList = Filter(wlList);
- string tempPath =Path.GetDirectoryName( Application.ExecutablePath)+ "\\Win10微软拼音词库.txt";
+ string tempPath = Path.GetDirectoryName(Application.ExecutablePath) + "\\Win10_1703微软拼音词库.dat";
var fs = new FileStream(tempPath, FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
- bw.Write(Encoding.ASCII.GetBytes("mschxudp"));//proto8
- bw.Write(BitConverter.GetBytes(1));//version
- bw.Write(BitConverter.GetBytes(0x40));//phrase_offset_start
- bw.Write(BitConverter.GetBytes(0x40+4*wlList.Count));//phrase_start=phrase_offset_start + 4*phrase_count
- bw.Write(BitConverter.GetBytes(0));//phrase_end input after process all!
- bw.Write(BitConverter.GetBytes((long)wlList.Count));//phrase_count
- bw.Write(BitConverter.GetBytes(DateTime.Now.Ticks));//timestamp
- bw.Write(BitConverter.GetBytes((long)0));//0
- bw.Write(BitConverter.GetBytes((long)0));//0
- bw.Write(BitConverter.GetBytes((long)0));//0
+ bw.Write(Encoding.ASCII.GetBytes("mschxudp")); //proto8
+ bw.Write(BitConverter.GetBytes(0x00600002));//Unknown
+ bw.Write(BitConverter.GetBytes(1)); //version
+ bw.Write(BitConverter.GetBytes(0x40)); //phrase_offset_start
+ bw.Write(BitConverter.GetBytes(0x40 + 4*wlList.Count)); //phrase_start=phrase_offset_start + 4*phrase_count
+ bw.Write(BitConverter.GetBytes(0)); //phrase_end input after process all!
+ bw.Write(BitConverter.GetBytes(wlList.Count)); //phrase_count
+ bw.Write(BitConverter.GetBytes(DateTime.Now.Ticks)); //timestamp
+ bw.Write(BitConverter.GetBytes((long) 0)); //0
+ bw.Write(BitConverter.GetBytes((long) 0)); //0
+ bw.Write(BitConverter.GetBytes((long) 0)); //0
int offset = 0;
for (var i = 0; i < wlList.Count; i++)
{
bw.Write(BitConverter.GetBytes(offset));
var wl = wlList[i];
- offset += 8 + wl.Word.Length*2 + 2 + wl.GetPinYinLength()*2 + 2;
+ offset += 8 +8+ wl.Word.Length*2 + 2 + wl.GetPinYinLength()*2 + 2;
}
for (var i = 0; i < wlList.Count; i++)
{
- bw.Write(BitConverter.GetBytes(0x00080008)); //magic
+ bw.Write(BitConverter.GetBytes(0x00100010)); //magic
var wl = wlList[i];
- var hanzi_offset = 8+wl.GetPinYinLength()*2+2;
- bw.Write(BitConverter.GetBytes((short)hanzi_offset));
- bw.Write((byte)0x1);//1是詞頻
- bw.Write((byte)0x6);//6不知道
+ var hanzi_offset = 8 +8+ wl.GetPinYinLength()*2 + 2;
+ bw.Write(BitConverter.GetBytes((short) hanzi_offset));
+ bw.Write((byte) 0x1); //1是詞頻
+ bw.Write((byte) 0x6); //6不知道
+ bw.Write(BitConverter.GetBytes(0x00000000));//Unknown
+ bw.Write(BitConverter.GetBytes(0xE679CD20));//Unknown
var py = wl.GetPinYinString("", BuildType.None);
bw.Write(Encoding.Unicode.GetBytes(py));
- bw.Write(BitConverter.GetBytes((short)0));
+ bw.Write(BitConverter.GetBytes((short) 0));
bw.Write(Encoding.Unicode.GetBytes(wl.Word));
- bw.Write(BitConverter.GetBytes((short)0));
+ bw.Write(BitConverter.GetBytes((short) 0));
}
-
- fs.Position = 0x14;
- fs.Write(BitConverter.GetBytes(fs.Length),0,4);
-
+
+ fs.Position = 0x18;
+ fs.Write(BitConverter.GetBytes(fs.Length), 0, 4);
+
fs.Close();
- return new List() {"词库文件在:"+ tempPath };
+ return new List() {"词库文件在:" + tempPath};
}
private WordLibraryList Filter(WordLibraryList wlList)
{
- var result=new WordLibraryList();
+ var result = new WordLibraryList();
foreach (var wl in wlList)
{
- if(wl.GetPinYinLength()>32)
+ if (wl.GetPinYinLength() > 32)
continue;
- if(wl.Word.Length>64)
+ if (wl.Word.Length > 64)
continue;
- result.Add(wl);
+ result.Add(wl);
}
return result;
}
@@ -189,4 +221,5 @@ public string ExportLine(WordLibrary wl)
throw new NotImplementedException("二进制文件不支持单个词汇的转换");
}
}
-}
\ No newline at end of file
+}
+
\ No newline at end of file
diff --git a/IME WL Converter/IME WL Converter/Properties/AssemblyInfo.cs b/IME WL Converter/IME WL Converter/Properties/AssemblyInfo.cs
index a11da5f7..a63fa1bb 100644
--- a/IME WL Converter/IME WL Converter/Properties/AssemblyInfo.cs
+++ b/IME WL Converter/IME WL Converter/Properties/AssemblyInfo.cs
@@ -9,7 +9,7 @@
[assembly: AssemblyTitle("深蓝词库转换")]
[assembly:
AssemblyDescription(
- "随手写的一个词库转换小工具,支持主流的电脑和手机输入法,希望大家喜欢。\r\n有问题请联系我:studyzy@163.com\r\n新浪微博:http://weibo.com/imewlconverter")]
+ "随手写的一个词库转换小工具,支持主流的电脑和手机输入法,希望大家喜欢。\r\n有问题请联系我:studyzy@163.com\r\nGitHub: https://github.com/studyzy/imewlconverter")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("深蓝 http://studyzy.cnblogs.com")]
[assembly: AssemblyProduct("深蓝词库转换")]
@@ -38,5 +38,5 @@
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("2.2.0.0")]
-[assembly: AssemblyFileVersion("2.2.0.0")]
\ No newline at end of file
+[assembly: AssemblyVersion("2.2.1.0")]
+[assembly: AssemblyFileVersion("2.2.1.0")]
\ No newline at end of file
diff --git a/IME WL Converter/IME WL Converter/Properties/Resources.Designer.cs b/IME WL Converter/IME WL Converter/Properties/Resources.Designer.cs
index 76a953dc..21db0a99 100644
--- a/IME WL Converter/IME WL Converter/Properties/Resources.Designer.cs
+++ b/IME WL Converter/IME WL Converter/Properties/Resources.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18449
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
diff --git a/IME WL Converter/IME WL Converter/Properties/Settings.Designer.cs b/IME WL Converter/IME WL Converter/Properties/Settings.Designer.cs
index a0adeb8b..8056d889 100644
--- a/IME WL Converter/IME WL Converter/Properties/Settings.Designer.cs
+++ b/IME WL Converter/IME WL Converter/Properties/Settings.Designer.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.34209
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -12,7 +12,7 @@ namespace Studyzy.IMEWLConverter.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/IME WL Converter/IME WL Converter/Readme.txt b/IME WL Converter/IME WL Converter/Readme.txt
index fe7c0456..9199c7b7 100644
--- a/IME WL Converter/IME WL Converter/Readme.txt
+++ b/IME WL Converter/IME WL Converter/Readme.txt
@@ -15,6 +15,7 @@ QQ
2.0ֱֶ֧Rime뷨ֱֶ֧СС뷨˶˹ld2ʵʽֺ֧Ӣʿ֧֣˼תܣ˶ŻĦ뷨ƽ̨֧֣ǿ˶Ըʺ֣뷨֧֣ͬʱŻڲ룬ǿԶĹܡ
2.1Ϊ.net 3.5֮ǰԶ嵼Bug˶Ը뷨ûԶĵ뵼֧֣ӶԳд뷨֧֣תʱ뵼ļһһ֧֣Ǻϲʿһļ˴ʿϲܡļָBugʹʿתʱһЩBug
2.2ȫ֧Win10Դƴ뷨ʿ뵼һЩСBug
+2.2.1ɶWin10 1703ƴʽ֧֣Ե뵼ð汾ûԶ.netΪ4.0
ע⣺Ŀǰ7.2Ժ汾ѹ뷨ݴʿнҪѹ뷨ûʿ⣬Ҫװѹ뷨7.1棬Ȼbinʽʿ⣬ٽת
иĴʿҪת߶Ըôʿתʲô飬ϵңstudyzy@163.com
diff --git a/IME WL Converter/IME WL Converter/app.config b/IME WL Converter/IME WL Converter/app.config
index 2fa6e95d..e2a5a187 100644
--- a/IME WL Converter/IME WL Converter/app.config
+++ b/IME WL Converter/IME WL Converter/app.config
@@ -1,3 +1,3 @@
-
+