Build-along toolkit
Your first Thai font, working, in 45 minutes
Module 0 takes you from an empty folder to a .ttf and .woff2 that carry your own name as the family name, installed and typed with — without buying a single piece of software, on Windows or macOS. The other eleven parts are the layer font courses skip: getting tone marks to attach to the right place, swapping ญ and ฐ when a below-vowel follows, and compiling the result into a file that passes a marketplace validator.
- 45 minutes to a working .ttf
- 12 parts, all listed below
- Free tools only
- Windows + macOS
Before — no OpenType layer
After — same font, mark / mkmk / ccmp written
"Do I need to know how to code?" — no
The only skill required is copying a command, pasting it, and pressing Enter. Every command in the toolkit is written out for you, in a PowerShell form for Windows and a shell form for macOS, and Appendix A collects every error this pipeline emits with its fix, step by step. This is what all of the "programming" you will meet looks like:
$ python scripts/qa.py
ThaiGraphCondensed-Regular.ttf
PASS no .notdef glyphs in mixed Thai/Latin sample
PASS ccmp descless alternate fires for yo ying + sara u [gid 401 -> 402]
PASS sara am decomposes (nikhahit split) [3 glyphs]
PASS family name rebranded [ThaiGraph Condensed]
PASS license notice present (OFL)
⋮
ALL 52 CHECKS PASSED The gap
Why Thai, and why that matters even if you never ship a Thai font
Thai is the hardest mainstream script to get right, and it is hard in a way
that is documented rather than folklore. Microsoft's specification for
developing OpenType fonts for Thai lists the mark and mkmk
GPOS features as Required. A Latin font can ship with neither and
nobody notices. Unicode itself concedes that the combining classes assigned to Thai
tone marks "do not fully account for their typographic interaction".
That is why so many Thai fonts show floating vowels, colliding tone marks, or a ญ whose tail spears the vowel beneath it — the same damage as the "before" pane above. Not because the drawing is bad, but because the OpenType layer was never written. Learn to fix that on Thai and Latin becomes straightforward. The reverse is not true.
Everything you get
What you actually get
Seven of the twelve parts end with an artefact — a compiled font, a QA report that passes, a release folder, a finished listing — and the pipeline that produces them is part of the $39 Core purchase, not an upsell. Three end with a judgement rather than a file, and we would rather name them here than have you find out after paying: module 1 leaves you with a revenue route you have chosen, module 2 with a licence call you can make about any font file you are handed, and module 3 with the ability to open a font and see what is broken in it. The last two are appendices — reference you keep open while you work.
Core takes you from an empty folder to a packaged, QA-passed font you are allowed to list for sale, without buying anything else, ever. Pro is the parametric original-design engine, the visual proof tooling, and the EULA templates in Thai and English — an accelerator on top of a pipeline you already own.
The list below is the real table of contents, not a sample, and every outcome on it is rendered from the same data file the product itself is built from.
- 0
Your first font in 45 minutes
A working .ttf/.woff2 family with your own name inside it, installed and typed with
Read free → - 1
How fonts actually make money
A revenue route you have chosen, with expectations that match reality
- 2
Licensing: what you may sell, and what you may not
A licence decision map, and the ability to answer 'can this be sold?' about any font file
- 3
Font anatomy - only the parts that matter
You can open a font in fontTools, list its tables, and know what breaks when each is wrong
- 4
Derived families, done properly
A second family built from your own config, passing QA, with a licence file that is correct
- 5
Using AI for glyphs - and where it stops working
An AI-assisted workflow that produces reference, not copies, and a provenance record you can defend
- 6
Original design without being good at drawing
Your own original outlines, compiled to TTF + WOFF2 with your name and vendor ID inside
- 7
The QA that makes a font sellable
A QA report that passes from one command, plus a pre-release checklist you can print
- 8
Packaging and shipping
One release folder you can zip and send to a client or upload to a marketplace
- 9
Listing it for sale
Channels you can genuinely join from Thailand, one completed listing, and a promo image set
- A
Appendix A - the problems you will actually hit
Unblocked on both Windows and macOS, with every error this pipeline emits and its fix
- B
Appendix B - glossary and sources
Every term defined, and a grouped source list telling you when to open each one
Read a full module free before you decide
Module 0, "Your first font in 45 minutes", is published in full. No email, no signup. It is the honest sample of the writing and the standard of evidence in the rest of the toolkit. If you read it and it is not for you, you have saved $39.
Pricing
Two tiers, and exactly where the line falls
Core is the complete build pipeline: zero to a packaged font. Pro is the parametric original-design engine, the visual proof tooling, and the EULA templates in Thai and English. Pro buys you speed and a commercial layer. It is not the difference between being able to ship a font and not being able to. Neither list below is typed into this page: both are rendered from the toolkit's own data file, so this section changes when the product changes rather than when someone remembers to update the marketing.
Core
$39
The complete build pipeline, zero to packaged font.
- Every module and both appendices12 parts in all, lifetime access, including future revisions.
- The whole production pipeline (build.py, qa.py, specimen.py, publish-webfont.py)The same scripts ThaiGraph uses to produce real fonts: build, HarfBuzz shaping QA, specimen page, webfont output. Every command in both PowerShell and bash form.
- The original-font helpers (apply-fea.py, check-shaping.py)The two scripts that carry a face you drew yourself in FontForge the rest of the way. apply-fea.py attaches an OpenType feature file to the TTF you exported; check-shaping.py runs the seven shaping checks an original Thai face has to pass. Both run on the pins already in requirements.txt.
- A config.json you make your ownFamily name, foundry, vendor ID and every weight live in one file. The scripts contain no ThaiGraph identity strings at all, so pointing them at your config produces your font.
- A source font to practise on (Anuphan variable + the OFL text)So the pipeline runs from the very first command with nothing to go and download, and the full licence text is there to read.
- requirements.txt, the README and the toolkit code licenceOne command installs every Python library, the README documents what each script does and how to run it, and the code is yours to use commercially, with no limit on how many fonts you build or what you charge for them.
Not on sale yet — we will email you on the day it opens. No spam.
In the meantime, read the free sample module.
Pro
$99
Everything in Core, plus the original-design engine and the commercial layer.
- Everything in CoreOne download, not two. Pro is a superset.
- The parametric original-design enginedesign.py, glyphs.py, original/build.py — write stroke skeletons as data and compile them into a font. A new weight is a number, not a redraw.
- Visual proofing toolsproof.py puts your letters side by side with a reference face, refsheet.py prints labelled reference grids to draw against, and qa_arun.py checks fonts built by the engine.
- Font EULA template, Thai and EnglishA starting draft for a commercial font licence in both languages, same clauses in both, marked plainly as a template and not legal advice.
Not on sale yet — we will email you on the day it opens. No spam.
In the meantime, read the free sample module.
Where a module uses a Pro file, it says so on the spot and names the Core route to the same end state in the same place. A Core buyer is never left holding a command they cannot run.
What it replaces
What the alternatives cost
- Glyphs 4€319
- FontLab Pro, lifetime licenceUS$499
- Calligraphr, free tier75 characters
- FontForge and the tools this toolkit usesfree
- Make Thai Fonts That Sell$39
The Calligraphr line is worth sitting with. Its free tier stops at 75 characters, while the Thai Unicode block has 87 assigned codepoints (58 across U+0E01–U+0E3A and 29 across U+0E3F–U+0E5B) before you count a single Latin letter, digit or punctuation mark you would also want. The arithmetic speaks for itself.
Who is behind this
Who wrote this
No reviews yet — and we will not invent any
This toolkit has just gone on sale, so there are no reader reviews to show you. A page whose entire argument is "we do not claim what we cannot prove" would be destroyed by a single fabricated testimonial, so there will never be one here.
What you can verify right now is real: Module 0, free to read in full, and the font this pipeline actually produced, free to download on this site — open every table yourself. If you get stuck while building, email [email protected] — the person who answers is the person who maintains this pipeline, not an outsourced support desk.
Who this is not for
Three groups should not buy this. Saying so up front is cheaper for both of us:
- Anyone unwilling to type a single line into a terminal window. Every command is written out for you — you copy, paste and press Enter, and you do not need to know how to program (scroll up to see exactly what it looks like). But if the sight of that window is genuinely a dealbreaker, this is not your guide.
- Anyone expecting a complete 20,000-glyph text family in a weekend. That is months of work and no toolkit changes it.
- Anyone who wants video. This is written, work-along material. There is no video.
Zero risk
30-day refund
- 30-day refund
- One-time payment
- Lifetime access
- No software to buy
If it is not what you expected, email [email protected] and we refund you. No explanation required, and we aim to process it the same day. If you are stuck on something technical, tell us first — we would much rather get you unstuck than take your money back.
Already bought it and lost your access link? Email [email protected] with your receipt, or use the contact page, and we will resend it the same day. You never need to pay twice.
Answers
Questions people actually ask
Do I need to know how to code?
No. You need to be willing to type commands we give you. Module 0 walks you through installing Python and running your first build, step by step, on both Windows and macOS — and the build script those commands call is in the Core download, so there is nothing to go and find. If you have ever installed software yourself, you can do this.
Mac or Windows?
Both. Every command appears in a PowerShell form for Windows and a shell form for macOS.
Do I have to buy any software?
No, and there is no second purchase inside the product either. The build pipeline itself — the build, QA, specimen and webfont scripts, the config they read and the OFL-licensed source font they start from — is part of the Core purchase. Everything it runs on is open source and free: Python, fontTools and HarfBuzz. Drawing your own outlines at Core tier uses FontForge, which is also free and open source. You do not need Glyphs, FontLab or Illustrator.
What is actually different about Pro?
Pro adds the parametric original-design engine, the visual proof tooling, and the Thai and English EULA templates. The engine is the interesting one: it lets you write letter skeletons as data and compile them, so a new weight is a number you change rather than a set of outlines you redraw. Core reaches the same destination — original outlines drawn in FontForge, then run through the same pipeline for naming, metrics, features, QA, specimen and packaging. Slower, entirely viable, and the font it produces is one you may sell.
Can I sell the font I build in Module 0?
No — and Module 0 tells you so before it asks you to install anything. The warning is its opening section, headed "Read this first: the licensing trap that will land you in trouble", and the build script reprints it on every run. That font is derived from an OFL-licensed source, and OFL 1.1 clause 1 forbids selling such a font by itself. You may give it away or embed it commercially, but not sell it. The route to something sellable is original outlines, which is Module 6 — reachable from either tier.
Do I need to read Thai?
No. The toolkit is written in English and every Thai example is glossed on first use. You are learning to build fonts that handle Thai correctly, which is a technical skill, not a language one.
I already bought it — how do I get back in?
Your access link is in your purchase confirmation email. Opening it once is enough: this browser remembers you afterwards, so the link on this page will take you straight back to the reader. If you cannot find the email, or the link no longer works, email [email protected] with your receipt or from the address you paid with, or use the contact page. We resend it the same day, and you never pay twice.
Do I get updates?
Yes. One purchase, lifetime access, including future revisions. Your reading link does not expire.
Can I buy it right now?
Not yet. Checkout is not open, so the buttons on this page put you on the waitlist by email instead of taking a payment — we would rather show you a control that tells the truth than one that looks live and is not. Module 0 is free to read in the meantime.
Start here
Start with the free module if you are unsure
Read Module 0 first and then decide. That is how we would rather you bought it.
- 30-day refund
- One-time payment
- Lifetime access
- No software to buy
Not on sale yet — we will email you on the day it opens. No spam.
In the meantime, read the free sample module.