---
id: "packages/active-grid/api/export-fonts"
title: "Export fonts"
description: "GridExportDirection, GridExportFontFace, GridExportFontFamily, GridExportFonts and 1 more: generated from the source of active-grid."
url: "/packages/active-grid/api/export-fonts"
locale: "en"
revision: "g0mvjxwj5c-88bdbe1c:export-fonts"
---

# Export fonts

Exported by `@workspace/active-grid`. Generated from the package source; part of [the index of every export](/packages/active-grid/api).

## Types

**GridExportDirection**

```ts
type GridExportDirection = 'ltr' | 'rtl';
```

The direction a visual or workbook export is written in: `rtl` puts the
first column on the right of a PDF page and opens an XLSX sheet right to
left. Cell values keep their logical order in both.

**GridExportFontFace**

```ts
interface GridExportFontFace {
  source: GridExportFontSource;
  weight?: number;
  style?: 'normal' | 'italic';
}
```

One font file of a family.

**GridExportFontFamily**

```ts
interface GridExportFontFamily {
  family: string;
  faces: readonly GridExportFontFace[];
}
```

A host font family, under the host's own name.

**GridExportFonts**

```ts
interface GridExportFonts {
  families: readonly GridExportFontFamily[];
}
```

The fonts of the grid's PDF export: the primary family first, then the
fallback families in the order the host wants them tried. Each header cell,
data cell and group row is drawn in the first family that covers ALL of its
text; a cell no family covers is refused, never drawn with missing glyphs.

Only the PDF uses a font set. CSV, JSON and XLSX are data: their options
carry no font, and the look of a workbook belongs to the spreadsheet
application.

**GridExportFontSource**

```ts
type GridExportFontSource =
  ArrayBuffer | Uint8Array | (() => Promise<ArrayBuffer | Uint8Array>);
```

The bytes of one font file, or a loader the grid calls once, before the
document is built, when an export needs the face. The host's loader owns
the network, its timeout, retries and credentials; the grid never takes a
URL.
