The net.didierverna.tfm Reference Manual

This is the net.didierverna.tfm Reference Manual, version 1.1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:04:51 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 net.didierverna.tfm

A Common Lisp interface to the TeX Font Metrics format

Long Name

TeX Font Metrics

Author

Didier Verna

Contact

Home Page

http://www.lrde.epita.fr/~didier/software/lisp/typesetting.php#tfm

Source Control

https://github.com/didierverna/tfm

License

BSD

Long Description

TFM (for TeX Font Metrics) is the standard font description format used by TeX. The TFM library parses and decodes TFM files into an abstract data structure, providing easy access to the corresponding font information in Common Lisp.

Version

1.1.1

Dependency

net.didierverna.tfm.core (system).

Source

net.didierverna.tfm.asd.


2.2 net.didierverna.tfm.core

TeX Font Metrics, core library

Long Name

TFM Core

Author

Didier Verna

Contact

Home Page

http://www.lrde.epita.fr/~didier/software/lisp/typesetting.php#tfm

Source Control

https://github.com/didierverna/tfm

License

BSD

Long Description

The TeX Font Metrics core library provides the main functionality of TFM. For a more complete description of TFM, see the ‘net.didierverna.tfm’ system.

Version

1.1.1

Dependency

net.didierverna.tfm.setup (system).

Source

net.didierverna.tfm.core.asd.

Child Components

2.3 net.didierverna.tfm.setup

TFM’s preload setup library

Long Name

TeX Font Metrics, setup library

Author

Didier Verna

Contact

Home Page

http://www.lrde.epita.fr/~didier/software/lisp/typesetting.php#tfm

Source Control

https://github.com/didierverna/tfm

License

BSD

Long Description

The TFM setup library provides support for various preload configuration parameters and meta-utilities. For a more complete description of TFM, see the ‘net.didierverna.tfm’ system.

Version

1.1.1

Dependency

named-readtables (system).

Source

net.didierverna.tfm.setup.asd.

Child Components

3 Modules

Modules are listed depth-first from the system components tree.


3.1 net.didierverna.tfm.core/src

Dependency

package.lisp (file).

Source

net.didierverna.tfm.core.asd.

Parent Component

net.didierverna.tfm.core (system).

Child Components

3.2 net.didierverna.tfm.setup/src

Dependency

package.lisp (file).

Source

net.didierverna.tfm.setup.asd.

Parent Component

