Viewing is open to everyone. Downloading and starring need a GitHub sign-in. Sign in with GitHub

CKey-Printing.md

v0.1.0-build.85 Latest Commit ede38f5

Size
2.8 KB
Lines
45
Language
markdown
SHA-256
48b4955e8075…
View on GitHub

Sign in with GitHub to download. Each download is recorded with your GitHub username.

1# Printing CKey symbols (informative, draft 0.1)
2
3Small prints fail for three reasons, in this order:
4
51. **Marks thinner than the printer can draw.**
62. **Grey anti-aliased edges** that the printer halftones into noise.
73. **Ink spreading into the gaps.**
8
9The tools address all three.
10
11## Rules
12
13- **Print dark marks on paper.** The default screen palette (cream marks on black) inks the background, so ink spread eats thin light marks. In simulation, dark-on-paper prints about 35% smaller on plain inkjet paper.
14- **Use the print layout for small sizes: Profile 0.1** (`--layout print`, Format 0.28). Every mark and gap is at least about one module, so the same payload prints at roughly half Profile 0's width.
15- **Print a device-grid bitmap at 100% / actual size.** `ckey encode-scalable … --png file.png --size-in 0.5 --dpi 600`, or the CKey Renderer's **Export Print PNG…**, writes black-or-white dots at the printer's resolution with no grey, and records the dpi so it prints at true size. Don't let the print dialog scale it ("fit to page").
16- **Paper matters as much as the printer.** Coated or photo paper keeps dots sharp. Plain paper spreads ink.
17- **Leave the quiet margin.** The rendered canvas already includes it; don't crop it off.
18
19## What to expect (simulation)
20
21Smallest width that decodes reliably with Profile 0.1 at level M. The camera is 23 px/mm, roughly a phone at about 12 cm in 4K. A weaker camera needs about 1.3–1.5× these sizes.
22
23| Payload | Old inkjet, plain paper | Inkjet, photo paper | 600 dpi laser* |
24|---|---|---|---|
25| 8 B | 0.19 in | ≤ 0.15 in | — |
26| 30 B (short URL) | 0.24 in | ≤ 0.15 in | — |
27| 120 B | 0.32 in | 0.21 in | — |
28| 400 B | 0.56 in | 0.38 in | — |
29| 1,200 B | 0.91 in | 0.56 in | — |
30| 2,400 B | 1.34 in | 0.83 in | — |
31
32\*Laser figures were measured only for Profile 0 (0.31 in at 8 B to 2.16 in at about 4.6 KB). Laser behaves between plain inkjet and photo paper.
33
34**Hard limits.** No layout can beat the dots a printer can place, or the pixels a camera can resolve. Profile 0's densest version (232 modules across) at 1 inch needs 0.10 mm modules and 0.02 mm rays, finer than a 600 dpi printer dot. For data that dense at that size, use Profile 0.1 with a lower version, or print larger.
35
36## Calibrating your printer
37
38```sh
39./build/ckey print-sheet --out sheet.png # 8–400 B at 0.25–1.0 in
40./build/ckey print-sheet --set large --out big.png # 1,200 and 2,400 B at 1.0–2.0 in
41```
42
431. **Print** each sheet at 100% / actual size on the paper you intend to use.
442. **Scan each cell.** Every cell's payload names itself, for example `CKEY-CAL P0.1 120B 0.50in`. The 8-byte cells only hold `CKEY-CAL`; use their printed labels.
453. **Read off your limit:** the smallest cell that scans in each row is the real limit for your printer, paper and camera.