Repo // Disabling pinyin-phonabet conversion in cassette mode. (#215)

- Also fix the separator conversion in handleCtrlCommandEnter().
This commit is contained in:
ShikiSuen 2022-10-28 12:11:39 +08:00
parent 1273ebdbb9
commit a21e2c812c
3 changed files with 33 additions and 25 deletions

View File

@ -186,6 +186,7 @@ extension IMEStateData {
arrOutput.append("??") arrOutput.append("??")
continue continue
} }
if !PrefMgr.shared.cassetteEnabled {
if PrefMgr.shared.showHanyuPinyinInCompositionBuffer, if PrefMgr.shared.showHanyuPinyinInCompositionBuffer,
PrefMgr.shared.alwaysShowTooltipTextsHorizontally || !isVerticalTyping PrefMgr.shared.alwaysShowTooltipTextsHorizontally || !isVerticalTyping
{ {
@ -196,6 +197,7 @@ extension IMEStateData {
} else { } else {
neta = Tekkon.cnvZhuyinChainToTextbookReading(target: neta) neta = Tekkon.cnvZhuyinChainToTextbookReading(target: neta)
} }
}
arrOutput.append(neta) arrOutput.append(neta)
} }
return arrOutput.joined(separator: "\u{A0}") return arrOutput.joined(separator: "\u{A0}")

View File

@ -291,14 +291,14 @@ extension InputHandler {
let state = delegate.state let state = delegate.state
guard state.type == .ofInputting else { return false } guard state.type == .ofInputting else { return false }
var displayedText = compositor.keys.joined(separator: "-") var displayedText = compositor.keys.joined(separator: " ")
if prefs.inlineDumpPinyinInLieuOfZhuyin { if prefs.inlineDumpPinyinInLieuOfZhuyin, !prefs.cassetteEnabled {
displayedText = Tekkon.restoreToneOneInZhuyinKey(target: displayedText) // displayedText = Tekkon.restoreToneOneInZhuyinKey(target: displayedText) //
displayedText = Tekkon.cnvPhonaToHanyuPinyin(target: displayedText) // displayedText = Tekkon.cnvPhonaToHanyuPinyin(target: displayedText) //
} }
if !delegate.clientBundleIdentifier.contains("vChewingPhraseEditor") { if delegate.clientBundleIdentifier.contains("vChewingPhraseEditor") {
displayedText = displayedText.replacingOccurrences(of: "-", with: " ") displayedText = displayedText.replacingOccurrences(of: " ", with: "-")
} }
delegate.switchState(IMEState.ofCommitting(textToCommit: displayedText)) delegate.switchState(IMEState.ofCommitting(textToCommit: displayedText))
@ -318,6 +318,7 @@ extension InputHandler {
for node in compositor.walkedNodes { for node in compositor.walkedNodes {
var key = node.key var key = node.key
if !prefs.cassetteEnabled {
if prefs.inlineDumpPinyinInLieuOfZhuyin { if prefs.inlineDumpPinyinInLieuOfZhuyin {
key = Tekkon.restoreToneOneInZhuyinKey(target: key) // key = Tekkon.restoreToneOneInZhuyinKey(target: key) //
key = Tekkon.cnvPhonaToHanyuPinyin(target: key) // key = Tekkon.cnvPhonaToHanyuPinyin(target: key) //
@ -326,6 +327,7 @@ extension InputHandler {
} else { } else {
key = Tekkon.cnvZhuyinChainToTextbookReading(target: key, newSeparator: " ") key = Tekkon.cnvZhuyinChainToTextbookReading(target: key, newSeparator: " ")
} }
}
let value = node.value let value = node.value
// //

View File

@ -27,9 +27,11 @@ extension SessionCtl {
var result = (theCandidate.1 == theConverted) ? theCandidate.1 : "\(theConverted)\u{1A}(\(theCandidate.1))" var result = (theCandidate.1 == theConverted) ? theCandidate.1 : "\(theConverted)\u{1A}(\(theCandidate.1))"
if arrResult.contains(result) { if arrResult.contains(result) {
let reading: String = let reading: String =
PrefMgr.shared.showHanyuPinyinInCompositionBuffer PrefMgr.shared.cassetteEnabled
? theCandidate.0
: (PrefMgr.shared.showHanyuPinyinInCompositionBuffer
? Tekkon.cnvPhonaToHanyuPinyin(target: Tekkon.restoreToneOneInZhuyinKey(target: theCandidate.0)) ? Tekkon.cnvPhonaToHanyuPinyin(target: Tekkon.restoreToneOneInZhuyinKey(target: theCandidate.0))
: theCandidate.0 : theCandidate.0)
result = "\(result)\u{17}(\(reading))" result = "\(result)\u{17}(\(reading))"
} }
arrResult.append(prefix + result) arrResult.append(prefix + result)
@ -85,8 +87,10 @@ extension SessionCtl {
let theConverted = ChineseConverter.kanjiConversionIfRequired(neta.1) let theConverted = ChineseConverter.kanjiConversionIfRequired(neta.1)
let netaShown = (neta.1 == theConverted) ? neta.1 : "\(theConverted)\u{1A}(\(neta.1))" let netaShown = (neta.1 == theConverted) ? neta.1 : "\(theConverted)\u{1A}(\(neta.1))"
let reading: String = let reading: String =
PrefMgr.shared.showHanyuPinyinInCompositionBuffer PrefMgr.shared.cassetteEnabled
? Tekkon.cnvPhonaToHanyuPinyin(target: Tekkon.restoreToneOneInZhuyinKey(target: neta.0)) : neta.0 ? neta.0
: (PrefMgr.shared.showHanyuPinyinInCompositionBuffer
? Tekkon.cnvPhonaToHanyuPinyin(target: Tekkon.restoreToneOneInZhuyinKey(target: neta.0)) : neta.0)
let netaShownWithPronunciation = "\(netaShown)\u{17}(\(reading))" let netaShownWithPronunciation = "\(netaShown)\u{17}(\(reading))"
if candidateString == prefix + netaShownWithPronunciation { if candidateString == prefix + netaShownWithPronunciation {
indexDeducted = i indexDeducted = i