Files

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.