# `GSLayer rule:matchesCoordinates:`

*Type Method*

Whether axis values satisfy all bounds in a set of Alternative-layer rules.

## Declaration

```swift
class func rule(_ rule: [String : [String : NSNumber]], matchesCoordinates axisValues: [String : GSMetricStore]?) -> Bool
```

```objc
+ (BOOL) rule:(NSDictionary<NSString *,NSDictionary<NSString *,NSNumber *> *> *) rule matchesCoordinates:(GSAxisValues *) axisValues;
```

```python
rule_matchesCoordinates_(rule: dict[str, NSDictionary<NSString *,NSNumber *>], axisValues: GSAxisValues) -> bool
```

## Parameters

- `rule` — Axis rules keyed by axis ID.
- `axisValues` — Internal axis values keyed by axis ID.

## Discussion

Bounds are inclusive. Rules for which no axis value is supplied are ignored.

## See Also

### Variation Axes

- [`GSLayer axes`](/Core/GlyphsCore/GSLayer/axes) — Axes used to locate the layer in its design space.
- [`GSLayer axisInternalValueValueForId:`](/Core/GlyphsCore/GSLayer/axisInternalValueValueForId:) — Internal value for an axis.

