Skip to content

Main content

Text Indent Tabs Spaces Equivalent Width Tool

Calculate text indent tabs spaces equivalent width from explicit caller-supplied inputs.

Loading tool…

Description

Expand a spaces-and-tabs-only indent from nonnegative startColumn using tab stops of width one through 32.

Text positions can be measured in UTF-16 code units, Unicode code points, grapheme clusters, or modeled display columns. These coordinates are not interchangeable. Invisible markers and delimiter policies can also affect interpretation even when a string looks unchanged, so the chosen representation needs to stay explicit.

Expand a spaces-and-tabs-only indent from nonnegative startColumn using tab stops of width one through 32.

When to use this tool

Use Text Indent Tabs Spaces Equivalent Width when you need the stated marker, coordinate, delimiter, or normalization operation under an explicit text representation.

How to use the tool and how it works

  1. Enter indent, tabWidth, startColumn. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read columns, endColumn. Use the output convention below.

Expand a spaces-and-tabs-only indent from nonnegative startColumn using tab stops of width one through 32. Return endColumn and columns=endColumn-startColumn.1

Input fieldMeaning and unitsAccepted input
indentIndentRequired. Text; maximum UTF-16 length 8192.
tabWidthTab WidthRequired. Safe integer; minimum 1; maximum 32.
startColumnColumn origin for indentation expansion.Required. Safe integer; minimum 0.
Output fieldInterpretationReturned shape
columnsIncrement in modeled columns, not the absolute ending position.Required. Safe integer.
endColumnEnd ColumnRequired. Safe integer.
json
{
  "input": {
    "indent": " \t ",
    "tabWidth": 4,
    "startColumn": 0
  },
  "output": {
    "columns": 5,
    "endColumn": 5
  }
}

Limitations and assumptions

  • Tabs advance to the next stop, including a whole tab width when already aligned. The result is a supplied column model, not an arbitrary Unicode display-width or terminal-emulation calculation.
  • The field tables state structural bounds; the mechanics also specify cross-field constraints. Malformed inputs and unsupported domains cause errors. A successful false flag, empty branch value, or zero placeholder has the meaning stated above and is distinct from an input error.

Alternative or Complementary methods

Choose the coordinate system required by the consumer. Use a full parser, renderer, or segmentation method when a local marker or delimiter rule cannot determine the complete text behavior.

References

  1. Calculation and input contract: text/text-indent-tabs-spaces-equivalent-width — tool.io

Similar or alternative tools