2.0.0 SP2 // IMKCandidates. Merge PR!93 from upd/2.0.0sp2

This commit is contained in:
ShikiSuen 2022-08-22 02:39:54 +00:00 committed by Gitee
commit 2c52c41dfa
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
20 changed files with 111 additions and 123 deletions

View File

@ -0,0 +1,10 @@
#import <InputMethodKit/InputMethodKit.h>
@interface IMKCandidates(vChewing) {}
- (unsigned long long)windowLevel;
- (void)setWindowLevel:(unsigned long long)level;
- (BOOL)handleKeyboardEvent:(NSEvent *)event;
- (void)setFontSize:(double)fontSize;
@end

View File

@ -39,6 +39,9 @@ extension ctlInputMethod {
}
}
///
guard client() != nil else { return false }
/// flags使 KeyHandler
/// flags
/// event.type == .flagsChanged return false

View File

@ -252,7 +252,7 @@ class ctlInputMethod: IMKInputController {
isARepeat: event.isARepeat,
keyCode: event.keyCode
)
ctlCandidateCurrent.perform(Selector(("handleKeyboardEvent:")), with: newEvent)
ctlCandidateCurrent.handleKeyboardEvent(newEvent)
}
ctlCandidateCurrent.interpretKeyEvents([event])

View File

