# Liste de polices personnalisée

- Human documentation: [https://docs.univer.ai/fr-FR/guides/docs/ui/fonts](https://docs.univer.ai/fr-FR/guides/docs/ui/fonts)

- Agent Markdown: [https://docs.univer.ai/fr-FR/guides/docs/ui/fonts.md](https://docs.univer.ai/fr-FR/guides/docs/ui/fonts.md)

- Requested language: `fr-FR`

- Content language: `fr-FR`

- Documentation version: `1.2.0`

- Source: [docs/ui/fonts.fr-FR.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/docs/ui/fonts.fr-FR.mdx)

---

## Structure d’une police

Dans Univer, les polices sont définies à l’aide de l’interface `IFontConfig` :

| Propriété  | Type                                                                   | Description                                                                                                                                                                     |
| ---------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `value`    | `string`                                                               | Identifiant unique de la police, généralement la valeur à privilégier pour la propriété CSS font-family.                                                                        |
| `label`    | `string`                                                               | Clé de traduction utilisée pour l’internationalisation. Si cette clé n’est pas définie lors de la création de l’instance Univer, la valeur transmise est affichée telle quelle. |
| `category` | `'sans-serif' \| 'serif' \| 'monospace' \| 'display' \| 'handwriting'` | Catégorie de la police, utilisée pour le regroupement dans l’interface utilisateur (facultatif).                                                                                |

> [!NOTE]
> Univer n’empêche pas les utilisateurs de sélectionner des polices qui ne sont pas installées. Si une police n’est pas installée sur le client, le navigateur la remplace par la police par défaut.

## Utiliser des polices personnalisées

Vous pouvez définir les options du menu déroulant des polices en configurant le paramètre `customFontFamily` de `UniverUIPlugin`.

```typescript
univer.registerPlugin(UniverUIPlugin, {
  container: 'app',
  customFontFamily: {
    list: [
      {
        value: 'PingFang SC',
        label: '苹方（简）',
        category: 'sans-serif',
      },
      {
        value: 'Helvetica Neue',
        label: 'Helvetica Neue',
        category: 'sans-serif',
      },
    ],
    // Whether to override the default font list, defaults to false
    override: true,
  },
})
```

### Facade API

Outre la configuration lors de l’initialisation, vous pouvez enregistrer dynamiquement de nouvelles polices pendant l’exécution à l’aide de la Facade API. Cette possibilité est particulièrement utile lorsque les ressources de police doivent être chargées de manière asynchrone.

```typescript
univerAPI.addFonts([{
  value: 'PingFang SC',
  label: 'PingFang SC',
  category: 'sans-serif',
}, {
  value: 'Helvetica Neue',
  label: 'Helvetica Neue',
  category: 'sans-serif',
}])
```