net.didierverna.tfm.setup (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 net.didierverna.tfm/net.didierverna.tfm.asd

Source

net.didierverna.tfm.asd.

Parent Component

net.didierverna.tfm (system).

ASDF Systems

net.didierverna.tfm.


4.1.2 net.didierverna.tfm.core/net.didierverna.tfm.core.asd

Source

net.didierverna.tfm.core.asd.

Parent Component

net.didierverna.tfm.core (system).

ASDF Systems

net.didierverna.tfm.core.


4.1.3 net.didierverna.tfm.setup/net.didierverna.tfm.setup.asd

Source

net.didierverna.tfm.setup.asd.

Parent Component

net.didierverna.tfm.setup (system).

ASDF Systems

net.didierverna.tfm.setup.


4.1.4 net.didierverna.tfm.core/package.lisp

Source

net.didierverna.tfm.core.asd.

Parent Component

net.didierverna.tfm.core (system).

Packages

net.didierverna.tfm.

Public Interface

nickname-package (function).


4.1.5 net.didierverna.tfm.core/src/util.lisp

Source

net.didierverna.tfm.core.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.6 net.didierverna.tfm.core/src/intermediate.lisp

Dependency

util.lisp (file).

Source

net.didierverna.tfm.core.asd.

Parent Component

src (module).

Internals

4.1.7 net.didierverna.tfm.core/src/character.lisp

Dependency

intermediate.lisp (file).

Source

net.didierverna.tfm.core.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 net.didierverna.tfm.core/src/font.lisp

Dependency

character.lisp (file).

Source

net.didierverna.tfm.core.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.9 net.didierverna.tfm.core/src/file.lisp

Dependency

font.lisp (file).

Source

net.didierverna.tfm.core.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.10 net.didierverna.tfm.setup/package.lisp

Source

net.didierverna.tfm.setup.asd.

Parent Component

net.didierverna.tfm.setup (system).

Packages

net.didierverna.tfm.setup.


4.1.11 net.didierverna.tfm.setup/src/configuration.lisp

Source

net.didierverna.tfm.setup.asd.

Parent Component

src (module).

Public Interface
Internals

*configuration* (special variable).


4.1.12 net.didierverna.tfm.setup/src/readtable.lisp

Dependency

configuration.lisp (file).

Source

net.didierverna.tfm.setup.asd.

Parent Component

src (module).

Internals

4.1.13 net.didierverna.tfm.setup/src/version.lisp

Dependency

readtable.lisp (file).

Source

net.didierverna.tfm.setup.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 net.didierverna.tfm.setup

The TFM setup library’s package.

Source

package.lisp.

Use List

common-lisp.

Used By List

net.didierverna.tfm.

Public Interface
Internals

5.2 net.didierverna.tfm

The TeX Font Metrics package.

Source

package.lisp.

Use List
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *copyright-years*

A string denoting the copyright years for the whole project.

Package

net.didierverna.tfm.setup.

Source

version.lisp.

Special Variable: *release-major-level*

The major level of this release.

Package

net.didierverna.tfm.setup.

Source

version.lisp.

Special Variable: *release-minor-level*

The minor level of this release.

Package

net.didierverna.tfm.setup.

Source

version.lisp.

Special Variable: *release-name*

The name of this release.
The general naming theme for TFM is "Uncial Fonts", from the LaTeX Font Catalogue (https://www.tug.org/FontCatalogue/uncialfonts.html).

Package

net.didierverna.tfm.setup.

Source

version.lisp.

Special Variable: *release-status*

The status of this release.

Package

net.didierverna.tfm.setup.

Source

version.lisp.

Special Variable: *release-status-level*

The status level of this release.

Package

net.didierverna.tfm.setup.

Source

version.lisp.


6.1.2 Ordinary functions

Function: configuration (key)

Return KEY’s value in the current TFM configuration.

Package

net.didierverna.tfm.setup.

Source

configuration.lisp.

Function: configure (key value)

Set KEY to VALUE in the current TFM configuration.

Package

net.didierverna.tfm.setup.

Source

configuration.lisp.

Function: extensiblep (character)

Return T if CHARACTER has an extension recipe.

Package

net.didierverna.tfm.

Source

character.lisp.

Function: freeze (font)

Freeze FONT.
Freezing a font means that all dimensions normally expressed in design size units are multiplied by it, so as to lead values in TeX point units.
If FONT is already frozen, this function does nothing and returns NIL. Otherwise, it returns T.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: get-character (code font)

Return FONT’s CODE character, or NIL.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: kerning (character1 character2)

Return kerning for CHARACTER1 and CHARACTER2, or NIL.
If CHARACTER1 and CHARACTER2 don’t belong to the same font, signal a DIFFERENT-FONTS error.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: (setf kerning) (character1 character2)

Set KERNING for CHARACTER1 and CHARACTER2.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: ligature (character1 character2)

Return ligature for CHARACTER1 and CHARACTER2, or NIL.
If CHARACTER1 and CHARACTER2 don’t belong to the same font, signal a DIFFERENT-FONTS error.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: (setf ligature) (character1 character2)

Set LIGATURE for CHARACTER1 and CHARACTER2.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: load-font (file &rest arguments &key design-size freeze)

Load FILE into a new font, and return it.
- If provided, DESIGN-SIZE overrides the font’s original value. It must be a real greater or equal to 1.
- When FREEZE (NIL by default), freeze the font immediately after creation. See the eponymous function for more information.

Only actual TFM data is currently supported. If OFM or JFM data is detected, this function signals an EXTENDED-TFM warning and returns NIL.

While loading TFM data, any signalled condition is restartable with CANCEL-LOADING, in which case this function simply returns NIL.

Package

net.didierverna.tfm.

Source

file.lisp.

Function: nickname-package (&optional nickname)

Add NICKNAME (:TFM by default) to the :NET.DIDIERVERNA.TFM package.

Package

net.didierverna.tfm.

Source

package.lisp.

Function: unfreeze (font)

Unfreeze FONT.
Unfreezing means performing the inverse of what FREEZE does.
If FONT is not frozen, this function does nothing and returns NIL. Otherwise, it returns T.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: version (&optional type)

Return the current version of TFM.
TYPE can be one of :number, :short or :long.

A version number is computed as major*10000 + minor*100 + patchlevel, leaving two digits for each level. Alpha, beta and rc status are ignored in version numbers.

A short version is something like 1.3{a,b,rc}4, or 1.3.4 for patchlevel. Alpha, beta or rc levels start at 1. Patchlevels start at 0 but are ignored in the output, so that 1.3.0 appears as just 1.3.

A long version is something like
1.3 {alpha,beta,release candidate,patchlevel} 4 "Artificial Uncial".
As for the short version, a patchlevel of 0 is ignored in the output.

Package

net.didierverna.tfm.setup.

Source

version.lisp.


6.1.3 Generic functions

Generic Reader: 7bits-safe (object)
Generic Writer: (setf 7bits-safe) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: 7bits-safe ((font font))
Writer Method: (setf 7bits-safe) ((font font))

Whether the font is 7 bits safe (0 or 1), or NIL.
When 1, it means that no character of code lesser than 128 can lead to a character of code greater than 128 by ways of ligatures or extensible recipes.

Source

font.lisp.

Target Slot

7bits-safe.

Generic Reader: actual-size (condition)
Generic Writer: (setf actual-size) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: actual-size ((condition file-size-mixin))
Writer Method: (setf actual-size) ((condition file-size-mixin))
Source

file.lisp.

Target Slot

actual-size.

Generic Reader: axis-height (object)
Generic Writer: (setf axis-height) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: axis-height ((math-symbols-font math-symbols-font))
Writer Method: (setf axis-height) ((math-symbols-font math-symbols-font))

The font’s AXIS-HEIGHT parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

axis-height.

Generic Reader: bc (condition)
Generic Writer: (setf bc) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: bc ((condition invalid-character-range))
Writer Method: (setf bc) ((condition invalid-character-range))
Source

file.lisp.

Target Slot

bc.

Generic Reader: big-op-spacing1 (object)
Generic Writer: (setf big-op-spacing1) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: big-op-spacing1 ((math-extension-font math-extension-font))
Writer Method: (setf big-op-spacing1) ((math-extension-font math-extension-font))

The font’s BIG-OP-SPACING1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

big-op-spacing1.

Generic Reader: big-op-spacing2 (object)
Generic Writer: (setf big-op-spacing2) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: big-op-spacing2 ((math-extension-font math-extension-font))
Writer Method: (setf big-op-spacing2) ((math-extension-font math-extension-font))

The font’s BIG-OP-SPACING2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

big-op-spacing2.

Generic Reader: big-op-spacing3 (object)
Generic Writer: (setf big-op-spacing3) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: big-op-spacing3 ((math-extension-font math-extension-font))
Writer Method: (setf big-op-spacing3) ((math-extension-font math-extension-font))

The font’s BIG-OP-SPACING3 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

big-op-spacing3.

Generic Reader: big-op-spacing4 (object)
Generic Writer: (setf big-op-spacing4) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: big-op-spacing4 ((math-extension-font math-extension-font))
Writer Method: (setf big-op-spacing4) ((math-extension-font math-extension-font))

The font’s BIG-OP-SPACING4 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

big-op-spacing4.

Generic Reader: big-op-spacing5 (object)
Generic Writer: (setf big-op-spacing5) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: big-op-spacing5 ((math-extension-font math-extension-font))
Writer Method: (setf big-op-spacing5) ((math-extension-font math-extension-font))

The font’s BIG-OP-SPACING5 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

big-op-spacing5.

Generic Function: bottom-character (object)
Package

net.didierverna.tfm.

Methods
Method: bottom-character ((character character-metrics))

Return extensible CHARACTER’s BOTTOM-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.

Source

character.lisp.

Reader Method: bottom-character ((extension-recipe extension-recipe))

The recipe’s bottom character, or NIL.

Source

character.lisp.

Target Slot

bottom-character.

Generic Writer: (setf bottom-character) (object)
Package

net.didierverna.tfm.

Methods
Writer Method: (setf bottom-character) ((extension-recipe extension-recipe))

The recipe’s bottom character, or NIL.

Source

character.lisp.

Target Slot

bottom-character.

Generic Reader: boundary-character (object)
Generic Writer: (setf boundary-character) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: boundary-character ((font font))
Writer Method: (setf boundary-character) ((font font))

The font’s boundary character, or NIL.
This character is also accessible by code, like normal ones. However, it is the only character the code of which may be outside [MIN-CODE,MAX-CODE] (see TeX: the Program [545]). Finally, this character is not included in the character count, unless it exists for real in the font (has non-zero metrics).

Source

font.lisp.

Target Slot

boundary-character.

Generic Reader: character-count (object)
Generic Writer: (setf character-count) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: character-count ((font font))
Writer Method: (setf character-count) ((font font))

The font’s number of characters.
The character count does not include the boundary character, unless that character really exists in the font (has non-zerop metrics).

Source

font.lisp.

Target Slot

character-count.

Generic Reader: character1 (condition)
Generic Writer: (setf character1) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: character1 ((condition different-fonts))
Writer Method: (setf character1) ((condition different-fonts))
Source

font.lisp.

Target Slot

character1.

Generic Reader: character2 (condition)
Generic Writer: (setf character2) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: character2 ((condition different-fonts))
Writer Method: (setf character2) ((condition different-fonts))
Source

font.lisp.

Target Slot

character2.

Generic Reader: characters (object)
Generic Writer: (setf characters) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: characters ((condition ligature-cycle))
Writer Method: (setf characters) ((condition ligature-cycle))
Source

file.lisp.

Target Slot

characters.

Reader Method: characters ((font font))
Writer Method: (setf characters) ((font font))

The font’s characters.
This is a hash table associating character codes with characters.

Source

font.lisp.

Target Slot

characters.

Generic Reader: checksum (object)
Generic Writer: (setf checksum) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: checksum ((font font))
Writer Method: (setf checksum) ((font font))

The font’s checksum, as provided by Metafont.

Source

font.lisp.

Target Slot

checksum.

Generic Reader: code (object)
Package

net.didierverna.tfm.

Methods
Reader Method: code ((character-metrics character-metrics))

The character’s numerical code.

Source

character.lisp.

Target Slot

code.

Generic Reader: composite (object)
Package

net.didierverna.tfm.

Methods
Reader Method: composite ((ligature ligature))

The character to insert between the two original ones.

Source

font.lisp.

Target Slot

composite.

Generic Reader: declared-size (condition)
Generic Writer: (setf declared-size) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: declared-size ((condition file-size-mixin))
Writer Method: (setf declared-size) ((condition file-size-mixin))
Source

file.lisp.

Target Slot

declared-size.

Generic Reader: default-rule-thickness (object)
Generic Writer: (setf default-rule-thickness) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: default-rule-thickness ((math-extension-font math-extension-font))
Writer Method: (setf default-rule-thickness) ((math-extension-font math-extension-font))

The font’s default rule thickness.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

default-rule-thickness.

Generic Reader: delete-after (object)
Package

net.didierverna.tfm.

Methods
Reader Method: delete-after ((ligature ligature))

Whether to delete the character after the ligature.

Source

font.lisp.

Target Slot

delete-after.

Generic Reader: delete-before (object)
Package

net.didierverna.tfm.

Methods
Reader Method: delete-before ((ligature ligature))

Whether to delete the character before the ligature.

Source

font.lisp.

Target Slot

delete-before.

Generic Reader: delim1 (object)
Generic Writer: (setf delim1) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: delim1 ((math-symbols-font math-symbols-font))
Writer Method: (setf delim1) ((math-symbols-font math-symbols-font))

The font’s DELIM1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

delim1.

Generic Reader: delim2 (object)
Generic Writer: (setf delim2) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: delim2 ((math-symbols-font math-symbols-font))
Writer Method: (setf delim2) ((math-symbols-font math-symbols-font))

The font’s DELIM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

delim2.

Generic Reader: denom1 (object)
Generic Writer: (setf denom1) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: denom1 ((math-symbols-font math-symbols-font))
Writer Method: (setf denom1) ((math-symbols-font math-symbols-font))

The font’s DENOM1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

denom1.

Generic Reader: denom2 (object)
Generic Writer: (setf denom2) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: denom2 ((math-symbols-font math-symbols-font))
Writer Method: (setf denom2) ((math-symbols-font math-symbols-font))

The font’s DENOM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

denom2.

Generic Reader: depth (object)
Generic Writer: (setf depth) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: depth ((character-metrics character-metrics))
Writer Method: (setf depth) ((character-metrics character-metrics))

The character’s depth.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

character.lisp.

Target Slot

depth.

Generic Reader: design-size (object)
Package

net.didierverna.tfm.

Methods
Reader Method: design-size ((font font))

The font’s design size, in units of TeX points.

Source

font.lisp.

Target Slot

design-size.

Generic Function: (setf design-size) (object)
Package

net.didierverna.tfm.

Methods
Method: (setf design-size) :around (font)

Check that DESIGN-SIZE is a real greater or equal to 1.

Source

font.lisp.

Method: (setf design-size) :after (font)

Rescale FONT if frozen.

Source

font.lisp.

Method: (setf design-size) :before (font)

Unscale FONT if frozen.

Source

font.lisp.

Writer Method: (setf design-size) ((font font))

The font’s design size, in units of TeX points.

Source

font.lisp.

Target Slot

design-size.

Generic Reader: ec (condition)
Generic Writer: (setf ec) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: ec ((condition invalid-character-range))
Writer Method: (setf ec) ((condition invalid-character-range))
Source

file.lisp.

Target Slot

ec.

Generic Reader: em (object)
Generic Writer: (setf em) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: em ((font font))
Writer Method: (setf em) ((font font))

The font’s em size.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

em.

Generic Reader: encoding (object)
Generic Writer: (setf encoding) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: encoding ((font font))
Writer Method: (setf encoding) ((font font))

The font’s character coding scheme (a BCPL string), or NIL.

Source

font.lisp.

Target Slot

encoding.

Generic Reader: ex (object)
Generic Writer: (setf ex) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: ex ((font font))
Writer Method: (setf ex) ((font font))

The font’s ex size.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

ex.

Generic Reader: expansion (object)
Generic Writer: (setf expansion) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: expansion ((font font))
Writer Method: (setf expansion) ((font font))

The font’s expansion (:regular, :condensed, :extended), or NIL. When available, it is decoded from the font face number.

Source

font.lisp.

Target Slot

expansion.

Generic Reader: extra-space (object)
Generic Writer: (setf extra-space) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: extra-space ((font font))
Writer Method: (setf extra-space) ((font font))

The font’s extra space.
It is expressed in design size units, or in TeX point units if the font is frozen.

This is the additional space to put at the end of sentences.

Source

font.lisp.

Target Slot

extra-space.

Generic Reader: face-code (object)
Generic Writer: (setf face-code) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: face-code ((font font))
Writer Method: (setf face-code) ((font font))

The font’s 3-letters face code, or NIL.
When available, it is the concatenation of the upcased first letters of the font’s weight, slope, and expansion.

Source

font.lisp.

Target Slot

face-code.

Generic Reader: face-number (object)
Generic Writer: (setf face-number) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: face-number ((font font))
Writer Method: (setf face-number) ((font font))

The font’s face number, or NIL.

Source

font.lisp.

Target Slot

face-number.

Generic Reader: family (object)
Generic Writer: (setf family) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: family ((font font))
Writer Method: (setf family) ((font font))

The font’s family (a BCPL string), or NIL.

Source

font.lisp.

Target Slot

family.

Generic Reader: file (object)
Generic Writer: (setf file) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: file ((condition extended-tfm))
Writer Method: (setf file) ((condition extended-tfm))
Source

file.lisp.

Target Slot

file.

Reader Method: file ((font font))
Writer Method: (setf file) ((font font))

The file from which the font was loaded, or NIL.

Source

font.lisp.

Target Slot

file.

Generic Reader: font (object)
Package

net.didierverna.tfm.

Methods
Reader Method: font ((character-metrics character-metrics))

The character’s font.

Source

character.lisp.

Target Slot

font.

Generic Reader: frozen (object)
Generic Writer: (setf frozen) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: frozen ((font font))
Writer Method: (setf frozen) ((font font))

Whether the font is frozen.

Source

font.lisp.

Target Slot

frozen.

Generic Reader: height (object)
Generic Writer: (setf height) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: height ((character-metrics character-metrics))
Writer Method: (setf height) ((character-metrics character-metrics))

The character’s height.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

character.lisp.

Target Slot

height.

Generic Reader: interword-shrink (object)
Generic Writer: (setf interword-shrink) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: interword-shrink ((font font))
Writer Method: (setf interword-shrink) ((font font))

The font’s interword shrinkability.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

interword-shrink.

Generic Reader: interword-space (object)
Generic Writer: (setf interword-space) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: interword-space ((font font))
Writer Method: (setf interword-space) ((font font))

The font’s normal interword space.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

interword-space.

Generic Reader: interword-stretch (object)
Generic Writer: (setf interword-stretch) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: interword-stretch ((font font))
Writer Method: (setf interword-stretch) ((font font))

The font’s interword stretchability.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

interword-stretch.

Generic Reader: italic-correction (object)
Generic Writer: (setf italic-correction) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: italic-correction ((character-metrics character-metrics))
Writer Method: (setf italic-correction) ((character-metrics character-metrics))

The character’s italic correction.
TeX uses this value for regular characters followed by the command /, and also in math mode for superscript placement. It is expressed in design size units, or in TeX point units if the font is frozen.

Source

character.lisp.

Target Slot

italic-correction.

Generic Reader: largest (condition)
Generic Writer: (setf largest) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: largest ((condition invalid-table-length))
Writer Method: (setf largest) ((condition invalid-table-length))
Source

file.lisp.

Target Slot

largest.

Reader Method: largest ((condition invalid-table-index))
Writer Method: (setf largest) ((condition invalid-table-index))
Source

file.lisp.

Target Slot

largest.

Generic Reader: lf (condition)
Generic Writer: (setf lf) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: lf ((condition invalid-section-lengths))
Writer Method: (setf lf) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

lf.

Generic Reader: lh (condition)
Generic Writer: (setf lh) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: lh ((condition invalid-section-lengths))
Writer Method: (setf lh) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

lh.

Generic Reader: max-code (object)
Generic Writer: (setf max-code) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: max-code ((font font))
Writer Method: (setf max-code) ((font font))

The font’s largest character code.

Source

font.lisp.

Target Slot

max-code.

Generic Function: middle-character (object)
Package

net.didierverna.tfm.

Methods
Method: middle-character ((character character-metrics))

Return extensible CHARACTER’s MIDDLE-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.

Source

character.lisp.

Reader Method: middle-character ((extension-recipe extension-recipe))

The recipe’s middle character, or NIL.

Source

character.lisp.

Target Slot

middle-character.

Generic Writer: (setf middle-character) (object)
Package

net.didierverna.tfm.

Methods
Writer Method: (setf middle-character) ((extension-recipe extension-recipe))

The recipe’s middle character, or NIL.

Source

character.lisp.

Target Slot

middle-character.

Generic Reader: min-code (object)
Generic Writer: (setf min-code) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: min-code ((font font))
Writer Method: (setf min-code) ((font font))

The font’s smallest character code.

Source

font.lisp.

Target Slot

min-code.

Generic Reader: name (object)
Generic Writer: (setf name) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: name ((condition tfm-table-error))
Writer Method: (setf name) ((condition tfm-table-error))
Source

file.lisp.

Target Slot

name.

Reader Method: name ((font font))
Writer Method: (setf name) ((font font))

The font’s name.
When the font is loaded from a file, it defaults to the file’s base name, along with potential scaling information.

Source

font.lisp.

Target Slot

name.

Generic Reader: nc (condition)
Generic Writer: (setf nc) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: nc ((condition invalid-section-lengths))
Writer Method: (setf nc) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

nc.

Generic Reader: nd (condition)
Generic Writer: (setf nd) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: nd ((condition invalid-section-lengths))
Writer Method: (setf nd) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

nd.

Generic Reader: ne (condition)
Generic Writer: (setf ne) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: ne ((condition invalid-section-lengths))
Writer Method: (setf ne) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

ne.

Generic Reader: next-character (object)
Generic Writer: (setf next-character) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: next-character ((character-metrics character-metrics))
Writer Method: (setf next-character) ((character-metrics character-metrics))

The next character in a character list.
This slot is non-null only if the character is part of a chain of characters of ascending size, and not the last one (see TeX: the Program [544]). It is mutually exclusive with the EXTENSION-RECIPE slot, and also with the existence of a ligature or kerning program for this character.

Source

character.lisp.

Target Slot

next-character.

Generic Reader: nh (condition)
Generic Writer: (setf nh) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: nh ((condition invalid-section-lengths))
Writer Method: (setf nh) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

nh.

Generic Reader: ni (condition)
Generic Writer: (setf ni) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: ni ((condition invalid-section-lengths))
Writer Method: (setf ni) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

ni.

Generic Reader: nk (condition)
Generic Writer: (setf nk) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: nk ((condition invalid-section-lengths))
Writer Method: (setf nk) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

nk.

Generic Reader: nl (condition)
Generic Writer: (setf nl) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: nl ((condition invalid-section-lengths))
Writer Method: (setf nl) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

nl.

Generic Reader: np (condition)
Generic Writer: (setf np) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: np ((condition invalid-section-lengths))
Writer Method: (setf np) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

np.

Generic Reader: num1 (object)
Generic Writer: (setf num1) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: num1 ((math-symbols-font math-symbols-font))
Writer Method: (setf num1) ((math-symbols-font math-symbols-font))

The font’s NUM1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

num1.

Generic Reader: num2 (object)
Generic Writer: (setf num2) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: num2 ((math-symbols-font math-symbols-font))
Writer Method: (setf num2) ((math-symbols-font math-symbols-font))

The font’s NUM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

num2.

Generic Reader: num3 (object)
Generic Writer: (setf num3) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: num3 ((math-symbols-font math-symbols-font))
Writer Method: (setf num3) ((math-symbols-font math-symbols-font))

The font’s NUM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

num3.

Generic Reader: nw (condition)
Generic Writer: (setf nw) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: nw ((condition invalid-section-lengths))
Writer Method: (setf nw) ((condition invalid-section-lengths))
Source

file.lisp.

Target Slot

nw.

Generic Reader: original-design-size (object)
Generic Writer: (setf original-design-size) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: original-design-size ((font font))
Writer Method: (setf original-design-size) ((font font))

The font’s original design size, in units of TeX points.

Source

font.lisp.

Target Slot

original-design-size.

Generic Reader: padding (condition)
Generic Writer: (setf padding) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: padding ((condition invalid-string-length))
Writer Method: (setf padding) ((condition invalid-string-length))
Source

util.lisp.

Target Slot

padding.

Generic Reader: parameters (object)
Generic Writer: (setf parameters) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: parameters ((font font))
Writer Method: (setf parameters) ((font font))

The font’s additional parameters array, or NIL.
Parameters are expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

parameters.

Generic Reader: pass-over (object)
Package

net.didierverna.tfm.

Methods
Reader Method: pass-over ((ligature ligature))

The number of characters to skip for reaching the next character.

Source

font.lisp.

Target Slot

pass-over.

Generic Function: repeated-character (object)
Package

net.didierverna.tfm.

Methods
Method: repeated-character ((character character-metrics))

Return extensible CHARACTER’s REPEATED-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.

Source

character.lisp.

Reader Method: repeated-character ((extension-recipe extension-recipe))

The recipe’s repeated character.

Source

character.lisp.

Target Slot

repeated-character.

Generic Writer: (setf repeated-character) (object)
Package

net.didierverna.tfm.

Methods
Writer Method: (setf repeated-character) ((extension-recipe extension-recipe))

The recipe’s repeated character.

Source

character.lisp.

Target Slot

repeated-character.

Generic Reader: slant (object)
Generic Writer: (setf slant) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: slant ((font font))
Writer Method: (setf slant) ((font font))

The font’s slant (a scalar ratio).

Source

font.lisp.

Target Slot

slant.

Generic Reader: slope (object)
Generic Writer: (setf slope) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: slope ((font font))
Writer Method: (setf slope) ((font font))

The font’s slope (:roman, :italic), or NIL.
When available, it is decoded from the font face number.

Source

font.lisp.

Target Slot

slope.

Generic Reader: smallest (condition)
Generic Writer: (setf smallest) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: smallest ((condition invalid-table-length))
Writer Method: (setf smallest) ((condition invalid-table-length))
Source

file.lisp.

Target Slot

smallest.

Generic Reader: sub1 (object)
Generic Writer: (setf sub1) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: sub1 ((math-symbols-font math-symbols-font))
Writer Method: (setf sub1) ((math-symbols-font math-symbols-font))

The font’s SUB1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

sub1.

Generic Reader: sub2 (object)
Generic Writer: (setf sub2) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: sub2 ((math-symbols-font math-symbols-font))
Writer Method: (setf sub2) ((math-symbols-font math-symbols-font))

The font’s SUB2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

sub2.

Generic Reader: subdrop (object)
Generic Writer: (setf subdrop) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: subdrop ((math-symbols-font math-symbols-font))
Writer Method: (setf subdrop) ((math-symbols-font math-symbols-font))

The font’s SUBDROP parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

subdrop.

Generic Reader: sup1 (object)
Generic Writer: (setf sup1) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: sup1 ((math-symbols-font math-symbols-font))
Writer Method: (setf sup1) ((math-symbols-font math-symbols-font))

The font’s SUP1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

sup1.

Generic Reader: sup2 (object)
Generic Writer: (setf sup2) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: sup2 ((math-symbols-font math-symbols-font))
Writer Method: (setf sup2) ((math-symbols-font math-symbols-font))

The font’s SUP2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

sup2.

Generic Reader: sup3 (object)
Generic Writer: (setf sup3) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: sup3 ((math-symbols-font math-symbols-font))
Writer Method: (setf sup3) ((math-symbols-font math-symbols-font))

The font’s SUP2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

sup3.

Generic Reader: supdrop (object)
Generic Writer: (setf supdrop) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: supdrop ((math-symbols-font math-symbols-font))
Writer Method: (setf supdrop) ((math-symbols-font math-symbols-font))

The font’s SUPDROP parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

supdrop.

Generic Function: top-character (object)
Package

net.didierverna.tfm.

Methods
Method: top-character ((character character-metrics))

Return extensible CHARACTER’s TOP-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.

Source

character.lisp.

Reader Method: top-character ((extension-recipe extension-recipe))

The recipe’s top character, or NIL.

Source

character.lisp.

Target Slot

top-character.

Generic Writer: (setf top-character) (object)
Package

net.didierverna.tfm.

Methods
Writer Method: (setf top-character) ((extension-recipe extension-recipe))

The recipe’s top character, or NIL.

Source

character.lisp.

Target Slot

top-character.

Generic Reader: value (condition)
Generic Writer: (setf value) (condition)
Package

net.didierverna.tfm.

Methods
Reader Method: value ((condition extended-tfm))
Writer Method: (setf value) ((condition extended-tfm))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-table-length))
Writer Method: (setf value) ((condition invalid-table-length))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-header-length))
Writer Method: (setf value) ((condition invalid-header-length))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition ligature-cycle))
Writer Method: (setf value) ((condition ligature-cycle))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition character-list-cycle))
Writer Method: (setf value) ((condition character-list-cycle))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-table-start))
Writer Method: (setf value) ((condition invalid-table-start))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-char-info))
Writer Method: (setf value) ((condition invalid-char-info))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-ligature-opcode))
Writer Method: (setf value) ((condition invalid-ligature-opcode))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-table-index))
Writer Method: (setf value) ((condition invalid-table-index))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-original-design-size))
Writer Method: (setf value) ((condition invalid-original-design-size))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-design-size))
Writer Method: (setf value) ((condition invalid-design-size))
Source

