Rich Text API Reference

Overview

The Rich Text API provides functions to create and manipulate rich text content in Excel cells, allowing formatted text with multiple styles within a single cell.

Rich Text Information

int rt_segments_num(RichtextHandle rt)

Get the number of text segments in the rich text.

Parameters:
  • rt – Rich text handle.

Returns:

Number of text segments.

const char *rt_plain_text(RichtextHandle rt)

Get the plain text content of the rich text.

Parameters:
  • rt – Rich text handle.

Returns:

Plain text string.

Text Segment Operations

const char *rt_text(RichtextHandle rt, int index, StyleHandle *style)

Get text and style of a specific segment.

Parameters:
  • rt – Rich text handle.

  • index – Segment index (0-based).

  • style – Pointer to store the segment’s style handle.

Returns:

Text content of the segment.

void rt_append(RichtextHandle rt, const char *s, StyleHandle style)

Append a new text segment to the rich text.

Parameters:
  • rt – Rich text handle.

  • s – Text content to append.

  • style – Style for the new segment.

void rt_insert(RichtextHandle rt, int index, const char *s, StyleHandle style)

Insert a new text segment at specified position.

Parameters:
  • rt – Rich text handle.

  • index – Position to insert the segment.

  • s – Text content to insert.

  • style – Style for the new segment.

void rt_remove(RichtextHandle rt, int index)

Remove a text segment from the rich text.

Parameters:
  • rt – Rich text handle.

  • index – Index of segment to remove.

void rt_modify(RichtextHandle rt, int index, const char *s, StyleHandle style)

Modify an existing text segment.

Parameters:
  • rt – Rich text handle.

  • index – Index of segment to modify.

  • s – New text content.

  • style – New style for the segment.

Resource Management

void rt_release(RichtextHandle rt)

Release rich text resources.

Parameters:
  • rt – Rich text handle to release.

Usage Example

Typical usage pattern for rich text:

// Create rich text from workbook
RichtextHandle rt = wb_make_richtext(workbook);

// Append segments with different styles
rt_append(rt, "This is ", normal_style);
rt_append(rt, "bold", bold_style);
rt_append(rt, " and ", normal_style);
rt_append(rt, "italic", italic_style);
rt_append(rt, " text.", normal_style);

// Apply to cell
ws_set_richtext(worksheet, 1, 1, rt);

// Release when done
rt_release(rt);