point_yielder = function*(fonts = ['Georgia'], points, cols = 1, exportable = false) {
const buffer = DOM.canvas(w*5/4 * cols, w*5/4)
const ctx = buffer.getContext("2d")
const vals = []
ctx.fillStyle = "black";
for (let font of fonts) {
ctx.font = `${w}px ${font}`
for (let i of points) {
ctx.clearRect(0, 0, w*2*cols, w*2)
for (let x in d3.range(cols)) {
ctx.fillText(String.fromCodePoint(i), x*w, w)
vals.push({
point: i,
data: image_vector(ctx, w),
font: font
})
i++;
}
}
}
yield vals
}