file.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-character-code))
Writer Method: (setf value) ((condition invalid-character-code))
Source

font.lisp.

Target Slot

value.

Reader Method: value ((condition not-extensible))
Writer Method: (setf value) ((condition not-extensible))
Source

character.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-bcpl-string))
Writer Method: (setf value) ((condition invalid-bcpl-string))
Source

util.lisp.

Target Slot

value.

Reader Method: value ((condition invalid-string-length))
Writer Method: (setf value) ((condition invalid-string-length))
Source

util.lisp.

Target Slot

value.

Reader Method: value ((condition fix-word-overflow))
Writer Method: (setf value) ((condition fix-word-overflow))
Source

util.lisp.

Target Slot

value.

Reader Method: value ((condition u16-overflow))
Writer Method: (setf value) ((condition u16-overflow))
Source

util.lisp.

Target Slot

value.

Generic Reader: weight (object)
Generic Writer: (setf weight) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: weight ((font font))
Writer Method: (setf weight) ((font font))

The font’s weight (:medium, :bold, :light), or NIL. When available, it is decoded from the font face number.

Source

font.lisp.

Target Slot

weight.

Generic Reader: width (object)
Generic Writer: (setf width) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: width ((character-metrics character-metrics))
Writer Method: (setf width) ((character-metrics character-metrics))

The character’s width.
It is expressed in design size units, or in TeX point units if the font is frozen.

Source

character.lisp.

Target Slot

width.


6.1.4 Standalone methods

Method: initialize-instance :before ((font font) &key name)

Check that FONT has a name, or signal an ANONYMOUS-FONT error.

Source

font.lisp.

Method: print-object ((font font) stream)

Print FONT unreadably with its name to STREAM.

Source

font.lisp.

Method: print-object ((character character-metrics) stream)

Print CHARACTER unreadably with its code to STREAM.

Source

character.lisp.

Method: print-object ((extension-recipe extension-recipe) stream)

Print EXTENSION-RECIPE unreadably with its repeated character to STREAM.

Source

character.lisp.


6.1.5 Conditions

Condition: character-list-cycle

The Character List Cycle compliance error.
It signals that a cycle was found in a list of ascending character sizes.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The cyclic character list.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: different-fonts

The Different Fonts usage error.
It signals an attempt at retrieving a ligature or kerning for two characters from different fonts.

Package

net.didierverna.tfm.

Source

font.lisp.

Direct superclasses

tfm-usage-error.

Direct methods
Direct slots
Slot: character1

The first character.

Initargs

:character1

Readers

character1.

Writers

(setf character1).

Slot: character2

The second character.

Initargs

:character2

Readers

character2.

Writers

(setf character2).

Condition: extended-tfm

The Extended TFM warning.
It signals that a file contains extended TFM data (OFM or JFM) rather than plain TFM data.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-warning.

Direct methods
Direct slots
Slot: value

The TFM extension.

Initargs

:value

Readers

value.

Writers

(setf value).

Slot: file

The extended TFM file.

Initargs

:file

Readers

file.

Writers

(setf file).

Condition: file-overflow

The File Overflow compliance warning.
It signals that the file size is longer than expected.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses
Condition: file-underflow

The File Underflow compliance error.
It signals that the file size is shorter than expected.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses
Condition: fix-word-overflow

