Rhino WIP feature: Text Formatting

The latest Rhino WIP adds a number of formatting and workflow features to text annotations that drafting users have asked about.


What’s new

  • Kerning — adjusts the spacing between specific glyph pairs so that combinations like AV, Ta, Wo, or LY look balanced.
  • Line Space Scale — controls the vertical distance between lines of a multi-line annotation.
  • Superscript / Subscript — raises or lowers the selected characters (e.g. , xⁿ, H₂O, CO₂).
  • Bullet and Numbered Lists — turn paragraphs into an ordered (1., 2., 3.) or unordered (•) list with consistent indentation.
  • Justify text alignment — spreads words to line up both edges.
  • Tabs — insert horizontal tab characters that advance to the next tab stop, useful for laying out columns inside a single annotation.
  • Pick Text Height — set text height by picking two points in the viewport, in Text and Leader.
  • JoinText and ExplodeText — combine multiple annotations into one, or split a multi-line annotation into separate single-line ones.

Kerning

Kerning is a setting on the annotation style, with a per-annotation override. When it’s on, the renderer uses the font’s built-in kerning table to adjust specific glyph pairs.

How to use it:

  • Open the annotation style (Document Properties → Annotation Styles) and toggle Use Kerning on or off, or override it on an individual annotation.
  • Fonts without a kerning table are unaffected.

Line Space Scale

Line Space Scale is a multiplier on the default line height. 1.0 is the font’s natural spacing, 0.8 tightens the lines, 1.5 opens them up.

How to use it:

  • Set Line Space Scale in the annotation style, or override it on an individual annotation.

Superscript and Subscript

Superscript and subscript apply to a selection inside the editor, raising or lowering the selected glyphs and reducing their size.

How to use it:

  1. Double-click a text annotation to open the editor.
  2. Select the characters you want to raise or lower.
  3. Click the Superscript () or Subscript (x₂) button in the editor toolbar.
  4. Click the same button again to remove the formatting.

Bullet and Numbered Lists

Lists turn each paragraph in the selection into an item, with the bullet or number rendered consistently and the body text indented past it. Both ordered (numbered) and unordered (bulleted) styles are available.

How to use it:

  1. Open the annotation editor.
  2. Select one or more lines.
  3. Click the Numbered List or Bulleted List button in the editor toolbar.
  4. Click the same button again to remove the list formatting.

Justify

A fourth horizontal-alignment option alongside Left/Center/Right that widens the spaces between words so wrapped lines fill the column, like newspaper or book text. It only takes effect when the text is wrapped (it needs a column to stretch to), and the last line of each paragraph stays left-aligned. Set it from the Text panel’s alignment row.

Tabs

Tabs insert a horizontal jump to the next tab stop. They’re handy for small tables and aligned columns inside a single annotation. Tab stops scale with the font size.

How to use it:

  • Press Tab while typing in the editor to advance to the next tab stop.

A note for the beta: the editor and the viewport don’t always pick exactly the same tab positions yet, especially when an annotation mixes fonts. If you see a column drift in the viewport that looked aligned in the editor, that’s a known case we’re still tightening up.


Pick Text Height

The Text and Leader commands now let you set text height by picking a distance in the viewport instead of typing a number. Useful when you want the text to scale to a feature you’ve already drawn.

How to use it:

  • In the Text or Leader create dialog, click the pick icon next to the Height field. The dialog hides while you pick two points; the distance becomes the new text height.
  • The same is available on the command line: PickHeight in -Text, Height in -Leader.
  • The button is hidden in the edit dialog (i.e. when you double-click an existing annotation) — there it stays a typed-in value.

JoinText and ExplodeText

Two new commands round-trip text annotations into and out of multi-line form.

  • JoinText — combines two or more selected text annotations into a single multi-line annotation. With pre-selection, the items are sorted by their viewport position so the result reads top-to-bottom.
  • ExplodeText — splits a multi-line annotation into separate single-line annotations, one per line. List items count as separate lines, so an annotation containing a numbered or bulleted list explodes into one annotation per item.

Both commands have DeleteInput and SelectAfterCreation options.


Try it out

These features are in Rhino WIP now. Open the Text command, type a note, and try the new buttons. We’d appreciate hearing how they fit into your drafting workflow and where they fall short — especially around list and tab layout, where edge cases are still showing up.

Download the Rhino WIP and Try It Out!

ok sounds great. now we only need full justification and thats it.

Hi Ivan -

RH-24598 Full justification for text
This is currently still on the list for 9.0.
-wim

Since this is a text formatting post I thought I’d bring up this issue I face in R8

(please feel free to split this topic if needed)

The JoinText command will be very useful Thank you :slight_smile:

Will it be intelligent if i select 4 texts to join them into 2? using a spatial clustering?

I am thinking of CNC files which i’ve come across with a hundred such pairs - took quite some time to join!

Hi Kyuubimode -

I’ve put this issue on the list as RH-95530 Text: Correctly Support Devanagari Script

Hi David -

That request is filed as RH-95531 JoinText: Spacial Clustering
-wim

testing for three seconds literally:

@ivan.galik can you post the 3dm with this bug? It would be good for us to see exactly what you are seeing. Thanks

it is clear that text is mispositioned relative to bullets, subscript is way off when part of bulleted list; also in the first picture i just made superscript out of few letters and when closing and opening text dialog again all letters in the dialog appeared superscripted.

Here’s the ticket for the 1st one: RH-95565

About the 2nd one:

Super / subscript text will look strange when it’s not accompanied with normal text, are you expecting something different?

I appreciate the feedback

sorry the second pic is irrelevant. i had activated superscript (thats why it seems misaligned) and i thought it was regular text. only that first one is actually an issue

RH-95565 is fixed in Rhino WIP

RH-24598 is fixed in Rhino WIP