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
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.