💀Text Font file
34 fonts bundled, including the CJK ones most text nodes forget
- font
Every text-rendering workflow in ComfyUI has to answer the same question first: where does the font come from? Most text nodes hand you a fixed list of whatever fonts the author bundled, and if yours isn't there you're stuck. S4Tools Text Font file is this pack's answer to that question - a dropdown that lists every font shipped in the pack's font/ folder, no typing required. It's the node you'll connect 90% of the time, and it's the one that makes the pack's CJK story work.
The genuinely notable part is the selection. The pack ships 34 fonts, and a large slice of them are Simplified Chinese typefaces - Alimama ShuHeiTi, Baping, YouSheBiaoTiHei, and friends. That matters because CJK glyph coverage is the thing almost every ComfyUI text node quietly skips: system fonts often lack proper Chinese glyphs, and node packs that bundle only Latin fonts will render Chinese as tofu boxes. Here you get the Chinese fonts in the repo, ready to go, which is exactly what you need for vertical CJK posters and subtitles. English faces are in there too - Caveat, Rajdhani, Galada, a few display/graffiti styles.
How it works
At ComfyUI startup the node scans the pack's font/ directory for .ttf and .otf files, strips the extensions, sorts them, and builds the dropdown from what it finds. Selecting an entry reads the whole file into memory as bytes and hands them out as a FONT_DATA blob. That's it - no parsing, no magic.
Inputs and outputs
One input, one output:
- font_name - the enum of available fonts, populated automatically from the folder. Names appear without the extension (
eng-Caveat-Bold,zhs-Baping). - font - the
FONT_DATAoutput that plugs straight intoS4Tools Text Basic'sfontinput.
Install
Shared with the whole pack. ComfyUI Manager → search "ComfyUI S4Tool Text" → install, then restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/S4MUEL-404/ComfyUI-S4Tool-Text
No dependencies beyond pillow/numpy/requests (already in any working ComfyUI), no model files. The fonts come with the clone.
Gotchas
- The list is built at startup. Copy a font into
font/and it won't show up until you restart ComfyUI. Same rule for removing one - a font deleted while a workflow still references it will make the node raise "Font file not found" on execution. - It only scans the pack's own folder. Your system fonts are not auto-detected, and that's the one recurring complaint in the ComfyUI text-node world. If you want your own font, copy it into
ComfyUI/custom_nodes/ComfyUI-S4Tool-Text/font/(only.ttf/.otfcount) and restart. No rescan button exists, so "restart ComfyUI" is the whole workflow. - The selector hides extensions - if you have both
Foo.ttfandFoo.otfin the folder, the node picks.ttffirst and you can't disambiguate from the list.
It's the most boring node in the pack and that's the compliment: pick a font, feed Basic, done. The CJK fonts bundled here are the feature - and they're why this is the font loader I'd use over dropping my own collection into a fresh pack.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| font_name | COMBO | 34 options: eng-Caveat-Bold, eng-Galada-Regular, eng-Gemstone, eng-GraffitiYouth-Regular, eng-Matrice-Black, eng-Matrice-Bold, +28 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| font | FONT_DATA | — |