From 0acffd2367c6846b41325f9f72eec42b5a439b1b Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Thu, 10 Feb 2022 13:39:20 +0800 Subject: [PATCH] Voltaire // Add Associated Phrases Support. --- Source/Modules/IMEModules/ctlInputMethod.swift | 4 ++-- Source/UI/CandidateUI/CandidateController.swift | 2 +- Source/UI/CandidateUI/HorizontalCandidateController.swift | 5 +++-- Source/UI/CandidateUI/VerticalCandidateController.swift | 5 +++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Source/Modules/IMEModules/ctlInputMethod.swift b/Source/Modules/IMEModules/ctlInputMethod.swift index 0182d956..589171cc 100644 --- a/Source/Modules/IMEModules/ctlInputMethod.swift +++ b/Source/Modules/IMEModules/ctlInputMethod.swift @@ -496,9 +496,9 @@ extension ctlInputMethod { let candidateKeys = Preferences.candidateKeys let keyLabels = candidateKeys.count > 4 ? Array(candidateKeys) : Array(Preferences.defaultCandidateKeys) - let keyLabelPrefix = state is InputState.AssociatedPhrases ? "⇧ " : "" + let keyLabelSuffix = state is InputState.AssociatedPhrases ? "^" : "" gCurrentCandidateController?.keyLabels = keyLabels.map { - CandidateKeyLabel(key: String($0), displayedText: keyLabelPrefix + String($0)) + CandidateKeyLabel(key: String($0), displayedText: String($0) + keyLabelSuffix) } gCurrentCandidateController?.delegate = self diff --git a/Source/UI/CandidateUI/CandidateController.swift b/Source/UI/CandidateUI/CandidateController.swift index f851b582..eaabad44 100644 --- a/Source/UI/CandidateUI/CandidateController.swift +++ b/Source/UI/CandidateUI/CandidateController.swift @@ -73,7 +73,7 @@ public class CandidateController: NSWindowController { @objc public var keyLabels: [CandidateKeyLabel] = ["1", "2", "3", "4", "5", "6", "7", "8", "9"].map { CandidateKeyLabel(key: $0, displayedText: $0) } - @objc public var keyLabelFont: NSFont = NSFont.systemFont(ofSize: 14) + @objc public var keyLabelFont: NSFont = NSFont.monospacedDigitSystemFont(ofSize: 14, weight: .medium) @objc public var candidateFont: NSFont = NSFont.systemFont(ofSize: 18) @objc public var tooltip: String = "" diff --git a/Source/UI/CandidateUI/HorizontalCandidateController.swift b/Source/UI/CandidateUI/HorizontalCandidateController.swift index 906a0c26..d18ef769 100644 --- a/Source/UI/CandidateUI/HorizontalCandidateController.swift +++ b/Source/UI/CandidateUI/HorizontalCandidateController.swift @@ -81,6 +81,7 @@ fileprivate class HorizontalCandidateView: NSView { keyLabelAttrDict = [.font: labelFont, .paragraphStyle: paraStyle, + .verticalGlyphForm: true as AnyObject, .foregroundColor: NSColor.secondaryLabelColor] // Candidate phrase text color candidateAttrDict = [.font: candidateFont, .paragraphStyle: paraStyle, @@ -89,7 +90,7 @@ fileprivate class HorizontalCandidateView: NSView { let candidateFontSize = candidateFont.pointSize let biggestSize = max(labelFontSize, candidateFontSize) keyLabelWidth = ceil(labelFontSize) - keyLabelHeight = ceil(labelFontSize * 1.20) + keyLabelHeight = ceil(labelFontSize * 2) candidateTextHeight = ceil(candidateFontSize * 1.20) cellPadding = ceil(biggestSize / 2.0) } @@ -118,7 +119,7 @@ fileprivate class HorizontalCandidateView: NSView { for index in 0..