glyphInfo {grDevices} | R Documentation |
Describe a Set of Typeset Glyphs
Description
Create an object that contains information about typeset glyphs. This includes glyph identifiers, glyph locations, font and colour information, and metric information.
Usage
glyphInfo(id, x, y, font, size, fontList,
width, height, hAnchor, vAnchor,
col=NA)
glyphFont(file, index, family, weight, style, PSname=NA)
glyphFontList(...)
glyphAnchor(value, label)
glyphWidth(w, label="width", left="left")
glyphHeight(h, label="height", bottom="bottom")
glyphWidthLeft(w, label)
glyphHeightBottom(h, label)
glyphJust(just, ...)
## S3 method for class 'GlyphJust'
glyphJust(just, ...)
## S3 method for class 'character'
glyphJust(just, ...)
## S3 method for class 'numeric'
glyphJust(just, which=NULL, ...)
Arguments
id |
Numeric vector of glyph identifiers (index of glyph within font file). |
x , y |
Numeric locations of glyphs in (big) points (1/72 inches). |
font |
Integer index into |
size |
Numeric size of glyphs (in points). |
fontList |
List of glyph fonts, as generated by |
width |
Overall width of glyphs. Can be a single numeric value,
but can also be the result from a call to |
height |
Overall height of glyphs. Can be a single numeric
value, but can also be the result from a call to |
hAnchor |
Horizontal anchors for justifying glyphs relative to the
( |
vAnchor |
Vertical anchors for justifying glyphs relative to the
( |
col |
An R colour value for each glyph. Can be |
file |
Character path to font file. |
index |
Numeric index of font within font file. |
family |
Character name of font family. |
weight |
Numeric weight of glyphs (400 is normal, 700 is bold). |
style |
Character style of glyphs ( |
PSname |
The PostScript name for each font. Can be |
value , w , h |
A numeric value. |
label , left , bottom |
A character value. |
just |
A justification value. Either a character value like
|
which |
When |
... |
Further arguments passed to other methods. |
Details
Multiple anchors can be specified so as to allow different
character-based justifications of the glyphs relative to the
(x
, y
) location. Horizontal anchors with labels
"left"
, "centre"
, and "right"
are required.
It is possible to specify a single numeric hAnchor
, which is
treated as the "left"
anchor, or a single anchor with label
"left"
, in which case the other
required anchors will be calculated based on the required width of the
glyphs (see below).
Vertical anchors with labels "bottom"
, "centre"
, and
"top"
are required.
It is possible to specify a single numeric vAnchor
, which is
treated as the "bottom"
anchor, or a single anchor with label
"bottom"
, in which case the other
required anchors will be calculated based on the required height of the
glyphs (see below).
An example of a non-required anchor is a vertical anchor
with the label "baseline"
so that the glyphs can be placed with
their baseline at the y
location.
Multiple widths and heights can be specified so as to allow different
numeric-based justifications of the glyphs relative to the
(x
, y
) location, e.g., 0
for left-justification
and 1
for right-justification, but with any value in between
or even outside those limits also possible.
A width with label "width"
, relative to the "left"
horizontal anchor, is required, but if a single
numeric value is given, that is assumed to be the required width.
A height with label "height"
, relative to the "bottom"
vertical anchor is required, but if a single
numeric value is given, that is assumed to be the required height.
An example of a non-required width is a "tight"
width that
is relative to a "left-bearing"
horizontal anchor, so that
the glyphs can be justified relative to a bounding box around the
glyph ink, rather than a bounding box that includes left and right
bearings.
glyphWidthLeft()
and glyphWidthHeight()
provide
an API for code that needs to access the relevant anchors for
width and height metrics.
Value
The result from glyphInfo()
is an "RGlyphInfo"
object,
essentially a data frame with each row
containing id, location, font, and colour for a glyph.
The metric information (widths and anchors) are stored as attributes
of the data frame.
glyphAnchor()
, glyphWidth()
, and glyphHeight()
return values that can be used to specify width
, height
,
hAnchor
, and vAnchor
values to glyphInfo()
.
Warning
Any glyph with NA
in any of id
, x
, y
, or
size
is silently dropped.