---
name: "ftvalid"
section: "1"
platform: "linux"
package: "freetype2-demos"
version: "2.15.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ftvalid"
---

# ftvalid(1)

font layout table validator

## NAME

ftvalid - font layout table validator

## SYNOPSIS

**ftvalid** \[*options*\] *fontfile*

## DESCRIPTION

**ftvalid** is an OpenType layout table validator.

This program is part of the FreeType demos package.

## OPTIONS

- **-f** *index*

  Select font index (default: 0).

- **-t** *validator*

  Select validator. Available validators are **ot**, **gx**, and **ckern**.

-

  Note that the availability of validators depends on compile-time options of FreeType (this is, whether the modules \`otvalid' and \`gxvalid' are compiled into the library).

- **-T** *tbls*

  \[ot, gx\] Select sfnt table name tags to be validated. Use \`:' to separate tags.

-

  Supported tables in ot validator are **BASE**, **GDEF**, **GPOS**, **GSUB**, **JSTF**, and **MATH**.

-

  Supported tables in gx validator are **feat**, **mort**, **morx**, **bsln**, **just**, **kern**, **opbd**, **trak**, **prop**, and **lcar**.

-

  Example: **-T "feat:morx"**

- **-T** *dialect*

  \[ckern\] Select classic kern dialect for validation. Use \`:' to separate dialect names. If more than one dialect is specified, all dialects are accepted when validating.

-

  Supported dialects in ckern validator are **ms** and **apple**.

- **-l**

  List the layout-related SFNT tables available in the font file. The selected validator (with option **-t**) affects the list.

-

  ckern is applicable to \`kern' table only. Option **-L** lists dialects supported in ckern validator only if \`kern' table is available in the font file.

- **-V** *level*

  Validation level. Possible values are **0** (default), **1** (tight), and **2** (paranoid).

- **-v**

  Show version.

## ENVIRONMENT VARIABLES

- **FT2\_DEBUG**

  You can specify \`*component*:*level*' pairs for tracing. *level* must be in the range \[1,7\].

-

  Available components for ot validator are **otvmodule**, **otvcommon**, **otvbase**, **otvgdef**, **otvgpos**, **otvgsub**, and **otvjstf**.

-

  Available components for gx validator are **gxvmodule**, **gxvcommon**, **gxvfeat**, **gxvmort**, **gxvmorx**, **gxvbsln**, **gxvjust**, **gxvkern**, **gxvopbd**, **gxvtrak**, **gxvprop**, and **gxvlcar**.

-

  Available component for ckern validator is **gxvkern** only.

-

  Example: **FT2\_DEBUG="otvcommon:5 gxvkern:7"**

-

  **FT2\_DEBUG** only works if tracing support is compiled into FreeType.
