Reads one pixel of a glyph in cell coordinates — x from the cell's left
edge, y from its top edge, both zero-based.
Top-down here, unlike everything world-space in §7a, because a glyph's rows
are authored top-down and a font's metrics (ascent, glyphTop) are quoted
that way in every font format there is. The single flip into the Y-up world
happens once, in buildGlyphAtlas, and is documented there.
Coordinates outside the cell, and rows outside the encoded band, read as
clear rather than throwing: the caller is a rasterization loop over the whole
cell, and a bounds check per pixel it already performed would be pure cost.
Reads one pixel of a glyph in cell coordinates —
xfrom the cell's left edge,yfrom its top edge, both zero-based.Top-down here, unlike everything world-space in §7a, because a glyph's rows are authored top-down and a font's metrics (ascent,
glyphTop) are quoted that way in every font format there is. The single flip into the Y-up world happens once, inbuildGlyphAtlas, and is documented there.Coordinates outside the cell, and rows outside the encoded band, read as clear rather than throwing: the caller is a rasterization loop over the whole cell, and a bounds check per pixel it already performed would be pure cost.