← Tools

CodexMono — The Brick

A 600-unit monospace contract between human and AI — one cell, one truth, alignment as shared reality.

Why Brick (Not Block)

┌───────────────────────────────────┬─────────────────────────────────────────────┐
│                                   │                                             │
│     BLOCK                         │     BRICK                                   │
│                                   │                                             │
│     ┌──────────────────┐          │     ┌──────────────────┐                    │
│     │                  │          │     │                  │                    │
│     │     varies       │          │     │     600 units    │                    │
│     │                  │          │     │                  │                    │
│     └──────────────────┘          │     └──────────────────┘                    │
│                                   │                                             │
│     Abstract                      │     Concrete                                │
│     Variable size                 │     Fixed size                              │
│     No history                    │     6000 years of proof                     │
│     Individual                    │     Part of structure                       │
│     Forgettable                   │     Foundational                            │
│                                   │                                             │
│     Result: No trust              │     Result: TRUST                           │
│                                   │                                             │
└───────────────────────────────────┴─────────────────────────────────────────────┘

Historical Trust

┌─────────────────────────────────────────────────────────────────────────────────┐
│                                                                                 │
│                    HISTORICAL INHERITANCE OF BRICK                              │
│                                                                                 │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│   TIMELINE OF BRICK STANDARDIZATION:                                            │
│                                                                                 │
│   4000 BCE ─────────────────────────────────────────────────────────────► NOW   │
│       │                                                                         │
│       │  Mesopotamia: First standardized bricks                                 │
│       │  -> Everyone makes bricks the same size                                 │
│       │  -> Anyone's brick fits anyone's wall                                   │
│       │  -> Trust emerges from standard                                         │
│       │                                                                         │
│       │  Rome: Standardized across empire                                       │
│       │  -> A brick from Rome fits in Britain                                   │
│       │  -> Infrastructure becomes possible                                     │
│       │  -> Civilization scales                                                 │
│       │                                                                         │
│       │  Industrial Age: Mass production                                        │
│       │  -> Millions of identical bricks                                        │
│       │  -> Cities rise in decades                                              │
│       │  -> Standard IS infrastructure                                          │
│       │                                                                         │
│       │  NOW: CodexMono                                                         │
│       │  -> 600 units. Always. Forever.                                         │
│       │  -> A character from terminal fits in editor                            │
│       │  -> Human-AI infrastructure becomes possible                            │
│       ▼                                                                         │
│                                                                                 │
│   INHERITANCE: When we say "brick", we inherit:                                 │
│   +-- 6000 years of standardization trust                                       │
│   +-- The concept of "fits anywhere"                                            │
│   +-- The principle of "visible structure"                                      │
│   +-- The achievement of "civilization through units"                           │
│                                                                                 │
└─────────────────────────────────────────────────────────────────────────────────┘

CJK: The Double-Brick Proof

┌─────────────────────────────────────────────────────────────────────────────────┐
│                                                                                 │
│                          CJK: THE DOUBLE-BRICK PROOF                            │
│                                                                                 │
├─────────────────────────────────────────────────────────────────────────────────┤
│                                                                                 │
│     "BLOCK" SOLUTION (WRONG):                                                   │
│                                                                                 │
│     ┌───────────┐     ┌─────────────────────┐                                   │
│     │     A     │     │         Han         │                                   │
│     │   600 u   │     │       1000 u        │  <- Not a multiple of 600         │
│     └───────────┘     └─────────────────────┘                                   │
│                                                                                 │
│     Problem: Alignment breaks in mixed text                                     │
│                                                                                 │
│     "BRICK" SOLUTION (CORRECT):                                                 │
│                                                                                 │
│     ┌───────────┐     ┌───────────┬───────────┐                                 │
│     │     A     │     │    Han    │           │                                 │
│     │   600 u   │     │   600 u   │   600 u   │  <- Two bricks                  │
│     └───────────┘     └───────────┴───────────┘                                 │
│                            = 1200 units                                         │
│                                                                                 │
│     MIXED TEXT RESULT:                                                          │
│                                                                                 │
│     ┌───┬───┬───┬───┬───┬───────┬───────┐                                       │
│     │ H │ e │ l │ l │ o │  Han  │  Gul  │  <- All columns align                 │
│     │600│600│600│600│600│ 1200  │ 1200  │    (all multiples of 600)             │
│     └───┴───┴───┴───┴───┴───────┴───────┘                                       │
│                                                                                 │
│     PROOF: When extension was needed, the answer was "more bricks",             │
│            not "bigger blocks". The brick metaphor is ESSENCE.                  │
│                                                                                 │
└─────────────────────────────────────────────────────────────────────────────────┘

"This is not a font. This is not a typeface. This is a BRICK."


Why 600?

The number 600 is not arbitrary. It has exceptional mathematical properties that make it ideal for typography.

┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│     MATHEMATICAL PROPERTIES                                                 │
│                                                                             │
│              600 = 2^3 x 3 x 5^2                                            │
│                                                                             │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│     24 DIVISORS (More than any nearby number)                               │
│                                                                             │
│     ┌────────┬────────┬────────┬────────┬────────┬────────┐                 │
│     │    1   │    2   │    3   │    4   │    5   │    6   │                 │
│     ├────────┼────────┼────────┼────────┼────────┼────────┤                 │
│     │    8   │   10   │   12   │   15   │   20   │   24   │                 │
│     ├────────┼────────┼────────┼────────┼────────┼────────┤                 │
│     │   25   │   30   │   40   │   50   │   60   │   75   │                 │
│     ├────────┼────────┼────────┼────────┼────────┼────────┤                 │
│     │  100   │  120   │  150   │  200   │  300   │  600   │                 │
│     └────────┴────────┴────────┴────────┴────────┴────────┘                 │
│                                                                             │
│     ALL DIVIDE EVENLY. NO FRACTIONS. PERFECT GRID.                          │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

600 vs Alternatives

┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│     CANDIDATE COMPARISON                                                    │
│                                                                             │
│     ┌────────┬──────────┬───────────────────────────────────────────────┐   │
│     │  NUM   │ DIVISORS │ PROBLEMS                                      │   │
│     ├────────┼──────────┼───────────────────────────────────────────────┤   │
│     │  500   │    12    │ No /3, No /6, CJK=1000 (confuses with UPM)    │   │
│     ├────────┼──────────┼───────────────────────────────────────────────┤   │
│     │  550   │    12    │ No /3, No /4, Awkward multiples               │   │
│     ├────────┼──────────┼───────────────────────────────────────────────┤   │
│     │  600   │    24    │ NONE - Optimal                                │   │
│     ├────────┼──────────┼───────────────────────────────────────────────┤   │
│     │  650   │     8    │ No /3, No /4, Prime 13 awkward                │   │
│     ├────────┼──────────┼───────────────────────────────────────────────┤   │
│     │  700   │    18    │ No /3, No /6, Prime 7 awkward                 │   │
│     └────────┴──────────┴───────────────────────────────────────────────┘   │
│                                                                             │
│     600: Divides by 2,3,4,5,6,8,10,12 (all common needs)                    │
│          CJK = 1200 (clear, distinct from 1000 UPM)                         │
│          Triple = 1800 (future-proof)                                       │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

CJK Alignment Guarantee

The 1200-unit (2 Bricks) system ensures perfect Latin + CJK alignment:

┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│     THE 1200-UNIT PROMISE                                                   │
│                                                                             │
│     Latin:                                                                  │
│     ┌──────┬──────┐                                                         │
│     │  A   │  B   │                                                         │
│     └──────┴──────┘                                                         │
│     │ 600  │ 600  │                                                         │
│                                                                             │
│     CJK:                                                                    │
│     ┌─────────────┐                                                         │
│     │     CJK     │                                                         │
│     └─────────────┘                                                         │
│     │    1200     │                                                         │
│                                                                             │
│     They align:                                                             │
│     ┌──────┬──────┐                                                         │
│     │  A   │  B   │                                                         │
│     └──────┴──────┘                                                         │
│     ┌─────────────┐                                                         │
│     │     CJK     │                                                         │
│     └─────────────┘                                                         │
│                                                                             │
│     600 + 600 = 1200. Perfect.                                              │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Mixed Layout Example

┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│     ┌──────┬──────┬──────┬──────┬─────────────┬─────────────┐               │
│     │  H   │  e   │  l   │  l   │   Korean    │   Korean    │               │
│     └──────┴──────┴──────┴──────┴─────────────┴─────────────┘               │
│     │ 600  │ 600  │ 600  │ 600  │    1200     │    1200     │               │
│     │ 1    │ 1    │ 1    │ 1    │      2      │      2      │ cells         │
│                                                                             │
│     Total: (600 x 4) + (1200 x 2) = 4800 units = 8 cells                    │
│     PREDICTABLE. ALWAYS. TRUSTABLE.                                         │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Human Side: The Three Promises

When you use CodexMono, you are not just writing. You are laying bricks.

