| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import SwiftUI
- extension Font.Weight {
- var displayName: String {
- switch self {
- case .ultraLight: return "Ultra Light"
- case .light: return "Light"
- case .regular: return "Regular"
- case .medium: return "Medium"
- case .semibold: return "Semibold"
- case .bold: return "Bold"
- case .heavy: return "Heavy"
- case .black: return "Black"
- default: return "Unknown"
- }
- }
- private static let stringToFontWeight: [String: Font.Weight] = [
- "ultraLight": .ultraLight,
- "thin": .thin,
- "light": .light,
- "regular": .regular,
- "medium": .medium,
- "semibold": .semibold,
- "bold": .bold,
- "heavy": .heavy,
- "black": .black
- ]
- private static let fontWeightToString: [Font.Weight: String] = [
- .ultraLight: "ultraLight",
- .thin: "thin",
- .light: "light",
- .regular: "regular",
- .medium: "medium",
- .semibold: "semibold",
- .bold: "bold",
- .heavy: "heavy",
- .black: "black"
- ]
- /// Initialize `Font.Weight` from a string
- static func fromString(_ string: String) -> Font.Weight {
- stringToFontWeight[string] ?? .regular // Default fallback
- }
- /// Convert `Font.Weight` to a string
- var asString: String {
- Font.Weight.fontWeightToString[self] ?? "regular" // Default fallback
- }
- }
- extension Font.Width {
- var displayName: String {
- switch self {
- case .condensed: return "Condensed"
- case .expanded: return "Expanded"
- case .compressed: return "Compressed"
- case .standard: return "Standard"
- default: return "Unknown"
- }
- }
- private static let stringToFontWidth: [String: Font.Width] = [
- "compressed": .compressed,
- "condensed": .condensed,
- "standard": .standard,
- "expanded": .expanded
- ]
- private static let fontWidthToString: [Font.Width: String] = [
- .compressed: "compressed",
- .condensed: "condensed",
- .standard: "standard",
- .expanded: "expanded"
- ]
- /// Initialize `Font.Width` from a string
- static func fromString(_ string: String) -> Font.Width {
- stringToFontWidth[string] ?? .standard // Default fallback
- }
- /// Convert `Font.Width` to a string
- var asString: String {
- Font.Width.fontWidthToString[self] ?? "standard" // Default fallback
- }
- }
|