Skip to content

eugmes/fntsample

Repository files navigation

fntsample

build License: GPL v3

fntsample is a tool that can be used to make font samples that show coverage of the font and are similar in appearance to Unicode Charts. It was developed for use with DejaVu Fonts project. fntsample is licensed under GPL version 3 or later.

Output example

Features

  • Support for various font formats using FreeType library, including TrueType, OpenType, and Type1.
  • Creating samples in PDF, PostScript, and SVG formats.
  • Adding outlines with Unicode block names for PDF samples.
  • Selection of code ranges to show in charts.
  • Comparing of two font files with highlighting of added glyphs.
  • Runs on Linux and other Unix-like systems.

Download

Releases are available from releases page. For source code releases for versions before 5.0 visit the old project page. The source code and issues tracker are accessible via the project page.

Building

The following libraries are required to build fntsample: cairo, fontconfig, FreeType2, GLib, Pango, gettext. They should be available in most Linux distributions. Additionally Unicode blocks file is required.

CMake is used to build the code. In the directory with source code execute:

% mkdir build
% cd build
% cmake .. -DUNICODE_BLOCKS=/path/to/Blocks.txt
% make
% make install

The last step will install files under /usr/local by default. This can be overridden by adding -DCMAKE_INSTALL_PREFIX=/another/prefix to the cmake invocation.

fntsample could be built using Homebrew on macOS. Use the following commands to install dependencies and configure the build environment before building the code:

% brew install cmake pgk-config gettext cairo pango fontconfig freetype glib
% export CMAKE_PREFIX_PATH=/usr/local/opt/gettext

Alternatively you can install fntsample using a Homebrew formula:

% brew install eugmes/fntsample/fntsample

Usage

The basic usage for fntsample looks as follows:

% fntsample -f /file/to/font/file.ttf -o output.pdf

For more advanced usage consult the man pages for fntsample and pdfoutline.