# `GSGlyph setName:changeName:update:validate:`

*Instance Method*

Assigns a glyph name with control over related updates.

## Declaration

```swift
func setName(_ name: String, changeName: Bool, update: Bool, validate: Bool)
```

```objc
- (void) setName:(NSString *) name changeName:(BOOL) changeName update:(BOOL) update validate:(BOOL) validate;
```

```python
setName_changeName_update_validate_(name: str, changeName: bool, update: bool, validate: bool)
```

## Parameters

- `name` — The glyph name.
- `changeName` — Whether glyph information may replace the supplied name with its standard glyph name.
- `update` — Whether to update Unicode values and other glyph information for the name.
- `validate` — Whether a nonstandard name may be replaced with its standard glyph name even when `changeName` is `NO`.

## Discussion

This is a low-level renaming method. Use [`GSGlyph.name`](/Core/GlyphsCore/GSGlyph/name) for general renaming.

## See Also

### Glyph Name

- [`GSGlyph.name`](/Core/GlyphsCore/GSGlyph/name) — The glyph name used within Glyphs.
- [`GSGlyph setName:changeName:`](/Core/GlyphsCore/GSGlyph/setName:changeName:) — Assigns a glyph name and updates related glyph information.
- [`GSGlyph setNameFast:`](/Core/GlyphsCore/GSGlyph/setNameFast:) — Assigns a glyph name without updating related state.
- [`GSGlyph setNameFastCache:`](/Core/GlyphsCore/GSGlyph/setNameFastCache:) — Assigns a glyph name and updates name lookup in the containing font.
- [`GSGlyph.nameUpdate`](/Core/GlyphsCore/GSGlyph/nameUpdate) — The glyph name used within Glyphs, with font references updated when it changes.
- [`GSGlyph setNameUpdate:changeName:`](/Core/GlyphsCore/GSGlyph/setNameUpdate:changeName:) — Assigns a glyph name and updates references to the old glyph name within the font.
- [`GSGlyph validateName:`](/Core/GlyphsCore/GSGlyph/validateName:) — Checks whether a glyph name can be assigned to the receiver.
- [`GSGlyph ensureValidName:`](/Core/GlyphsCore/GSGlyph/ensureValidName:) — Finds the standard glyph name corresponding to a nonstandard name.
- [`GSGlyph isValidNameString:allowSpaces:error:`](/Core/GlyphsCore/GSGlyph/isValidNameString:allowSpaces:error:) — Checks whether a string follows the glyph name syntax.