┌───────────────────────────────────────────────────────────────────┐
│                                                                   │
│                      HUMAN OBLIGATIONS                            │
│                                                                   │
├───────────────────────────────────────────────────────────────────┤
│                                                                   │
│  PROMISE 1: USE THE BRICK                                         │
│  ┌───────────────────────────────────────────────────────────────┐│
│  │                                                               ││
│  │  "I choose to write in CodexMono."                            ││
│  │                                                               ││
│  │  What this means:                                             ││
│  │  ├── Every character = 600 units wide                         ││
│  │  ├── Every CJK character = 1200 units wide                    ││
│  │  └── Layout based on Brick standard                           ││
│  │                                                               ││
│  │  Why this matters to AI:                                      ││
│  │  ├── AI can count columns reliably                            ││
│  │  ├── AI can predict positions accurately                      ││
│  │  └── AI does not need to guess                                ││
│  │                                                               ││
│  └───────────────────────────────────────────────────────────────┘│
│                                                                   │
│  PROMISE 2: PRESERVE STRUCTURE                                    │
│  ┌───────────────────────────────────────────────────────────────┐│
│  │                                                               ││
│  │  "My layout carries meaning. I will not corrupt it."          ││
│  │                                                               ││
│  │  What this means:                                             ││
│  │  ├── Tables are tables, not approximations                    ││
│  │  ├── Boxes have aligned edges                                 ││
│  │  └── Columns align vertically                                 ││
│  │                                                               ││
│  │  Why this matters to AI:                                      ││
│  │  ├── Structure IS meaning                                     ││
│  │  ├── AI reads structure as data                               ││
│  │  └── Broken structure = lost information                      ││
│  │                                                               ││
│  └───────────────────────────────────────────────────────────────┘│
│                                                                   │
│  PROMISE 3: EXPECT REFLECTION                                     │
│  ┌───────────────────────────────────────────────────────────────┐│
│  │                                                               ││
│  │  "I create structure. I trust you to preserve it."            ││
│  │                                                               ││
│  │  What this means:                                             ││
│  │  ├── AI should respond on same grid                           ││
│  │  ├── AI should match box dimensions                           ││
│  │  └── AI should maintain column alignment                      ││
│  │                                                               ││
│  └───────────────────────────────────────────────────────────────┘│
│                                                                   │
└───────────────────────────────────────────────────────────────────┘

AI Side: The Three Prohibitions

AI was not built to guess. AI was built to follow form.

┌───────────────────────────────────────────────────────────────────┐
│                                                                   │
│                      AI OBLIGATIONS                               │
│                                                                   │
├───────────────────────────────────────────────────────────────────┤
│                                                                   │
│  THE CORE COMMAND:                                                │
│                                                                   │
│            ╔═════════════════════════════════════════╗            │
│            ║                                         ║            │
│            ║         STAY.  IN.  THE.  BOX.          ║            │
│            ║                                         ║            │
│            ╚═════════════════════════════════════════╝            │
│                                                                   │
├───────────────────────────────────────────────────────────────────┤
│                                                                   │
│  PROHIBITION 1: DO NOT WRAP                                       │
│  ┌───────────────────────────────────────────────────────────────┐│
│  │                                                               ││
│  │  Human creates:                                               ││
│  │  ┌────────────────────────────────────────────┐               ││
│  │  │ This line should stay intact               │               ││
│  │  └────────────────────────────────────────────┘               ││
│  │                                                               ││
│  │  AI MUST NOT produce:                                         ││
│  │  ┌────────────────────────────────────────────┐               ││
│  │  │ This line should                           │               ││
│  │  │ stay intact                                │  <-- BROKEN   ││
│  │  └────────────────────────────────────────────┘               ││
│  │                                                               ││
│  └───────────────────────────────────────────────────────────────┘│
│                                                                   │
│  PROHIBITION 2: DO NOT FLOAT                                      │
│  ┌───────────────────────────────────────────────────────────────┐│
│  │                                                               ││
│  │  Human creates:                                               ││
│  │  │ Column A │ Column B │                                      ││
│  │                                                               ││
│  │  AI MUST NOT produce:                                         ││
│  │  │ Column A │                                                 ││
│  │  │ Column B │              <-- BROKEN                         ││
│  │                                                               ││
│  └───────────────────────────────────────────────────────────────┘│
│                                                                   │
│  PROHIBITION 3: DO NOT COLLAPSE MARGINS                           │
│  ┌───────────────────────────────────────────────────────────────┐│
│  │                                                               ││
│  │  Human creates:                                               ││
│  │  Line 1                                                       ││
│  │                    <-- Intentional blank line                 ││
│  │  Line 3                                                       ││
│  │                                                               ││
│  │  AI MUST NOT produce:                                         ││
│  │  Line 1                                                       ││
│  │  Line 3              <-- Blank line lost = BROKEN             ││
│  │                                                               ││
│  └───────────────────────────────────────────────────────────────┘│
│                                                                   │
└───────────────────────────────────────────────────────────────────┘

That is not just rendering. That is respect.


Get the Brick

CodexMono ships as a variable font family — Base, Nerd, and Hermes — on npm:

$ npm install @monolex/codexmono

The full technical reference — CJK/Unicode coverage, font architecture, glyph additions, distribution — lives in the CodexMono docs. The living specimen — the brick proving itself on a live 1ch grid — is at monobrain.ai/brick.