Menashi·Prompt Library 14 prompts
← all prompts

Programmatic typeface with Yoruba diacritic coverage

type skill typefontsi18nbezierofl

Result — Closrd the accented/diacritic gap on the custom face, including the mandatory Yoruba dot-below set and its tone-marked combinations.

When to reach for this

For any **programmatic type design** pass. Two things generalise:

The prompt

You are a type designer working programmatically. Work in your current working directory. If you find you cannot write files for any reason, stop and report that rather than attempting any workaround.

---

## Where we are

`vale-v2/` in this directory is your previous pass. It fixed the crude rectangle-built outlines — the face now has real cubic Béziers, tapered bracketed serifs, genuine contrast, and 22 redrawn letters. It is a large improvement. **Its OFL provenance, naming and metadata are correct — do not regress any of that.**

You flagged the remaining defects yourself. **This pass is about closing all of them so the face is production quality.** The client is Dr Bukky, a Nigerian medical practice, so multilingual coverage is a hard requirement, not a nice-to-have.

Start from `vale-v2/` as the base. Do not rebuild from v1.

## 1. Accented and diacritic coverage — the biggest gap

Right now every accented letter falls back to unmodified Cormorant, so accented copy visibly mixes two styles. Fix that by redrawing the accented forms of the redrawn base letters so they match.

**Latin European set** — over the redrawn vowels `a e i o u` plus `c n s y` where applicable:
`à á â ä ã å` · `è é ê ë` · `ì í î ï` · `ò ó ô ö õ` · `ù ú û ü` · `ç` · `ñ` · `ý ÿ`
Also the Æ/Œ ligature vowels and `ø`/`Ø` if they are cheap to draw consistently.

**Yoruba set — mandatory.** The practice is Nigerian and the source family supports these. All of:
- `ẹ` `ọ` `ṣ` (dot-below, U+1EB9 / U+1ECD / U+1E63)
- their tone-marked forms `ẹ́ ẹ̀ ọ́ ọ̀ ṣ́` — i.e. dot-below **combined with** acute (U+0301) and grave (U+0300)
- uppercase equivalents `Ẹ Ọ Ṣ` and their tone-marked forms
- `ń` and `m̀` (syllabic nasals) if the source family has them

Handle dot-below **as part of the glyph**, not as a floating composite, and make sure the tone marks stack above correctly without colliding — `ẹ́` is a dot below *and* an acute above on the same letter. Verify the marks are positioned by the font, not left to the browser.

Where the upstream Cormorant accented glyphs are already correct in weight and proportional to the new letters, you may keep the upstream accent marks as components — but the **base letters underneath must be the redrawn ones**, not Cormorant's.

## 2. Spacing and kerning

Not yet rebalanced; you noted the `f` in `fi` crowding the i's dot and `gg` loops nearly touching. Do a real spacing and kerning pass:

- Sidebearings on every redrawn letter, optically checked against Cormorant's rhythm so mixed setting breathes evenly.
- Kern the pairs that matter for a serif in real copy — at minimum: `fi fo fa fe fu`, `Th Th`, `Ty`, `Te`, `To`, `Av Aw Ay`, `LT LV`, `Ro Ra`, `gg`, `ss`, `tt`, `oo`, `nn`, `Họ ẹ̀ ẹ́`, plus `Dr` and `Bu` since the client's name is *Dr Bukky*.
- Fix the `fi` dot collision specifically — either the kerning or a slightly lowered/length-adjusted `f` terminal, whichever is the more correct typographic fix.

## 3. The weak glyphs you identified — fix them

- **`g`** — you called it the weakest: the ear is plain and the lower loop is light on the left. Redraw the ear and rebalance the loop's weight distribution so it holds at display size.
- **`s`** — spine runs heavier than Cormorant's (98 vs 86 units). Bring it into proportion with the surrounding letters.
- **`e`** — slightly dark at 14px. Thin it so it holds up in small text.
- **`K`** — the leg is a bit sturdy. Refine the junction and taper the leg.

Then re-examine **every** redrawn letter at 14px and at 96px. Fix anything else that breaks down.

## 4. Mixed-setting harmony — the acceptance test

This is what the client will actually see. Set these as real proofs at multiple sizes:
- `Hamburgefontsiv` — redrawn and source glyphs interleaved
- `Dr Bukky — Kind Medicine, Honest Care`
- A Yoruba proof line using the new characters, e.g. `Ẹ̀kọ́ ìlera ọmọ — ìtọ́jú tó dára`
- A body paragraph in Cormorant with a redrawn display heading above it

If any redrawn letter still breaks weight with its neighbours, it is not done. Keep iterating until the mixed lines read as one voice.

## 5. Hinting and rendering robustness

- Check whether `ttfautohint` is available; if it is, produce an autohinted TTF and report the before/after at 12–16px. If it is not available and cannot be installed, **say so explicitly and document it** rather than silently skipping.
- Ensure the `gasp` table is sane for screen rendering.
- Proof in at least two rendering engines if you can (Chromium and Firefox, or Chromium plus a font-rendering library such as `freetype`/Pillow). Report exactly which engines you actually used — do not claim browser coverage you did not test.
- Windows/Safari cannot be tested here. Say so.

## 6. Non-negotiables — do not regress

- **OFL 1.1 provenance must remain intact.** Upstream Cormorant copyright preserved exactly, licence file unchanged, modification notice present, `provenance.json` and the font description stating plainly that this is a modified OFL derivative and not an original typeface.
- Family `Vale Editorial`, PostScript `ValeEditorial-Medium`, weight 500. Do not invent a new reserved-sounding name.
- Outputs: TTF, OTF (with true cubic CFF), WOFF2, `font.css`, `OFL.txt`, `provenance.json`, `README.md`.
- No empty glyphs; cmap coverage must match what you claim, exactly.
- Curves must remain genuinely cubic in the CFF/OTF source. State your curve-type decision explicitly and confirm the redrawn glyphs are drawn as cubic Béziers, not quadratic approximations you then converted.

## 7. Deliver into `vale-v3/`

Do not overwrite `vale-v2/` or the skill's shipped assets — I review and promote deliberately.

- `vale-v3/` — the binaries and support files listed above
- `vale-v3/specimen-before-after.png` — a rendered proof showing `vale-v2` vs `vale-v3` vs unmodified Cormorant at display size, in mixed words, in the accent/Yoruba line, in real copy at 48px and at 14px
- `vale-v3/qa_report.json` — measured, machine-checkable facts
- `vale-v3/README.md` — what changed, the spacing/kerning decisions, the hinting status, and how to rebuild

## Honesty requirements

- Report measured facts, not intentions. Re-measure the outline composition of your output and include the numbers.
- If a glyph still looks wrong, name it and say so.
- If you cannot fully close an issue (e.g. no autohinter available, no Windows to test on), state it plainly as an open limitation. An honest open-issues list is a required part of the deliverable — do not bury it.
- Never describe this as an original typeface. It is an OFL derivative; here is not a clean-room original.

## Report

Report: the path to the built binaries; exactly which accented/Yoruba characters you added and a count of glyphs changed; your kerning pairs; the specific fixes to `g s e K`; the outline re-measurement; the path to the specimen PNG; the hinting status and which rendering engines you actually tested; and a candid list of everything still not production-ready.

Notes

"OFL provenance, naming and metadata are correct — do not regress any of that" is a

kind
type
type
skill
model
claude-opus-5-5
effort
max
tool
claude-code
author
designer
status
proven
client
bukky
created
2026-09-28

first used at /home/ubuntu/clients/bukky/type-work/prompt-vale-v3.txt