ransom-text-assets

Static image assets for the ransom-text package — a collection of cut-out letter images in the style of classic ransom notes.

Structure

letters/
  A/          # 35 variants
  B/          # 18 variants
  ...
  Z/          # 18 variants
  0–9/        # digit variants
  bang/       # ! — 7 variants
  num/        # # — 6 variants
  pct/        # % — 8 variants
  amp/        # & — 9 variants
  ...

Each character has its own directory containing numbered .webp files (0.webp, 1.webp, …). The ransom-text package picks randomly among these variants to give each rendered character a unique look.

Coverage

Letters

Letter Variants Letter Variants Letter Variants
A 35 J 17 S 38
B 18 K 17 T 19
C 17 L 20 U 16
D 19 M 24 V 17
E 25 N 27 W 16
F 18 O 21 X 11
G 18 P 18 Y 21
H 16 Q 15 Z 18
I 21 R 25    

Digits

Digit Variants
0 9
1 11
2 8
3 14
4 24
5 10
6 11
7 15
8 9
9 9

Special Characters

Char Folder Variants Char Folder Variants Char Folder Variants
! bang 7 * star 6 ? quest 8
# num 6 + plus 5 @ at 3
% pct 8 , comma 4 [ lbracket 3
& amp 9 - dash 4 ] rbracket 3
( lparen 5 : colon 3 ^ caret 2
) rparen 5            

Special character folder naming

Special characters use short symbolic names instead of the literal character as the folder name (e.g. bang/ for !, quest/ for ?). This avoids URL encoding problems: characters like ?, #, %, (, ), and ^ are reserved or unsafe in URLs and require percent-encoding when used as path segments — which causes issues in browser URLs, CDN paths, and some tooling. Plain ASCII names have no such restrictions.

Full mapping:

Character Folder Character Folder
! bang + plus
# num , comma
% pct - dash
& amp : colon
( lparen ? quest
) rparen @ at
* star [ lbracket
    ] rbracket
    ^ caret

Asset format

All images are .webp, optimized for web delivery. Maximum dimensions are 512×512 px.

File sizes & performance

Usage

This repo is consumed as a dependency by the ransom-text package. You do not need to clone it directly unless you are adding new letter variants.