# PageScribe icon & brand PageScribe is part of the **UmbraTools** suite, so its icon follows the UmbraTools UX brand: a dark, luminous "umbra" identity built from interwoven, glowing forms. ## The mark An open **book** whose gutter is bound by an interwoven, glowing **weave**, held inside a broken **reticle** ring. | Element | Meaning | Colour | | --- | --- | --- | | Midnight field | the "umbra" depth the suite is named for | Midnight Blue `#0A0F1F` | | Reticle ring (4 arcs) | capture / framing — PageScribe photographs spreads | Electric Cyan `#00BFFF` → Deep Teal `#007A8C` | | Open book | the object being read | Bronze `#A67C52` | | Ruled lines | the text a scribe transcribes (OCR) | Ice Blue `#CFE9FF` | | Weave through the gutter | the suite's interwoven-knot motif; the energy that turns pages into text | Electric Cyan `#00BFFF` with a near-white filament core | The ring is drawn as four arcs with cut-outs on the diagonals, so the mark reads as a scanner target rather than a plain medallion — that is PageScribe's contextual twist on the shared UmbraTools emblem. Everything is **vertically symmetric**, and every gradient is purely vertical, so the left and right halves of the book and weave are pixel-identical. The emblem is sized to fit the **66 dp adaptive-icon safe circle**, so no launcher mask (circle, squircle, rounded square) ever clips it. ## Files ``` brand/ pagescribe-icon-1024.png master lockup: mark + "PageScribe" wordmark pagescribe-playstore-512.png Play Store listing icon (512) pagescribe-mark-1024.png the mark on its rounded-square tile, no text generate_icons.py produces every asset below, deterministically ``` The Android resources it writes: ``` app/src/main/res/ mipmap-anydpi-v26/ic_launcher.xml adaptive icon (bg + fg + monochrome) mipmap-anydpi-v26/ic_launcher_round.xml same, for round masks mipmap-{m,h,xh,xxh,xxxh}dpi/ ic_launcher.png legacy rounded-square bitmap ic_launcher_round.png legacy circular bitmap ic_launcher_foreground.png adaptive foreground layer ic_launcher_background.png adaptive background layer ic_launcher_monochrome.png themed-icon layer (weave cut as a groove) ``` ## Regenerating ```bash pip install cairosvg pillow python3 brand/generate_icons.py ``` Montserrat (SIL Open Font License) is needed for the wordmark. Put `Montserrat-SemiBold.ttf` and `Montserrat-Light.ttf` in `brand/fonts/`, or point `FONT_DIR` at a folder that has them, or install Montserrat system-wide. The generator is deterministic: re-running it reproduces every PNG byte for byte, so a regeneration only shows up in `git diff` when the art actually changes.