42 lines
888 B
Swift
42 lines
888 B
Swift
//
|
|
// Fonts.swift
|
|
// GeminiRenderer
|
|
//
|
|
// Created by Shadowfacts on 7/13/20.
|
|
//
|
|
|
|
import SwiftUI
|
|
import GeminiFormat
|
|
|
|
extension Document.HeadingLevel {
|
|
var font: Font {
|
|
let style: Font.TextStyle
|
|
switch self {
|
|
case .h1:
|
|
style = .title
|
|
case .h2:
|
|
if #available(macOS 10.16, iOS 14.0, *) {
|
|
style = .title2
|
|
} else {
|
|
style = .headline
|
|
}
|
|
case .h3:
|
|
if #available(macOS 10.16, iOS 14.0, *) {
|
|
style = .title3
|
|
} else {
|
|
style = .subheadline
|
|
}
|
|
}
|
|
return .system(style, design: .serif)
|
|
}
|
|
}
|
|
|
|
extension Font {
|
|
static var documentBody: Font {
|
|
.system(.body, design: .serif)
|
|
}
|
|
static var documentBodyPreformatted: Font {
|
|
.system(.body, design: .monospaced)
|
|
}
|
|
}
|