From ae07288dc9b2d4bad94be0aa5804c2e426a0492b Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Mon, 10 Jan 2022 16:21:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E3=84=85=E5=8D=8A=E8=BC=B8?= =?UTF-8?q?=E5=85=A5=E6=A8=A1=E5=BC=8F=EF=BC=9B=E5=9C=A8=E7=B3=BB=E7=B5=B1?= =?UTF-8?q?=E5=85=A7=E5=90=8C=E6=99=82=E6=8F=92=E5=AF=AB=E7=B0=A1=E7=B9=81?= =?UTF-8?q?=E9=AB=94=E5=85=A9=E7=A8=AE=E8=BC=B8=E5=85=A5=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/Images/Bopomofo.png | Bin 1960 -> 0 bytes Source/Images/Bopomofo@2x.png | Bin 3553 -> 0 bytes Source/Images/PlainBopomofo.png | Bin 2485 -> 0 bytes Source/Images/PlainBopomofo.tiff | Bin 3488 -> 0 bytes Source/Images/PlainBopomofo@2x.png | Bin 4107 -> 0 bytes Source/Images/PlainBopomofo@2x.tiff | Bin 6560 -> 0 bytes Source/Images/SimpBopomofo.tiff | Bin 0 -> 4260 bytes Source/Images/SimpBopomofo@2x.tiff | Bin 0 -> 5712 bytes Source/InputMethodController.mm | 83 +++---------------------- Source/en.lproj/InfoPlist.strings | 5 +- Source/vChewing-Info.plist | 34 +++------- Source/zh-Hans.lproj/InfoPlist.strings | 4 +- Source/zh-Hant.lproj/InfoPlist.strings | 4 +- vChewing.xcodeproj/project.pbxproj | 52 ++++------------ 14 files changed, 37 insertions(+), 145 deletions(-) delete mode 100644 Source/Images/Bopomofo.png delete mode 100644 Source/Images/Bopomofo@2x.png delete mode 100644 Source/Images/PlainBopomofo.png delete mode 100644 Source/Images/PlainBopomofo.tiff delete mode 100644 Source/Images/PlainBopomofo@2x.png delete mode 100644 Source/Images/PlainBopomofo@2x.tiff create mode 100644 Source/Images/SimpBopomofo.tiff create mode 100644 Source/Images/SimpBopomofo@2x.tiff diff --git a/Source/Images/Bopomofo.png b/Source/Images/Bopomofo.png deleted file mode 100644 index 081080a6783cd9f47a4651f87e8f008b0da125c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1960 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 b&qe+>BxplqUnCOW00000NkvXXu0mjfvM#}u diff --git a/Source/Images/PlainBopomofo.png b/Source/Images/PlainBopomofo.png deleted file mode 100644 index b94a3f5cdc2784968ad002ba3104585b9e26c8f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2485 zcmZ`(2{@E%8~!jUlbE8E`ZJ9z(U>vGGL0#F!?83KBFiwtd|_tH3`P+`M~fx0Wlfes zak9jjRQ9dIa1=%MPzZHN3*(X&&YRQ2D^vaxSTyy{r1vgb_E>=k5AxlIlvT=f(0i`mU?If?1&17+NVDzBRMfzK1^bLS@qS?>ln z##QZiOd3=Y-7kL+`TFnCvgV0~1}wWan71jIhg6SAR7+GA**RAC_~q;zylJrawb> z(801pVpSiL)tE^mzr(Uljt{V-N;JT-M%XH)8kAU21e~}JBbm?ze1rSRa}Re-vF{Y> zbUjfo=t=d24TW?3YH@8%?~Io#G+ol6e&>nlk`vOqf#Fd#Wa-%@#oeWrpjuRWv>jEu z`F+%D`W3B+ZNy(?CxYH8?Lw@AILT->0fkCmt?n~ z{gxNM_}gWqZWxW%liMhNRS9KVv0&H|VppM(3v;Pths2H!v{?2hw25Rr&XRv^lc10= zdm7)cH6^rU2FY%D*^|NST&;7N>@9Vf)NzpHuRkvqGTm?c;NY~@Q(I{8pLE9t zvk&@KWPBd-q&KPTR?ew|wqHaQ+JWF|4tIm6xa0EpQtRP(uhyk_1?7;j!EyXZ2P=!2 z&O zKHRervy1uu=PmSKmV`C27QAum+=5(!wD7Wr>looXhORt1HnY&fd~?5DYV<0YQC@N5 z?dAH`@i8}O2}W(3N^RE;^&G321B&taoR36~N`u>wsP41y`dT|{`OYGR=|x8lO=%G53#xHm z{kn2C_=8x_5Kxu9Dz>V`+1Tj*yj^fX7*p&C9+sAXngDMAL`Aj$Vge*0c!A$R0J4Sw zKv}Q@fM~Yp4+|_?>?amF`AXxb1r$;6ggx8d@;9tI-A98&rn^xzI6e#^0l;yv0_a0w zli(a5ZyF2B(MPN?umUVJqY&^l3foH`VQ*;zH=;8saBU5=1{#5f!r^cnlk9;d8k>HX z3;y&GR5qJ|MWF%$0yF{+XwaFSC`~;*Jro*)!eEdB29gy>W0N>Y8cXq8kpIOorm)eg&k{jKRt&czm6a9F;)yW1uerBSvzPBZ45GC}WG&RtuU&$yO@Lyy?&o|jx zU*FQ9}Rsdu}Hlh$Xb7Rff|%9PDvan46|{OrQ^sd4tCbeT9o3?bLdQ<7}$z%3IYBhvA1 z9Sy5!^}qBUXa{I_zDeWwk66|)I+m6mNq2t5$3nQ9b1VqG5eidwEvL-;Y7%Ddi9*m? zV{z>%+!ZIISw@;!BUW>L_Vs6emdL~}DdgMNi9|$L`(H+I>Xvwu^0#9zG&)6r4*cP z!o9au6P>5+JgE0_(~g4Lnj4ejH^LS;k|QFbPwGd;T^}5ZOX0wzGY1R}YF~TRWYok4 z14QM}-nVWGudvZObyzkoI#KG8%GGp_AWzD94;iaSRC>9q{7^KmoZ zmsFsWo^UqvsKvl*zwHv&M7Bq^-R+*@>F{E55Hj-ec(|!dOitMj##3%wCI^B^5^0AS zUF+m7VPKv>Y;*nIy?LYV0Xwa7SBy*b^FYhK}%Q5`Cyf=;Q+A)cLJPJbWnN--aXjMGK wbxv+gX?_3xvX#Lw@gtr;_ZdOJEtiZxUUXAS1Sh*Igm)mp#LD=dq3ebJ0^qYjcmMzZ diff --git a/Source/Images/PlainBopomofo.tiff b/Source/Images/PlainBopomofo.tiff deleted file mode 100644 index 0fe659591534992189b3527b13be5df2b56fbf3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3488 zcma)83s6+&75;bc-34LYF}|xtuZsdzVHZT@t+2c!NRhX3bXo4Q3(M|u?_F3PT7w8a zaDquBIM{$jo9bY7rju6E*l1FXI!$HjXr)@4WYUf_nn`QxOs2J`=fC@4ah%${bMO8B z^MB_%|2hBTZebx=K?oa3l*3BG5<(Ps&lqMVF}4FgRvn%cnXu`pA+;RzzMEoiyA0yf z%K!PYF1DR0LgNEY!9WqRd+5|CTo{{x-`;-&pWXiku8co~%Xc2i?`wA-!L{)Tcz0y< zyA^TiZ=>t9V0Wb|d|!KaKO8;%F?ia~K>Mz<&_8?ye)9e;`1$28;nK~o;rhM5!|g8~ z!yo?mXISag2uLWD?13MYmP6;R(?Ccu-es_EZ3iUcy)K~*VpdA9bV)rFZQKucAAASH zr$_&-WI_#o0Y(+J&*Iz()}}6Kbo9gY>D%D-zF)xkYhS|Q(_=97)8E12cRqo0m;MCD zKYjogZ+r!dBlJ7`{z^7%Z`YyspvrLw4j&nYW5+&%S+jV|;|%nkxC-Vyqu_q~I_w<2 z2|cIA;b&JqhlKSNPyGJjni+eK{dg3%Z0U!{CckZQphT+l3&yk3;j0L1=CpfF_|IYE1pm+TE|LXL~oioNR@dY#Zcl-vi&zZH1*9B#6jt z2A#1DI{MDRnv80{KOMx`EnBxjW#yYNca9Z0`_96m6bCF_FT(u9M#N5t$Uy%LH!MtP z0XwZ4gn*1>&9) zQ~Xt-+MYEjIgpjV2`rXDP%0~6SJxTXz5fhURlEiLLl+=AyBY5mIghpjr(m7&)j)hk zt?4z@w?Whj19a@{g4ERA*jEO#XIY@TX9V6D9DyBs-+><<7=|7DhM@QGdl0pz_&?tA ztr+l%YM0I()DHR2i;%eNh2)udEHKDYkQp?KAgq)zo*XJx!T9V*R;Ybgi8w6C z{!-v%iB!xCvd{5hR8q|KVH#_mpU)D-q9A^>4^#b;Ap2$+)A4AOAIhiMuMyAgvH5jK zXpcxj2no50_B(Rsp~QPBkdIfYC)v~JYUCvo=V`P%#AHvJ&Q$BH;gb!wU*?PtQ?;^w$gM~NpdCY^(`$eu`R1(okE>HE-5KV zZ;02&$HyQeMr?IRCQpn*jPQ#1b+UNTEZAI<&FSE%uBpc9meO=Oy*HHJ7b`t1RUa64 zdKk^mAS zGv@jIQ^?OY!fSElI6I-(;j9(Sjfg#1^ZjO*AmR9Mj!0sQ<>ALcvVf1y)FoQ$AAp<&E*}uU^8>H7R7?oVzcvdhxhS< z?jYv>f{k`J<}Ck~;8Pmb(U^NzttpG*Wr#=2rtHl=Jl1S0_w7Q(KU`8~3ECqG zQOdy1yzBX%V1=?q#{d|M-73w<|@pVT{(I&)H=X0}Y z#JUn4Zeg{R&!_Xf7;&`VETJ4650g{NXJsQ^g}B}(<(DGHSWLgzyqVf%oi?kHjuT@s zzp6JC(0N*bc#OB_(zsOruP&+B7njvI>_s#d>ag*=DCdhhtVXhy=Aj+qvegn!sMnX> zX|d(x`}o6FA&=Ur?^TywUZXfR_FKVSLUYGhsztn`jMfk}Rp}-nJJ*M6Nx8yAc;X~A z_%ss-c}h4^LUKtazFkDX9t*J%J6d?`<3K!YP*fy?j4|BXzRp1N5|E1moh9 z#Et$|@(}f`0VR$YvE@cv9eKWvcLWnY9Va`FHL$DkPGL8)X>1~!L^yUmyMaw-v(TEv zrUbN$gYux`nZPJsohFRP%e->T_!4F&5feVYK!%fu0fi~G=v&~9_SUFV*k&`|c>UW? zJ3gF0$-Tv%fAyy3(~h8;*-)z?z?fRKO)sjw>MPX))h&FEtL_CfIMrR%J-o)TT9dQ% zY}M&}(W+-)PIh@F8ZloRX2%C*7c)g8SkE~b&o_^LMW@Blx4>HkS^>VN=t&XjTs6rz z{NC`$aLaJaaKi94^Ct5?bAcIUK45-BIOZaAiTQ}R!klG(8Q?#E&b@0VFz0d})JC(Q z>(QTYa7A%_YBRM9wGrAZ?Go*B?ZyC$)6UbzY4fyE*t0M&JCm!Kn^FfGsluB1tM&X? zbZ6KCN?2>fbew0~WW*`^qYOuEBQ2;YVD;%bbC6c#2JbUpM(koXj?I5&RVUK59?0ooXKwIT`85Z&eAx{qh R{OdTt(|1w-9w8U){{>%7Qtto& diff --git a/Source/Images/PlainBopomofo@2x.png b/Source/Images/PlainBopomofo@2x.png deleted file mode 100644 index a259d6158e7c69968bb256ebf636f8815ffbe906..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4107 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 S2nuH}YaI=JM5UTzQ&~#@ diff --git a/Source/Images/PlainBopomofo@2x.tiff b/Source/Images/PlainBopomofo@2x.tiff deleted file mode 100644 index a303b85a35e0a4119d119d0bfa6d472d7ab3b696..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6560 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 literal 0 HcmV?d00001 diff --git a/Source/Images/SimpBopomofo@2x.tiff b/Source/Images/SimpBopomofo@2x.tiff new file mode 100644 index 0000000000000000000000000000000000000000..2fdf8c43355d62f8e3e217c075958d931d457041 GIT binary patch literal 5712 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 Hpq%@Ee@7W- literal 0 HcmV?d00001 diff --git a/Source/InputMethodController.mm b/Source/InputMethodController.mm index 570fae43..d0ad6f74 100644 --- a/Source/InputMethodController.mm +++ b/Source/InputMethodController.mm @@ -87,7 +87,7 @@ static NSString *const kCandidateKeys = @"CandidateKeys"; // input modes static NSString *const kBopomofoModeIdentifier = @"org.openvanilla.inputmethod.vChewing.Bopomofo"; -static NSString *const kPlainBopomofoModeIdentifier = @"org.openvanilla.inputmethod.vChewing.PlainBopomofo"; +static NSString *const kSimpBopomofoModeIdentifier = @"org.openvanilla.inputmethod.vChewing.SimpBopomofo"; // key code enums enum { @@ -116,7 +116,7 @@ static NSString *const kGraphVizOutputfile = @"/tmp/vChewing-visualization.dot"; // shared language model object that stores our phrase-term probability database FastLM gLanguageModel; -FastLM gLanguageModelPlainBopomofo; +FastLM gLanguageModelSimpBopomofo; // https://clang-analyzer.llvm.org/faq.html __attribute__((annotate("returns_localized_nsstring"))) @@ -345,9 +345,9 @@ public: NSString *newInputMode; Formosa::Gramambular::FastLM *newLanguageModel; - if ([value isKindOfClass:[NSString class]] && [value isEqual:kPlainBopomofoModeIdentifier]) { - newInputMode = kPlainBopomofoModeIdentifier; - newLanguageModel = &gLanguageModelPlainBopomofo; + if ([value isKindOfClass:[NSString class]] && [value isEqual:kSimpBopomofoModeIdentifier]) { + newInputMode = kSimpBopomofoModeIdentifier; + newLanguageModel = &gLanguageModelSimpBopomofo; } else { newInputMode = kBopomofoModeIdentifier; @@ -714,10 +714,6 @@ public: _bpmfReadingBuffer->clear(); [self updateClientComposingBuffer:client]; - if (_inputMode == kPlainBopomofoModeIdentifier) { - [self _showCandidateWindowUsingVerticalMode:useVerticalMode client:client]; - } - // and tells the client that the key is consumed return YES; } @@ -943,16 +939,6 @@ public: } [self updateClientComposingBuffer:client]; - if (_inputMode == kPlainBopomofoModeIdentifier && _bpmfReadingBuffer->isEmpty()) { - [self collectCandidates]; - if ([_candidates count] == 1) { - [self commitComposition:client]; - } - else { - [self _showCandidateWindowUsingVerticalMode:useVerticalMode client:client]; - } - } - return YES; } @@ -968,16 +954,6 @@ public: } [self updateClientComposingBuffer:client]; - if (_inputMode == kPlainBopomofoModeIdentifier && _bpmfReadingBuffer->isEmpty()) { - [self collectCandidates]; - if ([_candidates count] == 1) { - [self commitComposition:client]; - } - else { - [self _showCandidateWindowUsingVerticalMode:useVerticalMode client:client]; - } - } - return YES; } @@ -995,29 +971,14 @@ public: - (BOOL)handleCandidateEventWithInputText:(NSString *)inputText charCode:(UniChar)charCode keyCode:(NSUInteger)keyCode { -// if (_inputMode == kPlainBopomofoModeIdentifier) { -// if (charCode == '<') { -// keyCode = kPageUpKeyCode; -// } -// else if (charCode == '>') { -// keyCode = kPageDownKeyCode; -// } -// } - BOOL cancelCandidateKey = - (charCode == 27) || - ((_inputMode == kPlainBopomofoModeIdentifier) && - (charCode == 8 || keyCode == kDeleteKeyCode)); + BOOL cancelCandidateKey = (charCode == 27); + if (cancelCandidateKey) { gCurrentCandidateController.visible = NO; [_candidates removeAllObjects]; - if (_inputMode == kPlainBopomofoModeIdentifier) { - _builder->clear(); - _walkedNodes.clear(); - [_composingBuffer setString:@""]; - } [self updateClientComposingBuffer:_currentCandidateClient]; return YES; } @@ -1154,23 +1115,6 @@ public: } } - if (_inputMode == kPlainBopomofoModeIdentifier) { - string layout = [self currentLayout]; - string customPunctuation = string("_punctuation_") + layout + string(1, (char)charCode); - string punctuation = string("_punctuation_") + string(1, (char)charCode); - - BOOL shouldAutoSelectCandidate = _bpmfReadingBuffer->isValidKey((char)charCode) || _languageModel->hasUnigramsForKey(customPunctuation) || - _languageModel->hasUnigramsForKey(punctuation); - - if (shouldAutoSelectCandidate) { - NSUInteger candidateIndex = [gCurrentCandidateController candidateIndexAtKeyLabelIndex:0]; - if (candidateIndex != NSUIntegerMax) { - [self candidateController:gCurrentCandidateController didSelectCandidateAtIndex:candidateIndex]; - return [self handleInputText:inputText key:keyCode modifiers:0 client:_currentCandidateClient]; - } - } - } - [self beep]; [self updateClientComposingBuffer:_currentCandidateClient]; return YES; @@ -1400,11 +1344,6 @@ public: gCurrentCandidateController.keyLabels = keyLabels; [self collectCandidates]; - if (_inputMode == kPlainBopomofoModeIdentifier && [_candidates count] == 1) { - [self commitComposition:client]; - return; - } - gCurrentCandidateController.delegate = self; [gCurrentCandidateController reloadData]; @@ -1518,15 +1457,11 @@ public: [self walk]; [self updateClientComposingBuffer:_currentCandidateClient]; - if (_inputMode == kPlainBopomofoModeIdentifier) { - [self commitComposition:_currentCandidateClient]; - return; - } } - (void)handleChineseConversionStatusDidChanged:(NSNotification *)notification { - // Do not post the notification if status doesn't change. + // Do not post the notification if status doesn't change. // This is because the input method can be initiated by multiple applications, then all of them would post the notification. if (_previousChineseConversionEnabledStatus == _chineseConversionEnabled) { return; @@ -1556,7 +1491,7 @@ static void LTLoadLanguageModelFile(NSString *filenameWithoutExtension, FastLM & void LTLoadLanguageModel() { LTLoadLanguageModelFile(@"data", gLanguageModel); - LTLoadLanguageModelFile(@"data-plain-bpmf", gLanguageModelPlainBopomofo); + LTLoadLanguageModelFile(@"data-chs", gLanguageModelSimpBopomofo); // initialize the singleton learning dictionary diff --git a/Source/en.lproj/InfoPlist.strings b/Source/en.lproj/InfoPlist.strings index dddeda74..a5c0514d 100644 --- a/Source/en.lproj/InfoPlist.strings +++ b/Source/en.lproj/InfoPlist.strings @@ -1,6 +1,5 @@ CFBundleName = "vChewing"; CFBundleDisplayName = "vChewing"; NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; -"org.openvanilla.inputmethod.vChewing.Bopomofo" = "vChewing"; -"org.openvanilla.inputmethod.vChewing.PlainBopomofo" = "Plain vChewing"; - +"org.openvanilla.inputmethod.vChewing.Bopomofo" = "vChewing-CHT"; +"org.openvanilla.inputmethod.vChewing.SimpBopomofo" = "vChewing-CHS"; diff --git a/Source/vChewing-Info.plist b/Source/vChewing-Info.plist index 28d16f61..7e5e7510 100644 --- a/Source/vChewing-Info.plist +++ b/Source/vChewing-Info.plist @@ -32,7 +32,6 @@ Bopomofo.tiff tsInputModeCharacterRepertoireKey - Hans Hant Han @@ -50,25 +49,17 @@ tsInputModeScriptKey smTradChinese - TISIntendedLanguage - zh-Hans - tsInputModeCharacterRepertoireKey - - Hant - Han - - tsInputModeKeyEquivalentModifiersKey - 4608 + TISIntendedLanguage + zh-Hant - org.openvanilla.inputmethod.vChewing.PlainBopomofo + org.openvanilla.inputmethod.vChewing.SimpBopomofo TISDoubleSpaceSubstitution tsInputModeAlternateMenuIconFileKey - PlainBopomofo.tiff + SimpBopomofo.tiff tsInputModeCharacterRepertoireKey - Hans Hant Han @@ -79,28 +70,21 @@ tsInputModeKeyEquivalentModifiersKey 4608 tsInputModeMenuIconFileKey - PlainBopomofo.tiff + SimpBopomofo.tiff tsInputModePaletteIconFileKey - PlainBopomofo.tiff + SimpBopomofo.tiff tsInputModePrimaryInScriptKey tsInputModeScriptKey smTradChinese - TISIntendedLanguage - zh-Hans - tsInputModeCharacterRepertoireKey - - Hant - Han - - tsInputModeKeyEquivalentModifiersKey - 4608 + TISIntendedLanguage + zh-Hans tsVisibleInputModeOrderedArrayKey org.openvanilla.inputmethod.vChewing.Bopomofo - org.openvanilla.inputmethod.vChewing.PlainBopomofo + org.openvanilla.inputmethod.vChewing.SimpBopomofo InputMethodConnectionName diff --git a/Source/zh-Hans.lproj/InfoPlist.strings b/Source/zh-Hans.lproj/InfoPlist.strings index 83b9178f..512bfd97 100644 --- a/Source/zh-Hans.lproj/InfoPlist.strings +++ b/Source/zh-Hans.lproj/InfoPlist.strings @@ -1,5 +1,5 @@ CFBundleName = "威注音"; CFBundleDisplayName = "威注音"; NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; -"org.openvanilla.inputmethod.vChewing.Bopomofo" = "威注音"; -"org.openvanilla.inputmethod.vChewing.PlainBopomofo" = "ㄅ半全注"; +"org.openvanilla.inputmethod.vChewing.Bopomofo" = "威註音"; +"org.openvanilla.inputmethod.vChewing.SimpBopomofo" = "威注音"; diff --git a/Source/zh-Hant.lproj/InfoPlist.strings b/Source/zh-Hant.lproj/InfoPlist.strings index 83b9178f..512bfd97 100644 --- a/Source/zh-Hant.lproj/InfoPlist.strings +++ b/Source/zh-Hant.lproj/InfoPlist.strings @@ -1,5 +1,5 @@ CFBundleName = "威注音"; CFBundleDisplayName = "威注音"; NSHumanReadableCopyright = "Copyright © 2011-2021 Mengjuei Hsieh et al.\nAll Rights Reserved."; -"org.openvanilla.inputmethod.vChewing.Bopomofo" = "威注音"; -"org.openvanilla.inputmethod.vChewing.PlainBopomofo" = "ㄅ半全注"; +"org.openvanilla.inputmethod.vChewing.Bopomofo" = "威註音"; +"org.openvanilla.inputmethod.vChewing.SimpBopomofo" = "威注音"; diff --git a/vChewing.xcodeproj/project.pbxproj b/vChewing.xcodeproj/project.pbxproj index 9825a06c..3b62dbf6 100644 --- a/vChewing.xcodeproj/project.pbxproj +++ b/vChewing.xcodeproj/project.pbxproj @@ -7,6 +7,9 @@ objects = { /* Begin PBXBuildFile section */ + 5B000FC3278495AD004F02AC /* SimpBopomofo.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 5B000FC1278495AD004F02AC /* SimpBopomofo.tiff */; }; + 5B000FC4278495AD004F02AC /* SimpBopomofo@2x.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 5B000FC2278495AD004F02AC /* SimpBopomofo@2x.tiff */; }; + 5BC3FB83278492DE0022E99A /* data-chs.txt in Resources */ = {isa = PBXBuildFile; fileRef = 5BC3FB82278492DE0022E99A /* data-chs.txt */; }; 6A0421A815FEF3F50061ED63 /* FastLM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6A0421A615FEF3F50061ED63 /* FastLM.cpp */; }; 6A0D4EA715FC0D2D00ABF4B3 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A0D4EA615FC0D2D00ABF4B3 /* Cocoa.framework */; }; 6A0D4ED015FC0D6400ABF4B3 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A0D4EC415FC0D6400ABF4B3 /* AppDelegate.m */; }; @@ -42,9 +45,6 @@ 6ACA41FD15FC1D9000935EF6 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6ACA41F015FC1D9000935EF6 /* MainMenu.xib */; }; 6ACA41FF15FC1D9000935EF6 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ACA41F415FC1D9000935EF6 /* main.m */; }; 6ACA420215FC1E5200935EF6 /* vChewing.app in Resources */ = {isa = PBXBuildFile; fileRef = 6A0D4EA215FC0D2D00ABF4B3 /* vChewing.app */; }; - 6AD7CBC815FE555000691B5B /* data-plain-bpmf.txt in Resources */ = {isa = PBXBuildFile; fileRef = 6AD7CBC715FE555000691B5B /* data-plain-bpmf.txt */; }; - 6AE210B215FC63CC003659FE /* PlainBopomofo.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 6AE210B015FC63CC003659FE /* PlainBopomofo.tiff */; }; - 6AE210B315FC63CC003659FE /* PlainBopomofo@2x.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 6AE210B115FC63CC003659FE /* PlainBopomofo@2x.tiff */; }; 6AFF97F2253B299E007F1C49 /* OVNonModalAlertWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6AFF97F0253B299E007F1C49 /* OVNonModalAlertWindowController.xib */; }; 6AFF97F3253B299E007F1C49 /* OVNonModalAlertWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6AFF97F1253B299E007F1C49 /* OVNonModalAlertWindowController.m */; }; D427A9C125ED28CC005D43E0 /* OpenCCBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = D427A9C025ED28CC005D43E0 /* OpenCCBridge.swift */; }; @@ -69,6 +69,8 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 5B000FC1278495AD004F02AC /* SimpBopomofo.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = SimpBopomofo.tiff; sourceTree = ""; }; + 5B000FC2278495AD004F02AC /* SimpBopomofo@2x.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "SimpBopomofo@2x.tiff"; sourceTree = ""; }; 5B9781D32763850700897999 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; 5B9781D42763850700897999 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = "zh-Hans"; path = "zh-Hans.lproj/License.rtf"; sourceTree = ""; }; 5B9781D52763850700897999 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; @@ -77,6 +79,7 @@ 5B9781D82763850700897999 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "Source/zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; 5B9781D92763850700897999 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "zh-Hans"; path = "zh-Hans.lproj/MainMenu.xib"; sourceTree = ""; }; 5B9781DA2763850700897999 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "zh-Hans"; path = "Source/zh-Hans.lproj/preferences.xib"; sourceTree = ""; }; + 5BC3FB82278492DE0022E99A /* data-chs.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "data-chs.txt"; sourceTree = ""; }; 6A0421A615FEF3F50061ED63 /* FastLM.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FastLM.cpp; sourceTree = ""; }; 6A0421A715FEF3F50061ED63 /* FastLM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FastLM.h; sourceTree = ""; }; 6A0D4EA215FC0D2D00ABF4B3 /* vChewing.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = vChewing.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -166,9 +169,6 @@ 6A225A212367A1D700F685C6 /* ArchiveUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArchiveUtil.h; sourceTree = ""; }; 6A225A222367A1D700F685C6 /* ArchiveUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ArchiveUtil.m; sourceTree = ""; }; 6A2E40F5253A69DA00D1AE1D /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 6A38BBDE15FC117A00A8A51F /* 4_in_5.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 4_in_5.txt; sourceTree = ""; }; - 6A38BBDF15FC117A00A8A51F /* 4_in_6.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 4_in_6.txt; sourceTree = ""; }; - 6A38BBE015FC117A00A8A51F /* 5_in_6.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = 5_in_6.txt; sourceTree = ""; }; 6A38BBE215FC117A00A8A51F /* BIG5toUTF8.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = BIG5toUTF8.pl; sourceTree = ""; }; 6A38BBE315FC117A00A8A51F /* build4wlist.bash */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build4wlist.bash; sourceTree = ""; }; 6A38BBE415FC117A00A8A51F /* buildFreq.bash */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = buildFreq.bash; sourceTree = ""; }; @@ -185,18 +185,8 @@ 6A38BBEF15FC117A00A8A51F /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; 6A38BBF015FC117A00A8A51F /* typocorrection.bash */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = typocorrection.bash; sourceTree = ""; }; 6A38BBF115FC117A00A8A51F /* utf8length.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = utf8length.pl; sourceTree = ""; }; - 6A38BBF215FC117A00A8A51F /* blacklist.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = blacklist.txt; sourceTree = ""; }; - 6A38BBF315FC117A00A8A51F /* BPMFBase.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BPMFBase.txt; sourceTree = ""; }; - 6A38BBF415FC117A00A8A51F /* BPMFMappings.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BPMFMappings.txt; sourceTree = ""; }; - 6A38BBF515FC117A00A8A51F /* BPMFPunctuations.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BPMFPunctuations.txt; sourceTree = ""; }; 6A38BBF615FC117A00A8A51F /* data.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = data.txt; sourceTree = ""; }; - 6A38BBF715FC117A00A8A51F /* heterophony1.list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = heterophony1.list; sourceTree = ""; }; - 6A38BBF815FC117A00A8A51F /* heterophony2.list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = heterophony2.list; sourceTree = ""; }; - 6A38BBF915FC117A00A8A51F /* heterophony3.list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = heterophony3.list; sourceTree = ""; }; 6A38BBFA15FC117A00A8A51F /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 6A38BBFB15FC117A00A8A51F /* phrase.occ */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = phrase.occ; sourceTree = ""; }; - 6A38BBFC15FC117A00A8A51F /* PhraseFreq.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PhraseFreq.txt; sourceTree = ""; }; - 6A38BBFD15FC117A00A8A51F /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; 6A38BC2715FC158A00A8A51F /* InputMethodKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InputMethodKit.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/InputMethodKit.framework; sourceTree = DEVELOPER_DIR; }; 6ACA41CB15FC1D7500935EF6 /* vChewingInstaller.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = vChewingInstaller.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6ACA41E815FC1D9000935EF6 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = Source/Installer/AppDelegate.h; sourceTree = SOURCE_ROOT; }; @@ -211,9 +201,6 @@ 6ACA41F615FC1D9000935EF6 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = "zh-Hant"; path = "zh-Hant.lproj/License.rtf"; sourceTree = ""; }; 6ACA41F715FC1D9000935EF6 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; 6ACA41F815FC1D9000935EF6 /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "zh-Hant"; path = "zh-Hant.lproj/MainMenu.xib"; sourceTree = ""; }; - 6AD7CBC715FE555000691B5B /* data-plain-bpmf.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "data-plain-bpmf.txt"; sourceTree = ""; }; - 6AE210B015FC63CC003659FE /* PlainBopomofo.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = PlainBopomofo.tiff; sourceTree = ""; }; - 6AE210B115FC63CC003659FE /* PlainBopomofo@2x.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "PlainBopomofo@2x.tiff"; sourceTree = ""; }; 6AFF97EF253B299E007F1C49 /* OVNonModalAlertWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OVNonModalAlertWindowController.h; sourceTree = ""; }; 6AFF97F0253B299E007F1C49 /* OVNonModalAlertWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OVNonModalAlertWindowController.xib; sourceTree = ""; }; 6AFF97F1253B299E007F1C49 /* OVNonModalAlertWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OVNonModalAlertWindowController.m; sourceTree = ""; }; @@ -325,8 +312,8 @@ 6A2E40F5253A69DA00D1AE1D /* Images.xcassets */, 6A0D4EEF15FC0DA600ABF4B3 /* Bopomofo.tiff */, 6A0D4EF015FC0DA600ABF4B3 /* Bopomofo@2x.tiff */, - 6AE210B015FC63CC003659FE /* PlainBopomofo.tiff */, - 6AE210B115FC63CC003659FE /* PlainBopomofo@2x.tiff */, + 5B000FC1278495AD004F02AC /* SimpBopomofo.tiff */, + 5B000FC2278495AD004F02AC /* SimpBopomofo@2x.tiff */, ); path = Images; sourceTree = ""; @@ -427,22 +414,9 @@ isa = PBXGroup; children = ( 6A38BBE115FC117A00A8A51F /* bin */, - 6A38BBDE15FC117A00A8A51F /* 4_in_5.txt */, - 6A38BBDF15FC117A00A8A51F /* 4_in_6.txt */, - 6A38BBE015FC117A00A8A51F /* 5_in_6.txt */, - 6A38BBF215FC117A00A8A51F /* blacklist.txt */, - 6A38BBF315FC117A00A8A51F /* BPMFBase.txt */, - 6A38BBF415FC117A00A8A51F /* BPMFMappings.txt */, - 6A38BBF515FC117A00A8A51F /* BPMFPunctuations.txt */, 6A38BBF615FC117A00A8A51F /* data.txt */, - 6AD7CBC715FE555000691B5B /* data-plain-bpmf.txt */, - 6A38BBF715FC117A00A8A51F /* heterophony1.list */, - 6A38BBF815FC117A00A8A51F /* heterophony2.list */, - 6A38BBF915FC117A00A8A51F /* heterophony3.list */, + 5BC3FB82278492DE0022E99A /* data-chs.txt */, 6A38BBFA15FC117A00A8A51F /* Makefile */, - 6A38BBFB15FC117A00A8A51F /* phrase.occ */, - 6A38BBFC15FC117A00A8A51F /* PhraseFreq.txt */, - 6A38BBFD15FC117A00A8A51F /* README */, ); path = Data; sourceTree = ""; @@ -494,7 +468,7 @@ /* Begin PBXLegacyTarget section */ 6A38BC2115FC12FD00A8A51F /* Data */ = { isa = PBXLegacyTarget; - buildArgumentsString = "$(ACTION) CHSBuild"; + buildArgumentsString = "$(ACTION) tsi-chs tsi-cht"; buildConfigurationList = 6A38BC2215FC12FD00A8A51F /* Build configuration list for PBXLegacyTarget "Data" */; buildPhases = ( ); @@ -596,14 +570,14 @@ 6A0D4F0915FC0DA600ABF4B3 /* Bopomofo@2x.tiff in Resources */, 6A0D4F5315FC0EE100ABF4B3 /* preferences.xib in Resources */, 6A0D4F5715FC0EF900ABF4B3 /* InfoPlist.strings in Resources */, + 5B000FC3278495AD004F02AC /* SimpBopomofo.tiff in Resources */, 6A0D4F5815FC0EF900ABF4B3 /* Localizable.strings in Resources */, 6A2E40F6253A69DA00D1AE1D /* Images.xcassets in Resources */, 6A38BC1515FC117A00A8A51F /* data.txt in Resources */, 6AFF97F2253B299E007F1C49 /* OVNonModalAlertWindowController.xib in Resources */, - 6AE210B215FC63CC003659FE /* PlainBopomofo.tiff in Resources */, - 6AE210B315FC63CC003659FE /* PlainBopomofo@2x.tiff in Resources */, - 6AD7CBC815FE555000691B5B /* data-plain-bpmf.txt in Resources */, 6A187E2616004C5900466B2E /* MainMenu.xib in Resources */, + 5BC3FB83278492DE0022E99A /* data-chs.txt in Resources */, + 5B000FC4278495AD004F02AC /* SimpBopomofo@2x.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; };