diff --git a/Sources/SwiftyMarkdown/SwiftyMarkdown+iOS.swift b/Sources/SwiftyMarkdown/SwiftyMarkdown+iOS.swift index 4141aa6..7dde25e 100644 --- a/Sources/SwiftyMarkdown/SwiftyMarkdown+iOS.swift +++ b/Sources/SwiftyMarkdown/SwiftyMarkdown+iOS.swift @@ -118,10 +118,21 @@ extension SwiftyMarkdown { let styleDescriptor = UIFontDescriptor.preferredFontDescriptor(withTextStyle: textStyle) finalSize = styleDescriptor.fontAttributes[.size] as? CGFloat ?? CGFloat(14) } - - if let customFont = UIFont(name: existentFontName, size: finalSize) { + + if existentFontName.hasPrefix(".SFUI") { + let fontMetrics = UIFontMetrics(forTextStyle: textStyle) + if ignoresDynamicSize { + font = UIFont.systemFont(ofSize: finalSize) + } else { + font = fontMetrics.scaledFont(for: UIFont.systemFont(ofSize: finalSize)) + } + } else if let customFont = UIFont(name: existentFontName, size: finalSize) { let fontMetrics = UIFontMetrics(forTextStyle: textStyle) - font = fontMetrics.scaledFont(for: customFont) + if ignoresDynamicSize { + font = customFont + } else { + font = fontMetrics.scaledFont(for: customFont) + } } else { font = UIFont.preferredFont(forTextStyle: textStyle) } diff --git a/Sources/SwiftyMarkdown/SwiftyMarkdown.swift b/Sources/SwiftyMarkdown/SwiftyMarkdown.swift index 1e9ef16..e446ec8 100644 --- a/Sources/SwiftyMarkdown/SwiftyMarkdown.swift +++ b/Sources/SwiftyMarkdown/SwiftyMarkdown.swift @@ -267,6 +267,8 @@ If that is not set, then the system default will be used. var previouslyFoundTokens : [Token] = [] var applyAttachments = true + public var ignoresDynamicSize = false + let perfomanceLog = PerformanceLog(with: "SwiftyMarkdownPerformanceLogging", identifier: "Swifty Markdown", log: .swiftyMarkdownPerformance)