         options.hintStyle = CAIRO_HINT_STYLE_NONE
         
         self.name = name
+        self.family = family
         self.internalFont = ScaledFont(face: face, matrix: Matrix.identity, currentTransformation: Matrix.identity, options: options)
     }
 }
 
 // MARK: - Private
 
-private var FontConfigPatternCache = [String: OpaquePointer]()
+private var FontConfigPatternCache = [String: (pointer: OpaquePointer, family: String)]()
 
 /// Initialize a pointer to a `FcPattern` object created from the specified PostScript font name.
-private func FcPattern(name: String) -> OpaquePointer? {
+private func FcPattern(name: String) -> (pointer: OpaquePointer, family: String)? {
     
     guard var pattern = FcPatternCreate()
         else { return nil }

    // success
    cleanup.shouldCleanup = false
    
    return pattern
}

// MARK: - String Extensions

    
    // MARK: - Properties
    
    /// Same as full name.
    public let name: String
    
    /// Font family name.
    public let family: String
    
    // MARK: - Internal Properties
    
