                  negativeSpace: 0 - negativeSpaceRatio),
                 (regexp: try! NSRegularExpression(pattern: "([\(k括弧閉)])(?=[\(k括弧開)])", options: []),
                  negativeSpace: 0 - max(negativeSpaceRatio, KerningDefaultNegativeSpaceRatio) * 2)
+            ]
+        case let .bracketsBothSide(negativeSpaceRatio):
+            return [
+                (regexp: try! NSRegularExpression(pattern: "([\(k括弧閉)])|([^\(k句読点)])(?=[\(k括弧開)])", options: []),
+                 negativeSpace: 0 - negativeSpaceRatio)
             ]
         }
     }


    case brackets(negativeSpaceRatio: CGFloat)

    fileprivate var setting: KerningSettings {

        switch self {

    }

    @discardableResult
    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 }
