Build-along toolkit
Make Thai Fonts That Sell
Font courses teach you to draw letters. Almost none teach the layer that makes a font actually work — 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. This toolkit teaches that layer, with tools that cost nothing.
Not on sale yet — we will email you on the day it opens. No spam.
In the meantime, read the free sample module.
Written from the pipeline ThaiGraph uses to produce real fonts. The ThaiGraph Condensed family — four weights, passing 52 automated checks — is given away free on this site so you can inspect the output before you buy the method.
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. Not because the drawing is bad — because the OpenType layer was never written. Learn to fix that on Thai and Latin becomes straightforward. The reverse is not true.
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
- 1 How fonts actually make money Read free → 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 1, "How fonts actually make money", 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.
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 the alternatives cost
- Glyphs 4€319
- FontLab Pro, lifetime licenceUS$499
- Calligraphr, free tiercapped at 75 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 this is not for
Three groups should not buy this. Saying so up front is cheaper for both of us:
- Anyone unwilling to touch a command line. We hold your hand line by line, but Python has to run on your machine.
- 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.
30-day refund
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.
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 1 is free to read in the meantime.
Start with the free module if you are unsure
Read Module 1 first and then decide. That is how we would rather you bought it.
Not on sale yet — we will email you on the day it opens. No spam.
In the meantime, read the free sample module.
Sources
- OFL 1.1 clause 1 states that font software under the licence, and modified versions of it, may not be sold by itself.—SIL Open Font License 1.1 — official text (accessed Aug 15, 2026)
- Microsoft lists the mark and mkmk GPOS features as Required for Thai script.—Microsoft Typography — Developing OpenType Fonts for Thai Script (accessed Aug 15, 2026)
- Unicode states that the canonical combining classes assigned to Thai tone marks do not fully account for their typographic interaction.—The Unicode Standard 17.0.0, Chapter 16 (accessed Aug 15, 2026)
- Glyphs 4 is priced at EUR 319 and Glyphs Mini 2 at EUR 49.—Glyphs — official purchase page (accessed Aug 15, 2026)
- FontLab Pro is priced at US$499 as a lifetime licence.—FontLab — product page (accessed Aug 15, 2026)
- Calligraphr limits its free tier to 75 characters and its Pro tier to 600 characters.—Calligraphr — pricing page (accessed Aug 15, 2026)
- FontForge is free and open source, multi-licensed under GPLv3-or-later with most original code under the 3-clause BSD licence.—FontForge — official site (accessed Aug 15, 2026)
- Anuphan, the variable font the pipeline starts from, is released under the SIL Open Font License 1.1 by Cadson Demak.—Anuphan — OFL.txt, cadsondemak/Anuphan (accessed Aug 15, 2026)
- Katatrad prices fonts at 11,800 baht per weight and 35,000 baht per complete family, excluding VAT.—Katatrad — product page (accessed Aug 15, 2026)
- MyFonts requires a minimum Latin character set of 186 glyphs for display fonts.—Monotype Foundry Support — Recommended Character Set (accessed Aug 15, 2026)
- Fontspring pays a 50% royalty on self-serve online marketplace font sales.—Fontspring — foundry information (accessed Aug 15, 2026)
- The Thai Unicode block spans U+0E00 to U+0E7F with 87 assigned codepoints across two ranges.—Unicode Consortium — Thai names list (accessed Aug 15, 2026)
- ThaiGraph Condensed is a four-weight family and scripts/qa.py reports ALL 52 CHECKS PASSED against it — 13 checks per weight across four weights.—Toolkit code: font-factory/scripts/qa.py, verified by running it (accessed Aug 17, 2026)