This is the net.didierverna.tfm Reference Manual, version 1.1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Thu Aug 15 06:40:34 2024 GMT+0.
net.didierverna.tfm/net.didierverna.tfm.asd
net.didierverna.tfm.core/net.didierverna.tfm.core.asd
net.didierverna.tfm.setup/net.didierverna.tfm.setup.asd
net.didierverna.tfm.core/package.lisp
net.didierverna.tfm.core/src/util.lisp
net.didierverna.tfm.core/src/intermediate.lisp
net.didierverna.tfm.core/src/character.lisp
net.didierverna.tfm.core/src/font.lisp
net.didierverna.tfm.core/src/file.lisp
net.didierverna.tfm.setup/package.lisp
net.didierverna.tfm.setup/src/configuration.lisp
net.didierverna.tfm.setup/src/readtable.lisp
net.didierverna.tfm.setup/src/version.lisp
The main system appears first, followed by any subsystem dependency.
net.didierverna.tfm
A Common Lisp interface to the TeX Font Metrics format
TeX Font Metrics
Didier Verna
http://www.lrde.epita.fr/~didier/software/lisp/typesetting.php#tfm
BSD
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.
1.1.1
net.didierverna.tfm.core
(system).
net.didierverna.tfm.core
TeX Font Metrics, core library
TFM Core
Didier Verna
http://www.lrde.epita.fr/~didier/software/lisp/typesetting.php#tfm
BSD
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.
1.1.1
net.didierverna.tfm.setup
(system).
package.lisp
(file).
src
(module).
net.didierverna.tfm.setup
TFM’s preload setup library
TeX Font Metrics, setup library
Didier Verna
http://www.lrde.epita.fr/~didier/software/lisp/typesetting.php#tfm
BSD
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.
1.1.1
named-readtables
(system).
package.lisp
(file).
src
(module).
Modules are listed depth-first from the system components tree.
net.didierverna.tfm.core/src
package.lisp
(file).
net.didierverna.tfm.core
(system).
util.lisp
(file).
intermediate.lisp
(file).
character.lisp
(file).
font.lisp
(file).
file.lisp
(file).
net.didierverna.tfm.setup/src
package.lisp
(file).
net.didierverna.tfm.setup
(system).
configuration.lisp
(file).
readtable.lisp
(file).
version.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
net.didierverna.tfm/net.didierverna.tfm.asd
net.didierverna.tfm.core/net.didierverna.tfm.core.asd
net.didierverna.tfm.setup/net.didierverna.tfm.setup.asd
net.didierverna.tfm.core/package.lisp
net.didierverna.tfm.core/src/util.lisp
net.didierverna.tfm.core/src/intermediate.lisp
net.didierverna.tfm.core/src/character.lisp
net.didierverna.tfm.core/src/font.lisp
net.didierverna.tfm.core/src/file.lisp
net.didierverna.tfm.setup/package.lisp
net.didierverna.tfm.setup/src/configuration.lisp
net.didierverna.tfm.setup/src/readtable.lisp
net.didierverna.tfm.setup/src/version.lisp
net.didierverna.tfm/net.didierverna.tfm.asd
net.didierverna.tfm
(system).
net.didierverna.tfm.core/net.didierverna.tfm.core.asd
net.didierverna.tfm.core
(system).
net.didierverna.tfm.setup/net.didierverna.tfm.setup.asd
net.didierverna.tfm.setup
(system).
net.didierverna.tfm.core/package.lisp
net.didierverna.tfm.core
(system).
nickname-package
(function).
net.didierverna.tfm.core/src/util.lisp
src
(module).
fix-word-overflow
(condition).
invalid-bcpl-string
(condition).
invalid-string-length
(condition).
padding
(reader method).
(setf padding)
(writer method).
tfm
(condition).
tfm-compliance
(condition).
tfm-compliance-error
(condition).
tfm-compliance-warning
(condition).
tfm-error
(condition).
tfm-usage
(condition).
tfm-usage-error
(condition).
tfm-usage-warning
(condition).
tfm-warning
(condition).
u16-overflow
(condition).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
*stream*
(special variable).
define-constant
(macro).
map-accessors
(macro).
read-fix-word
(function).
read-padded-string
(function).
read-u16
(function).
read-u32
(function).
report
(function).
net.didierverna.tfm.core/src/intermediate.lisp
util.lisp
(file).
src
(module).
bot
(reader).
(setf bot)
(writer).
char-info
(structure).
char-info-p
(function).
copy-char-info
(function).
copy-exten
(function).
copy-lig/kern
(function).
decode-char-info
(function).
decode-exten
(function).
decode-lig/kern
(function).
depth-index
(reader).
(setf depth-index)
(writer).
exten
(structure).
exten-index
(reader).
(setf exten-index)
(writer).
exten-p
(function).
height-index
(reader).
(setf height-index)
(writer).
italic-index
(reader).
(setf italic-index)
(writer).
lig/kern
(structure).
lig/kern-index
(reader).
(setf lig/kern-index)
(writer).
lig/kern-p
(function).
make-char-info
(function).
make-exten
(function).
make-lig/kern
(function).
mid
(reader).
(setf mid)
(writer).
next
(reader).
(setf next)
(writer).
next-char
(reader).
(setf next-char)
(writer).
op
(reader).
(setf op)
(writer).
remainder
(reader).
(setf remainder)
(writer).
rep
(reader).
(setf rep)
(writer).
skip
(reader).
(setf skip)
(writer).
top
(reader).
(setf top)
(writer).
width-index
(reader).
(setf width-index)
(writer).
net.didierverna.tfm.core/src/character.lisp
intermediate.lisp
(file).
src
(module).
bottom-character
(method).
bottom-character
(reader method).
(setf bottom-character)
(writer method).
character-metrics
(class).
code
(reader method).
depth
(reader method).
(setf depth)
(writer method).
extensiblep
(function).
font
(reader method).
height
(reader method).
(setf height)
(writer method).
italic-correction
(reader method).
(setf italic-correction)
(writer method).
middle-character
(method).
middle-character
(reader method).
(setf middle-character)
(writer method).
next-character
(reader method).
(setf next-character)
(writer method).
not-extensible
(condition).
print-object
(method).
print-object
(method).
repeated-character
(method).
repeated-character
(reader method).
(setf repeated-character)
(writer method).
top-character
(method).
top-character
(reader method).
(setf top-character)
(writer method).
value
(reader method).
(setf value)
(writer method).
width
(reader method).
(setf width)
(writer method).
+character-metrics-dimension-accessors+
(constant).
define-extension-recipe-pseudo-accessor
(macro).
extension-recipe
(reader method).
(setf extension-recipe)
(writer method).
extension-recipe
(class).
make-character-metrics
(function).
make-extension-recipe
(function).
map-character-metrics-dimension-accessors
(macro).
net.didierverna.tfm.core/src/font.lisp
character.lisp
(file).
src
(module).
7bits-safe
(reader method).
(setf 7bits-safe)
(writer method).
axis-height
(reader method).
(setf axis-height)
(writer method).
big-op-spacing1
(reader method).
(setf big-op-spacing1)
(writer method).
big-op-spacing2
(reader method).
(setf big-op-spacing2)
(writer method).
big-op-spacing3
(reader method).
(setf big-op-spacing3)
(writer method).
big-op-spacing4
(reader method).
(setf big-op-spacing4)
(writer method).
big-op-spacing5
(reader method).
(setf big-op-spacing5)
(writer method).
boundary-character
(reader method).
(setf boundary-character)
(writer method).
character-count
(reader method).
(setf character-count)
(writer method).
character1
(reader method).
(setf character1)
(writer method).
character2
(reader method).
(setf character2)
(writer method).
characters
(reader method).
(setf characters)
(writer method).
checksum
(reader method).
(setf checksum)
(writer method).
composite
(reader method).
default-rule-thickness
(reader method).
(setf default-rule-thickness)
(writer method).
delete-after
(reader method).
delete-before
(reader method).
delim1
(reader method).
(setf delim1)
(writer method).
delim2
(reader method).
(setf delim2)
(writer method).
denom1
(reader method).
(setf denom1)
(writer method).
denom2
(reader method).
(setf denom2)
(writer method).
design-size
(reader method).
(setf design-size)
(method).
(setf design-size)
(method).
(setf design-size)
(method).
(setf design-size)
(writer method).
different-fonts
(condition).
em
(reader method).
(setf em)
(writer method).
encoding
(reader method).
(setf encoding)
(writer method).
ex
(reader method).
(setf ex)
(writer method).
expansion
(reader method).
(setf expansion)
(writer method).
extra-space
(reader method).
(setf extra-space)
(writer method).
face-code
(reader method).
(setf face-code)
(writer method).
face-number
(reader method).
(setf face-number)
(writer method).
family
(reader method).
(setf family)
(writer method).
file
(reader method).
(setf file)
(writer method).
font
(class).
freeze
(function).
frozen
(reader method).
(setf frozen)
(writer method).
get-character
(function).
initialize-instance
(method).
interword-shrink
(reader method).
(setf interword-shrink)
(writer method).
interword-space
(reader method).
(setf interword-space)
(writer method).
interword-stretch
(reader method).
(setf interword-stretch)
(writer method).
invalid-character-code
(condition).
kerning
(function).
(setf kerning)
(function).
ligature
(function).
(setf ligature)
(function).
ligature
(class).
math-extension-font
(class).
math-symbols-font
(class).
max-code
(reader method).
(setf max-code)
(writer method).
min-code
(reader method).
(setf min-code)
(writer method).
name
(reader method).
(setf name)
(writer method).
num1
(reader method).
(setf num1)
(writer method).
num2
(reader method).
(setf num2)
(writer method).
num3
(reader method).
(setf num3)
(writer method).
original-design-size
(reader method).
(setf original-design-size)
(writer method).
parameters
(reader method).
(setf parameters)
(writer method).
pass-over
(reader method).
print-object
(method).
slant
(reader method).
(setf slant)
(writer method).
slope
(reader method).
(setf slope)
(writer method).
sub1
(reader method).
(setf sub1)
(writer method).
sub2
(reader method).
(setf sub2)
(writer method).
subdrop
(reader method).
(setf subdrop)
(writer method).
sup1
(reader method).
(setf sup1)
(writer method).
sup2
(reader method).
(setf sup2)
(writer method).
sup3
(reader method).
(setf sup3)
(writer method).
supdrop
(reader method).
(setf supdrop)
(writer method).
unfreeze
(function).
value
(reader method).
(setf value)
(writer method).
weight
(reader method).
(setf weight)
(writer method).
+font-dimension-accessors+
(constant).
+math-extension-font-dimension-accessors+
(constant).
+math-symbols-font-dimension-accessors+
(constant).
anonymous-font
(condition).
apply-ligature
(function).
code-character
(function).
(setf code-character)
(function).
kernings
(reader method).
(setf kernings)
(writer method).
ligatures
(reader method).
(setf ligatures)
(writer method).
make-font
(function).
make-ligature
(function).
map-font-dimension-accessors
(macro).
map-math-extension-font-dimension-accessors
(macro).
map-math-symbols-font-dimension-accessors
(macro).
scale
(generic function).
net.didierverna.tfm.core/src/file.lisp
font.lisp
(file).
src
(module).
actual-size
(reader method).
(setf actual-size)
(writer method).
bc
(reader method).
(setf bc)
(writer method).
character-list-cycle
(condition).
characters
(reader method).
(setf characters)
(writer method).
declared-size
(reader method).
(setf declared-size)
(writer method).
ec
(reader method).
(setf ec)
(writer method).
extended-tfm
(condition).
file
(reader method).
(setf file)
(writer method).
file-overflow
(condition).
file-underflow
(condition).
invalid-char-info
(condition).
invalid-character-range
(condition).
invalid-design-size
(condition).
invalid-header-length
(condition).
invalid-ligature-opcode
(condition).
invalid-section-lengths
(condition).
invalid-table-index
(condition).
invalid-table-length
(condition).
invalid-table-start
(condition).
largest
(reader method).
largest
(reader method).
(setf largest)
(writer method).
(setf largest)
(writer method).
lf
(reader method).
(setf lf)
(writer method).
lh
(reader method).
(setf lh)
(writer method).
ligature-cycle
(condition).
load-font
(function).
name
(reader method).
(setf name)
(writer method).
nc
(reader method).
(setf nc)
(writer method).
nd
(reader method).
(setf nd)
(writer method).
ne
(reader method).
(setf ne)
(writer method).
nh
(reader method).
(setf nh)
(writer method).
ni
(reader method).
(setf ni)
(writer method).
nk
(reader method).
(setf nk)
(writer method).
nl
(reader method).
(setf nl)
(writer method).
no-boundary-character
(condition).
np
(reader method).
(setf np)
(writer method).
nw
(reader method).
(setf nw)
(writer method).
smallest
(reader method).
(setf smallest)
(writer method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
value
(reader method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
(setf value)
(writer method).
%run-ligature/kerning-program
(function).
file-size-mixin
(condition).
font-extension-recipe
(function).
invalid-original-design-size
(condition).
load-tfm-font
(function).
parse-character-information
(function).
parse-header
(function).
parse-parameters
(generic function).
run-ligature/kerning-program
(function).
table-aref
(function).
tfm-table-error
(condition).
tref
(macro).
net.didierverna.tfm.setup/package.lisp
net.didierverna.tfm.setup
(system).
net.didierverna.tfm.setup/src/configuration.lisp
src
(module).
configuration
(function).
configure
(function).
*configuration*
(special variable).
net.didierverna.tfm.setup/src/readtable.lisp
configuration.lisp
(file).
src
(module).
net.didierverna.tfm.setup/src/version.lisp
readtable.lisp
(file).
src
(module).
*copyright-years*
(special variable).
*release-major-level*
(special variable).
*release-minor-level*
(special variable).
*release-name*
(special variable).
*release-status*
(special variable).
*release-status-level*
(special variable).
version
(function).
%version
(function).
release-status-number
(function).
Packages are listed by definition order.
net.didierverna.tfm.setup
The TFM setup library’s package.
common-lisp
.
*copyright-years*
(special variable).
*release-major-level*
(special variable).
*release-minor-level*
(special variable).
*release-name*
(special variable).
*release-status*
(special variable).
*release-status-level*
(special variable).
configuration
(function).
configure
(function).
version
(function).
%version
(function).
*configuration*
(special variable).
clindent
(function).
defindent
(macro).
i-reader
(function).
release-status-number
(function).
~-reader
(function).
net.didierverna.tfm
The TeX Font Metrics package.
common-lisp
.
net.didierverna.tfm.setup
.
7bits-safe
(generic reader).
(setf 7bits-safe)
(generic writer).
actual-size
(generic reader).
(setf actual-size)
(generic writer).
axis-height
(generic reader).
(setf axis-height)
(generic writer).
bc
(generic reader).
(setf bc)
(generic writer).
big-op-spacing1
(generic reader).
(setf big-op-spacing1)
(generic writer).
big-op-spacing2
(generic reader).
(setf big-op-spacing2)
(generic writer).
big-op-spacing3
(generic reader).
(setf big-op-spacing3)
(generic writer).
big-op-spacing4
(generic reader).
(setf big-op-spacing4)
(generic writer).
big-op-spacing5
(generic reader).
(setf big-op-spacing5)
(generic writer).
bottom-character
(generic function).
(setf bottom-character)
(generic writer).
boundary-character
(generic reader).
(setf boundary-character)
(generic writer).
character-count
(generic reader).
(setf character-count)
(generic writer).
character-list-cycle
(condition).
character-metrics
(class).
character1
(generic reader).
(setf character1)
(generic writer).
character2
(generic reader).
(setf character2)
(generic writer).
characters
(generic reader).
(setf characters)
(generic writer).
checksum
(generic reader).
(setf checksum)
(generic writer).
code
(generic reader).
composite
(generic reader).
declared-size
(generic reader).
(setf declared-size)
(generic writer).
default-rule-thickness
(generic reader).
(setf default-rule-thickness)
(generic writer).
delete-after
(generic reader).
delete-before
(generic reader).
delim1
(generic reader).
(setf delim1)
(generic writer).
delim2
(generic reader).
(setf delim2)
(generic writer).
denom1
(generic reader).
(setf denom1)
(generic writer).
denom2
(generic reader).
(setf denom2)
(generic writer).
depth
(generic reader).
(setf depth)
(generic writer).
design-size
(generic reader).
(setf design-size)
(generic function).
different-fonts
(condition).
ec
(generic reader).
(setf ec)
(generic writer).
em
(generic reader).
(setf em)
(generic writer).
encoding
(generic reader).
(setf encoding)
(generic writer).
ex
(generic reader).
(setf ex)
(generic writer).
expansion
(generic reader).
(setf expansion)
(generic writer).
extended-tfm
(condition).
extensiblep
(function).
extra-space
(generic reader).
(setf extra-space)
(generic writer).
face-code
(generic reader).
(setf face-code)
(generic writer).
face-number
(generic reader).
(setf face-number)
(generic writer).
family
(generic reader).
(setf family)
(generic writer).
file
(generic reader).
(setf file)
(generic writer).
file-overflow
(condition).
file-underflow
(condition).
fix-word-overflow
(condition).
font
(generic reader).
font
(class).
freeze
(function).
frozen
(generic reader).
(setf frozen)
(generic writer).
get-character
(function).
height
(generic reader).
(setf height)
(generic writer).
interword-shrink
(generic reader).
(setf interword-shrink)
(generic writer).
interword-space
(generic reader).
(setf interword-space)
(generic writer).
interword-stretch
(generic reader).
(setf interword-stretch)
(generic writer).
invalid-bcpl-string
(condition).
invalid-char-info
(condition).
invalid-character-code
(condition).
invalid-character-range
(condition).
invalid-design-size
(condition).
invalid-header-length
(condition).
invalid-ligature-opcode
(condition).
invalid-section-lengths
(condition).
invalid-string-length
(condition).
invalid-table-index
(condition).
invalid-table-length
(condition).
invalid-table-start
(condition).
italic-correction
(generic reader).
(setf italic-correction)
(generic writer).
kerning
(function).
(setf kerning)
(function).
largest
(generic reader).
(setf largest)
(generic writer).
lf
(generic reader).
(setf lf)
(generic writer).
lh
(generic reader).
(setf lh)
(generic writer).
ligature
(function).
(setf ligature)
(function).
ligature
(class).
ligature-cycle
(condition).
load-font
(function).
math-extension-font
(class).
math-symbols-font
(class).
max-code
(generic reader).
(setf max-code)
(generic writer).
middle-character
(generic function).
(setf middle-character)
(generic writer).
min-code
(generic reader).
(setf min-code)
(generic writer).
name
(generic reader).
(setf name)
(generic writer).
nc
(generic reader).
(setf nc)
(generic writer).
nd
(generic reader).
(setf nd)
(generic writer).
ne
(generic reader).
(setf ne)
(generic writer).
next-character
(generic reader).
(setf next-character)
(generic writer).
nh
(generic reader).
(setf nh)
(generic writer).
ni
(generic reader).
(setf ni)
(generic writer).
nickname-package
(function).
nk
(generic reader).
(setf nk)
(generic writer).
nl
(generic reader).
(setf nl)
(generic writer).
no-boundary-character
(condition).
not-extensible
(condition).
np
(generic reader).
(setf np)
(generic writer).
num1
(generic reader).
(setf num1)
(generic writer).
num2
(generic reader).
(setf num2)
(generic writer).
num3
(generic reader).
(setf num3)
(generic writer).
nw
(generic reader).
(setf nw)
(generic writer).
original-design-size
(generic reader).
(setf original-design-size)
(generic writer).
padding
(generic reader).
(setf padding)
(generic writer).
parameters
(generic reader).
(setf parameters)
(generic writer).
pass-over
(generic reader).
repeated-character
(generic function).
(setf repeated-character)
(generic writer).
slant
(generic reader).
(setf slant)
(generic writer).
slope
(generic reader).
(setf slope)
(generic writer).
smallest
(generic reader).
(setf smallest)
(generic writer).
sub1
(generic reader).
(setf sub1)
(generic writer).
sub2
(generic reader).
(setf sub2)
(generic writer).
subdrop
(generic reader).
(setf subdrop)
(generic writer).
sup1
(generic reader).
(setf sup1)
(generic writer).
sup2
(generic reader).
(setf sup2)
(generic writer).
sup3
(generic reader).
(setf sup3)
(generic writer).
supdrop
(generic reader).
(setf supdrop)
(generic writer).
tfm
(condition).
tfm-compliance
(condition).
tfm-compliance-error
(condition).
tfm-compliance-warning
(condition).
tfm-error
(condition).
tfm-usage
(condition).
tfm-usage-error
(condition).
tfm-usage-warning
(condition).
tfm-warning
(condition).
top-character
(generic function).
(setf top-character)
(generic writer).
u16-overflow
(condition).
unfreeze
(function).
value
(generic reader).
(setf value)
(generic writer).
weight
(generic reader).
(setf weight)
(generic writer).
width
(generic reader).
(setf width)
(generic writer).
%run-ligature/kerning-program
(function).
*stream*
(special variable).
+character-metrics-dimension-accessors+
(constant).
+font-dimension-accessors+
(constant).
+math-extension-font-dimension-accessors+
(constant).
+math-symbols-font-dimension-accessors+
(constant).
anonymous-font
(condition).
apply-ligature
(function).
bot
(reader).
(setf bot)
(writer).
char-info
(structure).
char-info-p
(function).
code-character
(function).
(setf code-character)
(function).
copy-char-info
(function).
copy-exten
(function).
copy-lig/kern
(function).
decode-char-info
(function).
decode-exten
(function).
decode-lig/kern
(function).
define-constant
(macro).
define-extension-recipe-pseudo-accessor
(macro).
depth-index
(reader).
(setf depth-index)
(writer).
exten
(structure).
exten-index
(reader).
(setf exten-index)
(writer).
exten-p
(function).
extension-recipe
(generic reader).
(setf extension-recipe)
(generic writer).
extension-recipe
(class).
file-size-mixin
(condition).
font-extension-recipe
(function).
height-index
(reader).
(setf height-index)
(writer).
invalid-original-design-size
(condition).
italic-index
(reader).
(setf italic-index)
(writer).
kernings
(generic reader).
(setf kernings)
(generic writer).
lig/kern
(structure).
lig/kern-index
(reader).
(setf lig/kern-index)
(writer).
lig/kern-p
(function).
ligatures
(generic reader).
(setf ligatures)
(generic writer).
load-tfm-font
(function).
make-char-info
(function).
make-character-metrics
(function).
make-exten
(function).
make-extension-recipe
(function).
make-font
(function).
make-lig/kern
(function).
make-ligature
(function).
map-accessors
(macro).
map-character-metrics-dimension-accessors
(macro).
map-font-dimension-accessors
(macro).
map-math-extension-font-dimension-accessors
(macro).
map-math-symbols-font-dimension-accessors
(macro).
mid
(reader).
(setf mid)
(writer).
next
(reader).
(setf next)
(writer).
next-char
(reader).
(setf next-char)
(writer).
op
(reader).
(setf op)
(writer).
parse-character-information
(function).
parse-header
(function).
parse-parameters
(generic function).
read-fix-word
(function).
read-padded-string
(function).
read-u16
(function).
read-u32
(function).
remainder
(reader).
(setf remainder)
(writer).
rep
(reader).
(setf rep)
(writer).
report
(function).
run-ligature/kerning-program
(function).
scale
(generic function).
skip
(reader).
(setf skip)
(writer).
table-aref
(function).
tfm-table-error
(condition).
top
(reader).
(setf top)
(writer).
tref
(macro).
width-index
(reader).
(setf width-index)
(writer).
Definitions are sorted by export status, category, package, and then by lexicographic order.
A string denoting the copyright years for the whole project.
The major level of this release.
The minor level of this release.
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).
The status of this release.
The status level of this release.
Return KEY’s value in the current TFM configuration.
Set KEY to VALUE in the current TFM configuration.
Return T if CHARACTER has an extension recipe.
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.
Return FONT’s CODE character, or NIL.
Return kerning for CHARACTER1 and CHARACTER2, or NIL.
If CHARACTER1 and CHARACTER2 don’t belong to the same font, signal a
DIFFERENT-FONTS error.
Set KERNING for CHARACTER1 and 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.
Set LIGATURE for CHARACTER1 and CHARACTER2.
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.
Add NICKNAME (:TFM by default) to the :NET.DIDIERVERNA.TFM package.
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.
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.
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.
file-size-mixin
)) ¶file-size-mixin
)) ¶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.
invalid-character-range
)) ¶invalid-character-range
)) ¶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.
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.
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.
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.
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.
character-metrics
)) ¶Return extensible CHARACTER’s BOTTOM-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.
extension-recipe
)) ¶The recipe’s bottom character, or NIL.
extension-recipe
)) ¶The recipe’s bottom character, or NIL.
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).
different-fonts
)) ¶different-fonts
)) ¶different-fonts
)) ¶different-fonts
)) ¶ligature-cycle
)) ¶ligature-cycle
)) ¶character-metrics
)) ¶The character’s numerical code.
code
.
file-size-mixin
)) ¶file-size-mixin
)) ¶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.
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.
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.
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.
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.
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.
invalid-character-range
)) ¶invalid-character-range
)) ¶extended-tfm
)) ¶extended-tfm
)) ¶character-metrics
)) ¶The character’s font.
font
.
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.
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.
invalid-table-length
)) ¶invalid-table-length
)) ¶invalid-table-index
)) ¶invalid-table-index
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶character-metrics
)) ¶Return extensible CHARACTER’s MIDDLE-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.
extension-recipe
)) ¶The recipe’s middle character, or NIL.
extension-recipe
)) ¶The recipe’s middle character, or NIL.
tfm-table-error
)) ¶tfm-table-error
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶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.
invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶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.
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.
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.
invalid-section-lengths
)) ¶invalid-section-lengths
)) ¶invalid-string-length
)) ¶invalid-string-length
)) ¶character-metrics
)) ¶Return extensible CHARACTER’s REPEATED-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.
extension-recipe
)) ¶The recipe’s repeated character.
extension-recipe
)) ¶The recipe’s repeated character.
invalid-table-length
)) ¶invalid-table-length
)) ¶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.
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.
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.
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.
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.
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.
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.
character-metrics
)) ¶Return extensible CHARACTER’s TOP-CHARACTER.
If CHARACTER is not extensible, signal a NOT-EXTENSIBLE error.
extension-recipe
)) ¶The recipe’s top character, or NIL.
extension-recipe
)) ¶The recipe’s top character, or NIL.
extended-tfm
)) ¶extended-tfm
)) ¶invalid-table-length
)) ¶invalid-table-length
)) ¶invalid-header-length
)) ¶invalid-header-length
)) ¶ligature-cycle
)) ¶ligature-cycle
)) ¶character-list-cycle
)) ¶character-list-cycle
)) ¶invalid-table-start
)) ¶invalid-table-start
)) ¶invalid-char-info
)) ¶invalid-char-info
)) ¶invalid-ligature-opcode
)) ¶invalid-ligature-opcode
)) ¶invalid-table-index
)) ¶invalid-table-index
)) ¶invalid-original-design-size
)) ¶invalid-original-design-size
)) ¶invalid-design-size
)) ¶invalid-design-size
)) ¶invalid-character-code
)) ¶invalid-character-code
)) ¶not-extensible
)) ¶not-extensible
)) ¶invalid-bcpl-string
)) ¶invalid-bcpl-string
)) ¶invalid-string-length
)) ¶invalid-string-length
)) ¶fix-word-overflow
)) ¶fix-word-overflow
)) ¶u16-overflow
)) ¶u16-overflow
)) ¶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.
font
) &key name) ¶Check that FONT has a name, or signal an ANONYMOUS-FONT error.
character-metrics
) stream) ¶Print CHARACTER unreadably with its code to STREAM.
extension-recipe
) stream) ¶Print EXTENSION-RECIPE unreadably with its repeated character to STREAM.
The Character List Cycle compliance error.
It signals that a cycle was found in a list of ascending character sizes.
The cyclic character list.
:value
The Different Fonts usage error.
It signals an attempt at retrieving a ligature or kerning for two characters
from different fonts.
The Extended TFM warning.
It signals that a file contains extended TFM data (OFM or JFM) rather than
plain TFM data.
The File Overflow compliance warning.
It signals that the file size is longer than expected.
The File Underflow compliance error.
It signals that the file size is shorter than expected.
The Fix Word Overflow compliance error.
It signals that a fix word is outside ]-16,+16[.
The faulty value.
:value
The Invalid BCPL String compliance error.
It signals that a BCPL string contains parentheses or non-ASCII characters.
The invalid string.
:value
The Invalid Char Info compliance error.
It signals that a char-info with a width-index of 0 is not completely
zero’ed out.
The invalid char-info structure.
:value
The Invalid Character Code compliance error.
It signals a reference to a character code which does not exist in the font
being loaded.
The invalid character code.
:value
The Invalid Character Range compliance error. It signals that BC-1 > EC, or that EC > 255.
The Invalid Design Size compliance error.
It signals that a design size is too small (< 1pt).
The invalid design size.
:value
The Invalid Header Length compliance error.
It signals that a header length is too small (< 2 words).
The invalid header length.
:value
The Invalid Ligature Opcode compliance error. It signals that a ligature opcode is invalid.
The invalid ligature opcode.
:value
The Section Lengths compliance error.
It signals that LF != 6 + LH + NC + NW + NH + ND + NI + NL + NK + NE + NP.
The Invalid String Length compliance error.
It signals that the declared length of a padded string is greater than its
maximum.
The Invalid Table Index compliance error.
It signals that a table index is greater than its largest value.
The Invalid Table Length compliance error.
It signals that a declared TFM table’s length is out of range.
The Invalid Table Start compliance error.
It signals that the first value in a TFM table is not 0.
The invalid first table value.
:value
The Ligature Cycle compliance error.
It signals that a ligature introduces a cycle for a cons of characters.
The No Boundary Character compliance error.
It signals that a boundary character ligature/kerning program was found,
without a boundary character being defined.
The Not Extensible usage error.
It signals an attempt at accessing the extension recipe of a non extensible
character.
The non extensible character.
:value
The TFM root condition.
condition
.
The TFM Compliance root condition.
This is the mixin for conditions related to TFM compliance.
tfm
.
The TFM compliance errors root condition.
This is the root condition for errors related to TFM compliance.
character-list-cycle
.
file-underflow
.
fix-word-overflow
.
invalid-bcpl-string
.
invalid-char-info
.
invalid-character-code
.
invalid-character-range
.
invalid-design-size
.
invalid-header-length
.
invalid-ligature-opcode
.
invalid-section-lengths
.
invalid-string-length
.
ligature-cycle
.
no-boundary-character
.
tfm-table-error
.
u16-overflow
.
The TFM compliance warnings root condition.
This is the root condition for warnings related to TFM compliance.
The TFM errors root condition.
error
.
tfm
.
The TFM Usage root condition.
This is the mixin for conditions related to the use of the library.
tfm
.
The TFM usage errors root condition.
This is the root condition for errors related to the use of the library.
The TFM usage warnings root condition.
This is the root condition for warnings related to the use of the library.
The TFM warnings root condition.
tfm
.
warning
.
The U16 Overflow compliance error.
It signals that an unsigned 16 bits integer is greater than 2^15.
The faulty value.
:value
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.
The character’s numerical code.
:code
code
.
This slot is read-only.
The character’s width.
It is expressed in design size units, or in TeX point units if the font is
frozen.
:width
The character’s height.
It is expressed in design size units, or in TeX point units if the font is
frozen.
:height
The character’s depth.
It is expressed in design size units, or in TeX point units if the font is
frozen.
:depth
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.
:italic-correction
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.
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.
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.
(setf 7bits-safe)
.
7bits-safe
.
(setf boundary-character)
.
boundary-character
.
(setf character-count)
.
character-count
.
(setf characters)
.
characters
.
(setf checksum)
.
checksum
.
(setf design-size)
.
design-size
.
(setf em)
.
em
.
(setf encoding)
.
encoding
.
(setf ex)
.
ex
.
(setf expansion)
.
expansion
.
(setf extra-space)
.
extra-space
.
(setf face-code)
.
face-code
.
(setf face-number)
.
face-number
.
(setf family)
.
family
.
(setf file)
.
file
.
(setf frozen)
.
frozen
.
initialize-instance
.
(setf interword-shrink)
.
interword-shrink
.
(setf interword-space)
.
interword-space
.
(setf interword-stretch)
.
interword-stretch
.
(setf kernings)
.
kernings
.
(setf ligatures)
.
ligatures
.
(setf max-code)
.
max-code
.
(setf min-code)
.
min-code
.
(setf name)
.
name
.
(setf original-design-size)
.
original-design-size
.
(setf parameters)
.
parameters
.
print-object
.
(setf slant)
.
slant
.
(setf slope)
.
slope
.
(setf weight)
.
weight
.
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.
:name
name
.
The font’s checksum, as provided by Metafont.
Whether the font is frozen.
The font’s design size, in units of TeX points.
The font’s original design size, in units of TeX points.
The font’s character coding scheme (a BCPL string), or NIL.
The font’s family (a BCPL string), or NIL.
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.
The font’s face number, or NIL.
The font’s weight (:medium, :bold, :light), or NIL. When available, it is decoded from the font face number.
The font’s slope (:roman, :italic), or NIL.
When available, it is decoded from the font face number.
The font’s expansion (:regular, :condensed, :extended), or NIL. When available, it is decoded from the font face number.
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.
The font’s slant (a scalar ratio).
0
The font’s normal interword space.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s interword stretchability.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s interword shrinkability.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s ex size.
It is expressed in design size units, or in TeX point units if the font is
frozen.
The font’s em size.
It is expressed in design size units, or in TeX point units if the font is
frozen.
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.
0
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.
The font’s smallest character code.
The font’s largest character code.
The font’s characters.
This is a hash table associating character codes with characters.
(make-hash-table :test (function eq))
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).
The font’s ligatures.
This is a hash table associating conses of characters with the corresponding
ligature.
(make-hash-table :test (function equal))
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.
(make-hash-table :test (function equal))
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).
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.
The character to insert between the two original ones.
:composite
This slot is read-only.
Whether to delete the character before the ligature.
:delete-before
This slot is read-only.
Whether to delete the character after the ligature.
:delete-after
This slot is read-only.
The Math Extension Font class.
This class represents fonts with the "TeX math extension" character coding
scheme.
font
.
The font’s default rule thickness.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s BIG-OP-SPACING1 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s BIG-OP-SPACING2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s BIG-OP-SPACING3 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s BIG-OP-SPACING4 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s BIG-OP-SPACING5 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The Math Symbols Font class.
This class represents fonts with the "TeX math symbols" character coding
scheme.
font
.
(setf axis-height)
.
axis-height
.
(setf delim1)
.
delim1
.
(setf delim2)
.
delim2
.
(setf denom1)
.
denom1
.
(setf denom2)
.
denom2
.
(setf num1)
.
num1
.
(setf num2)
.
num2
.
(setf num3)
.
num3
.
parse-parameters
.
scale
.
(setf sub1)
.
sub1
.
(setf sub2)
.
sub2
.
(setf subdrop)
.
subdrop
.
(setf sup1)
.
sup1
.
(setf sup2)
.
sup2
.
(setf sup3)
.
sup3
.
(setf supdrop)
.
supdrop
.
The font’s NUM1 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
num1
.
The font’s NUM2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
num2
.
The font’s NUM2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
num3
.
The font’s DENOM1 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s DENOM2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s SUP1 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
sup1
.
The font’s SUP2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
sup2
.
The font’s SUP2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
sup3
.
The font’s SUB1 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
sub1
.
The font’s SUB2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
sub2
.
The font’s SUPDROP parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s SUBDROP parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s DELIM1 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s DELIM2 parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The font’s AXIS-HEIGHT parameter.
It is expressed in design size units, or in TeX point units if the font is
frozen.
0
The list of dimension accessor names in the CHARACTER-METRICS class.
The list of dimension accessor names in the FONT class.
The list of dimension accessor names in the MATH-EXTENSION-FONT class.
The list of dimension accessor names in the MATH-SYMBOLS-FONT class.
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.
The stream being read.
Wrapper around ‘clindent’ to avoid quoting SYMBOL and INDENT.
Like DEFCONSTANT, but reuse existing value if any.
Map BODY on OBJECT ACCESSORS, each in turn available as VAR.
Map BODY on CHARACTER metrics dimension accessors available as VAR.
Map BODY on FONT dimension accessors available as VAR.
Map BODY on math extension FONT dimension accessors available as VAR.
Map BODY on FONT dimension accessors available as VAR.
Call TABLE-AREF, computing the table name from TABLE.
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.
Apply LIGATURE to STATE and return the new state.
STATE is a list of characters, the first two being subject to LIGATURE.
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.
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.
Make FONT’s CHARACTER accessible by its code.
Decode char-info WORD into a new CHAR-INFO instance, and return it.
Decode exten WORD into a new EXTEN instance, and return it.
Decode lig/kern WORD into a new LIG/KERN instance, and return it.
Make an extension recipe based on EXTEN with FONT’s characters.
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.
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.
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.
Make a new EXTENSION-RECIPE with REPEATED-CHARACTER and return it. The recipe may also have a TOP-, MIDDLE-, and BOTTOM-CHARACTER.
Make a new NAMEd FONT instance, and return it.
If INITARGS are provided, pass them as-is to MAKE-INSTANCE.
Make a new LIGATURE instance, and return it.
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.
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.
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.
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.
Read an unsigned 16 bits Big Endian integer from *STREAM* and return it. If >= 2^15, signal a U16-OVERFLOW error.
Read an unsigned 32 bits Big Endian integer from *STREAM*.
Like FORMAT, but if *STREAM* is bound, report that we’re reading from it.
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.
Access NAMEd TABLE at INDEX.
If INDEX is out of bounds, signal an INVALID-TABLE-INDEX error.
Read a series of ~"string" to be concatenated together.
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.
Parse a parameters section of LENGTH words from *STREAM* into FONT. Return remaining LENGTH.
Parse the 7 regular FONT parameters. Return remaining LENGTH.
math-symbols-font
)) ¶Parse the 15 additional TeX math symbols FONT parameters.
math-extension-font
)) ¶Parse the 6 additional TeX math extension FONT parameters.
Read remaining parameters into a parameters array.
Scale all FONT dimensions by FACTOR.
math-extension-font
) factor) ¶Scaling method for MATH-EXTENSION-FONTs.
math-symbols-font
) factor) ¶Scaling method for MATH-SYMBOL-FONTs.
Scaling method for regular FONTs.
The Anonymous Font usage error.
It signals an attempt at creating a font with no name.
The File Size Mixin condition.
It is used in both errors and warnings to report different declared and
actual file sizes.
The Invalid Original Design Size compliance warning.
It signals that, although overridden explicitly, an original design size was
too small (< 1pt).
The invalid original design size.
:value
The TFM table errors root condition.
This is the root condition for errors related to TFM tables.
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]).
structure-object
.
The Exten structure.
This structure is used to store decoded information from the exten table
(see TeX: the Program [546]).
The Lig/Kern structure.
This structure is used to store decoded information from the lig/kern table
(see TeX: the Program [545]).
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.
The recipe’s top character, or NIL.
:top-character
The recipe’s middle character, or NIL.
:middle-character
The recipe’s bottom character, or NIL.
:bottom-character
The recipe’s repeated character.
:repeated-character
Jump to: | %
(
7
~
A B C D E F G H I K L M N O P R S T U V W |
---|
Jump to: | %
(
7
~
A B C D E F G H I K L M N O P R S T U V W |
---|
Jump to: | *
+
7
A B C D E F H I K L M N O P R S T V W |
---|
Jump to: | *
+
7
A B C D E F H I K L M N O P R S T V W |
---|
Jump to: | A C D E F I L M N P R S T U V |
---|
Jump to: | A C D E F I L M N P R S T U V |
---|