| 1 | # Rule lines |
| 2 | |
| 3 | `native` is OneNote 2010's View, Rule Lines, set through its menu on the VM on eleven |
| 4 | pages of a notebook the COM API made, each titled for what it was given: None; Narrow |
| 5 | (ruled, then set back to None); College, Standard and Wide Ruled; Small, Medium, Large and |
| 6 | Very Large Grid; ColorRed (Standard, then Rule Line Color, Red); Hidden (Standard, then |
| 7 | Rule Line Color, `<none>`, on a Teal page). MediumGrid was then given Rule Line Color, |
| 8 | Purple. `read` is its cold read in a fresh clone. |
| 9 | |
| 10 | The page node stores six properties MS-ONE does not document, in this order: the |
| 11 | horizontal lines' colour (`0x14001cd5`), kind (`0x14001cd3`: 2 ruled, 1 grid) and spacing |
| 12 | (`0x14001cd4`, half inches), then the vertical lines' kind (`0x14001cd6`: 3 a margin line, |
| 13 | 1 grid), spacing (`0x14001cd7`, 0 for a margin line) and colour (`0x14001cd8`). Colours |
| 14 | are 0xAARRGGBB with alpha 0xFF, unlike the page colour's COLORREF; the menu's `<none>` |
| 15 | colour is white. None removes all six. OneNote draws lines 1/96 inch wide: horizontal ones |
| 16 | every spacing from the margin origin (36, 14.4) down across the page, grid lines through |
| 17 | it either way down the whole page, and a margin line 1/96 inch left of it. |
| 18 | `colors.txt` is each Rule Line Color as the page XML reports it, in the menu's order. |
| 19 | |
| 20 | `candidate` is `rule_lines_store_what_onenote_stores` in `crates/onestore/src/op/tests.rs` |
| 21 | (`ONESTORE_RULE_LINES_EXPORT`): on OneNote's file, the `RuleLines` op gives None Wide |
| 22 | Ruled, removes College's, turns Standard into a Small Grid and MediumGrid into Narrow |
| 23 | Ruled in Red, and gives a created page, "Created", a Very Large Grid. `cold` is its fresh |
| 24 | OneNote 2010 read: every page reads back with the lines written, and `read/page-*.png` |
| 25 | shows them. `tools/test_rule_lines.py` checks both without a VM. |