.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.48) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "TTFEVAL 1" .TH TTFEVAL 1 2026-10-03 "perl v5.44.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME ttfeval \- wrapper for short Font::TTF hacks .SH SYNOPSIS .IX Header "SYNOPSIS" ttfeval [options] [progfile] infont.ttf ... .SH OPTIONS .IX Header "OPTIONS" .IP \fB\-m\fRmodule 4 .IX Item "-mmodule" .PD 0 .IP \fB\-M\fRmodule 4 .IX Item "-Mmodule" .IP "\fB\-M\fR\*(Aqmodule ...\*(Aq" 4 .IX Item "-M'module ...'" .IP \fB\-[mM]\fRmodule=arg[,arg]... 4 .IX Item "-[mM]module=arg[,arg]..." .IP "\fB\-e\fR commandline" 4 .IX Item "-e commandline" .PD work essentially like the same options for Perl. If no \fB\-e\fR options are provided, the \fBprogfile\fR argument specifies the name of a file containing code to be executed. See perlrun. .IP "\fB\-o\fR outfont" 4 .IX Item "-o outfont" Indicates that you want an output font written, and names the font file. May take globs or be a directory. .IP \fB\-?\fR 4 .IX Item "-?" Verbose help. .SH DESCRIPTION .IX Header "DESCRIPTION" ttfeval is a wrapper for those one\- or two\-line font hacks. It does the work of including the Font::TTF module, opening the input font file, and optionally writing the output font file. You just supply the code in the middle. For example, to list out all the glyph names of a font, use: .PP .Vb 1 \& ttfeval \-e \*(Aqprint join("\en",@{$f\->{\*(Aqpost\*(Aq}\->read\->{\*(AqVAL\*(Aq}});\*(Aq myfont.ttf .Ve .PP Like the perl command line, you can specify multiple \fB\-e\fR options to build up a multiline program, and you can include additional modules via the \fB\-m\fR and \fB\-M\fR options. .PP When the caller\-supplied expression is executed, \fR\f(CB$f\fR\fB\fR holds the result of the Font::TTF::Font\->\fBopen()\fR function and elements of \fB\fR\f(CB@ARGV\fR\fB\fR up to and including the input font name have been deleted \-\- you can use any remaining arguments for your own purposes. \fB\fR\f(CB@_\fR\fB\fR holds the names of the names of the input and optional output font files \-\- changing \fB\fR\f(CB$_\fR\fB[0]\fR has no effect, but setting or clearing \fB\fR\f(CB$_\fR\fB[1]\fR will change the output. .PP Globbing of file names is permitted: .PP .Vb 1 \& ttfeval \-e \*(Aqprint $f\->{\*(Aqname\*(Aq}\->read\->find_name(4) . "\en"\*(Aq *.ttf .Ve .PP including the output name: .PP .Vb 1 \& ttfeval ... \-o x*.ttf *.ttf .Ve .SH AUTHOR .IX Header "AUTHOR" Martin Hosken . (see CONTRIBUTORS for other authors). .SH LICENSING .IX Header "LICENSING" Copyright (c) 1998\-2016, SIL International (http://www.sil.org) .PP This script is released under the terms of the Artistic License 2.0. For details, see the full text of the license in the file LICENSE.