6.1.5 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 (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: code

The character’s numerical code.

Initargs

:code

Readers

code (generic function)

Slot: font

The character’s font.

Initargs

:font

Readers

font (generic function)

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 (generic function)

Writers

(setf width) (generic function)

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 (generic function)

Writers

(setf height) (generic function)

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 (generic function)

Writers

(setf depth) (generic function)

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 (generic function)

Writers

(setf italic-correction) (generic function)

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 (generic function)

Writers

(setf next-character) (generic function)

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 (generic function)

Writers

(setf extension-recipe) (generic function)

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 (file)

Direct superclasses

standard-object (class)

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 (generic function)

Writers

(setf name) (generic function)

Slot: file

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

Initargs

:file

Readers

file (generic function)

Writers

(setf file) (generic function)

Slot: checksum

The font’s checksum, as provided by Metafont.

Readers

checksum (generic function)

Writers

(setf checksum) (generic function)

Slot: frozen

Whether the font is frozen.

Readers

frozen (generic function)

Writers

(setf frozen) (generic function)

Slot: design-size

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

Readers

design-size (generic function)

Writers

(setf design-size) (generic function)

Slot: original-design-size

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

Readers

original-design-size (generic function)

Writers

(setf original-design-size) (generic function)

Slot: encoding

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

Readers

encoding (generic function)

Writers

(setf encoding) (generic function)

Slot: family

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

Readers

family (generic function)

Writers

(setf family) (generic function)

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 (generic function)

Writers

(setf 7bits-safe) (generic function)

Slot: face-number

The font’s face number, or NIL.

Readers

face-number (generic function)

Writers

(setf face-number) (generic function)

Slot: weight

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

Readers

weight (generic function)

Writers

(setf weight) (generic function)

Slot: slope

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

Readers

slope (generic function)

Writers

(setf slope) (generic function)

Slot: expansion

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

Readers

expansion (generic function)

Writers

(setf expansion) (generic function)

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 (generic function)

Writers

(setf face-code) (generic function)

Slot: slant

The font’s slant (a scalar ratio).

Initform

0

Readers

slant (generic function)

Writers

(setf slant) (generic function)

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 (generic function)

Writers

(setf interword-space) (generic function)

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 (generic function)

Writers

(setf interword-stretch) (generic function)

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 (generic function)

Writers

(setf interword-shrink) (generic function)

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 (generic function)

Writers

(setf ex) (generic function)

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 (generic function)

Writers

(setf em) (generic function)

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 (generic function)

Writers

(setf extra-space) (generic function)

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 (generic function)

Writers

(setf parameters) (generic function)

Slot: min-code

The font’s smallest character code.

Readers

min-code (generic function)

Writers

(setf min-code) (generic function)

Slot: max-code

The font’s largest character code.

Readers

max-code (generic function)

Writers

(setf max-code) (generic function)

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 (generic function)

Writers

(setf characters) (generic function)

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 (generic function)

Writers

(setf character-count) (generic function)

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 (generic function)

Writers

(setf ligatures) (generic function)

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 (generic function)

Writers

(setf kernings) (generic function)

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 (generic function)

Writers

(setf boundary-character) (generic function)

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 (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: composite

The character to insert between the two original ones.

Initargs

:composite

Readers

composite (generic function)

Slot: delete-before

Whether to delete the character before the ligature.

Initargs

:delete-before

Readers

delete-before (generic function)

Slot: delete-after

Whether to delete the character after the ligature.

Initargs

:delete-after

Readers

delete-after (generic function)

Slot: pass-over

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

Initargs

:pass-over

Readers

pass-over (generic function)

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 (file)

Direct superclasses

font (class)

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 (generic function)

Writers

(setf default-rule-thickness) (generic function)

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 (generic function)

Writers

(setf big-op-spacing1) (generic function)

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 (generic function)

Writers

(setf big-op-spacing2) (generic function)

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 (generic function)

Writers

(setf big-op-spacing3) (generic function)

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 (generic function)

Writers

(setf big-op-spacing4) (generic function)

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 (generic function)

Writers

(setf big-op-spacing5) (generic function)

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 (file)

Direct superclasses

font (class)

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 (generic function)

Writers

(setf num1) (generic function)

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 (generic function)

Writers

(setf num2) (generic function)

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 (generic function)

Writers

(setf num3) (generic function)

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 (generic function)

Writers

(setf denom1) (generic function)

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 (generic function)

Writers

(setf denom2) (generic function)

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 (generic function)

Writers

(setf sup1) (generic function)

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 (generic function)

Writers

(setf sup2) (generic function)

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 (generic function)

Writers

(setf sup3) (generic function)

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 (generic function)

Writers

(setf sub1) (generic function)

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 (generic function)

Writers

(setf sub2) (generic function)

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 (generic function)

Writers

(setf supdrop) (generic function)

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 (generic function)

Writers

(setf subdrop) (generic function)

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 (generic function)

Writers

(setf delim1) (generic function)

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 (generic function)

Writers

(setf delim2) (generic function)

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 (generic function)

Writers

(setf axis-height) (generic function)