The Fix Word Overflow compliance error.
It signals that a fix word is outside ]-16,+16[.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The faulty value.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: invalid-bcpl-string

The Invalid BCPL String compliance error.
It signals that a BCPL string contains parentheses or non-ASCII characters.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The invalid string.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: invalid-char-info

The Invalid Char Info compliance error.
It signals that a char-info with a width-index of 0 is not completely zero’ed out.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The invalid char-info structure.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: invalid-character-code

The Invalid Character Code compliance error.
It signals a reference to a character code which does not exist in the font being loaded.

Package

net.didierverna.tfm.

Source

font.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The invalid character code.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: invalid-character-range

The Invalid Character Range compliance error. It signals that BC-1 > EC, or that EC > 255.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: bc

The smallest character code.

Initargs

:bc

Readers

bc.

Writers

(setf bc).

Slot: ec

The largest character code.

Initargs

:ec

Readers

ec.

Writers

(setf ec).

Condition: invalid-design-size

The Invalid Design Size compliance error.
It signals that a design size is too small (< 1pt).

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The invalid design size.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: invalid-header-length

The Invalid Header Length compliance error.
It signals that a header length is too small (< 2 words).

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The invalid header length.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: invalid-ligature-opcode

The Invalid Ligature Opcode compliance error. It signals that a ligature opcode is invalid.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The invalid ligature opcode.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: invalid-section-lengths

The Section Lengths compliance error.
It signals that LF != 6 + LH + NC + NW + NH + ND + NI + NL + NK + NE + NP.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: lf

The declared length of the file.

Initargs

:lf

Readers

lf.

Writers

(setf lf).

Slot: lh

The declared length of the file header.

Initargs

:lh

Readers

lh.

Writers

(setf lh).

Slot: nc

EC - BC + 1.

Initargs

:nc

Readers

nc.

Writers

(setf nc).

Slot: nw

The declared length of the width table.

Initargs

:nw

Readers

nw.

Writers

(setf nw).

Slot: nh

The declared length of the height table.

Initargs

:nh

Readers

nh.

Writers

(setf nh).

Slot: nd

The declared length of the depth table.

Initargs

:nd

Readers

nd.

Writers

(setf nd).

Slot: ni

The declared length of the italic correction table.

Initargs

:ni

Readers

ni.

Writers

(setf ni).

Slot: nl

The declared length of the lig/kern table.

Initargs

:nl

Readers

nl.

Writers

(setf nl).

Slot: nk

The declared length of the kern table.

Initargs

:nk

Readers

nk.

Writers

(setf nk).

Slot: ne

The declared length of the extensible character table.

Initargs

:ne

Readers

ne.

Writers

(setf ne).

Slot: np

The declared length of the parameters section.

Initargs

:np

Readers

np.

Writers

(setf np).

Condition: invalid-string-length

The Invalid String Length compliance error.
It signals that the declared length of a padded string is greater than its maximum.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The invalid length.

Initargs

:value

Readers

value.

Writers

(setf value).

Slot: padding

The maximum length.

Initargs

:padding

Readers

padding.

Writers

(setf padding).

Condition: invalid-table-index

The Invalid Table Index compliance error.
It signals that a table index is greater than its largest value.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-table-error.

Direct methods
Direct slots
Slot: value

The invalid index.

Initargs

:value

Readers

value.

Writers

(setf value).

Slot: largest

The largest index.

Initargs

:largest

Readers

largest.

Writers

(setf largest).

Condition: invalid-table-length

The Invalid Table Length compliance error.
It signals that a declared TFM table’s length is out of range.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-table-error.

Direct methods
Direct slots
Slot: value

The invalid table length.

Initargs

:value

Readers

value.

Writers

(setf value).

Slot: smallest

The smallest table length.

Initargs

:smallest

Readers

smallest.

Writers

(setf smallest).

Slot: largest

The largest table length.

Initargs

:largest

Readers

largest.

Writers

(setf largest).

Condition: invalid-table-start

The Invalid Table Start compliance error.
It signals that the first value in a TFM table is not 0.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-table-error.

Direct methods
Direct slots
Slot: value

The invalid first table value.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: ligature-cycle

The Ligature Cycle compliance error.
It signals that a ligature introduces a cycle for a cons of characters.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The ligature introducing a cycle.

Initargs

:value

Readers

value.

Writers

(setf value).

Slot: characters

The cons of characters involved in the ligature.

Initargs

:characters

Readers

characters.

Writers

(setf characters).

Condition: no-boundary-character

The No Boundary Character compliance error.
It signals that a boundary character ligature/kerning program was found, without a boundary character being defined.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Condition: not-extensible

The Not Extensible usage error.
It signals an attempt at accessing the extension recipe of a non extensible character.

Package

net.didierverna.tfm.

Source

character.lisp.

Direct superclasses

tfm-usage-error.

Direct methods
Direct slots
Slot: value

The non extensible character.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: tfm

The TFM root condition.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses

condition.

Direct subclasses
Condition: tfm-compliance

The TFM Compliance root condition.
This is the mixin for conditions related to TFM compliance.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses

tfm.

Direct subclasses
Condition: tfm-compliance-error

The TFM compliance errors root condition.
This is the root condition for errors related to TFM compliance.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses
Direct subclasses
Condition: tfm-compliance-warning

The TFM compliance warnings root condition.
This is the root condition for warnings related to TFM compliance.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses
Direct subclasses
Condition: tfm-error

The TFM errors root condition.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses
Direct subclasses
Condition: tfm-usage

The TFM Usage root condition.
This is the mixin for conditions related to the use of the library.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses

tfm.

Direct subclasses
Condition: tfm-usage-error

The TFM usage errors root condition.
This is the root condition for errors related to the use of the library.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses
Direct subclasses
Condition: tfm-usage-warning

The TFM usage warnings root condition.
This is the root condition for warnings related to the use of the library.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses
Condition: tfm-warning

The TFM warnings root condition.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses
  • tfm.
  • warning.
Direct subclasses
Condition: u16-overflow

The U16 Overflow compliance error.
It signals that an unsigned 16 bits integer is greater than 2^15.

Package

net.didierverna.tfm.

Source

util.lisp.

Direct superclasses

tfm-compliance-error.

Direct methods
Direct slots
Slot: value

The faulty value.

Initargs

:value

Readers

value.

Writers

(setf value).


6.1.6 Classes

Class: character-metrics

The Character Metrics class.
This class represents decoded character information. Within the context of this library, the term "character" denotes an instance of this class.

Package

net.didierverna.tfm.

Source

character.lisp.

Direct methods
Direct slots
Slot: code

The character’s numerical code.

Initargs

:code

Readers

code.

Writers

This slot is read-only.

Slot: font

The character’s font.

Initargs

:font

Readers

font.

Writers

This slot is read-only.

Slot: width

The character’s width.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initargs

:width

Readers

width.

Writers

(setf width).

Slot: height

The character’s height.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initargs

:height

Readers

height.

Writers

(setf height).

Slot: depth

The character’s depth.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initargs

:depth

Readers

depth.

Writers

(setf depth).

Slot: italic-correction

The character’s italic correction.
TeX uses this value for regular characters followed by the command /, and also in math mode for superscript placement. It is expressed in design size units, or in TeX point units if the font is frozen.

Initargs

:italic-correction

Readers

italic-correction.

Writers

(setf italic-correction).

Slot: next-character

The next character in a character list.
This slot is non-null only if the character is part of a chain of characters of ascending size, and not the last one (see TeX: the Program [544]). It is mutually exclusive with the EXTENSION-RECIPE slot, and also with the existence of a ligature or kerning program for this character.

Readers

next-character.

Writers

(setf next-character).

Slot: extension-recipe

The character’s extension recipe, or NIL.
This slot is non-null only if this character is extensible (see TeX: the Program [544]). It is mutually exclusive with the NEXT-CHARACTER slot, and also with the existence of a ligature or kerning program for this character.

Readers

extension-recipe.

Writers

(setf extension-recipe).

Class: font

The TeX Font Metrics class.
This class represents decoded font information. Within the context of this library, the term "font" denotes an instance of this class, or of one of its subclasses.

Package

net.didierverna.tfm.

Source

font.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name

The font’s name.
When the font is loaded from a file, it defaults to the file’s base name, along with potential scaling information.

Initargs

:name

Readers

name.

Writers

(setf name).

Slot: file

The file from which the font was loaded, or NIL.

Initargs

:file

Readers

file.

Writers

(setf file).

Slot: checksum

The font’s checksum, as provided by Metafont.

Readers

checksum.

Writers

(setf checksum).

Slot: frozen

Whether the font is frozen.

Readers

frozen.

Writers

(setf frozen).

Slot: design-size

The font’s design size, in units of TeX points.

Readers

design-size.

Writers

(setf design-size).

Slot: original-design-size

The font’s original design size, in units of TeX points.

Readers

original-design-size.

Writers

(setf original-design-size).

Slot: encoding

The font’s character coding scheme (a BCPL string), or NIL.

Readers

encoding.

Writers

(setf encoding).

Slot: family

The font’s family (a BCPL string), or NIL.

Readers

family.

Writers

(setf family).

Slot: 7bits-safe

Whether the font is 7 bits safe (0 or 1), or NIL.
When 1, it means that no character of code lesser than 128 can lead to a character of code greater than 128 by ways of ligatures or extensible recipes.

Readers

7bits-safe.

Writers

(setf 7bits-safe).

Slot: face-number

The font’s face number, or NIL.

Readers

face-number.

Writers

(setf face-number).

Slot: weight

The font’s weight (:medium, :bold, :light), or NIL. When available, it is decoded from the font face number.

Readers

weight.

Writers

(setf weight).

Slot: slope

The font’s slope (:roman, :italic), or NIL.
When available, it is decoded from the font face number.

Readers

slope.

Writers

(setf slope).

Slot: expansion

The font’s expansion (:regular, :condensed, :extended), or NIL. When available, it is decoded from the font face number.

Readers

expansion.

Writers

(setf expansion).

Slot: face-code

The font’s 3-letters face code, or NIL.
When available, it is the concatenation of the upcased first letters of the font’s weight, slope, and expansion.

Readers

face-code.

Writers

(setf face-code).

Slot: slant

The font’s slant (a scalar ratio).

Initform

0

Readers

slant.

Writers

(setf slant).

Slot: interword-space

The font’s normal interword space.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

interword-space.

Writers

(setf interword-space).

Slot: interword-stretch

The font’s interword stretchability.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

interword-stretch.

Writers

(setf interword-stretch).

Slot: interword-shrink

The font’s interword shrinkability.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

interword-shrink.

Writers

(setf interword-shrink).

Slot: ex

The font’s ex size.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

ex.

Writers

(setf ex).

Slot: em

The font’s em size.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

em.

Writers

(setf em).

Slot: extra-space

The font’s extra space.
It is expressed in design size units, or in TeX point units if the font is frozen.

This is the additional space to put at the end of sentences.

Initform

0

Readers

extra-space.

Writers

(setf extra-space).

Slot: parameters

The font’s additional parameters array, or NIL.
Parameters are expressed in design size units, or in TeX point units if the font is frozen.

Readers

parameters.

Writers

(setf parameters).

Slot: min-code

The font’s smallest character code.

Readers

min-code.

Writers

(setf min-code).

Slot: max-code

The font’s largest character code.

Readers

max-code.

Writers

(setf max-code).

Slot: characters

The font’s characters.
This is a hash table associating character codes with characters.

Initform

(make-hash-table :test (function eq))

Readers

characters.

Writers

(setf characters).

Slot: character-count

The font’s number of characters.
The character count does not include the boundary character, unless that character really exists in the font (has non-zerop metrics).

Readers

character-count.

Writers

(setf character-count).

Slot: ligatures

The font’s ligatures.
This is a hash table associating conses of characters with the corresponding ligature.

Initform

(make-hash-table :test (function equal))

Readers

ligatures.

Writers

(setf ligatures).

Slot: kernings

The font’s kernings.
This is a hash table associating conses of characters with the corresponding kerning. They are expressed in design size units, or in TeX point units if the font is frozen.

Initform

(make-hash-table :test (function equal))

Readers

kernings.

Writers

(setf kernings).

Slot: boundary-character

The font’s boundary character, or NIL.
This character is also accessible by code, like normal ones. However, it is the only character the code of which may be outside [MIN-CODE,MAX-CODE] (see TeX: the Program [545]). Finally, this character is not included in the character count, unless it exists for real in the font (has non-zero metrics).

Readers

boundary-character.

Writers

(setf boundary-character).

Class: ligature

The Ligature class.
This class represents a decoded ligature program. Within the context of this library, the term "ligature" denotes an instance of this class.

Package

net.didierverna.tfm.

Source

font.lisp.

Direct methods
Direct slots
Slot: composite

The character to insert between the two original ones.

Initargs

:composite

Readers

composite.

Writers

This slot is read-only.

Slot: delete-before

Whether to delete the character before the ligature.

Initargs

:delete-before

Readers

delete-before.

Writers

This slot is read-only.

Slot: delete-after

Whether to delete the character after the ligature.

Initargs

:delete-after

Readers

delete-after.

Writers

This slot is read-only.

Slot: pass-over

The number of characters to skip for reaching the next character.

Initargs

:pass-over

Readers

pass-over.

Writers

This slot is read-only.

Class: math-extension-font

The Math Extension Font class.
This class represents fonts with the "TeX math extension" character coding scheme.

Package

net.didierverna.tfm.

Source

font.lisp.

Direct superclasses

font.

Direct methods
Direct slots
Slot: default-rule-thickness

The font’s default rule thickness.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

default-rule-thickness.

Writers

(setf default-rule-thickness).

Slot: big-op-spacing1

The font’s BIG-OP-SPACING1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

big-op-spacing1.

Writers

(setf big-op-spacing1).

Slot: big-op-spacing2

The font’s BIG-OP-SPACING2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

big-op-spacing2.

Writers

(setf big-op-spacing2).

Slot: big-op-spacing3

The font’s BIG-OP-SPACING3 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

big-op-spacing3.

Writers

(setf big-op-spacing3).

Slot: big-op-spacing4

The font’s BIG-OP-SPACING4 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

big-op-spacing4.

Writers

(setf big-op-spacing4).

Slot: big-op-spacing5

The font’s BIG-OP-SPACING5 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

big-op-spacing5.

Writers

(setf big-op-spacing5).

Class: math-symbols-font

The Math Symbols Font class.
This class represents fonts with the "TeX math symbols" character coding scheme.

Package

net.didierverna.tfm.

Source

font.lisp.

Direct superclasses

font.

Direct methods
Direct slots
Slot: num1

The font’s NUM1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

num1.

Writers

(setf num1).

Slot: num2

The font’s NUM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

num2.

Writers

(setf num2).

Slot: num3

The font’s NUM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

num3.

Writers

(setf num3).

Slot: denom1

The font’s DENOM1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

denom1.

Writers

(setf denom1).

Slot: denom2

The font’s DENOM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

denom2.

Writers

(setf denom2).

Slot: sup1

The font’s SUP1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

sup1.

Writers

(setf sup1).

Slot: sup2

The font’s SUP2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

sup2.

Writers

(setf sup2).

Slot: sup3

The font’s SUP2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

sup3.

Writers

(setf sup3).

Slot: sub1

The font’s SUB1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

sub1.

Writers

(setf sub1).

Slot: sub2

The font’s SUB2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

sub2.

Writers

(setf sub2).

Slot: supdrop

The font’s SUPDROP parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

supdrop.

Writers

(setf supdrop).

Slot: subdrop

The font’s SUBDROP parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

subdrop.

Writers

(setf subdrop).

Slot: delim1

The font’s DELIM1 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

delim1.

Writers

(setf delim1).

Slot: delim2

The font’s DELIM2 parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

delim2.

Writers

(setf delim2).

Slot: axis-height

The font’s AXIS-HEIGHT parameter.
It is expressed in design size units, or in TeX point units if the font is frozen.

Initform

0

Readers

axis-height.

Writers

(setf axis-height).


6.2 Internals


6.2.1 Constants

Constant: +character-metrics-dimension-accessors+

The list of dimension accessor names in the CHARACTER-METRICS class.

Package

net.didierverna.tfm.

Source

character.lisp.

Constant: +font-dimension-accessors+

The list of dimension accessor names in the FONT class.

Package

net.didierverna.tfm.

Source

font.lisp.

Constant: +math-extension-font-dimension-accessors+

The list of dimension accessor names in the MATH-EXTENSION-FONT class.

Package

net.didierverna.tfm.

Source

font.lisp.

Constant: +math-symbols-font-dimension-accessors+

The list of dimension accessor names in the MATH-SYMBOLS-FONT class.

Package

net.didierverna.tfm.

Source

font.lisp.


6.2.2 Special variables

Special Variable: *configuration*

The TFM configuration settings.
This variable contains a property list of configuration options. Current options are:
- :swank-eval-in-emacs (Boolean)

See Chapter 5 of the user manual for more information.

Package

net.didierverna.tfm.setup.

Source

configuration.lisp.

Special Variable: *stream*

The stream being read.

Package

net.didierverna.tfm.

Source

util.lisp.


6.2.3 Macros

Macro: defindent (symbol indent)

Wrapper around ‘clindent’ to avoid quoting SYMBOL and INDENT.

Package

net.didierverna.tfm.setup.

Source

readtable.lisp.

Macro: define-constant (name value &optional documentation)

Like DEFCONSTANT, but reuse existing value if any.

Package

net.didierverna.tfm.

Source

util.lisp.

Macro: define-extension-recipe-pseudo-accessor (name)
Package

net.didierverna.tfm.

Source

character.lisp.

Macro: map-accessors (var object accessors &body body)

Map BODY on OBJECT ACCESSORS, each in turn available as VAR.

Package

net.didierverna.tfm.

Source

util.lisp.

Macro: map-character-metrics-dimension-accessors (var character &body body)

Map BODY on CHARACTER metrics dimension accessors available as VAR.

Package

net.didierverna.tfm.

Source

character.lisp.

Macro: map-font-dimension-accessors (var font &body body)

Map BODY on FONT dimension accessors available as VAR.

Package

net.didierverna.tfm.

Source

font.lisp.

Macro: map-math-extension-font-dimension-accessors (var font &body body)

Map BODY on math extension FONT dimension accessors available as VAR.

Package

net.didierverna.tfm.

Source

font.lisp.

Macro: map-math-symbols-font-dimension-accessors (var font &body body)

Map BODY on FONT dimension accessors available as VAR.

Package

net.didierverna.tfm.

Source

font.lisp.

Macro: tref (table index)

Call TABLE-AREF, computing the table name from TABLE.

Package

net.didierverna.tfm.

Source

file.lisp.


6.2.4 Ordinary functions

Function: %run-ligature/kerning-program (character index lig/kerns kerns)

Run a ligature/kerning program for CHARACTER.
The program starts at LIG/KERNS[INDEX] and uses the KERNS array. Running the program eventually creates ligatures or kernings for CHARACTER and some other character.

If an invalid index into LIG/KERNS is encountered, signal an INVALID-TABLE-INDEX error. This error is immediately restartable with ABORT-LIG/KERN-PROGRAM.

If an invalid ligature opcode is encountered, signal an INVALID-LIGATURE-OPCODE error. This error is immediately restartable with DISCARD-LIGATURE.

If an invalid index into KERNS is encountered, signal an INVALID-TABLE-INDEX error. This error is immediately restartable with DISCARD-KERNING.

Finally, if an invalid character code is encountered, signal an INVALID-CHARACTER-CODE error. Depending on the context, this error is immediately restartable with DISCARD-LIGATURE or DISCARD-KERNING.

Package

net.didierverna.tfm.

Source

file.lisp.

Function: %version (type major minor status level name)
Package

net.didierverna.tfm.setup.

Source

version.lisp.

Function: apply-ligature (ligature state)

Apply LIGATURE to STATE and return the new state.
STATE is a list of characters, the first two being subject to LIGATURE.

Package

net.didierverna.tfm.

Source

font.lisp.

Reader: bot (instance)
Writer: (setf bot) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

bot.

Function: char-info-p (object)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: clindent (symbol indent)

Send SYMBOL’s INDENTation information to Emacs.
Emacs will set the ’common-lisp-indent-function property.
If INDENT is a symbol, use its indentation definition. Otherwise, INDENT is considered as an indentation definition.

Package

net.didierverna.tfm.setup.

Source

readtable.lisp.

Function: code-character (code font &optional errorp)

Return FONT’s CODE character.
If ERRORP (the default), check that the character exists, or signal an INVALID-CHARACTER-CODE error. Note that a fake boundary character may be retrieved by this function.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: (setf code-character) (font)

Make FONT’s CHARACTER accessible by its code.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: copy-char-info (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: copy-exten (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: copy-lig/kern (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: decode-char-info (word)

Decode char-info WORD into a new CHAR-INFO instance, and return it.

Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: decode-exten (word)

Decode exten WORD into a new EXTEN instance, and return it.

Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: decode-lig/kern (word)

Decode lig/kern WORD into a new LIG/KERN instance, and return it.

Package

net.didierverna.tfm.

Source

intermediate.lisp.

Reader: depth-index (instance)
Writer: (setf depth-index) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

depth-index.

Reader: exten-index (instance)
Writer: (setf exten-index) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

exten-index.

Function: exten-p (object)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: font-extension-recipe (exten font)

Make an extension recipe based on EXTEN with FONT’s characters.

Package

net.didierverna.tfm.

Source

file.lisp.

Reader: height-index (instance)
Writer: (setf height-index) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

height-index.

Function: i-reader (stream subchar arg)

Construct a call to ‘defindent’ by reading an argument list from STREAM. This dispatch macro character function is installed on #i in the NET.DIDIERVERNA.TFM named readtable.

Package

net.didierverna.tfm.setup.

Source

readtable.lisp.

Reader: italic-index (instance)
Writer: (setf italic-index) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

italic-index.

Reader: lig/kern-index (instance)
Writer: (setf lig/kern-index) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

lig/kern-index.

Function: lig/kern-p (object)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: load-tfm-font (lf &key file name design-size freeze)

Parse *STREAM* of declared length LF into a new font, and return it.
- FILE defaults to *STREAM*’s associated file if any.
- NAME defaults to the FILE’s base name, if any.
- If DESIGN-SIZE is provided and not a real greater or equal to 1, signal a type error. Otherwise, override the original design size with it.
- When FREEZE (NIL by default), freeze the font immediately after creation.

If *STREAM* is shorter than expected, signal a FILE-UNDERFLOW error.
If *STREAM* is longer than expected, signal a FILE-OVERFLOW warning.

If the declared header length is less than 2, signal an INVALID-HEADER-LENGTH error.

If BC and EC don’t make sense, signal an INVALID-CHARACTER-RANGE error.

If the widths, heights, depths, italic corrections, or extens tables lengths are not within the expected range, signal an INVALID-TABLE-LENGTH error.

Finally, if the declared sections lengths don’t add up to the declared file length, signal an INVALID-SECTION-LENGTHS error.

Package

net.didierverna.tfm.

Source

file.lisp.

Function: make-char-info (&key width-index height-index depth-index italic-index lig/kern-index next-char exten-index)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: make-character-metrics (code font width height depth italic-correction)

Make a new CHARACTER-METRICS instance, and return it.
Initialize the character’s CODE, FONT, WIDTH, HEIGHT, DEPTH, and ITALIC-CORRECTION appropriately. The two remaining slots (NEXT-CHARACTER and EXTENSION-RECIPE) will be initialized later if needed, when all character metrics instances are created.

Package

net.didierverna.tfm.

Source

character.lisp.

Function: make-exten (&key top mid bot rep)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: make-extension-recipe (repeated-character &rest initargs &key top-character middle-character bottom-character)

Make a new EXTENSION-RECIPE with REPEATED-CHARACTER and return it. The recipe may also have a TOP-, MIDDLE-, and BOTTOM-CHARACTER.

Package

net.didierverna.tfm.

Source

character.lisp.

Function: make-font (name &rest initargs)

Make a new NAMEd FONT instance, and return it.
If INITARGS are provided, pass them as-is to MAKE-INSTANCE.

Package

net.didierverna.tfm.

Source

font.lisp.

Function: make-lig/kern (&key skip next op remainder)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Function: make-ligature (composite delete-before delete-after pass-over)

Make a new LIGATURE instance, and return it.

Package

net.didierverna.tfm.

Source

font.lisp.

Reader: mid (instance)
Writer: (setf mid) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

mid.

Reader: next (instance)
Writer: (setf next) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

next.

Reader: next-char (instance)
Writer: (setf next-char) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

next-char.

Reader: op (instance)
Writer: (setf op) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

op.

Function: parse-character-information (nc nw nh nd ni nl nk ne font)

Parse the 8 character information tables from *STREAM* into FONT.
NC (EC - BC + 1), NW, NH, ND, NI, NL, NK, and NE are the declared lengths of the 8 tables, that is, the char infos, widths, heights, depths, italic corrections, lig/kern instructions, kerns, and extens respectively.

If a char info structure with a width index of 0 is not completely zero’ed out, signal an INVALID-CHAR-INFO error. This error is immediately restartable with SET-TO-ZERO.

If the first entry in the widths, heights, depths, or italic corrections table is not 0, signal an INVALID-TABLE-START error. This error is immediately restartable with SET-TO-ZERO.

If an index into the widths, heights, depths, or italic corrections tables is invalid, signal an INVALID-TABLE-INDEX error. This error is immediately restartable with SET-TO-ZERO.

If a lig/kern program is found for a boundary character, but there is no such character in the font, signal a NO-BOUNDARY-CHARACTER error. This error is immediately restartable with ABORT-LIG/KERN-PROGRAM.

If an index into the extens table is invalid, signal an INVALID-TABLE-INDEX error. This error is immediately restartable with DISCARD-EXTENSION-RECIPE.

If a cycle is found in a list of characters of ascending size, signal a CHARACTER-LIST-CYCLE error. This error is immediately restartable with DISCARD-NEXT-CHARACTER.

If a ligature is found to be cyclic, signal a LIGATURE-CYCLE error. This error is immediately restartable with DISCARD-LIGATURE.

Finally, if an invalid character code is encountered, signal an INVALID-CHARACTER-CODE error. Depending on the context, this error is immediately restartable with DISCARD-NEXT-CHARACTER, or DISCARD-EXTENSION-RECIPE.

Package

net.didierverna.tfm.

Source

file.lisp.

Function: parse-header (length font)

Parse a header of LENGTH words from *STREAM* into FONT.
If FONT’s design size is less than 1pt, signal an INVALID-DESIGN-SIZE error. This error is immediately restartable with SET-TO-TEN.
However, if FONT’s design size was explicitly overridden, only signal an INVALID-ORIGINAL-DESIGN-SIZE warning.

Package

net.didierverna.tfm.

Source

file.lisp.

Function: read-fix-word (&optional limit)

Read a fix word from *STREAM* and return it.
If LIMIT (the default), check that the number lies within ]-16,+16[, or signal a FIX-WORD-OVERFLOW error. This error is immediately restartable with SET-TO-ZERO.

Package

net.didierverna.tfm.

Source

util.lisp.

Function: read-padded-string (padding)

Read a BCPL string out of PADDING bytes from *STREAM*.
The first byte in *STREAM* indicates the actual length of the string. The remaining bytes are ignored.

If the declared string length is too large, signal an INVALID-STRING-LENGTH error. This error is immediately restartable with READ-MAXIMUM-LENGTH or DISCARD-STRING.

If the string is not in BCPL format (it contains parentheses or non plain ASCII characters, signal an INVALID-BCPL-STRING error. This error is immediately restartable with KEEP-STRING, FIX-STRING (replacing parentheses with slashes, and non plain ASCII characters with question marks), or DISCARD-STRING.

Package

net.didierverna.tfm.

Source

util.lisp.

Function: read-u16 ()

Read an unsigned 16 bits Big Endian integer from *STREAM* and return it. If >= 2^15, signal a U16-OVERFLOW error.

Package

net.didierverna.tfm.

Source

util.lisp.

Function: read-u32 ()

Read an unsigned 32 bits Big Endian integer from *STREAM*.

Package

net.didierverna.tfm.

Source

util.lisp.

Function: release-status-number (release-status)
Package

net.didierverna.tfm.setup.

Source

version.lisp.

Reader: remainder (instance)
Writer: (setf remainder) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

remainder.

Reader: rep (instance)
Writer: (setf rep) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

rep.

Function: report (stream format-string &rest format-arguments)

Like FORMAT, but if *STREAM* is bound, report that we’re reading from it.

Package

net.didierverna.tfm.

Source

util.lisp.

Function: run-ligature/kerning-program (character index lig/kerns kerns)

Find the real start of a ligature/kerning program and run it.
See %run-ligature/kerning-program for more information.

If INDEX is invalid, signal an INVALID-TABLE-INDEX error. This error is immediately restartable with ABORT-LIG/KERN-PROGRAM.

Package

net.didierverna.tfm.

Source

file.lisp.

Reader: skip (instance)
Writer: (setf skip) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

skip.

Function: table-aref (name table index)

Access NAMEd TABLE at INDEX.
If INDEX is out of bounds, signal an INVALID-TABLE-INDEX error.

Package

net.didierverna.tfm.

Source

file.lisp.

Reader: top (instance)
Writer: (setf top) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

top.

Reader: width-index (instance)
Writer: (setf width-index) (instance)
Package

net.didierverna.tfm.

Source

intermediate.lisp.

Target Slot

width-index.

Function: ~-reader (stream char)

Read a series of ~"string" to be concatenated together.

Package

net.didierverna.tfm.setup.

Source

readtable.lisp.


6.2.5 Generic functions

Generic Reader: extension-recipe (object)
Generic Writer: (setf extension-recipe) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: extension-recipe ((character-metrics character-metrics))
Writer Method: (setf extension-recipe) ((character-metrics character-metrics))

The character’s extension recipe, or NIL.
This slot is non-null only if this character is extensible (see TeX: the Program [544]). It is mutually exclusive with the NEXT-CHARACTER slot, and also with the existence of a ligature or kerning program for this character.

Source

character.lisp.

Target Slot

extension-recipe.

Generic Reader: kernings (object)
Generic Writer: (setf kernings) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: kernings ((font font))
Writer Method: (setf kernings) ((font font))

The font’s kernings.
This is a hash table associating conses of characters with the corresponding kerning. They are expressed in design size units, or in TeX point units if the font is frozen.

Source

font.lisp.

Target Slot

kernings.

Generic Reader: ligatures (object)
Generic Writer: (setf ligatures) (object)
Package

net.didierverna.tfm.

Methods
Reader Method: ligatures ((font font))
Writer Method: (setf ligatures) ((font font))

The font’s ligatures.
This is a hash table associating conses of characters with the corresponding ligature.

Source

font.lisp.

Target Slot

ligatures.

Generic Function: parse-parameters (length font)

Parse a parameters section of LENGTH words from *STREAM* into FONT. Return remaining LENGTH.

Package

net.didierverna.tfm.

Source

file.lisp.

Methods
Method: parse-parameters (length font)

Parse the 7 regular FONT parameters. Return remaining LENGTH.

Method: parse-parameters (length (font math-symbols-font))

Parse the 15 additional TeX math symbols FONT parameters.

Method: parse-parameters (length (font math-extension-font))

Parse the 6 additional TeX math extension FONT parameters.

Method: parse-parameters :around (length font)

Read remaining parameters into a parameters array.

Generic Function: scale (font factor)

Scale all FONT dimensions by FACTOR.

Package

net.didierverna.tfm.

Source

font.lisp.

Methods
Method: scale :around ((font math-extension-font) factor)

Scaling method for MATH-EXTENSION-FONTs.

Method: scale :around ((font math-symbols-font) factor)

Scaling method for MATH-SYMBOL-FONTs.

Method: scale (font factor)

Scaling method for regular FONTs.


6.2.6 Conditions

Condition: anonymous-font

The Anonymous Font usage error.
It signals an attempt at creating a font with no name.

Package

net.didierverna.tfm.

Source

font.lisp.

Direct superclasses

tfm-usage-error.

Condition: file-size-mixin

The File Size Mixin condition.
It is used in both errors and warnings to report different declared and actual file sizes.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

condition.

Direct subclasses
Direct methods
Direct slots
Slot: declared-size

The declared file size.

Initargs

:declared-size

Readers

declared-size.

Writers

(setf declared-size).

Slot: actual-size

The actual file size.

Initargs

:actual-size

Readers

actual-size.

Writers

(setf actual-size).

Condition: invalid-original-design-size

The Invalid Original Design Size compliance warning.
It signals that, although overridden explicitly, an original design size was too small (< 1pt).

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-warning.

Direct methods
Direct slots
Slot: value

The invalid original design size.

Initargs

:value

Readers

value.

Writers

(setf value).

Condition: tfm-table-error

The TFM table errors root condition.
This is the root condition for errors related to TFM tables.

Package

net.didierverna.tfm.

Source

file.lisp.

Direct superclasses

tfm-compliance-error.

Direct subclasses
Direct methods
Direct slots
Slot: name

The table’s name.

Initargs

:name

Readers

name.

Writers

(setf name).


6.2.7 Structures

Structure: char-info

The Char Info structure.
This structure is used to store decoded information from the char-info table (see TeX: the Program [543]). Only one of LIG/KERN-INDEX, NEXT-CHAR, and EXTEN-INDEX may be non-null at a time (see TeX: the Program [544]).

Package

net.didierverna.tfm.

Source

intermediate.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: width-index
Readers

width-index.

Writers

(setf width-index).

Slot: height-index
Readers

height-index.

Writers

(setf height-index).

Slot: depth-index
Readers

depth-index.

Writers

(setf depth-index).

Slot: italic-index
Readers

italic-index.

Writers

(setf italic-index).

Slot: lig/kern-index
Readers

lig/kern-index.

Writers

(setf lig/kern-index).

Slot: next-char
Readers

next-char.

Writers

(setf next-char).

Slot: exten-index
Readers

exten-index.

Writers

(setf exten-index).

Structure: exten

The Exten structure.
This structure is used to store decoded information from the exten table (see TeX: the Program [546]).

Package

net.didierverna.tfm.

Source

intermediate.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: top
Readers

top.

Writers

(setf top).

Slot: mid
Readers

mid.

Writers

(setf mid).

Slot: bot
Readers

bot.

Writers

(setf bot).

Slot: rep
Readers

rep.

Writers

(setf rep).

Structure: lig/kern

The Lig/Kern structure.
This structure is used to store decoded information from the lig/kern table (see TeX: the Program [545]).

Package

net.didierverna.tfm.

Source

intermediate.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: skip
Readers

skip.

Writers

(setf skip).

Slot: next
Readers

next.

Writers

(setf next).

Slot: op
Readers

op.

Writers

(setf op).

Slot: remainder
Readers

remainder.

Writers

(setf remainder).


6.2.8 Classes

Class: extension-recipe

The Extension Recipe class.
This class represents decoded information for extensible characters. Within the context of this library, the expression "extension recipe" denotes an instance of this class.

Package

net.didierverna.tfm.

Source

character.lisp.

Direct methods
Direct slots
Slot: top-character

The recipe’s top character, or NIL.

Initargs

:top-character

Readers

top-character.

Writers

(setf top-character).

Slot: middle-character

The recipe’s middle character, or NIL.

Initargs

:middle-character

Readers

middle-character.

Writers

(setf middle-character).

Slot: bottom-character

The recipe’s bottom character, or NIL.

Initargs

:bottom-character

Readers

bottom-character.

Writers

(setf bottom-character).

Slot: repeated-character

The recipe’s repeated character.

Initargs

:repeated-character

Readers

repeated-character.

Writers

(setf repeated-character).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (   7   ~  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

%
%run-ligature/kerning-program: Private ordinary functions
%version: Private ordinary functions

(
(setf 7bits-safe): Public generic functions
(setf 7bits-safe): Public generic functions
(setf actual-size): Public generic functions
(setf actual-size): Public generic functions
(setf axis-height): Public generic functions
(setf axis-height): Public generic functions
(setf bc): Public generic functions
(setf bc): Public generic functions
(setf big-op-spacing1): Public generic functions
(setf big-op-spacing1): Public generic functions
(setf big-op-spacing2): Public generic functions
(setf big-op-spacing2): Public generic functions
(setf big-op-spacing3): Public generic functions
(setf big-op-spacing3): Public generic functions
(setf big-op-spacing4): Public generic functions
(setf big-op-spacing4): Public generic functions
(setf big-op-spacing5): Public generic functions
(setf big-op-spacing5): Public generic functions
(setf bot): Private ordinary functions
(setf bottom-character): Public generic functions
(setf bottom-character): Public generic functions
(setf boundary-character): Public generic functions
(setf boundary-character): Public generic functions
(setf character-count): Public generic functions
(setf character-count): Public generic functions
(setf character1): Public generic functions
(setf character1): Public generic functions
(setf character2): Public generic functions
(setf character2): Public generic functions
(setf characters): Public generic functions
(setf characters): Public generic functions
(setf characters): Public generic functions
(setf checksum): Public generic functions
(setf checksum): Public generic functions
(setf code-character): Private ordinary functions
(setf declared-size): Public generic functions
(setf declared-size): Public generic functions
(setf default-rule-thickness): Public generic functions
(setf default-rule-thickness): Public generic functions
(setf delim1): Public generic functions
(setf delim1): Public generic functions
(setf delim2): Public generic functions
(setf delim2): Public generic functions
(setf denom1): Public generic functions
(setf denom1): Public generic functions
(setf denom2): Public generic functions
(setf denom2): Public generic functions
(setf depth): Public generic functions
(setf depth): Public generic functions
(setf depth-index): Private ordinary functions
(setf design-size): Public generic functions
(setf design-size): Public generic functions
(setf design-size): Public generic functions
(setf design-size): Public generic functions
(setf design-size): Public generic functions
(setf ec): Public generic functions
(setf ec): Public generic functions
(setf em): Public generic functions
(setf em): Public generic functions
(setf encoding): Public generic functions
(setf encoding): Public generic functions
(setf ex): Public generic functions
(setf ex): Public generic functions
(setf expansion): Public generic functions
(setf expansion): Public generic functions
(setf exten-index): Private ordinary functions
(setf extension-recipe): Private generic functions
(setf extension-recipe): Private generic functions
(setf extra-space): Public generic functions
(setf extra-space): Public generic functions
(setf face-code): Public generic functions
(setf face-code): Public generic functions
(setf face-number): Public generic functions
(setf face-number): Public generic functions
(setf family): Public generic functions
(setf family): Public generic functions
(setf file): Public generic functions
(setf file): Public generic functions
(setf file): Public generic functions
(setf frozen): Public generic functions
(setf frozen): Public generic functions
(setf height): Public generic functions
(setf height): Public generic functions
(setf height-index): Private ordinary functions
(setf interword-shrink): Public generic functions
(setf interword-shrink): Public generic functions
(setf interword-space): Public generic functions
(setf interword-space): Public generic functions
(setf interword-stretch): Public generic functions
(setf interword-stretch): Public generic functions
(setf italic-correction): Public generic functions
(setf italic-correction): Public generic functions
(setf italic-index): Private ordinary functions
(setf kerning): Public ordinary functions
(setf kernings): Private generic functions
(setf kernings): Private generic functions
(setf largest): Public generic functions
(setf largest): Public generic functions
(setf largest): Public generic functions
(setf lf): Public generic functions
(setf lf): Public generic functions
(setf lh): Public generic functions
(setf lh): Public generic functions
(setf lig/kern-index): Private ordinary functions
(setf ligature): Public ordinary functions
(setf ligatures): Private generic functions
(setf ligatures): Private generic functions
(setf max-code): Public generic functions
(setf max-code): Public generic functions
(setf mid): Private ordinary functions
(setf middle-character): Public generic functions
(setf middle-character): Public generic functions
(setf min-code): Public generic functions
(setf min-code): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf nc): Public generic functions
(setf nc): Public generic functions
(setf nd): Public generic functions
(setf nd): Public generic functions
(setf ne): Public generic functions
(setf ne): Public generic functions
(setf next): Private ordinary functions
(setf next-char): Private ordinary functions
(setf next-character): Public generic functions
(setf next-character): Public generic functions
(setf nh): Public generic functions
(setf nh): Public generic functions
(setf ni): Public generic functions
(setf ni): Public generic functions
(setf nk): Public generic functions
(setf nk): Public generic functions
(setf nl): Public generic functions
(setf nl): Public generic functions
(setf np): Public generic functions
(setf np): Public generic functions
(setf num1): Public generic functions
(setf num1): Public generic functions
(setf num2): Public generic functions
(setf num2): Public generic functions
(setf num3): Public generic functions
(setf num3): Public generic functions
(setf nw): Public generic functions
(setf nw): Public generic functions
(setf op): Private ordinary functions
(setf original-design-size): Public generic functions
(setf original-design-size): Public generic functions
(setf padding): Public generic functions
(setf padding): Public generic functions
(setf parameters): Public generic functions
(setf parameters): Public generic functions
(setf remainder): Private ordinary functions
(setf rep): Private ordinary functions
(setf repeated-character): Public generic functions
(setf repeated-character): Public generic functions
(setf skip): Private ordinary functions
(setf slant): Public generic functions
(setf slant): Public generic functions
(setf slope): Public generic functions
(setf slope): Public generic functions
(setf smallest): Public generic functions
(setf smallest): Public generic functions
(setf sub1): Public generic functions
(setf sub1): Public generic functions
(setf sub2): Public generic functions
(setf sub2): Public generic functions
(setf subdrop): Public generic functions
(setf subdrop): Public generic functions
(setf sup1): Public generic functions
(setf sup1): Public generic functions
(setf sup2): Public generic functions
(setf sup2): Public generic functions
(setf sup3): Public generic functions
(setf sup3): Public generic functions
(setf supdrop): Public generic functions
(setf supdrop): Public generic functions
(setf top): Private ordinary functions
(setf top-character): Public generic functions
(setf top-character): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf value): Public generic functions
(setf weight): Public generic functions
(setf weight): Public generic functions
(setf width): Public generic functions
(setf width): Public generic functions
(setf width-index): Private ordinary functions

7
7bits-safe: Public generic functions
7bits-safe: Public generic functions

~
~-reader: Private ordinary functions

A
actual-size: Public generic functions
actual-size: Public generic functions
apply-ligature: Private ordinary functions
axis-height: Public generic functions
axis-height: Public generic functions

B
bc: Public generic functions
bc: Public generic functions
big-op-spacing1: Public generic functions
big-op-spacing1: Public generic functions
big-op-spacing2: Public generic functions
big-op-spacing2: Public generic functions
big-op-spacing3: Public generic functions
big-op-spacing3: Public generic functions
big-op-spacing4: Public generic functions
big-op-spacing4: Public generic functions
big-op-spacing5: Public generic functions
big-op-spacing5: Public generic functions
bot: Private ordinary functions
bottom-character: Public generic functions
bottom-character: Public generic functions
bottom-character: Public generic functions
boundary-character: Public generic functions
boundary-character: Public generic functions

C
char-info-p: Private ordinary functions
character-count: Public generic functions
character-count: Public generic functions
character1: Public generic functions
character1: Public generic functions
character2: Public generic functions
character2: Public generic functions
characters: Public generic functions
characters: Public generic functions
characters: Public generic functions
checksum: Public generic functions
checksum: Public generic functions
clindent: Private ordinary functions
code: Public generic functions
code: Public generic functions
code-character: Private ordinary functions
composite: Public generic functions
composite: Public generic functions
configuration: Public ordinary functions
configure: Public ordinary functions
copy-char-info: Private ordinary functions
copy-exten: Private ordinary functions
copy-lig/kern: Private ordinary functions

D
declared-size: Public generic functions
declared-size: Public generic functions
decode-char-info: Private ordinary functions
decode-exten: Private ordinary functions
decode-lig/kern: Private ordinary functions
default-rule-thickness: Public generic functions
default-rule-thickness: Public generic functions
defindent: Private macros
define-constant: Private macros
define-extension-recipe-pseudo-accessor: Private macros
delete-after: Public generic functions
delete-after: Public generic functions
delete-before: Public generic functions
delete-before: Public generic functions
delim1: Public generic functions
delim1: Public generic functions
delim2: Public generic functions
delim2: Public generic functions
denom1: Public generic functions
denom1: Public generic functions
denom2: Public generic functions
denom2: Public generic functions
depth: Public generic functions
depth: Public generic functions
depth-index: Private ordinary functions
design-size: Public generic functions
design-size: Public generic functions

E
ec: Public generic functions
ec: Public generic functions
em: Public generic functions
em: Public generic functions
encoding: Public generic functions
encoding: Public generic functions
ex: Public generic functions
ex: Public generic functions
expansion: Public generic functions
expansion: Public generic functions
exten-index: Private ordinary functions
exten-p: Private ordinary functions
extensiblep: Public ordinary functions
extension-recipe: Private generic functions
extension-recipe: Private generic functions
extra-space: Public generic functions
extra-space: Public generic functions

F
face-code: Public generic functions
face-code: Public generic functions
face-number: Public generic functions
face-number: Public generic functions
family: Public generic functions
family: Public generic functions
file: Public generic functions
file: Public generic functions
file: Public generic functions
font: Public generic functions
font: Public generic functions
font-extension-recipe: Private ordinary functions
freeze: Public ordinary functions
frozen: Public generic functions
frozen: Public generic functions
Function, %run-ligature/kerning-program: Private ordinary functions
Function, %version: Private ordinary functions
Function, (setf bot): Private ordinary functions
Function, (setf code-character): Private ordinary functions
Function, (setf depth-index): Private ordinary functions
Function, (setf exten-index): Private ordinary functions
Function, (setf height-index): Private ordinary functions
Function, (setf italic-index): Private ordinary functions
Function, (setf kerning): Public ordinary functions
Function, (setf lig/kern-index): Private ordinary functions
Function, (setf ligature): Public ordinary functions
Function, (setf mid): Private ordinary functions
Function, (setf next): Private ordinary functions
Function, (setf next-char): Private ordinary functions
Function, (setf op): Private ordinary functions
Function, (setf remainder): Private ordinary functions
Function, (setf rep): Private ordinary functions
Function, (setf skip): Private ordinary functions
Function, (setf top): Private ordinary functions
Function, (setf width-index): Private ordinary functions
Function, apply-ligature: Private ordinary functions
Function, bot: Private ordinary functions
Function, char-info-p: Private ordinary functions
Function, clindent: Private ordinary functions
Function, code-character: Private ordinary functions
Function, configuration: Public ordinary functions
Function, configure: Public ordinary functions
Function, copy-char-info: Private ordinary functions
Function, copy-exten: Private ordinary functions
Function, copy-lig/kern: Private ordinary functions
Function, decode-char-info: Private ordinary functions
Function, decode-exten: Private ordinary functions
Function, decode-lig/kern: Private ordinary functions
Function, depth-index: Private ordinary functions
Function, exten-index: Private ordinary functions
Function, exten-p: Private ordinary functions
Function, extensiblep: Public ordinary functions
Function, font-extension-recipe: Private ordinary functions
Function, freeze: Public ordinary functions
Function, get-character: Public ordinary functions
Function, height-index: Private ordinary functions
Function, i-reader: Private ordinary functions
Function, italic-index: Private ordinary functions
Function, kerning: Public ordinary functions
Function, lig/kern-index: Private ordinary functions
Function, lig/kern-p: Private ordinary functions
Function, ligature: Public ordinary functions
Function, load-font: Public ordinary functions
Function, load-tfm-font: Private ordinary functions
Function, make-char-info: Private ordinary functions
Function, make-character-metrics: Private ordinary functions
Function, make-exten: Private ordinary functions
Function, make-extension-recipe: Private ordinary functions
Function, make-font: Private ordinary functions
Function, make-lig/kern: Private ordinary functions
Function, make-ligature: Private ordinary functions
Function, mid: Private ordinary functions
Function, next: Private ordinary functions
Function, next-char: Private ordinary functions
Function, nickname-package: Public ordinary functions
Function, op: Private ordinary functions
Function, parse-character-information: Private ordinary functions
Function, parse-header: Private ordinary functions
Function, read-fix-word: Private ordinary functions
Function, read-padded-string: Private ordinary functions
Function, read-u16: Private ordinary functions
Function, read-u32: Private ordinary functions
Function, release-status-number: Private ordinary functions
Function, remainder: Private ordinary functions
Function, rep: Private ordinary functions
Function, report: Private ordinary functions
Function, run-ligature/kerning-program: Private ordinary functions
Function, skip: Private ordinary functions
Function, table-aref: Private ordinary functions
Function, top: Private ordinary functions
Function, unfreeze: Public ordinary functions
Function, version: Public ordinary functions
Function, width-index: Private ordinary functions
Function, ~-reader: Private ordinary functions

G
Generic Function, (setf 7bits-safe): Public generic functions
Generic Function, (setf actual-size): Public generic functions
Generic Function, (setf axis-height): Public generic functions
Generic Function, (setf bc): Public generic functions
Generic Function, (setf big-op-spacing1): Public generic functions
Generic Function, (setf big-op-spacing2): Public generic functions
Generic Function, (setf big-op-spacing3): Public generic functions
Generic Function, (setf big-op-spacing4): Public generic functions
Generic Function, (setf big-op-spacing5): Public generic functions
Generic Function, (setf bottom-character): Public generic functions
Generic Function, (setf boundary-character): Public generic functions
Generic Function, (setf character-count): Public generic functions
Generic Function, (setf character1): Public generic functions
Generic Function, (setf character2): Public generic functions
Generic Function, (setf characters): Public generic functions
Generic Function, (setf checksum): Public generic functions
Generic Function, (setf declared-size): Public generic functions
Generic Function, (setf default-rule-thickness): Public generic functions
Generic Function, (setf delim1): Public generic functions
Generic Function, (setf delim2): Public generic functions
Generic Function, (setf denom1): Public generic functions
Generic Function, (setf denom2): Public generic functions
Generic Function, (setf depth): Public generic functions
Generic Function, (setf design-size): Public generic functions
Generic Function, (setf ec): Public generic functions
Generic Function, (setf em): Public generic functions
Generic Function, (setf encoding): Public generic functions
Generic Function, (setf ex): Public generic functions
Generic Function, (setf expansion): Public generic functions
Generic Function, (setf extension-recipe): Private generic functions
Generic Function, (setf extra-space): Public generic functions
Generic Function, (setf face-code): Public generic functions
Generic Function, (setf face-number): Public generic functions
Generic Function, (setf family): Public generic functions
Generic Function, (setf file): Public generic functions
Generic Function, (setf frozen): Public generic functions
Generic Function, (setf height): Public generic functions
Generic Function, (setf interword-shrink): Public generic functions
Generic Function, (setf interword-space): Public generic functions
Generic Function, (setf interword-stretch): Public generic functions
Generic Function, (setf italic-correction): Public generic functions
Generic Function, (setf kernings): Private generic functions
Generic Function, (setf largest): Public generic functions
Generic Function, (setf lf): Public generic functions
Generic Function, (setf lh): Public generic functions
Generic Function, (setf ligatures): Private generic functions
Generic Function, (setf max-code): Public generic functions
Generic Function, (setf middle-character): Public generic functions
Generic Function, (setf min-code): Public generic functions
Generic Function, (setf name): Public generic functions
Generic Function, (setf nc): Public generic functions
Generic Function, (setf nd): Public generic functions
Generic Function, (setf ne): Public generic functions
Generic Function, (setf next-character): Public generic functions
Generic Function, (setf nh): Public generic functions
Generic Function, (setf ni): Public generic functions
Generic Function, (setf nk): Public generic functions
Generic Function, (setf nl): Public generic functions
Generic Function, (setf np): Public generic functions
Generic Function, (setf num1): Public generic functions
Generic Function, (setf num2): Public generic functions
Generic Function, (setf num3): Public generic functions
Generic Function, (setf nw): Public generic functions
Generic Function, (setf original-design-size): Public generic functions
Generic Function, (setf padding): Public generic functions
Generic Function, (setf parameters): Public generic functions
Generic Function, (setf repeated-character): Public generic functions
Generic Function, (setf slant): Public generic functions
Generic Function, (setf slope): Public generic functions
Generic Function, (setf smallest): Public generic functions
Generic Function, (setf sub1): Public generic functions
Generic Function, (setf sub2): Public generic functions
Generic Function, (setf subdrop): Public generic functions
Generic Function, (setf sup1): Public generic functions
Generic Function, (setf sup2): Public generic functions
Generic Function, (setf sup3): Public generic functions
Generic Function, (setf supdrop): Public generic functions
Generic Function, (setf top-character): Public generic functions
Generic Function, (setf value): Public generic functions
Generic Function, (setf weight): Public generic functions
Generic Function, (setf width): Public generic functions
Generic Function, 7bits-safe: Public generic functions
Generic Function, actual-size: Public generic functions
Generic Function, axis-height: Public generic functions
Generic Function, bc: Public generic functions
Generic Function, big-op-spacing1: Public generic functions
Generic Function, big-op-spacing2: Public generic functions
Generic Function, big-op-spacing3: Public generic functions
Generic Function, big-op-spacing4: Public generic functions
Generic Function, big-op-spacing5: Public generic functions
Generic Function, bottom-character: Public generic functions
Generic Function, boundary-character: Public generic functions
Generic Function, character-count: Public generic functions
Generic Function, character1: Public generic functions
Generic Function, character2: Public generic functions
Generic Function, characters: Public generic functions
Generic Function, checksum: Public generic functions
Generic Function, code: Public generic functions
Generic Function, composite: Public generic functions
Generic Function, declared-size: Public generic functions
Generic Function, default-rule-thickness: Public generic functions
Generic Function, delete-after: Public generic functions
Generic Function, delete-before: Public generic functions
Generic Function, delim1: Public generic functions
Generic Function, delim2: Public generic functions
Generic Function, denom1: Public generic functions
Generic Function, denom2: Public generic functions
Generic Function, depth: Public generic functions
Generic Function, design-size: Public generic functions
Generic Function, ec: Public generic functions
Generic Function, em: Public generic functions
Generic Function, encoding: Public generic functions
Generic Function, ex: Public generic functions
Generic Function, expansion: Public generic functions
Generic Function, extension-recipe: Private generic functions
Generic Function, extra-space: Public generic functions
Generic Function, face-code: Public generic functions
Generic Function, face-number: Public generic functions
Generic Function, family: Public generic functions
Generic Function, file: Public generic functions
Generic Function, font: Public generic functions
Generic Function, frozen: Public generic functions
Generic Function, height: Public generic functions
Generic Function, interword-shrink: Public generic functions
Generic Function, interword-space: Public generic functions
Generic Function, interword-stretch: Public generic functions
Generic Function, italic-correction: Public generic functions
Generic Function, kernings: Private generic functions
Generic Function, largest: Public generic functions
Generic Function, lf: Public generic functions
Generic Function, lh: Public generic functions
Generic Function, ligatures: Private generic functions
Generic Function, max-code: Public generic functions
Generic Function, middle-character: Public generic functions
Generic Function, min-code: Public generic functions
Generic Function, name: Public generic functions
Generic Function, nc: Public generic functions
Generic Function, nd: Public generic functions
Generic Function, ne: Public generic functions
Generic Function, next-character: Public generic functions
Generic Function, nh: Public generic functions
Generic Function, ni: Public generic functions
Generic Function, nk: Public generic functions
Generic Function, nl: Public generic functions
Generic Function, np: Public generic functions
Generic Function, num1: Public generic functions
Generic Function, num2: Public generic functions
Generic Function, num3: Public generic functions
Generic Function, nw: Public generic functions
Generic Function, original-design-size: Public generic functions
Generic Function, padding: Public generic functions
Generic Function, parameters: Public generic functions
Generic Function, parse-parameters: Private generic functions
Generic Function, pass-over: Public generic functions
Generic Function, repeated-character: Public generic functions
Generic Function, scale: Private generic functions
Generic Function, slant: Public generic functions
Generic Function, slope: Public generic functions
Generic Function, smallest: Public generic functions
Generic Function, sub1: Public generic functions
Generic Function, sub2: Public generic functions
Generic Function, subdrop: Public generic functions
Generic Function, sup1: Public generic functions
Generic Function, sup2: Public generic functions
Generic Function, sup3: Public generic functions
Generic Function, supdrop: Public generic functions
Generic Function, top-character: Public generic functions
Generic Function, value: Public generic functions
Generic Function, weight: Public generic functions
Generic Function, width: Public generic functions
get-character: Public ordinary functions

H
height: Public generic functions
height: Public generic functions
height-index: Private ordinary functions

I
i-reader: Private ordinary functions
initialize-instance: Public standalone methods
interword-shrink: Public generic functions
interword-shrink: Public generic functions
interword-space: Public generic functions
interword-space: Public generic functions
interword-stretch: Public generic functions
interword-stretch: Public generic functions
italic-correction: Public generic functions
italic-correction: Public generic functions
italic-index: Private ordinary functions

K
kerning: Public ordinary functions
kernings: Private generic functions
kernings: Private generic functions

L
largest: Public generic functions
largest: Public generic functions
largest: Public generic functions
lf: Public generic functions
lf: Public generic functions
lh: Public generic functions
lh: Public generic functions
lig/kern-index: Private ordinary functions
lig/kern-p: Private ordinary functions
ligature: Public ordinary functions
ligatures: Private generic functions
ligatures: Private generic functions
load-font: Public ordinary functions
load-tfm-font: Private ordinary functions

M
Macro, defindent: Private macros
Macro, define-constant: Private macros
Macro, define-extension-recipe-pseudo-accessor: Private macros
Macro, map-accessors: Private macros
Macro, map-character-metrics-dimension-accessors: Private macros
Macro, map-font-dimension-accessors: Private macros
Macro, map-math-extension-font-dimension-accessors: Private macros
Macro, map-math-symbols-font-dimension-accessors: Private macros
Macro, tref: Private macros
make-char-info: Private ordinary functions
make-character-metrics: Private ordinary functions
make-exten: Private ordinary functions
make-extension-recipe: Private ordinary functions
make-font: Private ordinary functions
make-lig/kern: Private ordinary functions
make-ligature: Private ordinary functions
map-accessors: Private macros
map-character-metrics-dimension-accessors: Private macros
map-font-dimension-accessors: Private macros
map-math-extension-font-dimension-accessors: Private macros
map-math-symbols-font-dimension-accessors: Private macros
max-code: Public generic functions
max-code: Public generic functions
Method, (setf 7bits-safe): Public generic functions
Method, (setf actual-size): Public generic functions
Method, (setf axis-height): Public generic functions
Method, (setf bc): Public generic functions
Method, (setf big-op-spacing1): Public generic functions
Method, (setf big-op-spacing2): Public generic functions
Method, (setf big-op-spacing3): Public generic functions
Method, (setf big-op-spacing4): Public generic functions
Method, (setf big-op-spacing5): Public generic functions
Method, (setf bottom-character): Public generic functions
Method, (setf boundary-character): Public generic functions
Method, (setf character-count): Public generic functions
Method, (setf character1): Public generic functions
Method, (setf character2): Public generic functions
Method, (setf characters): Public generic functions
Method, (setf characters): Public generic functions
Method, (setf checksum): Public generic functions
Method, (setf declared-size): Public generic functions
Method, (setf default-rule-thickness): Public generic functions
Method, (setf delim1): Public generic functions
Method, (setf delim2): Public generic functions
Method, (setf denom1): Public generic functions
Method, (setf denom2): Public generic functions
Method, (setf depth): Public generic functions
Method, (setf design-size): Public generic functions
Method, (setf design-size): Public generic functions
Method, (setf design-size): Public generic functions
Method, (setf design-size): Public generic functions
Method, (setf ec): Public generic functions
Method, (setf em): Public generic functions
Method, (setf encoding): Public generic functions
Method, (setf ex): Public generic functions
Method, (setf expansion): Public generic functions
Method, (setf extension-recipe): Private generic functions
Method, (setf extra-space): Public generic functions
Method, (setf face-code): Public generic functions
Method, (setf face-number): Public generic functions
Method, (setf family): Public generic functions
Method, (setf file): Public generic functions
Method, (setf file): Public generic functions
Method, (setf frozen): Public generic functions
Method, (setf height): Public generic functions
Method, (setf interword-shrink): Public generic functions
Method, (setf interword-space): Public generic functions
Method, (setf interword-stretch): Public generic functions
Method, (setf italic-correction): Public generic functions
Method, (setf kernings): Private generic functions
Method, (setf largest): Public generic functions
Method, (setf largest): Public generic functions
Method, (setf lf): Public generic functions
Method, (setf lh): Public generic functions
Method, (setf ligatures): Private generic functions
Method, (setf max-code): Public generic functions
Method, (setf middle-character): Public generic functions
Method, (setf min-code): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf nc): Public generic functions
Method, (setf nd): Public generic functions
Method, (setf ne): Public generic functions
Method, (setf next-character): Public generic functions
Method, (setf nh): Public generic functions
Method, (setf ni): Public generic functions
Method, (setf nk): Public generic functions
Method, (setf nl): Public generic functions
Method, (setf np): Public generic functions
Method, (setf num1): Public generic functions
Method, (setf num2): Public generic functions
Method, (setf num3): Public generic functions
Method, (setf nw): Public generic functions
Method, (setf original-design-size): Public generic functions
Method, (setf padding): Public generic functions
Method, (setf parameters): Public generic functions
Method, (setf repeated-character): Public generic functions
Method, (setf slant): Public generic functions
Method, (setf slope): Public generic functions
Method, (setf smallest): Public generic functions
Method, (setf sub1): Public generic functions
Method, (setf sub2): Public generic functions
Method, (setf subdrop): Public generic functions
Method, (setf sup1): Public generic functions
Method, (setf sup2): Public generic functions
Method, (setf sup3): Public generic functions
Method, (setf supdrop): Public generic functions
Method, (setf top-character): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf value): Public generic functions
Method, (setf weight): Public generic functions
Method, (setf width): Public generic functions
Method, 7bits-safe: Public generic functions
Method, actual-size: Public generic functions
Method, axis-height: Public generic functions
Method, bc: Public generic functions
Method, big-op-spacing1: Public generic functions
Method, big-op-spacing2: Public generic functions
Method, big-op-spacing3: Public generic functions
Method, big-op-spacing4: Public generic functions
Method, big-op-spacing5: Public generic functions
Method, bottom-character: Public generic functions
Method, bottom-character: Public generic functions
Method, boundary-character: Public generic functions
Method, character-count: Public generic functions
Method, character1: Public generic functions
Method, character2: Public generic functions
Method, characters: Public generic functions
Method, characters: Public generic functions
Method, checksum: Public generic functions
Method, code: Public generic functions
Method, composite: Public generic functions
Method, declared-size: Public generic functions
Method, default-rule-thickness: Public generic functions
Method, delete-after: Public generic functions
Method, delete-before: Public generic functions
Method, delim1: Public generic functions
Method, delim2: Public generic functions
Method, denom1: Public generic functions
Method, denom2: Public generic functions
Method, depth: Public generic functions
Method, design-size: Public generic functions
Method, ec: Public generic functions
Method, em: Public generic functions
Method, encoding: Public generic functions
Method, ex: Public generic functions
Method, expansion: Public generic functions
Method, extension-recipe: Private generic functions
Method, extra-space: Public generic functions
Method, face-code: Public generic functions
Method, face-number: Public generic functions
Method, family: Public generic functions
Method, file: Public generic functions
Method, file: Public generic functions
Method, font: Public generic functions
Method, frozen: Public generic functions
Method, height: Public generic functions
Method, initialize-instance: Public standalone methods
Method, interword-shrink: Public generic functions
Method, interword-space: Public generic functions
Method, interword-stretch: Public generic functions
Method, italic-correction: Public generic functions
Method, kernings: Private generic functions
Method, largest: Public generic functions
Method, largest: Public generic functions
Method, lf: Public generic functions
Method, lh: Public generic functions
Method, ligatures: Private generic functions
Method, max-code: Public generic functions
Method, middle-character: Public generic functions
Method, middle-character: Public generic functions
Method, min-code: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, nc: Public generic functions
Method, nd: Public generic functions
Method, ne: Public generic functions
Method, next-character: Public generic functions
Method, nh: Public generic functions
Method, ni: Public generic functions
Method, nk: Public generic functions
Method, nl: Public generic functions
Method, np: Public generic functions
Method, num1: Public generic functions
Method, num2: Public generic functions
Method, num3: Public generic functions
Method, nw: Public generic functions
Method, original-design-size: Public generic functions
Method, padding: Public generic functions
Method, parameters: Public generic functions
Method, parse-parameters: Private generic functions
Method, parse-parameters: Private generic functions
Method, parse-parameters: Private generic functions
Method, parse-parameters: Private generic functions
Method, pass-over: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, repeated-character: Public generic functions
Method, repeated-character: Public generic functions
Method, scale: Private generic functions
Method, scale: Private generic functions
Method, scale: Private generic functions
Method, slant: Public generic functions
Method, slope: Public generic functions
Method, smallest: Public generic functions
Method, sub1: Public generic functions
Method, sub2: Public generic functions
Method, subdrop: Public generic functions
Method, sup1: Public generic functions
Method, sup2: Public generic functions
Method, sup3: Public generic functions
Method, supdrop: Public generic functions
Method, top-character: Public generic functions
Method, top-character: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, value: Public generic functions
Method, weight: Public generic functions
Method, width: Public generic functions
mid: Private ordinary functions
middle-character: Public generic functions
middle-character: Public generic functions
middle-character: Public generic functions
min-code: Public generic functions
min-code: Public generic functions

N
name: Public generic functions
name: Public generic functions
name: Public generic functions
nc: Public generic functions
nc: Public generic functions
nd: Public generic functions
nd: Public generic functions
ne: Public generic functions
ne: Public generic functions
next: Private ordinary functions
next-char: Private ordinary functions
next-character: Public generic functions
next-character: Public generic functions
nh: Public generic functions
nh: Public generic functions
ni: Public generic functions
ni: Public generic functions
nickname-package: Public ordinary functions
nk: Public generic functions
nk: Public generic functions
nl: Public generic functions
nl: Public generic functions
np: Public generic functions
np: Public generic functions
num1: Public generic functions
num1: Public generic functions
num2: Public generic functions
num2: Public generic functions
num3: Public generic functions
num3: Public generic functions
nw: Public generic functions
nw: Public generic functions

O
op: Private ordinary functions
original-design-size: Public generic functions
original-design-size: Public generic functions

P
padding: Public generic functions
padding: Public generic functions
parameters: Public generic functions
parameters: Public generic functions
parse-character-information: Private ordinary functions
parse-header: Private ordinary functions
parse-parameters: Private generic functions
parse-parameters: Private generic functions
parse-parameters: Private generic functions
parse-parameters: Private generic functions
parse-parameters: Private generic functions
pass-over: Public generic functions
pass-over: Public generic functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods

R
read-fix-word: Private ordinary functions
read-padded-string: Private ordinary functions
read-u16: Private ordinary functions
read-u32: Private ordinary functions
release-status-number: Private ordinary functions
remainder: Private ordinary functions
rep: Private ordinary functions
repeated-character: Public generic functions
repeated-character: Public generic functions
repeated-character: Public generic functions
report: Private ordinary functions
run-ligature/kerning-program: Private ordinary functions

S
scale: Private generic functions
scale: Private generic functions
scale: Private generic functions
scale: Private generic functions
skip: Private ordinary functions
slant: Public generic functions
slant: Public generic functions
slope: Public generic functions
slope: Public generic functions
smallest: Public generic functions
smallest: Public generic functions
sub1: Public generic functions
sub1: Public generic functions
sub2: Public generic functions
sub2: Public generic functions
subdrop: Public generic functions
subdrop: Public generic functions
sup1: Public generic functions
sup1: Public generic functions
sup2: Public generic functions
sup2: Public generic functions
sup3: Public generic functions
sup3: Public generic functions
supdrop: Public generic functions
supdrop: Public generic functions

T
table-aref: Private ordinary functions
top: Private ordinary functions
top-character: Public generic functions
top-character: Public generic functions
top-character: Public generic functions
tref: Private macros

U
unfreeze: Public ordinary functions

V
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
value: Public generic functions
version: Public ordinary functions

W
weight: Public generic functions
weight: Public generic functions
width: Public generic functions
width: Public generic functions
width-index: Private ordinary functions


A.3 Variables

Jump to:   *   +   7  
A   B   C   D   E   F   H   I   K   L   M   N   O   P   R   S   T   V   W  
Index Entry  Section

*
*configuration*: Private special variables
*copyright-years*: Public special variables
*release-major-level*: Public special variables
*release-minor-level*: Public special variables
*release-name*: Public special variables
*release-status*: Public special variables
*release-status-level*: Public special variables
*stream*: Private special variables

+
+character-metrics-dimension-accessors+: Private constants
+font-dimension-accessors+: Private constants
+math-extension-font-dimension-accessors+: Private constants
+math-symbols-font-dimension-accessors+: Private constants

7
7bits-safe: Public classes

A
actual-size: Private conditions
axis-height: Public classes

B
bc: Public conditions
big-op-spacing1: Public classes
big-op-spacing2: Public classes
big-op-spacing3: Public classes
big-op-spacing4: Public classes
big-op-spacing5: Public classes
bot: Private structures
bottom-character: Private classes
boundary-character: Public classes

C
character-count: Public classes
character1: Public conditions
character2: Public conditions
characters: Public conditions
characters: Public classes
checksum: Public classes
code: Public classes
composite: Public classes
Constant, +character-metrics-dimension-accessors+: Private constants
Constant, +font-dimension-accessors+: Private constants
Constant, +math-extension-font-dimension-accessors+: Private constants
Constant, +math-symbols-font-dimension-accessors+: Private constants

D
declared-size: Private conditions
default-rule-thickness: Public classes
delete-after: Public classes
delete-before: Public classes
delim1: Public classes
delim2: Public classes
denom1: Public classes
denom2: Public classes
depth: Public classes
depth-index: Private structures
design-size: Public classes

E
ec: Public conditions
em: Public classes
encoding: Public classes
ex: Public classes
expansion: Public classes
exten-index: Private structures
extension-recipe: Public classes
extra-space: Public classes

F
face-code: Public classes
face-number: Public classes
family: Public classes
file: Public conditions
file: Public classes
font: Public classes
frozen: Public classes

H
height: Public classes
height-index: Private structures

I
interword-shrink: Public classes
interword-space: Public classes
interword-stretch: Public classes
italic-correction: Public classes
italic-index: Private structures

K
kernings: Public classes

L
largest: Public conditions
largest: Public conditions
lf: Public conditions
lh: Public conditions
lig/kern-index: Private structures
ligatures: Public classes

M
max-code: Public classes
mid: Private structures
middle-character: Private classes
min-code: Public classes

N
name: Public classes
name: Private conditions
nc: Public conditions
nd: Public conditions
ne: Public conditions
next: Private structures
next-char: Private structures
next-character: Public classes
nh: Public conditions
ni: Public conditions
nk: Public conditions
nl: Public conditions
np: Public conditions
num1: Public classes
num2: Public classes
num3: Public classes
nw: Public conditions

O
op: Private structures
original-design-size: Public classes

P
padding: Public conditions
parameters: Public classes
pass-over: Public classes

R
remainder: Private structures
rep: Private structures
repeated-character: Private classes

S
skip: Private structures
slant: Public classes
slope: Public classes
Slot, 7bits-safe: Public classes
Slot, actual-size: Private conditions
Slot, axis-height: Public classes
Slot, bc: Public conditions
Slot, big-op-spacing1: Public classes
Slot, big-op-spacing2: Public classes
Slot, big-op-spacing3: Public classes
Slot, big-op-spacing4: Public classes
Slot, big-op-spacing5: Public classes
Slot, bot: Private structures
Slot, bottom-character: Private classes
Slot, boundary-character: Public classes
Slot, character-count: Public classes
Slot, character1: Public conditions
Slot, character2: Public conditions
Slot, characters: Public conditions
Slot, characters: Public classes
Slot, checksum: Public classes
Slot, code: Public classes
Slot, composite: Public classes
Slot, declared-size: Private conditions
Slot, default-rule-thickness: Public classes
Slot, delete-after: Public classes
Slot, delete-before: Public classes
Slot, delim1: Public classes
Slot, delim2: Public classes
Slot, denom1: Public classes
Slot, denom2: Public classes
Slot, depth: Public classes
Slot, depth-index: Private structures
Slot, design-size: Public classes
Slot, ec: Public conditions
Slot, em: Public classes
Slot, encoding: Public classes
Slot, ex: Public classes
Slot, expansion: Public classes
Slot, exten-index: Private structures
Slot, extension-recipe: Public classes
Slot, extra-space: Public classes
Slot, face-code: Public classes
Slot, face-number: Public classes
Slot, family: Public classes
Slot, file: Public conditions
Slot, file: Public classes
Slot, font: Public classes
Slot, frozen: Public classes
Slot, height: Public classes
Slot, height-index: Private structures
Slot, interword-shrink: Public classes
Slot, interword-space: Public classes
Slot, interword-stretch: Public classes
Slot, italic-correction: Public classes
Slot, italic-index: Private structures
Slot, kernings: Public classes
Slot, largest: Public conditions
Slot, largest: Public conditions
Slot, lf: Public conditions
Slot, lh: Public conditions
Slot, lig/kern-index: Private structures
Slot, ligatures: Public classes
Slot, max-code: Public classes
Slot, mid: Private structures
Slot, middle-character: Private classes
Slot, min-code: Public classes
Slot, name: Public classes
Slot, name: Private conditions
Slot, nc: Public conditions
Slot, nd: Public conditions
Slot, ne: Public conditions
Slot, next: Private structures
Slot, next-char: Private structures
Slot, next-character: Public classes
Slot, nh: Public conditions
Slot, ni: Public conditions
Slot, nk: Public conditions
Slot, nl: Public conditions
Slot, np: Public conditions
Slot, num1: Public classes
Slot, num2: Public classes
Slot, num3: Public classes
Slot, nw: Public conditions
Slot, op: Private structures
Slot, original-design-size: Public classes
Slot, padding: Public conditions
Slot, parameters: Public classes
Slot, pass-over: Public classes
Slot, remainder: Private structures
Slot, rep: Private structures
Slot, repeated-character: Private classes
Slot, skip: Private structures
Slot, slant: Public classes
Slot, slope: Public classes
Slot, smallest: Public conditions
Slot, sub1: Public classes
Slot, sub2: Public classes
Slot, subdrop: Public classes
Slot, sup1: Public classes
Slot, sup2: Public classes
Slot, sup3: Public classes
Slot, supdrop: Public classes
Slot, top: Private structures
Slot, top-character: Private classes
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Public conditions
Slot, value: Private conditions
Slot, weight: Public classes
Slot, width: Public classes
Slot, width-index: Private structures
smallest: Public conditions
Special Variable, *configuration*: Private special variables
Special Variable, *copyright-years*: Public special variables
Special Variable, *release-major-level*: Public special variables
Special Variable, *release-minor-level*: Public special variables
Special Variable, *release-name*: Public special variables
Special Variable, *release-status*: Public special variables
Special Variable, *release-status-level*: Public special variables
Special Variable, *stream*: Private special variables
sub1: Public classes
sub2: Public classes
subdrop: Public classes
sup1: Public classes
sup2: Public classes
sup3: Public classes
supdrop: Public classes

T
top: Private structures
top-character: Private classes

V
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Public conditions
value: Private conditions

W
weight: Public classes
width: Public classes
width-index: Private structures


A.4 Data types

Jump to:   A   C   D   E   F   I   L   M   N   P   R   S   T   U   V  
Index Entry  Section

A
anonymous-font: Private conditions

C
char-info: Private structures
character-list-cycle: Public conditions
character-metrics: Public classes
character.lisp: The net․didierverna․tfm․core/src/character․lisp file
Class, character-metrics: Public classes
Class, extension-recipe: Private classes
Class, font: Public classes
Class, ligature: Public classes
Class, math-extension-font: Public classes
Class, math-symbols-font: Public classes
Condition, anonymous-font: Private conditions
Condition, character-list-cycle: Public conditions
Condition, different-fonts: Public conditions
Condition, extended-tfm: Public conditions
Condition, file-overflow: Public conditions
Condition, file-size-mixin: Private conditions
Condition, file-underflow: Public conditions
Condition, fix-word-overflow: Public conditions
Condition, invalid-bcpl-string: Public conditions
Condition, invalid-char-info: Public conditions
Condition, invalid-character-code: Public conditions
Condition, invalid-character-range: Public conditions
Condition, invalid-design-size: Public conditions
Condition, invalid-header-length: Public conditions
Condition, invalid-ligature-opcode: Public conditions
Condition, invalid-original-design-size: Private conditions
Condition, invalid-section-lengths: Public conditions
Condition, invalid-string-length: Public conditions
Condition, invalid-table-index: Public conditions
Condition, invalid-table-length: Public conditions
Condition, invalid-table-start: Public conditions
Condition, ligature-cycle: Public conditions
Condition, no-boundary-character: Public conditions
Condition, not-extensible: Public conditions
Condition, tfm: Public conditions
Condition, tfm-compliance: Public conditions
Condition, tfm-compliance-error: Public conditions
Condition, tfm-compliance-warning: Public conditions
Condition, tfm-error: Public conditions
Condition, tfm-table-error: Private conditions
Condition, tfm-usage: Public conditions
Condition, tfm-usage-error: Public conditions
Condition, tfm-usage-warning: Public conditions
Condition, tfm-warning: Public conditions
Condition, u16-overflow: Public conditions
configuration.lisp: The net․didierverna․tfm․setup/src/configuration․lisp file

D
different-fonts: Public conditions

E
exten: Private structures
extended-tfm: Public conditions
extension-recipe: Private classes

F
File, character.lisp: The net․didierverna․tfm․core/src/character․lisp file
File, configuration.lisp: The net․didierverna․tfm․setup/src/configuration․lisp file
File, file.lisp: The net․didierverna․tfm․core/src/file․lisp file
File, font.lisp: The net․didierverna․tfm․core/src/font․lisp file
File, intermediate.lisp: The net․didierverna․tfm․core/src/intermediate․lisp file
File, net.didierverna.tfm.asd: The net․didierverna․tfm/net․didierverna․tfm․asd file
File, net.didierverna.tfm.core.asd: The net․didierverna․tfm․core/net․didierverna․tfm․core․asd file
File, net.didierverna.tfm.setup.asd: The net․didierverna․tfm․setup/net․didierverna․tfm․setup․asd file
File, package.lisp: The net․didierverna․tfm․core/package․lisp file
File, package.lisp: The net․didierverna․tfm․setup/package․lisp file
File, readtable.lisp: The net․didierverna․tfm․setup/src/readtable․lisp file
File, util.lisp: The net․didierverna․tfm․core/src/util․lisp file
File, version.lisp: The net․didierverna․tfm․setup/src/version․lisp file
file-overflow: Public conditions
file-size-mixin: Private conditions
file-underflow: Public conditions
file.lisp: The net․didierverna․tfm․core/src/file․lisp file
fix-word-overflow: Public conditions
font: Public classes
font.lisp: The net․didierverna․tfm․core/src/font․lisp file

I
intermediate.lisp: The net․didierverna․tfm․core/src/intermediate․lisp file
invalid-bcpl-string: Public conditions
invalid-char-info: Public conditions
invalid-character-code: Public conditions
invalid-character-range: Public conditions
invalid-design-size: Public conditions
invalid-header-length: Public conditions
invalid-ligature-opcode: Public conditions
invalid-original-design-size: Private conditions
invalid-section-lengths: Public conditions
invalid-string-length: Public conditions
invalid-table-index: Public conditions
invalid-table-length: Public conditions
invalid-table-start: Public conditions

L
lig/kern: Private structures
ligature: Public classes
ligature-cycle: Public conditions

M
math-extension-font: Public classes
math-symbols-font: Public classes
Module, src: The net․didierverna․tfm․core/src module
Module, src: The net․didierverna․tfm․setup/src module

N
net.didierverna.tfm: The net․didierverna․tfm system
net.didierverna.tfm: The net․didierverna․tfm package
net.didierverna.tfm.asd: The net․didierverna․tfm/net․didierverna․tfm․asd file
net.didierverna.tfm.core: The net․didierverna․tfm․core system
net.didierverna.tfm.core.asd: The net․didierverna․tfm․core/net․didierverna․tfm․core․asd file
net.didierverna.tfm.setup: The net․didierverna․tfm․setup system
net.didierverna.tfm.setup: The net․didierverna․tfm․setup package
net.didierverna.tfm.setup.asd: The net․didierverna․tfm․setup/net․didierverna․tfm․setup․asd file
no-boundary-character: Public conditions
not-extensible: Public conditions

P
Package, net.didierverna.tfm: The net․didierverna․tfm package
Package, net.didierverna.tfm.setup: The net․didierverna․tfm․setup package
package.lisp: The net․didierverna․tfm․core/package․lisp file
package.lisp: The net․didierverna․tfm․setup/package․lisp file

R
readtable.lisp: The net․didierverna․tfm․setup/src/readtable․lisp file

S
src: The net․didierverna․tfm․core/src module
src: The net․didierverna․tfm․setup/src module
Structure, char-info: Private structures
Structure, exten: Private structures
Structure, lig/kern: Private structures
System, net.didierverna.tfm: The net․didierverna․tfm system
System, net.didierverna.tfm.core: The net․didierverna․tfm․core system
System, net.didierverna.tfm.setup: The net․didierverna․tfm․setup system

T
tfm: Public conditions
tfm-compliance: Public conditions
tfm-compliance-error: Public conditions
tfm-compliance-warning: Public conditions
tfm-error: Public conditions
tfm-table-error: Private conditions
tfm-usage: Public conditions
tfm-usage-error: Public conditions
tfm-usage-warning: Public conditions
tfm-warning: Public conditions

U
u16-overflow: Public conditions
util.lisp: The net․didierverna․tfm․core/src/util․lisp file

V
version.lisp: The net․didierverna․tfm․setup/src/version․lisp file