Halvard Text
A workhorse for long reading at 9 to 12 pt. Drawn against newsprint first, which is why it holds up on a screen at 300% and looks slightly dull in a specimen.
Type designer · Providence, RI · Four families · trials for everything · coverage published
Every foundry site is a specimen, and every specimen shows the same ninety characters. The decision is made on the other four hundred: the Romanian comma-below, the Polish ł, stacked Vietnamese diacritics, tabular figures that line up, and the fi ligature. All of it is published below, including the languages these families only partly support.
The specimens on this page are set in the template’s own typefaces. Drop your own @font-face into src/styles/global.css and every waterfall, grid and paragraph here becomes your family — which is the entire point of a specimen page you can edit rather than one you export as a PNG.
9 scripts and language groups · 3 partial
Three of the nine rows say Partial, and each one names the characters. A foundry that ships a checklist of language names with ticks beside them is claiming Romanian while shipping a cedilla, which is a real font rendering a real character that is the wrong one. Nobody ever complains — they just stop using it.
| Languages | Coverage | What is missing | Note |
|---|---|---|---|
| English, German, Dutch, Italian | Full | — | Latin-1 and then some. If a family cannot do this it is not a family yet. |
| French, Spanish, Portuguese | Full | — | Including œ, the Spanish opening marks and guillemets drawn rather than borrowed from a system fallback. |
| Polish, Czech, Hungarian | Full | — | ł is a separate drawing, not an l with a line through it. The Hungarian double acute is at a different angle from the Czech, which is the kind of thing that only matters to Hungarians and therefore matters. |
| Romanian | Partial | ș ț with comma below (cedilla forms present) | The commonest quiet failure in this trade. Romanian wants a comma below and most fonts ship a cedilla, which is a different character that renders and is wrong. Halvard Text and Bellrope have both; the display and mono faces have only the cedilla. |
| Vietnamese | Partial | ế ữ ợ and 128 other stacked forms, in three of four families | Only Bellrope Sans is complete. Vietnamese stacks a tone mark on a vowel that already has a mark, and it is roughly 130 extra drawings per weight rather than a handful. |
| Turkish, Azerbaijani | Full | — | Dotless ı and dotted İ, with the locl feature so a Turkish i does not lose its dot when set in caps. |
| Greek | Partial | Polytonic accents; monotonic complete | Modern Greek works. Classical Greek does not, and the gap is about 200 drawings that no client has yet paid for. |
| Cyrillic | None | Not drawn | Not attempted rather than half-attempted. A Cyrillic that has not been reviewed by somebody who reads it is worse than nothing, and I do not. |
| Arabic, Hebrew, Devanagari | None | Not drawn | Different writing systems, different training, different designers. Anybody claiming all of these from a four-family foundry is reselling somebody else’s work. |
12 characters no specimen shows
Twelve characters, rendered as text in this page rather than exported as an image. Select them, copy them, paste them into your own document — which is the only test that means anything and the one a PNG specimen quietly prevents.
Four families
A workhorse for long reading at 9 to 12 pt. Drawn against newsprint first, which is why it holds up on a screen at 300% and looks slightly dull in a specimen.
The same skeleton, tightened and sharpened for 40 pt and above. Smaller character set on purpose: a display face used for a Vietnamese paragraph is being used wrong.
For code and for tables. Zero is slashed, one has a foot, l has a tail, and the ambiguity budget was spent before anything else was drawn.
The largest set here and the only one with full Vietnamese. Eight weights because it was drawn for an interface, and an interface needs a 450 that a print family never does.
Free, unlimited, no account
Trials are watermark-free and unlicensed for publication. Ten minutes with your own language in your own layout tells you what no specimen can, which is the entire reason this form is separate from the one at the bottom of the page.
Six stages · two months of them are two characters
“The coverage table said Romanian was partial and named the two characters, which is the first time a foundry has told me something was missing before I found it in production. We bought the family that had it and the trial took ten minutes to prove it.”
Design lead, multilingual publisher — 2026
Two licences, and neither phones home
Common questions
Because the alternative is a checklist of language names with ticks beside them, which is how a font ends up claiming Romanian while shipping a cedilla instead of a comma-below. It renders, it is the wrong character, nobody complains, and they quietly stop using the family. Naming the two missing glyphs costs a line and saves the relationship.
Yes, free and unlimited, and the trial form on this page is separate from the commission form for exactly that reason. Trials are watermark-free and unlicensed for publication — they exist so you can set your own text, in your own language, and find out in ten minutes what a specimen cannot tell you.
The static instances, the variable file where there is one, and the full character set as a PDF that lists every glyph rather than showing a pangram. No installer, no font manager, no account.
Because it is roughly 130 extra drawings per weight, and in a four-family foundry that is a real decision rather than a checkbox. Bellrope Sans has it because it was drawn for an interface that needed it. Saying so is more useful than a tick in a table.
No. A Cyrillic that has not been reviewed by somebody who reads Cyrillic is worse than no Cyrillic, and I do not read it. If a commission needs it I will bring in somebody who does and say so on the invoice.
On this demo they are set in the template’s own faces, and this answer is here rather than buried because a foundry site that is coy about that is doing something worse. In the real thing you drop your own @font-face into the stylesheet and every waterfall and grid on the page becomes your family.
Commission a family
Trials are free and unlimited · a custom family is six to nine months. Fields marked with an asterisk are required.