@ -91,7 +91,7 @@ extension ctlInputMethod {
ctlInputMethod.ctlCandidateCurrent.keyLabelFont = labelFont(
name: mgrPrefs.candidateKeyLabelFontName, size: keyLabelSize
)
ctlInputMethod.ctlCandidateCurrent.candidateFont = candidateFont(
ctlInputMethod.ctlCandidateCurrent.candidateFont = ctlInputMethod.candidateFont(
name: mgrPrefs.candidateTextFontName, size: textSize
)
@ -107,10 +107,10 @@ extension ctlInputMethod {
ctlInputMethod.ctlCandidateCurrent.reloadData()
// Spotlight IMK
if let ctlCandidateCurrent = ctlInputMethod.ctlCandidateCurrent as? ctlCandidateIMK,
mgrPrefs.adjustIMKCandidateWindowLevel
{
ctlCandidateCurrent.perform(Selector(("setWindowLevel:")), with: client.windowLevel() + 1000)
if let ctlCandidateCurrent = ctlInputMethod.ctlCandidateCurrent as? ctlCandidateIMK {
while ctlCandidateCurrent.windowLevel() <= client.windowLevel() {
ctlCandidateCurrent.setWindowLevel(UInt64(max(0, client.windowLevel() + 1000)))
}
}
ctlInputMethod.ctlCandidateCurrent.visible = true
@ -166,7 +166,7 @@ extension ctlInputMethod {
/// 5) Do NOT enable either KangXi conversion mode nor JIS conversion mode. They are disabled by default.
/// 6) Expecting the glyph differences of the candidate "" between PingFang SC and PingFang TC when rendering
/// the candidate window in different "vChewing-CHS" and "vChewing-CHT" input modes.
func candidateFont(name: String?, size: CGFloat) -> NSFont {
static func candidateFont(name: String? = nil, size: CGFloat) -> NSFont {
let finalReturnFont: NSFont =
{
switch IME.currentInputMode {
@ -181,7 +181,7 @@ extension ctlInputMethod {
}
}()
?? NSFont.systemFont(ofSize: size)
if let name = name {
if let name = name, !name.isEmpty {
return NSFont(name: name, size: size) ?? finalReturnFont
}
return finalReturnFont

View File

@ -54,7 +54,6 @@ public enum UserDef: String, CaseIterable {
case kUseIMKCandidateWindow = "UseIMKCandidateWindow"
case kHandleDefaultCandidateFontsByLangIdentifier = "HandleDefaultCandidateFontsByLangIdentifier"
case kShouldAlwaysUseShiftKeyAccommodation = "ShouldAlwaysUseShiftKeyAccommodation"
case kAdjustIMKCandidateWindowLevel = "AdjustIMKCandidateWindowLevel"
case kCandidateTextFontName = "CandidateTextFontName"
case kCandidateKeyLabelFontName = "CandidateKeyLabelFontName"
@ -297,9 +296,6 @@ public enum mgrPrefs {
UserDefaults.standard.setDefault(
mgrPrefs.shouldAlwaysUseShiftKeyAccommodation, forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue
)
UserDefaults.standard.setDefault(
mgrPrefs.adjustIMKCandidateWindowLevel, forKey: UserDef.kAdjustIMKCandidateWindowLevel.rawValue
)
// -----
@ -423,9 +419,6 @@ public enum mgrPrefs {
@UserDefault(key: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue, defaultValue: false)
static var shouldAlwaysUseShiftKeyAccommodation: Bool
@UserDefault(key: UserDef.kAdjustIMKCandidateWindowLevel.rawValue, defaultValue: false)
static var adjustIMKCandidateWindowLevel: Bool
// MARK: - Settings (Tier 3)
static var minCandidateLength: Int {
@ -695,7 +688,6 @@ extension mgrPrefs {
// macOS 10.14 IMKCandidates
if #unavailable(macOS 10.14) {
mgrPrefs.useIMKCandidateWindow = false
mgrPrefs.adjustIMKCandidateWindowLevel = false
}
if #unavailable(macOS 10.15) {
mgrPrefs.handleDefaultCandidateFontsByLangIdentifier = false

View File

@ -50,7 +50,34 @@ public class ctlCandidateIMK: IMKCandidates, ctlCandidateProtocol {
public var keyLabelFont: NSFont = NSFont.monospacedDigitSystemFont(
ofSize: 14, weight: .medium
)
public var candidateFont: NSFont = NSFont.systemFont(ofSize: 18)
public var candidateFont: NSFont = NSFont.systemFont(ofSize: 18) {
didSet {
setFontSize(candidateFont.pointSize)
var attributes = attributes()
// FB11300759: Set "NSAttributedString.Key.font" doesn't work.
attributes?[NSAttributedString.Key.font] = candidateFont
if mgrPrefs.handleDefaultCandidateFontsByLangIdentifier {
switch IME.currentInputMode {
case InputMode.imeModeCHS:
if #available(macOS 12.0, *) {
attributes?[NSAttributedString.Key.languageIdentifier] = "zh-Hans" as AnyObject
}
case InputMode.imeModeCHT:
if #available(macOS 12.0, *) {
attributes?[NSAttributedString.Key.languageIdentifier] =
(mgrPrefs.shiftJISShinjitaiOutputEnabled || mgrPrefs.chineseConversionEnabled)
? "ja" as AnyObject : "zh-Hant" as AnyObject
}
default:
break
}
}
setAttributes(attributes)
update()
}
}
public var tooltip: String = ""
var keyCount = 0
@ -64,13 +91,13 @@ public class ctlCandidateIMK: IMKCandidates, ctlCandidateProtocol {
case .vertical:
setPanelType(kIMKSingleColumnScrollingCandidatePanel)
}
// true ctlIME
setAttributes([IMKCandidatesSendServerKeyEventFirst: true])
}
public required init(_ layout: CandidateLayout = .horizontal) {
super.init(server: theServer, panelType: kIMKScrollingGridCandidatePanel)
specifyLayout(layout)
// true ctlIME
setAttributes([IMKCandidatesSendServerKeyEventFirst: true])
visible = false
// guard let currentTISInputSource = currentTISInputSource else { return } //
// setSelectionKeys([18, 19, 20, 21, 23, 22, 26, 28, 25]) //
@ -301,7 +328,7 @@ public class ctlCandidateIMK: IMKCandidates, ctlCandidateProtocol {
return
}
} else {
perform(Selector(("handleKeyboardEvent:")), with: newEvent)
handleKeyboardEvent(newEvent)
return
}
}

View File

@ -16,8 +16,6 @@ struct suiPrefPaneDevZone: View {
forKey: UserDef.kHandleDefaultCandidateFontsByLangIdentifier.rawValue)
@State private var selShouldAlwaysUseShiftKeyAccommodation: Bool = UserDefaults.standard.bool(
forKey: UserDef.kShouldAlwaysUseShiftKeyAccommodation.rawValue)
@State private var selAdjustIMKCandidateWindowLevel: Bool = UserDefaults.standard.bool(
forKey: UserDef.kAdjustIMKCandidateWindowLevel.rawValue)
private let contentMaxHeight: Double = 430
private let contentWidth: Double = {
@ -33,6 +31,13 @@ struct suiPrefPaneDevZone: View {
}
}()
var isMontereyOrAbove: Bool = {
if #available(macOS 12.0, *) {
return true
}
return false
}()
var body: some View {
ScrollView {
Preferences.Container(contentWidth: contentWidth) {
@ -51,17 +56,9 @@ struct suiPrefPaneDevZone: View {
NSApplication.shared.terminate(nil)
}
)
Text(LocalizedStringKey("IMK candidate window is plagued with issues and incapabilities."))
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
Toggle(
LocalizedStringKey("Adjust the window level of IMK Candidate Window"),
isOn: $selAdjustIMKCandidateWindowLevel.onChange {
mgrPrefs.adjustIMKCandidateWindowLevel = selAdjustIMKCandidateWindowLevel
}
).disabled(mgrPrefs.useIMKCandidateWindow == false)
Text(
LocalizedStringKey(
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop."
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases."
)
)
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
@ -77,6 +74,7 @@ struct suiPrefPaneDevZone: View {
)
)
.preferenceDescription().fixedSize(horizontal: false, vertical: true)
.disabled(!isMontereyOrAbove)
Toggle(
LocalizedStringKey("Use Shift Key Accommodation in all cases"),
isOn: $selShouldAlwaysUseShiftKeyAccommodation.onChange {

View File

@ -52,6 +52,8 @@ struct suiPrefPaneGeneral: View {
}
}()
let enabledFontSizes = [12, 14, 16, 17, 18, 20, 22, 24, 32, 64, 96]
var body: some View {
ScrollView {
Preferences.Container(contentWidth: contentWidth) {
@ -62,18 +64,12 @@ struct suiPrefPaneGeneral: View {
mgrPrefs.candidateListTextSize = CGFloat(selCandidateUIFontSize)
}
) {
Text("12").tag(12)
Text("14").tag(14)
Text("16").tag(16)
Text("18").tag(18)
Text("24").tag(24)
Text("32").tag(32)
Text("64").tag(64)
Text("96").tag(96)
ForEach(0...(enabledFontSizes.count - 1), id: \.self) { id in
Text(String(enabledFontSizes[id])).tag(enabledFontSizes[id])
}.id(UUID())
}
.labelsHidden()
.frame(width: 120.0)
.disabled(mgrPrefs.useIMKCandidateWindow)
Text(LocalizedStringKey("Choose candidate font size for better visual clarity."))
.preferenceDescription()
}

View File

@ -88,7 +88,6 @@
// SwiftUI Preferences
"(Shift+)Space:" = "(Shift+)Space:";
"Adjust the window level of IMK Candidate Window" = "Adjust the window level of IMK Candidate Window";
"Allow backspace-editing miscomposed readings" = "Allow backspace-editing miscomposed readings";
"Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji";
"Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
@ -148,8 +147,7 @@
"Hsu" = "Hsu";
"Hualuo Pinyin with Numeral Intonation" = "Hualuo Pinyin with Numeral Intonation";
"IBM" = "IBM";
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.";
"IMK candidate window is plagued with issues and incapabilities." = "IMK candidate window is plagued with issues and incapabilities.";
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.";
"in front of the phrase (like macOS built-in Zhuyin IME)" = "in front of the phrase (like macOS built-in Zhuyin IME)";
"Japanese" = "Japanese";
"Keyboard Shortcuts:" = "Keyboard Shortcuts:";

View File

@ -88,7 +88,6 @@
// SwiftUI Preferences
"(Shift+)Space:" = "(Shift+)Space:";
"Adjust the window level of IMK Candidate Window" = "Adjust the window level of IMK Candidate Window";
"Allow backspace-editing miscomposed readings" = "Allow backspace-editing miscomposed readings";
"Allow boosting / excluding a candidate of single kanji" = "Allow boosting / excluding a candidate of single kanji";
"Allow using Enter key to confirm associated candidate selection" = "Allow using Enter key to confirm associated candidate selection";
@ -148,8 +147,7 @@
"Hsu" = "Hsu";
"Hualuo Pinyin with Numeral Intonation" = "Hualuo Pinyin with Numeral Intonation";
"IBM" = "IBM";
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.";
"IMK candidate window is plagued with issues and incapabilities." = "IMK candidate window is plagued with issues and incapabilities.";
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.";
"in front of the phrase (like macOS built-in Zhuyin IME)" = "in front of the phrase (like macOS built-in Zhuyin IME)";
"Japanese" = "Japanese";
"Keyboard Shortcuts:" = "Keyboard Shortcuts:";

View File

@ -88,7 +88,6 @@
// SwiftUI Preferences
"(Shift+)Space:" = "(Shift+)Space:";
"Adjust the window level of IMK Candidate Window" = "IMK 候補陳列ウィンドウの表示の優先順位を調整する";
"Allow backspace-editing miscomposed readings" = "効かぬ音読みを BackSpace で再編集";
"Allow boosting / excluding a candidate of single kanji" = "即排除/即最優先にできる候補の文字数の最低限は1字とする";
"Allow using Enter key to confirm associated candidate selection" = "Enter キーを連想語彙候補の確認のために使う";
@ -148,8 +147,7 @@
"Hsu" = "許氏国音自然配列";
"Hualuo Pinyin with Numeral Intonation" = "中華ローマ弁音 (ローマ字+数字音調)";
"IBM" = "IBM 配列";
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK 候補陳列ウィンドウにはこういう欠陥がある (#FB11300759):何の特殊措置をしない限り、候補陳列ウィンドウは常に NSMenu と Spotlight に遮られている。これをチェックすれば、毎度候補陳列ウィンドウを呼ぶたびに、候補陳列ウィンドウの表示の優先順位を自動的に調整する。だが、この特殊措置こそが、完璧とは言えぬ(この欠陥も #FB11300759 に記されておる一旦入力アプリ自身が再起動すると、このパソコンの再起動まで、IMK 候補陳列ウィンドウは所在のデスクトップの全てのウィンドウの後ろに隠されてしまうことになる。";
"IMK candidate window is plagued with issues and incapabilities." = "IMK 候補陳列ウィンドウで言選り用キーは現時点で調整不可、且つ他故障あり。";
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK 候補陳列ウィンドウは、Apple の未公開のAPIを「bridging-header」という強引的な手段で引き出して利用した機能である。現時点で macOS 10.14 Mojave から macOS 13 Ventura まで利用可能であるが、その後の新しい macOS との互換性の話はまだ早い。";
"in front of the phrase (like macOS built-in Zhuyin IME)" = "単語の前で // macOS 内蔵注音入力のやり方";
"Japanese" = "和語";
"Keyboard Shortcuts:" = "ショートカット:";

View File

@ -88,7 +88,6 @@
// SwiftUI Preferences
"(Shift+)Space:" = "(Shift+)空格键:";
"Adjust the window level of IMK Candidate Window" = "调整 IMK 选字窗的显示优先级";
"Allow backspace-editing miscomposed readings" = "允许对无效的读音使用 BackSpace 编辑";
"Allow boosting / excluding a candidate of single kanji" = "将可以就地升权/排除的候选字词的最短词长设为单个汉字";
"Allow using Enter key to confirm associated candidate selection" = "允许使用 Enter 确认当前选中的联想词";
@ -148,8 +147,7 @@
"Hsu" = "许氏国音自然排列";
"Hualuo Pinyin with Numeral Intonation" = "华罗拼音+数字标调";
"IBM" = "IBM 排列";
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK 选字窗有一处行为缺陷 (#FB11300759):在预设情况下,会始终被 NSMenu 和 Spotlight 挡住。启用该选项的话,威注音会试图根据当前状况自动调整该选字窗的显示优先级。然而,该保守治疗方案本身也有一个缺陷 (也备案于 #FB11300759):只要输入法本身有重新启动过,则 IMK 选字窗便会顽固地显示于当前桌面所有视窗的底部,直至重新开机为止。";
"IMK candidate window is plagued with issues and incapabilities." = "IMK 选字窗目前暂时无法正常自订选字键,并具其它未知故障。";
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK 选字窗依赖于 Apple 的私有 API而且是借由桥接档案头强制曝露的方法使用的。目前该功能仅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系统内有测试过可用性。至于在未来的 macOS 发行版当中是否可用,则需要另行测试、才能下结论。";
"in front of the phrase (like macOS built-in Zhuyin IME)" = "将游标置于词语前方 // macOS 内建注音风格";
"Japanese" = "和语";
"Keyboard Shortcuts:" = "键盘快捷键:";

View File

@ -88,7 +88,6 @@
// SwiftUI Preferences
"(Shift+)Space:" = "(Shift+)空格鍵:";
"Adjust the window level of IMK Candidate Window" = "調整 IMK 選字窗的顯示優先級";
"Allow backspace-editing miscomposed readings" = "允許對無效的讀音使用 BackSpace 編輯";
"Allow boosting / excluding a candidate of single kanji" = "將可以就地升權/排除的候選字詞的最短詞長設為單個漢字";
"Allow using Enter key to confirm associated candidate selection" = "允許使用 Enter 確認當前選中的聯想詞";
@ -148,8 +147,7 @@
"Hsu" = "許氏國音自然排列";
"Hualuo Pinyin with Numeral Intonation" = "華羅拼音+數字標調";
"IBM" = "IBM 排列";
"IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop." = "IMK 選字窗有一處行為缺陷 (#FB11300759):在預設情況下,會始終被 NSMenu 和 Spotlight 擋住。啟用該選項的話,威注音會試圖根據當前狀況自動調整該選字窗的顯示優先級。然而,該保守治療方案本身也有一個缺陷 (也備案於 #FB11300759):只要輸入法本身有重新啟動過,則 IMK 選字窗便會頑固地顯示於當前桌面所有視窗的底部,直至重新開機為止。";
"IMK candidate window is plagued with issues and incapabilities." = "IMK 選字窗目前暫時無法正常自訂選字鍵,併具其它未知故障。";
"IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases." = "IMK 選字窗依賴於 Apple 的私有 API而且是藉由橋接檔案頭強制曝露的方法使用的。目前該功能僅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系統內有測試過可用性。至於在未來的 macOS 發行版當中是否可用,則需要另行測試、才能下結論。";
"in front of the phrase (like macOS built-in Zhuyin IME)" = "將游標置於詞語前方 // macOS 內建注音風格";
"Japanese" = "和語";
"Keyboard Shortcuts:" = "鍵盤快速鍵:";

View File

@ -252,7 +252,10 @@
<menuItem title="12" tag="12" id="93"/>
<menuItem title="14" tag="14" id="94"/>
<menuItem title="16" tag="16" id="95"/>
<menuItem title="17" tag="17" id="utP-KB-Eku"/>
<menuItem title="18" state="on" tag="18" id="96"/>
<menuItem title="20" tag="20" id="VXR-P6-Ipf"/>
<menuItem title="22" tag="22" id="EtM-QP-Muf"/>
<menuItem title="24" tag="24" id="98"/>
<menuItem title="32" tag="32" id="99"/>
<menuItem title="64" tag="64" id="100"/>
@ -262,11 +265,6 @@
</popUpButtonCell>
<connections>
<binding destination="32" name="selectedTag" keyPath="values.CandidateListTextSize" id="107"/>
<binding destination="32" name="enabled" keyPath="values.UseIMKCandidateWindow" id="bpc-Zm-I2n">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections>
</popUpButton>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0Fh-O5-BKD">
@ -1060,11 +1058,11 @@
<point key="canvasLocation" x="-392" y="-704"/>
</visualEffectView>
<visualEffectView blendingMode="behindWindow" material="sidebar" state="followsWindowActiveState" id="Qd7-ln-nNO" userLabel="vwrDevZone">
<rect key="frame" x="0.0" y="0.0" width="445" height="272"/>
<rect key="frame" x="0.0" y="0.0" width="445" height="190"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lblControlDevZoneTitleDescription" userLabel="lblControlDevZoneTitleDescription">
<rect key="frame" x="18" y="222" width="343" height="30"/>
<rect key="frame" x="18" y="140" width="343" height="30"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" id="lblDevZoneTitleDescription">
<font key="font" metaFont="cellTitle"/>
<string key="title">Warning: This page is for testing future features.
@ -1074,10 +1072,10 @@ Features listed here may not work as expected.</string>
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="P1o-bW-Tjn">
<rect key="frame" x="20" y="211" width="339" height="5"/>
<rect key="frame" x="20" y="129" width="339" height="5"/>
</box>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="le7-59-tFK" userLabel="tglControlDevZoneIMKCandidate">
<rect key="frame" x="19" y="191.5" width="340" height="17"/>
<rect key="frame" x="19" y="109.5" width="340" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="054-U2-1Xk"/>
</constraints>
@ -1091,39 +1089,13 @@ Features listed here may not work as expected.</string>
</connections>
</button>
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jrF-Cr-EDB" userLabel="lblControlDevZoneIMKCandidate">
<rect key="frame" x="18" y="169" width="409" height="14"/>
<rect key="frame" x="18" y="31" width="409" height="70"/>
<constraints>
<constraint firstAttribute="width" constant="405" id="eHP-6y-RUV"/>
</constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="IMK candidate window is plagued with issues and incapabilities." id="lblDevZoneIMKCandidate" userLabel="lblDevZoneIMKCandidate">
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="lblDevZoneIMKCandidate" userLabel="lblDevZoneIMKCandidate">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="OJj-Hq-nF8" userLabel="tglControlDevZoneIMKCandidateLevel">
<rect key="frame" x="19" y="145.5" width="406" height="17"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="pEL-6t-gbP"/>
</constraints>
<buttonCell key="cell" type="check" title="Adjust the window level of IMK Candidate Window" bezelStyle="regularSquare" imagePosition="left" controlSize="small" state="on" inset="2" id="tglDevZoneIMKCandidateLevel" userLabel="tglDevZoneIMKCandidateLevel">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="cellTitle"/>
</buttonCell>
<connections>
<binding destination="32" name="value" keyPath="values.AdjustIMKCandidateWindowLevel" id="E6Z-Rn-IHD"/>
<binding destination="32" name="enabled" keyPath="values.UseIMKCandidateWindow" id="qla-KO-plC"/>
</connections>
</button>
<textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4qO-ck-Pzw" userLabel="lblControlDevZoneIMKCandidateLevel">
<rect key="frame" x="18" y="39" width="409" height="98"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="98" id="s4O-ec-pBz"/>
<constraint firstAttribute="width" constant="405" id="zNy-dn-yPR"/>
</constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" id="lblDevZoneIMKCandidateLevel" userLabel="lblDevZoneIMKCandidateLevel">
<font key="font" metaFont="smallSystem"/>
<string key="title">IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.</string>
<string key="title">IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.</string>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@ -1131,24 +1103,18 @@ Features listed here may not work as expected.</string>
</subviews>
<constraints>
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="leading" secondItem="Qd7-ln-nNO" secondAttribute="leading" constant="20" symbolic="YES" id="0Ia-ut-ksj"/>
<constraint firstItem="OJj-Hq-nF8" firstAttribute="top" secondItem="jrF-Cr-EDB" secondAttribute="bottom" constant="6.5" id="2sJ-y7-C7J"/>
<constraint firstItem="le7-59-tFK" firstAttribute="trailing" secondItem="P1o-bW-Tjn" secondAttribute="trailing" id="5G1-VY-skr"/>
<constraint firstItem="jrF-Cr-EDB" firstAttribute="trailing" secondItem="OJj-Hq-nF8" secondAttribute="trailing" id="EL1-YF-bHq"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="jrF-Cr-EDB" secondAttribute="trailing" constant="20" symbolic="YES" id="H1b-Lt-gQQ"/>
<constraint firstItem="jrF-Cr-EDB" firstAttribute="leading" secondItem="le7-59-tFK" secondAttribute="leading" id="HZn-ty-n6v"/>
<constraint firstItem="4qO-ck-Pzw" firstAttribute="top" secondItem="OJj-Hq-nF8" secondAttribute="bottom" constant="9" id="L8p-vO-Fo7"/>
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="trailing" secondItem="P1o-bW-Tjn" secondAttribute="trailing" id="LqC-ii-aOO"/>
<constraint firstItem="4qO-ck-Pzw" firstAttribute="leading" secondItem="OJj-Hq-nF8" secondAttribute="leading" id="UVx-eH-QjH"/>
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="leading" secondItem="P1o-bW-Tjn" secondAttribute="leading" id="Wc3-Oe-D2E"/>
<constraint firstItem="P1o-bW-Tjn" firstAttribute="top" secondItem="lblControlDevZoneTitleDescription" secondAttribute="bottom" constant="8" symbolic="YES" id="Whf-Gf-g65"/>
<constraint firstAttribute="bottom" relation="lessThanOrEqual" secondItem="4qO-ck-Pzw" secondAttribute="bottom" constant="39" id="Wrk-iz-rTZ"/>
<constraint firstItem="jrF-Cr-EDB" firstAttribute="leading" secondItem="OJj-Hq-nF8" secondAttribute="leading" id="Z1H-NT-vGK"/>
<constraint firstItem="jrF-Cr-EDB" firstAttribute="top" secondItem="le7-59-tFK" secondAttribute="bottom" constant="9" id="aj4-H1-92H"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="4qO-ck-Pzw" secondAttribute="trailing" constant="20" symbolic="YES" id="erj-vd-tL0"/>
<constraint firstItem="le7-59-tFK" firstAttribute="top" secondItem="P1o-bW-Tjn" secondAttribute="bottom" constant="5.5" id="j3c-3A-4JT"/>
<constraint firstItem="le7-59-tFK" firstAttribute="leading" secondItem="P1o-bW-Tjn" secondAttribute="leading" id="tqq-97-fHt"/>
<constraint firstItem="lblControlDevZoneTitleDescription" firstAttribute="top" secondItem="Qd7-ln-nNO" secondAttribute="top" constant="20" symbolic="YES" id="vYg-x4-tfo"/>
</constraints>
<point key="canvasLocation" x="-393.5" y="-66"/>
<point key="canvasLocation" x="-393.5" y="-107"/>
</visualEffectView>
</objects>
</document>

View File

@ -62,8 +62,7 @@
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
"lblDevZoneIMKCandidate.title" = "IMK candidate window is plagued with issues and incapabilities.";
"lblDevZoneIMKCandidateLevel.title" = "IMK Candidate Window has a bug (#FB11300759) that it is always shown below NSMenu and Spotlight window by default. By toggling this checkbox, vChewing will attempt to adjust its window level according to its current context. However, this accomodation itself has a bug (also filed in #FB11300759): as long as vChewing application restarted once, IMK Candidate Window will always be shown beneath all other windows in the current desktop.";
"lblDevZoneIMKCandidate.title" = "IMK candidate window relies on certain Apple private APIs which are force-exposed by using bridging headers. Its usability, at this moment, is only guaranteed from macOS 10.14 Mojave to macOS 13 Ventura. Further tests are required in the future in order to tell whether it is usable in newer macOS releases.";
"lblDevZoneTitleDescription.title" = "Warning: This page is for testing future features. \nFeatures listed here may not work as expected.";
"lblUpperCaseLetterKeyBehavior.title" = "Choose the behavior of Shift+Letter key with letter inputs.";
"Parser11.title" = "Secondary Pinyin with Numeral Intonation";
@ -81,7 +80,6 @@
"s7u-Fm-dVg.title" = "Cycling Pages";
"shc-Nu-UsM.title" = "Show page buttons in candidate list";
"tglDevZoneIMKCandidate.title" = "Use IMK Candidate Window instead (will reboot the IME)";
"tglDevZoneIMKCandidateLevel.title" = "Adjust the window level of IMK Candidate Window";
"TXr-FF-ehw.title" = "Traditional Chinese";
"ueU-Rz-a1C.title" = "Choose the behavior of (Shift+)Tab key in the candidate window.";
"VdT-fw-7pQ.title" = "Debug Mode";

View File

@ -62,8 +62,7 @@
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
"lblDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウで言選り用キーは現時点で調整不可、且つ他故障あり。";
"lblDevZoneIMKCandidateLevel.title" = "IMK 候補陳列ウィンドウにはこういう欠陥がある (#FB11300759):何の特殊措置をしない限り、候補陳列ウィンドウは常に NSMenu と Spotlight に遮られている。これをチェックすれば、毎度候補陳列ウィンドウを呼ぶたびに、候補陳列ウィンドウの表示の優先順位を自動的に調整する。だが、この特殊措置こそが、完璧とは言えぬ(この欠陥も #FB11300759 に記されておる一旦入力アプリ自身が再起動すると、このパソコンの再起動まで、IMK 候補陳列ウィンドウは所在のデスクトップの全てのウィンドウの後ろに隠されてしまうことになる。";
"lblDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウは、Apple の未公開のAPIを「bridging-header」という強引的な手段で引き出して利用した機能である。現時点で macOS 10.14 Mojave から macOS 13 Ventura まで利用可能であるが、その後の新しい macOS との互換性の話はまだ早い。";
"lblDevZoneTitleDescription.title" = "警告:これからの新機能テストのために作ったページですから、\nここで陳列されている諸機能は予想通り動けるだと思わないでください。";
"lblUpperCaseLetterKeyBehavior.title" = "Shift+文字キーの行為をご指定ください。";
"Parser11.title" = "国音二式 (ローマ字+数字音調)";
@ -81,7 +80,6 @@
"s7u-Fm-dVg.title" = "ページ";
"shc-Nu-UsM.title" = "ページボタンを表示";
"tglDevZoneIMKCandidate.title" = "IMK 候補陳列ウィンドウを起用(入力アプリは自動的に再起動)";
"tglDevZoneIMKCandidateLevel.title" = "IMK 候補陳列ウィンドウの表示の優先順位を調整する";
"TXr-FF-ehw.title" = "繁体中国語";
"ueU-Rz-a1C.title" = "入力候補陳列での (Shift+)Tab キーの輪番切替対象をご指定ください。";
"VdT-fw-7pQ.title" = "欠陥辿着モード";

View File

@ -62,8 +62,7 @@
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
"lblDevZoneIMKCandidate.title" = "IMK 选字窗目前暂时无法正常自订选字键,并具其它未知故障。";
"lblDevZoneIMKCandidateLevel.title" = "IMK 选字窗有一处行为缺陷 (#FB11300759):在预设情况下,会始终被 NSMenu 和 Spotlight 挡住。启用该选项的话,威注音会试图根据当前状况自动调整该选字窗的显示优先级。然而,该保守治疗方案本身也有一个缺陷 (也备案于 #FB11300759):只要输入法本身有重新启动过,则 IMK 选字窗便会顽固地显示于当前桌面所有视窗的底部,直至重新开机为止。";
"lblDevZoneIMKCandidate.title" = "IMK 选字窗依赖于 Apple 的私有 API而且是借由桥接档案头强制曝露的方法使用的。目前该功能仅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系统内有测试过可用性。至于在未来的 macOS 发行版当中是否可用,则需要另行测试、才能下结论。";
"lblDevZoneTitleDescription.title" = "警告:该页面仅作未来功能测试所用。\n在此列出的功能并非处于完全可用之状态。";
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母键 的行为。";
"Parser11.title" = "国音二式+数字标调";
@ -81,7 +80,6 @@
"s7u-Fm-dVg.title" = "轮替页面";
"shc-Nu-UsM.title" = "在选字窗内显示翻页按钮";
"tglDevZoneIMKCandidate.title" = "启用与 macOS 内建输入法相同的 IMK 选字窗(会自动重启输入法)";
"tglDevZoneIMKCandidateLevel.title" = "调整 IMK 选字窗的显示优先级";
"TXr-FF-ehw.title" = "繁体中文";
"ueU-Rz-a1C.title" = "指定 (Shift+)Tab 热键在选字窗内的轮替操作对象。";
"VdT-fw-7pQ.title" = "侦错模式";

View File

@ -62,8 +62,7 @@
"jQC-12-UuK.ibShadowedObjectValues[0]" = "Item 1";
"jQC-12-UuK.ibShadowedObjectValues[1]" = "Item 2";
"jQC-12-UuK.ibShadowedObjectValues[2]" = "Item 3";
"lblDevZoneIMKCandidate.title" = "IMK 選字窗目前暫時無法正常自訂選字鍵,併具其它未知故障。";
"lblDevZoneIMKCandidateLevel.title" = "IMK 選字窗有一處行為缺陷 (#FB11300759):在預設情況下,會始終被 NSMenu 和 Spotlight 擋住。啟用該選項的話,威注音會試圖根據當前狀況自動調整該選字窗的顯示優先級。然而,該保守治療方案本身也有一個缺陷 (也備案於 #FB11300759):只要輸入法本身有重新啟動過,則 IMK 選字窗便會頑固地顯示於當前桌面所有視窗的底部,直至重新開機為止。";
"lblDevZoneIMKCandidate.title" = "IMK 選字窗依賴於 Apple 的私有 API而且是藉由橋接檔案頭強制曝露的方法使用的。目前該功能僅在 macOS 10.14 Mojave 至 macOS 13 Ventura 系統內有測試過可用性。至於在未來的 macOS 發行版當中是否可用,則需要另行測試、才能下結論。";
"lblDevZoneTitleDescription.title" = "警告:該頁面僅作未來功能測試所用。\n在此列出的功能並非處於完全可用之狀態。";
"lblUpperCaseLetterKeyBehavior.title" = "指定 Shift+字母鍵 的行為。";
"Parser11.title" = "國音二式+數字標調";
@ -81,7 +80,6 @@
"s7u-Fm-dVg.title" = "輪替頁面";
"shc-Nu-UsM.title" = "在選字窗內顯示翻頁按鈕";
"tglDevZoneIMKCandidate.title" = "啟用與 macOS 內建輸入法相同的 IMK 選字窗(會自動重啟輸入法)";
"tglDevZoneIMKCandidateLevel.title" = "調整 IMK 選字窗的顯示優先級";
"TXr-FF-ehw.title" = "繁體中文";
"ueU-Rz-a1C.title" = "指定 (Shift+)Tab 熱鍵在選字窗內的輪替操作對象。";
"VdT-fw-7pQ.title" = "偵錯模式";

View File

@ -5,7 +5,7 @@
<key>CFBundleShortVersionString</key>
<string>2.0.0</string>
<key>CFBundleVersion</key>
<string>2001</string>
<string>2002</string>
<key>UpdateInfoEndpoint</key>
<string>https://gitee.com/vchewing/vChewing-macOS/raw/main/Update-Info.plist</string>
<key>UpdateInfoSite</key>

View File

@ -332,6 +332,7 @@
5BEDB71E283B4AEA0078EB25 /* data-symbols.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-symbols.plist"; path = "Data/data-symbols.plist"; sourceTree = "<group>"; };
5BEDB71F283B4AEA0078EB25 /* data-zhuyinwen.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-zhuyinwen.plist"; path = "Data/data-zhuyinwen.plist"; sourceTree = "<group>"; };
5BEDB720283B4AEA0078EB25 /* data-cht.plist */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = "data-cht.plist"; path = "Data/data-cht.plist"; sourceTree = "<group>"; };
5BF255CD28B2694E003ECB60 /* vChewing-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "vChewing-Bridging-Header.h"; sourceTree = "<group>"; };
5BF9DA2228840E6200DBD48E /* template-usersymbolphrases.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; path = "template-usersymbolphrases.txt"; sourceTree = "<group>"; usesTabs = 0; };
5BF9DA2328840E6200DBD48E /* template-exclusions.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; path = "template-exclusions.txt"; sourceTree = "<group>"; usesTabs = 0; };
5BF9DA2428840E6200DBD48E /* template-associatedPhrases-chs.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; lineEnding = 0; name = "template-associatedPhrases-chs.txt"; path = "../Data/components/chs/template-associatedPhrases-chs.txt"; sourceTree = "<group>"; usesTabs = 0; };
@ -760,6 +761,14 @@
path = KeyboardExtension;
sourceTree = "<group>";
};
5BF255CC28B2690B003ECB60 /* Headers */ = {
isa = PBXGroup;
children = (
5BF255CD28B2694E003ECB60 /* vChewing-Bridging-Header.h */,
);
path = Headers;
sourceTree = "<group>";
};
6A0D4E9215FC0CFA00ABF4B3 = {
isa = PBXGroup;
children = (
@ -793,6 +802,7 @@
children = (
5B62A35027AE7F6600A19448 /* Data */,
5B62A30127AE732800A19448 /* 3rdParty */,
5BF255CC28B2690B003ECB60 /* Headers */,
6A0D4F1215FC0EB100ABF4B3 /* Modules */,
5B62A33027AE78E500A19448 /* Resources */,
5B62A33A27AE7C7500A19448 /* WindowControllers */,
@ -962,7 +972,7 @@
ProvisioningStyle = Automatic;
};
6A0D4EA115FC0D2D00ABF4B3 = {
LastSwiftMigration = 1240;
LastSwiftMigration = 1400;
ProvisioningStyle = Automatic;
};
6ACA41CA15FC1D7500935EF6 = {
@ -1421,7 +1431,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
@ -1460,7 +1470,7 @@
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@ -1497,7 +1507,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
DEAD_CODE_STRIPPING = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
@ -1547,7 +1557,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
DEAD_CODE_STRIPPING = YES;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
@ -1668,6 +1678,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
@ -1678,7 +1689,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
@ -1711,6 +1722,7 @@
PRODUCT_BUNDLE_IDENTIFIER = org.atelierInmu.inputmethod.vChewing;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OBJC_BRIDGING_HEADER = "Source/Headers/vChewing-Bridging-Header.h";
SWIFT_VERSION = 5.0;
WRAPPER_EXTENSION = app;
};
@ -1723,6 +1735,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
@ -1733,7 +1746,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_ASSET_PATHS = "";
DEVELOPMENT_TEAM = "";
@ -1760,6 +1773,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OBJC_BRIDGING_HEADER = "Source/Headers/vChewing-Bridging-Header.h";
SWIFT_VERSION = 5.0;
WRAPPER_EXTENSION = app;
};
@ -1777,7 +1791,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
@ -1819,7 +1833,7 @@
CODE_SIGN_IDENTITY = "-";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 2001;
CURRENT_PROJECT_VERSION = 2002;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = "";
GCC_C_LANGUAGE_STANDARD = gnu99;