// Monoline vector fonts from the Tektronix 7000-series oscilloscope // character generator EPROM readout board. Extracted from Holger's PDFs // `Font_160-2997-00.pdf` and `Font_160-2997-01.pdf`, which reproduce // Tektronix readout fonts 160-2997-00 (1984) and 160-2997-01 (1986). // // Background: https://w140.com/tekwiki/wiki/7000_series_readout_system. // The source PDF streams store page-rotated line segments; the coordinates // below are normalized to displayed glyph coordinates with positive Y down. function setup() { createCanvas(1024, 720); pixelDensity(2); buildGlyphMap(tektronix7000Font1984); buildGlyphMap(tektronix7000Font1986); } function keyPressed() { if (key === 's' || key === 'S') { saveCanvas('tektronix_7000_fonts', 'png'); } } function draw() { background('black'); strokeWeight(1.0); strokeJoin(ROUND); strokeCap(ROUND); drawFontBlock(tektronix7000Font1984, 100, 125); drawFontBlock(tektronix7000Font1986, 100, 425); stroke("white"); drawString(tektronix7000Font1984, "HELLO WORLD", 455,79, 21, 0.9); drawString(tektronix7000Font1986, "HELLO WORLD", 455,379, 21, 0.9); } function drawFontBlock(font, x, y) { noStroke(); fill(128); textFont('Arial'); textSize(15); text(font.title, x, y - 28); stroke('white'); noFill(); const TEKTRONIX_7000_SUPPORTED_CHARS = [ 'ABCDEFGHIJKLM', 'NOPQRSTUVWXYZ', '0123456789+-/', 'cdpmnμΩΔ<>↓' ]; const size = 42; const spacing = 1.0 const lineHeight = 1.3; let ty = y; for (const row of TEKTRONIX_7000_SUPPORTED_CHARS) { drawString(font, row, x, ty, size, spacing); ty += size * lineHeight; } } function buildGlyphMap(font) { font.map = new Map(); for (const glyph of font.glyphs) { if (!font.map.has(glyph.char)) { font.map.set(glyph.char, glyph); } } font.map.set(' ', { char: ' ', strokes: [] }); } function getGlyph(font, ch) { return font.map.get(ch); } function drawString(font, str, x, y, size, spacing = 1.15, lineHeight = 1.3) { const sca = size / TEKTRONIX_7000_H; const advancePx = TEKTRONIX_7000_ADVANCE * sca * spacing; let cx = x; let cy = y; for (const ch of str) { if (ch === '\n') { cx = x; cy += size * lineHeight; continue; } drawGlyph(font, ch, cx, cy, size); cx += advancePx; } } function drawGlyph(font, ch, gx, gy, size) { const glyph = getGlyph(font, ch); if (!glyph) return; const sca = size / TEKTRONIX_7000_H; for (const stroke of glyph.strokes) { if (!stroke.length) continue; if (stroke.length === 2 && samePoint(stroke[0], stroke[1])) { point(gx + stroke[0][0] * sca, gy + stroke[0][1] * sca); continue; } beginShape(); for (const [px, py] of stroke) { vertex(gx + px * sca, gy + py * sca); } endShape(); } } function samePoint(a, b) { return a[0] === b[0] && a[1] === b[1]; } const TEKTRONIX_7000_W = 170; const TEKTRONIX_7000_H = 210; const TEKTRONIX_7000_ADVANCE = 200; const tektronix7000Font1984 = { title: 'Tektronix 7000 Readout Font 160-2997-00 (1984)', partNumber: '160-2997-00', year: 1984, glyphs: [ {"char":"A","strokes":[[[0,180],[60,0]],[[60,0],[120,180]],[[120,180],[60,0]],[[60,0],[0,180]],[[0,180],[60,0]],[[60,0],[120,180]],[[90,120],[30,120]]]}, {"char":"B","strokes":[[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]],[[90,90],[0,90]],[[0,90],[90,90]],[[90,90],[120,120]],[[120,120],[120,150]],[[120,150],[90,180]],[[90,180],[0,180]],[[0,180],[90,180]]]}, {"char":"C","strokes":[[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,150]],[[0,150],[0,30]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[120,150]]]}, {"char":"D","strokes":[[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[90,180]],[[90,180],[120,150]],[[120,150],[120,30]],[[120,30],[90,0]],[[90,0],[0,0]],[[0,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,150]],[[90,180],[0,180]]]}, {"char":"E","strokes":[[[0,180],[120,180]],[[120,180],[0,180]],[[0,180],[0,0]],[[0,0],[120,0]],[[120,0],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,90],[90,90]],[[90,90],[0,90]]]}, {"char":"F","strokes":[[[0,180],[0,90]],[[0,90],[0,0]],[[0,0],[120,0]],[[120,0],[0,0]],[[0,0],[0,90]],[[0,90],[90,90]],[[90,90],[0,90]],[[0,90],[0,180]]]}, {"char":"G","strokes":[[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,150]],[[0,150],[30,180]],[[30,180],[120,180]],[[120,180],[120,120]],[[120,120],[90,120]],[[120,180],[30,180]],[[0,150],[0,30]]]}, {"char":"H","strokes":[[[0,180],[0,90]],[[0,90],[120,90]],[[120,90],[120,180]],[[120,180],[120,0]],[[120,0],[120,90]],[[120,90],[0,90]],[[0,90],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[120,0],[120,180]]]}, {"char":"I","strokes":[[[30,180],[60,180]],[[60,180],[60,0]],[[60,0],[30,0]],[[90,0],[60,0]],[[60,0],[60,180]],[[90,180],[60,180]],[[60,180],[60,0]],[[60,0],[60,180]]]}, {"char":"J","strokes":[[[120,0],[120,150]],[[120,150],[120,0]],[[120,0],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"K","strokes":[[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[120,180],[0,90]],[[0,90],[120,0]],[[120,0],[0,90]],[[0,90],[120,180]]]}, {"char":"L","strokes":[[[0,0],[0,180]],[[0,180],[120,180]],[[120,180],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]]]}, {"char":"M","strokes":[[[0,180],[0,0]],[[0,0],[60,60]],[[60,60],[120,0]],[[120,0],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,0],[60,60]],[[60,60],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]]]}, {"char":"N","strokes":[[[0,180],[0,0]],[[0,0],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[120,180]],[[120,180],[120,0]]]}, {"char":"O","strokes":[[[0,30],[0,150]],[[0,150],[0,30]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]],[[120,150],[120,30]]]}, {"char":"P","strokes":[[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[90,0]],[[90,0],[0,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]],[[90,90],[0,90]],[[0,90],[90,90]]]}, {"char":"Q","strokes":[[[120,180],[60,150]],[[60,150],[120,180]],[[60,180],[30,180]],[[30,180],[0,150]],[[0,150],[0,30]],[[0,30],[0,150]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,120]],[[120,120],[60,180]]]}, {"char":"R","strokes":[[[0,0],[0,180]],[[0,180],[0,90]],[[0,90],[60,90]],[[60,90],[120,180]],[[120,180],[60,90]],[[60,90],[90,90]],[[90,90],[120,60]],[[120,60],[120,30]],[[120,30],[90,0]],[[90,0],[0,0]],[[0,0],[0,90]],[[0,0],[90,0]]]}, {"char":"S","strokes":[[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,60]],[[0,60],[30,90]],[[30,90],[90,90]],[[90,90],[120,120]],[[120,120],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"T","strokes":[[[60,180],[60,0]],[[60,0],[0,0]],[[120,0],[60,0]],[[60,0],[60,180]],[[60,180],[60,0]]]}, {"char":"U","strokes":[[[0,0],[0,150]],[[0,150],[0,0]],[[0,0],[0,150]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[120,150]],[[120,150],[120,0]],[[120,0],[120,150]],[[120,150],[120,0]]]}, {"char":"V","strokes":[[[0,0],[60,180]],[[60,180],[120,0]],[[120,0],[60,180]],[[60,180],[0,0]],[[0,0],[60,180]],[[60,180],[120,0]]]}, {"char":"W","strokes":[[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[60,120]],[[60,120],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[120,0]],[[120,180],[60,120]],[[60,120],[0,180]]]}, {"char":"X","strokes":[[[0,180],[120,0]],[[120,0],[0,180]],[[0,180],[120,0]],[[120,0],[0,180]],[[120,180],[0,0]],[[0,0],[120,180]],[[120,180],[0,0]],[[0,0],[120,180]]]}, {"char":"Y","strokes":[[[60,180],[60,90]],[[60,90],[0,0]],[[0,0],[60,90]],[[60,90],[120,0]],[[120,0],[60,90]],[[60,90],[60,180]]]}, {"char":"Z","strokes":[[[120,180],[0,180]],[[0,180],[120,0]],[[120,0],[0,0]],[[0,0],[120,0]],[[120,0],[0,180]],[[0,180],[120,180]],[[0,180],[120,0]]]}, {"char":"0","strokes":[[[0,30],[0,150]],[[0,150],[0,30]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]],[[120,150],[120,30]]]}, {"char":"1","strokes":[[[60,180],[60,0]],[[60,0],[30,30]],[[60,0],[60,180]],[[60,180],[30,180]],[[60,180],[90,180]],[[60,180],[60,0]]]}, {"char":"2","strokes":[[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[0,150]],[[0,150],[120,60]],[[120,60],[0,150]],[[0,150],[0,180]],[[0,180],[120,180]],[[120,180],[0,180]]]}, {"char":"3","strokes":[[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]],[[90,90],[60,90]],[[90,90],[120,120]],[[120,120],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"4","strokes":[[[90,180],[90,0]],[[90,0],[0,120]],[[0,120],[120,120]],[[120,120],[0,120]],[[0,120],[90,0]],[[90,0],[90,180]],[[90,180],[90,0]],[[90,0],[0,120]],[[0,120],[120,120]]]}, {"char":"5","strokes":[[[0,0],[120,0]],[[120,0],[0,0]],[[0,0],[0,60]],[[0,60],[90,60]],[[90,60],[120,90]],[[120,90],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"6","strokes":[[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,150]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[120,150]],[[120,150],[120,120]],[[120,120],[90,90]],[[90,90],[0,90]],[[0,90],[90,90]],[[0,150],[0,30]]]}, {"char":"7","strokes":[[[60,180],[120,0]],[[120,0],[0,0]],[[0,0],[120,0]],[[120,0],[60,180]],[[60,180],[120,0]]]}, {"char":"8","strokes":[[[30,90],[0,30]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[90,90]],[[90,90],[30,90]],[[30,90],[0,150]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[120,150]],[[120,150],[90,90]]]}, {"char":"9","strokes":[[[30,90],[120,90]],[[120,90],[30,90]],[[30,90],[0,60]],[[0,60],[0,30]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]],[[120,150],[120,30]]]}, {"char":"+","strokes":[[[60,30],[60,150]],[[60,150],[60,30]],[[0,90],[120,90]],[[120,90],[0,90]]]}, {"char":"-","strokes":[[[0,90],[120,90]],[[120,90],[0,90]]]}, {"char":"/","strokes":[[[0,180],[120,0]],[[120,0],[0,180]],[[0,180],[120,0]],[[120,0],[0,180]]]}, {"char":"c","strokes":[[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]],[[0,150],[0,90]],[[0,90],[30,60]],[[30,60],[90,60]],[[90,60],[120,90]]]}, {"char":"d","strokes":[[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[30,180]],[[30,180],[0,150]],[[0,150],[0,120]],[[0,120],[30,90]],[[30,90],[120,90]],[[120,90],[30,90]],[[120,180],[120,0]]]}, {"char":"p","strokes":[[[30,150],[90,150]],[[90,150],[120,120]],[[120,120],[120,90]],[[120,90],[90,60]],[[90,60],[30,60]],[[30,60],[30,210]],[[30,210],[30,60]]]}, {"char":"m","strokes":[[[0,180],[0,60]],[[0,60],[30,60]],[[30,60],[60,90]],[[60,90],[60,180]],[[60,180],[60,90]],[[60,90],[90,60]],[[90,60],[120,90]],[[120,90],[120,180]],[[120,180],[120,90]],[[0,60],[0,180]]]}, {"char":"n","strokes":[[[30,180],[30,60]],[[30,60],[30,180]],[[30,90],[90,60]],[[90,60],[120,90]],[[120,90],[120,180]],[[120,180],[120,90]]]}, {"char":"μ","strokes":[[[30,60],[30,180]],[[30,180],[0,210]],[[30,180],[30,150]],[[30,150],[90,150]],[[90,150],[120,120]],[[120,120],[120,60]],[[30,150],[30,60]]]}, {"char":"Ω","strokes":[[[0,180],[30,180]],[[30,180],[30,150]],[[30,150],[0,120]],[[0,120],[0,60]],[[0,60],[30,30]],[[30,30],[90,30]],[[90,30],[120,60]],[[120,60],[120,120]],[[120,120],[90,150]],[[90,150],[90,180]],[[90,180],[120,180]]]}, {"char":"Δ","strokes":[[[0,180],[60,0]],[[60,0],[120,180]],[[120,180],[0,180]],[[0,180],[60,0]],[[60,0],[120,180]],[[120,180],[0,180]],[[0,180],[120,180]],[[120,180],[60,0]],[[60,0],[0,180]]]}, {"char":"<","strokes":[[[90,180],[0,90]],[[0,90],[90,0]],[[90,0],[0,90]],[[0,90],[90,180]],[[90,180],[0,90]],[[0,90],[90,0]]]}, {"char":">","strokes":[[[30,0],[120,90]],[[120,90],[30,180]],[[30,180],[120,90]],[[120,90],[30,0]],[[30,0],[120,90]],[[120,90],[30,180]]]}, {"char":"↓","strokes":[[[30,150],[60,180]],[[60,180],[60,0]],[[60,0],[60,180]],[[60,180],[60,0]],[[90,150],[60,180]]]}, {"char":".","strokes":[[[0,210],[0,210]],[[0,210],[0,210]],[[0,210],[0,210]]]}, ] }; const tektronix7000Font1986 = { title: 'Tektronix 7000 Readout Font 160-2997-01 (1986)', partNumber: '160-2997-01', year: 1986, glyphs: [ {"char":"A","strokes":[[[60,0],[0,90]],[[0,90],[0,180]],[[0,180],[0,90]],[[0,90],[120,90]],[[120,90],[120,180]],[[120,180],[120,90]],[[120,90],[60,0]],[[60,0],[0,90]],[[0,90],[120,90]],[[120,90],[60,0]]]}, {"char":"B","strokes":[[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]],[[0,90],[90,90]],[[90,90],[120,120]],[[120,120],[120,150]],[[120,150],[90,180]],[[90,180],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]]]}, {"char":"C","strokes":[[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,150]],[[0,30],[0,150]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[120,150]]]}, {"char":"D","strokes":[[[0,0],[0,180]],[[0,180],[60,180]],[[60,180],[120,150]],[[120,150],[120,30]],[[120,150],[120,30]],[[120,30],[60,0]],[[60,0],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]]]}, {"char":"E","strokes":[[[0,0],[0,180]],[[0,180],[120,180]],[[120,180],[0,180]],[[0,180],[0,90]],[[0,90],[90,90]],[[90,90],[0,90]],[[0,90],[0,0]],[[0,0],[120,0]],[[120,0],[0,0]],[[0,0],[0,180]]]}, {"char":"F","strokes":[[[0,180],[0,90]],[[0,90],[90,90]],[[90,90],[0,90]],[[0,90],[0,0]],[[0,0],[120,0]],[[120,0],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]]]}, {"char":"G","strokes":[[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,150]],[[0,30],[0,150]],[[0,150],[30,180]],[[30,180],[120,180]],[[120,180],[120,120]],[[120,120],[60,120]]]}, {"char":"H","strokes":[[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[0,90]],[[0,90],[120,90]],[[120,90],[120,0]],[[120,0],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[120,90]],[[120,90],[0,90]],[[0,90],[0,180]]]}, {"char":"I","strokes":[[[60,0],[60,180]],[[60,180],[0,180]],[[0,180],[120,180]],[[120,180],[60,180]],[[60,180],[60,0]],[[60,0],[0,0]],[[0,0],[120,0]],[[120,0],[60,0]],[[60,0],[60,180]],[[60,180],[60,0]]]}, {"char":"J","strokes":[[[120,0],[120,150]],[[120,150],[120,0]],[[120,0],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"K","strokes":[[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]],[[0,90],[120,0]],[[120,0],[0,90]],[[0,90],[120,180]],[[120,180],[0,90]]]}, {"char":"L","strokes":[[[0,0],[0,180]],[[0,180],[120,180]],[[120,180],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]]]}, {"char":"M","strokes":[[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[60,90]],[[60,90],[120,0]],[[120,0],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[120,0]],[[120,0],[60,90]],[[60,90],[0,0]]]}, {"char":"N","strokes":[[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[120,180]],[[120,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[120,0],[120,180]],[[120,180],[0,0]],[[0,0],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[120,0]]]}, {"char":"O","strokes":[[[90,180],[30,180]],[[30,180],[0,150]],[[0,150],[0,30]],[[0,150],[0,30]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,150]],[[120,30],[120,150]],[[120,150],[90,180]]]}, {"char":"P","strokes":[[[90,0],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]],[[90,90],[0,90]],[[0,90],[90,90]]]}, {"char":"Q","strokes":[[[60,120],[90,150]],[[90,150],[60,180]],[[60,180],[30,180]],[[30,180],[0,150]],[[0,150],[0,30]],[[0,150],[0,30]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,120]],[[120,120],[90,150]],[[90,150],[120,180]]]}, {"char":"R","strokes":[[[90,0],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]],[[90,90],[0,90]],[[0,90],[60,90]],[[60,90],[120,180]],[[120,180],[60,90]]]}, {"char":"S","strokes":[[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,60]],[[0,60],[30,90]],[[30,90],[90,90]],[[90,90],[120,120]],[[120,120],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"T","strokes":[[[60,0],[60,180]],[[60,180],[60,0]],[[60,0],[0,0]],[[0,0],[120,0]],[[120,0],[60,0]],[[60,0],[60,180]],[[60,180],[60,0]]]}, {"char":"U","strokes":[[[0,0],[0,150]],[[0,150],[0,0]],[[0,0],[0,150]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[120,150]],[[120,150],[120,0]],[[120,0],[120,150]],[[120,150],[120,0]]]}, {"char":"V","strokes":[[[0,0],[0,90]],[[0,90],[60,180]],[[60,180],[120,90]],[[120,90],[120,0]],[[120,0],[120,90]],[[120,90],[60,180]],[[60,180],[0,90]],[[0,90],[0,0]]]}, {"char":"W","strokes":[[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[0,0]],[[0,0],[0,180]],[[0,180],[60,90]],[[60,90],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[120,0]],[[120,0],[120,180]],[[120,180],[60,90]],[[60,90],[0,180]]]}, {"char":"X","strokes":[[[0,180],[120,0]],[[120,0],[0,180]],[[0,180],[120,0]],[[120,0],[0,180]],[[120,180],[0,0]],[[0,0],[120,180]],[[120,180],[0,0]],[[0,0],[120,180]]]}, {"char":"Y","strokes":[[[60,180],[60,90]],[[60,90],[0,0]],[[0,0],[60,90]],[[60,90],[120,0]],[[120,0],[60,90]],[[60,90],[60,180]]]}, {"char":"Z","strokes":[[[120,0],[0,180]],[[0,180],[120,0]],[[120,0],[0,0]],[[0,0],[120,0]],[[120,0],[0,180]],[[0,180],[120,180]],[[120,180],[0,180]],[[0,180],[120,0]]]}, {"char":"0","strokes":[[[90,180],[30,180]],[[30,180],[0,150]],[[0,150],[0,30]],[[0,150],[0,30]],[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,150]],[[120,30],[120,150]],[[120,150],[90,180]]]}, {"char":"1","strokes":[[[60,0],[60,180]],[[60,180],[0,180]],[[0,180],[120,180]],[[120,180],[60,180]],[[60,180],[60,0]],[[60,0],[0,60]],[[0,60],[60,0]],[[60,0],[60,180]],[[60,180],[60,0]]]}, {"char":"2","strokes":[[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[0,150]],[[0,150],[120,60]],[[120,60],[0,150]],[[0,150],[0,180]],[[0,180],[120,180]],[[120,180],[0,180]]]}, {"char":"3","strokes":[[[0,30],[30,0]],[[30,0],[90,0]],[[90,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]],[[60,90],[90,90]],[[90,90],[120,120]],[[120,120],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"4","strokes":[[[90,0],[90,180]],[[90,180],[90,0]],[[90,0],[90,180]],[[90,180],[90,0]],[[90,0],[60,0]],[[60,0],[0,120]],[[0,120],[120,120]],[[120,120],[0,120]],[[0,120],[60,0]],[[60,0],[0,120]]]}, {"char":"5","strokes":[[[0,90],[30,0]],[[30,0],[120,0]],[[120,0],[30,0]],[[30,0],[0,90]],[[0,90],[60,60]],[[60,60],[120,90]],[[120,90],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]]]}, {"char":"6","strokes":[[[30,90],[90,90]],[[90,90],[120,120]],[[120,120],[120,150]],[[120,150],[90,180]],[[90,180],[30,180]],[[30,180],[0,150]],[[0,150],[0,120]],[[0,120],[120,0]],[[120,0],[0,120]],[[0,120],[120,0]],[[120,0],[0,120]]]}, {"char":"7","strokes":[[[120,0],[30,180]],[[30,180],[120,0]],[[120,0],[0,0]],[[0,0],[120,0]],[[120,0],[30,180]],[[30,180],[120,0]]]}, {"char":"8","strokes":[[[30,90],[0,120]],[[0,120],[0,150]],[[0,150],[60,180]],[[60,180],[120,150]],[[120,150],[120,120]],[[120,120],[90,90]],[[90,90],[30,90]],[[30,90],[0,60]],[[0,60],[0,30]],[[0,30],[60,0]],[[60,0],[120,30]],[[120,30],[120,60]],[[120,60],[90,90]]]}, {"char":"9","strokes":[[[120,60],[0,180]],[[0,180],[120,60]],[[120,60],[0,180]],[[0,180],[120,60]],[[120,60],[120,30]],[[120,30],[90,0]],[[90,0],[30,0]],[[30,0],[0,30]],[[0,30],[0,60]],[[0,60],[30,90]],[[30,90],[90,90]]]}, {"char":"+","strokes":[[[60,150],[60,30]],[[60,30],[60,90]],[[60,90],[0,90]],[[0,90],[120,90]],[[120,90],[60,90]],[[60,90],[60,150]]]}, {"char":"-","strokes":[[[0,90],[120,90]],[[120,90],[0,90]],[[0,90],[120,90]]]}, {"char":"/","strokes":[[[0,180],[120,0]],[[120,0],[0,180]],[[0,180],[120,0]],[[120,0],[0,180]]]}, {"char":"c","strokes":[[[120,90],[90,60]],[[90,60],[30,60]],[[30,60],[0,90]],[[0,90],[0,150]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[120,150]]]}, {"char":"d","strokes":[[[90,0],[90,180]],[[90,180],[90,0]],[[90,90],[30,90]],[[30,90],[0,120]],[[0,120],[0,150]],[[0,150],[30,180]],[[30,180],[90,180]],[[90,180],[90,0]],[[90,0],[90,180]]]}, {"char":"p","strokes":[[[0,60],[0,210]],[[0,210],[0,60]],[[0,60],[0,210]],[[0,210],[0,60]],[[0,60],[60,60]],[[60,60],[90,90]],[[90,90],[90,120]],[[90,120],[60,150]],[[60,150],[0,150]]]}, {"char":"m","strokes":[[[0,60],[0,180]],[[0,180],[0,90]],[[0,90],[30,60]],[[30,60],[60,90]],[[60,90],[60,180]],[[60,180],[60,90]],[[60,90],[90,60]],[[90,60],[120,90]],[[120,90],[120,180]],[[120,180],[120,90]]]}, {"char":"n","strokes":[[[0,60],[0,180]],[[0,180],[0,60]],[[0,90],[60,60]],[[60,60],[90,90]],[[90,90],[90,180]],[[90,180],[90,90]]]}, {"char":"μ","strokes":[[[30,60],[30,150]],[[30,150],[0,210]],[[0,210],[30,150]],[[30,150],[30,60]],[[30,60],[30,150]],[[30,150],[90,120]],[[90,120],[90,60]],[[90,60],[90,120]],[[90,120],[120,150]]]}, {"char":"Ω","strokes":[[[0,180],[30,180]],[[30,180],[30,150]],[[30,150],[0,120]],[[0,120],[0,60]],[[0,60],[30,30]],[[30,30],[90,30]],[[90,30],[120,60]],[[120,60],[120,120]],[[120,120],[90,150]],[[90,150],[90,180]],[[90,180],[120,180]]]}, {"char":"Δ","strokes":[[[0,180],[60,0]],[[60,0],[120,180]],[[120,180],[0,180]],[[0,180],[60,0]],[[60,0],[120,180]],[[120,180],[0,180]],[[0,180],[60,0]],[[60,0],[120,180]]]}, {"char":"<","strokes":[[[120,150],[0,90]],[[0,90],[120,30]],[[120,30],[0,90]],[[0,90],[120,150]],[[120,150],[0,90]],[[0,90],[120,30]]]}, {"char":">","strokes":[[[0,150],[120,90]],[[120,90],[0,30]],[[0,30],[120,90]],[[120,90],[0,150]],[[0,150],[120,90]],[[120,90],[0,30]]]}, {"char":"↓","strokes":[[[60,180],[60,0]],[[60,0],[60,180]],[[60,180],[0,120]],[[0,120],[60,180]],[[60,180],[120,120]],[[120,120],[60,180]],[[60,180],[60,0]],[[60,0],[60,180]]]}, {"char":".","strokes":[[[0,210],[0,210]],[[0,210],[0,210]],[[0,210],[0,210]]]} ] };