From 06b1ce789e6b26eb96dba9a79ea985489ecf5fb0 Mon Sep 17 00:00:00 2001 From: Tw93 Date: Sun, 26 May 2024 18:43:22 +0800 Subject: [PATCH] :bug: Solve the problem of word spacing --- Mac/View/NotesTableView.swift | 6 ------ Mac/ViewController.swift | 10 ++++++++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Mac/View/NotesTableView.swift b/Mac/View/NotesTableView.swift index 5a8f0a4b..9b5668d9 100644 --- a/Mac/View/NotesTableView.swift +++ b/Mac/View/NotesTableView.swift @@ -157,12 +157,6 @@ class NotesTableView: NSTableView, NSTableViewDataSource, return } vc.editArea.fill(note: note, highlight: true) - - // 用一种新方法设置字间距 - if let mutableAttrString = vc.editArea.textStorage { - let range = NSRange(location: 0, length: vc.editArea.string.count) - mutableAttrString.addAttribute(NSAttributedString.Key.kern, value: UserDefaultsManagement.editorLetterSpacing, range: range) - } } } loadingQueue.addOperation(operation) diff --git a/Mac/ViewController.swift b/Mac/ViewController.swift index c6e0bfb0..4dfad3c2 100644 --- a/Mac/ViewController.swift +++ b/Mac/ViewController.swift @@ -1008,6 +1008,16 @@ class ViewController: } } + // Used to solve the problem of word spacing + func textView(_ textView: NSTextView, shouldChangeTextIn affectedCharRange: NSRange, replacementString: String?) -> Bool { + if let replacementString = replacementString, replacementString.contains(" ") { + let adjustedString = replacementString.replacingOccurrences(of: " ", with: "\u{00A0}") // 使用不间断空格替代普通空格 + textView.textStorage?.replaceCharacters(in: affectedCharRange, with: adjustedString) + return false + } + return true + } + @IBAction func quiteApp(_ sender: Any) { if UserDefaultsManagement.isSingleMode { UserDefaultsManagement.isSingleMode = false