Browse Source

【fix】【内容编辑】文字块,属性面板,选择预设H1,点击B或I按钮,预设变成Customize 无法重定义H1

TangChao 7 months ago
parent
commit
f86ab28953

+ 1 - 1
PDF Office/PDF Master/Class/PDFTools/EditPDF/Tools/KMEditPDfHanddler.swift

@@ -948,7 +948,7 @@ extension KMEditPDfHanddler {
         let areas = self.editingTextAreas
         for area in areas {
             if let data = self.listView?.isBoldCurrentSelection(byRangeEdit: area) {
-                self.listView?.setCurrentSelectionIsBold(!data, with: area)
+                let result = self.listView?.setCurrentSelectionIsBold(!data, with: area)
             }
         }
         self._reloadData_right_text()

+ 24 - 11
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/EditPDF/KMEditPDFTextPropertyViewController.swift

@@ -702,8 +702,9 @@ class KMEditPDFTextPropertyViewController: NSViewController {
             let areas = self.selectAreas.first
             if areas is CPDFEditTextArea  {
                 let area = areas as! CPDFEditTextArea
+                let cFont = self.listView.editingSelectionCFont(byRangeEdit: area)
                 var sizeString = "\(self.listView.editingSelectionFontSize(byRangeEdit: area))"
-                var fontName: String = self.listView.editingSelectionCFont(byRangeEdit: area)?.familyName ?? "Helvetica"
+                var fontName: String = cFont?.familyName ?? "Helvetica"
                 let alignment = self.listView.currentSelectionAlignment(byRangeEdit: area)
                 let color = self.listView.editingSelectionFontColor(byRangeEdit: area) ?? NSColor.black
 //                fontName = KMEditPDFTextManager.manager.transformAreaTextFontName(fontName: fontName, fontNames: self.fontNameVC?.items ?? [])
@@ -723,7 +724,11 @@ class KMEditPDFTextPropertyViewController: NSViewController {
                 }
                 
                 self.updateTextTextPresuppositionState()
-                self.updateTextPresupposition(fontName: fontName, size: CGFloat(Float(sizeString)!), needChangeListView: false)
+                var fontN = fontName
+                if let data = cFont {
+                    fontN = CPDFFont.convertAppleFont(data) ?? fontName
+                }
+                self.updateTextPresupposition(fontName: fontN, size: CGFloat(Float(sizeString)!), needChangeListView: false)
                 self.currentColor = color
                 DispatchQueue.main.async {
                     NSColorPanel.shared.color = color
@@ -1055,23 +1060,27 @@ extension KMEditPDFTextPropertyViewController {
         let areas = self.selectAreas.first
         if areas is CPDFEditTextArea  {
             var size: CGFloat = (abs(self.listView.editingSelectionFontSize(byRangeEdit: areas as? CPDFEditTextArea)))
-            var fontName = self.listView.editingSelectionCFont(byRangeEdit: areas as? CPDFEditTextArea)?.familyName ?? "Helvetica"
+            let cfont = self.listView.editingSelectionCFont(byRangeEdit: areas as? CPDFEditTextArea)
+            var fontName = cfont?.familyName ?? "Helvetica"
 //            fontName = KMEditPDFTextManager.manager.transformAreaTextFontName(fontName: fontName, fontNames: self.fontNameVC?.items ?? [])
             
-            
-            if let data = self.listView?.isBoldCurrentSelection(byRangeEdit: areas as? CPDFEditTextArea), data {
-                fontName += "-Bold"
-            }
-            
-            if let data = self.listView?.isItalicCurrentSelection(byRangeEdit: areas as? CPDFEditTextArea), data {
-                fontName += "-Italic"
+//            if let data = self.listView?.isBoldCurrentSelection(byRangeEdit: areas as? CPDFEditTextArea), data {
+//                fontName += "-Bold"
+//            }
+//
+//            if let data = self.listView?.isItalicCurrentSelection(byRangeEdit: areas as? CPDFEditTextArea), data {
+//                fontName += "-Italic"
+//            }
+            var fontN = fontName
+            if let data = cfont {
+                fontN = CPDFFont.convertAppleFont(data) ?? fontName
             }
             
             let models = KMEditPDFTextManager.manager.fetchAllUserDefaultData()
             var index = 0
             for i in 0...models.count - 1 {
                 let model = models[i]
-                if model.fontName == fontName && size == model.fontSize {
+                if model.fontName == fontN && size == model.fontSize {
                     index = i
                 }
             }
@@ -1101,6 +1110,8 @@ extension KMEditPDFTextPropertyViewController {
         }
     }
     
+    // 更新字体预设
+    
     func updateTextPresupposition(type: KMEditPDFTextFontType, needChangeListView: Bool = true) {
         let model = KMEditPDFTextManager.manager.fetchUserDefaultData(type: type)
         let fontName: String = model.fontName
@@ -1290,6 +1301,8 @@ extension KMEditPDFTextPropertyViewController {
 // 更新字体名称+字重
 
 extension KMEditPDFTextPropertyViewController {
+    // 更新字体名称 和 字重
+    
     func updateFontNameAndStyle(name: String, style: String, needChangeListView: Bool = true, needSave: Bool = true) {
         //        if fontName != name || fontStyle != style {
 //        let styleArray = defaultFontStyles //KMEditPDFTextManager.manager.fetchFontStyleWithFontName(fontName: name)

+ 7 - 7
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/EditPDF/Manager/KMEditPDFTextManager.swift

@@ -353,7 +353,7 @@ extension KMEditPDFTextManager {
         }
         
         if style.contains("BoldOblique") || style.contains("BoldItalic") {
-            result = "Bold Oblique"
+//            result = "Bold Oblique"
         }
         return result
     }
@@ -505,12 +505,12 @@ extension KMEditPDFTextManager {
         let colorString = data[COLOR_KEY] as? String ?? COLOR_DEFAULT
         let alignment = NSTextAlignment(rawValue: data[ALIGNMENT_KEY] as? Int ?? 0) ?? NSTextAlignment.left
         //特殊情况处理
-        if fontName.contains("BoldOblique") {
-            let fontNameArray = fontName.components(separatedBy: "-")
-            if fontNameArray.count > 0 {
-                fontName = fontNameArray.first! + "-" + "Bold Oblique"
-            }
-        }
+//        if fontName.contains("BoldOblique") {
+//            let fontNameArray = fontName.components(separatedBy: "-")
+//            if fontNameArray.count > 0 {
+//                fontName = fontNameArray.first! + "-" + "Bold Oblique"
+//            }
+//        }
         
         let resultModel: KMEditPDFTextFontModel = KMEditPDFTextFontModel()
         resultModel.fontName = fontName