# The font picker and the zoom, which are the two things this shell decides # entirely on its own. Neither is visible in a cell buffer — the core has no # font and no idea what a point is — so what a snapshot CAN see is the second # effect of both: a cell that changed size fits a different number of columns # into the same window, and the core reflows to it. # # `font` asserts the face by PostScript name, which is the only direct look at # the thing under test. start 24 100 wait 8000 $ stable 700 20000 font-size 14 snap boot # Menlo ships with every macOS and ships inside a .ttc, so this is also the # end-to-end proof of the collection branch in src/fonts.zig: the core walks # the font directories, matches the name, hands over a path, and the host has # to pull face 0 out of a file holding four. command Font Menlo stable 700 20000 font Menlo-Regular font-size 14 snap menlo # A name that resolves to nothing must leave the screen alone rather than # fall back to something. `Font` finds no file, sets no path, and the host is # never asked to do anything at all. command Font NoSuchFaceExistsHere stable 700 20000 font Menlo-Regular snap unchanged # Zoom is a pure host property: no builtin, no core round trip, just a bigger # cell and the reflow that follows it. Four points is enough to move the grid # at any starting size. zoom 4 stable 700 20000 font Menlo-Regular font-size 18 snap bigger # ...and back, which must land on exactly the grid it started from — the whole # point of "actual size" being a fixed number rather than an undo stack. zoom reset stable 700 20000 font-size 14 snap reset # Small enough to be worth checking the clamp does not run away: the range # floor is 6pt, so this asks for far past it and must simply stop. zoom -40 stable 700 20000 font-size 6 snap floor