MathGlyphAssembly
in package
Read onlyYes
FinalYes
Recipe for building a stretchy delimiter from glyph parts.
Parts stack head-to-tail in coverage order. Each part declares:
- its
glyphId(the part to draw), - the
startConnectorlength (how many design units the start edge can overlap with the previous part's end edge), - the
endConnectorlength (matching cap for the next part), - the
fullAdvanceof the part if drawn alone, - a bit flag in
extenderindicating whether the part is a repeatable extender (stretches as needed) or a fixed end-cap.
The painter assembles by:
- Picking the fixed (non-extender) caps in order.
- Repeating the extender(s) between them as many times as needed to hit the target advance.
- Overlapping adjacent parts by at least
MathVariants::minConnectorOverlap.
Table of Contents
Properties
- $italicsCorrection : int
- $parts : array<string|int, mixed>
Methods
- __construct() : mixed
Properties
$italicsCorrection
public
int
$italicsCorrection
$parts
public
array<string|int, mixed>
$parts
Methods
__construct()
public
__construct(int $italicsCorrection, array<int, array{glyphId: int, startConnector: int, endConnector: int, fullAdvance: int, extender: bool}> $parts) : mixed
Parameters
- $italicsCorrection : int
-
FUnit italic correction applied to the full assembly when it sits next to slanted content.
- $parts : array<int, array{glyphId: int, startConnector: int, endConnector: int, fullAdvance: int, extender: bool}>