Nodes/ComfyUI_SamplingUtils/IdeographicLinePad
ComfyUI Node

IdeographicLinePad

The CJK-aware cousin of Joiner Padding

By silveroxides·Created 11 months ago·Updated 3 months ago· 20
IdeographicLinePad
    • padded_text
    text

    Ideographic Line Pad does the same invisible-text trick as Joiner Padding, but tuned for text systems that think in CJK. Instead of just sprinkling word joiners between letters, it wraps each line in a padding sequence of word joiner + ideographic space + word joiner (U+2060 U+3000 U+2060) and adds carriage-return/line-feed breaks around it. The idea: to a tokenizer or filter that's CJK-aware, the ideographic space (U+3000, the full-width space Chinese and Japanese text uses) reads as legitimate word spacing, while the invisible joiners break any literal string match on the actual words.

    How it works

    One regex against the whole input, from the source:

    • Each line's start and end gets wrapped with U+2060 U+3000 U+2060, then a CRLF.
    • The whole result is prefixed with a leading CRLF + the ideographic pad.

    So your text becomes something like CRLF ideographicpad line1 ideographicpad CRLF ideographicpad line2 ideographicpad CRLF. Readable, CJK-styled, and full of bytes that a word filter won't see as contiguous words.

    Input is one multiline text; output is padded_text.

    When to reach for it

    This one is aimed at generation pipelines where the prompt ends up in a text-rendering or LLM-encoder stage that's sensitive to how CJK spacing is tokenized - think the Qwen/Klein/Z-Image family of models that use LLM-style text encoders. If you're feeding long tag-style prompts to one of those and fighting either filters or tokenizer spacing behavior, the ideographic variants are the ones to try. If you just want the basic filter-dodge on ordinary English text, plain Joiner Padding or Frakturpad is simpler.

    Caveats

    Same family weaknesses as the other padding nodes: unicode-normalizing layers can strip the zero-width joiners, and this defeats string-matching filters, not smart ones. Also be aware the CRLF additions genuinely change line structure - if a downstream node is sensitive to line breaks, the padded text may not behave like the original.

    Install

    ComfyUI Manager → ComfyUI_SamplingUtils, or clone it:

    cd ComfyUI/custom_nodes
    git clone https://github.com/silveroxides/ComfyUI_SamplingUtils
    

    then restart. Pack note: the README marks it DEPRECATED in favor of ComfyUI-UtilsCollection, so expect these text nodes to migrate.

    Categoryadvanced/text

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (1)

    NameTypeDescription
    padded_textSTRING