Skip to content

Commit f57548a

Browse files
committed
Added verticalGlyphForm attribute
1 parent 795f1f0 commit f57548a

File tree

4 files changed

+25
-1
lines changed

4 files changed

+25
-1
lines changed

RichString/NSAttributedString+Rich.swift

+11-1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,11 @@ extension NSAttributedString: RichString {
103103
public func expansion(_ expansion: Float) -> NSAttributedString {
104104
return addingAttribute(NSExpansionAttributeName, value: expansion)
105105
}
106+
107+
@available(iOS, unavailable)
108+
public func verticalGlyphForm(_ form: Int) -> NSAttributedString {
109+
return addingAttribute(NSVerticalGlyphFormAttributeName, value: form)
110+
}
106111
}
107112

108113
// MARK: - Private helpers
@@ -126,7 +131,7 @@ extension NSAttributedString {
126131

127132
// MARK: - Attribute getters
128133
extension NSAttributedString {
129-
private var attrs: [String: Any] {
134+
var attrs: [String: Any] {
130135
var range: NSRange = NSRange()
131136
let attrs = self.attributes(at: 0, effectiveRange: &range)
132137
assert(range.location == 0)
@@ -230,4 +235,9 @@ extension NSAttributedString {
230235
public var expansion: Float? {
231236
return attrs[NSExpansionAttributeName] as? Float
232237
}
238+
239+
@available(iOS, unavailable)
240+
public var verticalGlyphForm: Int? {
241+
return attrs[NSVerticalGlyphFormAttributeName] as? Int
242+
}
233243
}

RichString/RichString.swift

+2
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,6 @@ public protocol RichString {
6161
func obliqueness(_ obliqueness: Float) -> NSAttributedString
6262

6363
func expansion(_ expansion: Float) -> NSAttributedString
64+
65+
func verticalGlyphForm(_ form: Int) -> NSAttributedString
6466
}

RichString/String+Rich.swift

+5
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ extension NonAttributedString {
8888
public func expansion(_ expansion: Float) -> NSAttributedString {
8989
return rich.expansion(expansion)
9090
}
91+
92+
@available(iOS, unavailable)
93+
public func verticalGlyphForm(_ form: Int) -> NSAttributedString {
94+
return rich.verticalGlyphForm(form)
95+
}
9196
}
9297

9398
extension String: NonAttributedString {

RichStringTests/NSAttributedString+RichSpec.swift

+7
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,13 @@ class RichSpec: QuickConfiguration {
160160
let result = richString.expansion(1.23)
161161
expect(result.expansion) 1.23
162162
}
163+
164+
#if os(macOS)
165+
it("can set vertical glyph format") {
166+
let result = richString.verticalGlyphForm(1)
167+
expect(result.verticalGlyphForm) == 1
168+
}
169+
#endif
163170
}
164171
}
165172
}

0 commit comments

Comments
 (0)