Browse Source

【图片文字编辑】Add Text 前选择部分字体,会导致无法插入文字块(暂时传入可以支持的font)

lizhe 1 year ago
parent
commit
b6d048e685

+ 6 - 1
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift

@@ -1743,11 +1743,16 @@ import Cocoa
 //        let fontColor : NSColor = UserDefaults.standard.pdfListViewColor(forKey: FontColor_USERDEFAULTS) ?? NSColor.black
 //        let fontAlign : String = UserDefaults.standard.object(forKey: FontAlign_USERDEFAULTS) as? String ?? "2"
         let attributeFontDescriptor = NSFontDescriptor.init(fontAttributes: [NSFontDescriptor.AttributeName.family : fontName,NSFontDescriptor.AttributeName.face : fontStyle])
-        let font = NSFont.init(descriptor: attributeFontDescriptor, size: fontSize)
+        var font = NSFont.init(descriptor: attributeFontDescriptor, size: fontSize)
+        if font == nil {
+            let attributeFontDescriptor = NSFontDescriptor.init(fontAttributes: [NSFontDescriptor.AttributeName.family : "Helvetica", NSFontDescriptor.AttributeName.face : fontStyle])
+            font = NSFont.init(descriptor: attributeFontDescriptor, size: fontSize)
+        }
         let style = NSMutableParagraphStyle()
         style.alignment = fontAlign
         let attributes = [NSAttributedString.Key.font:font, NSAttributedString.Key.foregroundColor:fontColor,NSAttributedString.Key.paragraphStyle:style] as [NSAttributedString.Key : Any]
         self.listView.createEmptyStringBounds(newrect,withAttributes: attributes as [NSAttributedString.Key : Any], page: pdfView.currentPage())
+        
         if self.rightSideViewController != nil && self.rightSideViewController.subViewType == .EditPDFAddText && self.listView.annotationType == .addText {
             self.rightSideViewController.eidtPDFTextProperty.refreshSelectAreaProperty(needDefaultData: true)
         }