     }
 
     @discardableResult
-    public func kernBrackets() -> Self {
+    public func kernBrackets(negativeSpaceRatio: CGFloat = 0) -> Self {
         self.beginEditing()
         regexpBrackets.enumerateMatches(in: self.string, options: [], range: NSMakeRange(0, self.length)) { [weak self] (result, _, _) in
             guard let result = result, let `self` = self else { return }


    case brackets(negativeSpaceRatio: CGFloat)

    fileprivate var setting: KerningSettings {

        switch self {

            self.addAttribute(.font, value: font.altHalf, range: NSMakeRange(location, length))
        }
        self.endEditing()

        guard negativeSpaceRatio == 0 else {
            return self.kern(with: .bracketsBothSide(negativeSpaceRatio: negativeSpaceRatio))
        }
        return self
    }

