Static image assets for the ransom-text package — a collection of cut-out letter images in the style of classic ransom notes.
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.
| 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 |
| Digit | Variants |
|---|---|
| 0 | 9 |
| 1 | 11 |
| 2 | 8 |
| 3 | 14 |
| 4 | 24 |
| 5 | 10 |
| 6 | 11 |
| 7 | 15 |
| 8 | 9 |
| 9 | 9 |
| 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 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 |
All images are .webp, optimized for web delivery. Maximum dimensions are 512×512 px.
.webp files, ~26 MB on diskThis 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.