Nodes/ComfyUI S4Tool Text/💀Text Font file
ComfyUI Node

💀Text Font file

34 fonts bundled, including the CJK ones most text nodes forget

By S4MUEL-404·Created about a year ago·Updated about a year ago· 4
💀Text Font file
    • font
    font_name

    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_DATA output that plugs straight into S4Tools Text Basic's font input.

    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/.otf count) and restart. No rescan button exists, so "restart ComfyUI" is the whole workflow.
    • The selector hides extensions - if you have both Foo.ttf and Foo.otf in the folder, the node picks .ttf first 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.

    Category💀S4Tool

    Inputs (1)

    NameTypeDefaultDescription
    font_nameCOMBO34 options: eng-Caveat-Bold, eng-Galada-Regular, eng-Gemstone, eng-GraffitiYouth-Regular, eng-Matrice-Black, eng-Matrice-Bold, +28

    Outputs (1)

    NameTypeDescription
    fontFONT_DATA