Skip to content

Unicode Helpers ​

The CTBase.Unicode submodule provides functions for converting integers to Unicode subscript and superscript characters. These are useful for generating mathematical notation in display code (e.g. variable names like x₁, p²).

Subscripts ​

CTBase.Unicode.ctindice returns a single subscript digit (0–9) as a Char:

julia
julia> using CTBase

julia> CTBase.Unicode.ctindice(3)
'₃': Unicode U+2083 (category No: Number, other)

CTBase.Unicode.ctindices converts a multi-digit non-negative integer to a String of subscript characters:

julia
julia> CTBase.Unicode.ctindices(123)
"₁₂₃"

Superscripts ​

CTBase.Unicode.ctupperscript returns a single superscript digit (0–9) as a Char:

julia
julia> CTBase.Unicode.ctupperscript(2)
'²': Unicode U+00B2 (category No: Number, other)

CTBase.Unicode.ctupperscripts converts a multi-digit non-negative integer to a String of superscript characters:

julia
julia> CTBase.Unicode.ctupperscripts(123)
"¹²³"

Error Handling ​

Passing a negative integer or a value outside 0–9 to the single-digit functions raises CTBase.Exceptions.IncorrectArgument:

julia> CTBase.Unicode.ctindice(12)
ERROR: IncorrectArgument
│
│  the subscript must be a single digit
│
│  Got       12
│  Expected  0-9
│
│  Context   Unicode subscript generation
│  Hint      Use ctindices() for numbers with multiple digits
└─

Function Reference ​

FunctionReturnsRange
CTBase.Unicode.ctindiceChar (single subscript digit)0–9
CTBase.Unicode.ctindicesString (multi-digit subscripts)≥ 0
CTBase.Unicode.ctupperscriptChar (single superscript digit)0–9
CTBase.Unicode.ctupperscriptsString (multi-digit superscripts)≥ 0

See Also ​