> ## Documentation Index
> Fetch the complete documentation index at: https://comfyart.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Text, shapes and paths

> Rich text, fonts, gradient and image fills, the pen tool, node editing and boolean operations.

Text and shapes stay editable vectors on the canvas, and PPTX export with editable objects keeps them as text and shapes.

## Rich text

Double-click a text to edit it. With nothing selected inside, the text toolbar changes the whole text; select a few words and the color, font, weight, size, **B**, *I* and <u>U</u> buttons apply only to that selection, so one text can mix styles.

<Frame>
  <img src="https://mintcdn.com/comfyart/LNAm3zvSGy5vq9AJ/images/rich-text.webp?fit=max&auto=format&n=LNAm3zvSGy5vq9AJ&q=85&s=59959493d4643858a2cea6f8351948ab" alt="Text toolbar applying bold and color to a selected phrase" width="1300" height="760" data-path="images/rich-text.webp" />
</Frame>

The toolbar also has alignment, line and letter spacing, stroke, case and decoration. Mixed styles are kept in PPTX export as separate text runs.

## Fonts

The font menu searches every font you can use, grouped as **Brand kits** (fonts uploaded to your brand kits), **Common** and **This computer** (local fonts, after the browser asks for permission). Each name is shown in its own typeface.

<Frame>
  <img src="https://mintcdn.com/comfyart/LNAm3zvSGy5vq9AJ/images/font-picker.webp?fit=max&auto=format&n=LNAm3zvSGy5vq9AJ&q=85&s=0fd5fb3513bb5e3edcb361a4426e1ab0" alt="Font picker" style={{ maxWidth: '540px' }} width="1070" height="900" data-path="images/font-picker.webp" />
</Frame>

## Shapes and fills

**Insert** adds rectangles, ellipses, polygons, stars, lines and arrows. Select a shape and open **Fill** in its toolbar:

<Frame>
  <img src="https://mintcdn.com/comfyart/LNAm3zvSGy5vq9AJ/images/fill-editor.webp?fit=max&auto=format&n=LNAm3zvSGy5vq9AJ&q=85&s=77502cf06a17afda230f05142a5969e8" alt="Fill editor with a radial gradient" style={{ maxWidth: '640px' }} width="1260" height="900" data-path="images/fill-editor.webp" />
</Frame>

* **Solid**, **Linear**, **Radial** or **Image** fill.
* Gradients take any number of color stops. Each stop has a position and a color with transparency, so a gradient can fade out (like the soft sun above). Linear gradients have an angle.
* **Blend mode** (multiply, screen, overlay and the other CSS blend modes) mixes the shape with what is under it.

Strokes can sit inside, centered or outside, solid, dashed or dotted. Rectangles have a corner radius.

## Pen and node editing

Press **P** (or pick the pen from **Insert**) to draw a path: click to add corner points, drag to pull out curve handles, click the first point to close the shape, or double-click, press Enter or Esc to finish an open path.

Double-click a path to edit its nodes. Drag a point to move it and drag a handle to bend the curve. Results of boolean operations are paths too.

<Frame>
  <img src="https://mintcdn.com/comfyart/LNAm3zvSGy5vq9AJ/images/pen-nodes.webp?fit=max&auto=format&n=LNAm3zvSGy5vq9AJ&q=85&s=ec019665e7bbed7172d95f0dfc87ecc2" alt="Editing the nodes of a leaf path" width="1280" height="600" data-path="images/pen-nodes.webp" />
</Frame>

## Boolean operations

Select two or more shapes and open **Boolean** in the selection toolbar: **Union**, **Subtract**, **Intersect** or **Exclude**. The result is a single new path with the style of the bottom shape; **Subtract** cuts the shapes above out of the bottom one.

<Frame>
  <img src="https://mintcdn.com/comfyart/LNAm3zvSGy5vq9AJ/images/boolean-menu.webp?fit=max&auto=format&n=LNAm3zvSGy5vq9AJ&q=85&s=124e620aeda00e44feb9dd7eb28a1da1" alt="Boolean menu for two overlapping circles" style={{ maxWidth: '560px' }} width="1100" height="780" data-path="images/boolean-menu.webp" />
</Frame>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.