def font.parse.record
gralha-truetype@0.1.0.1 · font.bend:60
import gralha-truetype@0.1.0.1/font.bend as Font
import Base
import gralha-text-scan@0.1.0.1/scan.bend as U
60def font.parse.record(kind: String, +scan: U.Scan, +book: FontBook) -> FontBook:
61 U.Scan{key, body} = scan
62 FontBook{glyphs, kerning, faceMetrics, faces} = book
63 +tag = kind
64 U.branch(FontBook, U.string.equal(tag, "g"), _ => font.parse.glyph(key, U.until(body, 124, ""), book),
65 _ => U.branch(FontBook, U.string.equal(tag, "k"), _ => FontBook{glyphs, Map.set(&2, F32, kerning, key, U.scalar(body, 0.0)), faceMetrics, faces}, _ => U.branch(FontBook, U.string.equal(tag, "m"), _ => FontBook{glyphs, kerning, Map.set(&2, F32, faceMetrics, key, U.scalar(body, 0.0)), faces}, _ => book)))