Class UnicodeUtils
The class exposes three things:
- A large set of named
Stringconstants for individual Unicode characters (Greek letters, sub/superscripts, operators, arrows, ...). specialCharReplace(String), which rewrites a small set of LaTeX-like escapes (e.g.\alpha,\leq) into the matching Unicode characters.getSuperscript(int, boolean), which renders an integer using superscript digit glyphs.
All members are static; the class is not meant to be instantiated.
Implementation notes
The replacement set and the superscript digits are kept in small lookup tables (SPECIAL_CHAR_REPLACEMENTS and SUPERSCRIPT_DIGITS) rather than
being hard-coded into the method bodies. The public constants and method
signatures are unchanged, so this is a drop-in replacement.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetSuperscript(int n, boolean isNegative) Render an integer's digits as Unicode superscript characters.static StringReplace the LaTeX-like escape sequences in the given string with their Unicode equivalents.
-
Field Details
-
SUB0
- See Also:
-
SUB1
- See Also:
-
SUB2
- See Also:
-
SUB3
- See Also:
-
SUB4
- See Also:
-
SUB5
- See Also:
-
SUB6
- See Also:
-
SUB7
- See Also:
-
SUB8
- See Also:
-
SUB9
- See Also:
-
SUPER0
- See Also:
-
SUPER1
- See Also:
-
SUPER2
- See Also:
-
SUPER3
- See Also:
-
SUPER4
- See Also:
-
SUPER5
- See Also:
-
SUPER6
- See Also:
-
SUPER7
- See Also:
-
SUPER8
- See Also:
-
SUPER9
- See Also:
-
SUPERN
- See Also:
-
SUBN
- See Also:
-
LOG10
- See Also:
-
BACKSPACE
- See Also:
-
ENTER
- See Also:
-
SMILEYFACE
- See Also:
-
OVERLINE
- See Also:
-
THINSPACE
- See Also:
-
SUPERPLUS
- See Also:
-
SUPERMINUS
- See Also:
-
SUBMINUS
- See Also:
-
DEGREE
- See Also:
-
TIMES
- See Also:
-
PLUSMINUS
- See Also:
-
APPROX
- See Also:
-
BULLET
- See Also:
-
DAGGER
- See Also:
-
LEQ
- See Also:
-
GEQ
- See Also:
-
LL
- See Also:
-
GG
- See Also:
-
PROPTO
- See Also:
-
EQUIV
- See Also:
-
SIM
- See Also:
-
SIMEQ
- See Also:
-
NEQ
- See Also:
-
PERP
- See Also:
-
INTEGRAL
- See Also:
-
PARALLEL
- See Also:
-
INFINITY
- See Also:
-
LARROW
- See Also:
-
UARROW
- See Also:
-
RARROW
- See Also:
-
DARROW
- See Also:
-
LRARROW
- See Also:
-
UDARROW
- See Also:
-
CAPITAL_ALPHA
- See Also:
-
CAPITAL_BETA
- See Also:
-
CAPITAL_GAMMA
- See Also:
-
CAPITAL_DELTA
- See Also:
-
CAPITAL_EPSILON
- See Also:
-
CAPITAL_ZETA
- See Also:
-
CAPITAL_ETA
- See Also:
-
CAPITAL_THETA
- See Also:
-
CAPITAL_IOTA
- See Also:
-
CAPITAL_KAPPA
- See Also:
-
CAPITAL_LAMBDA
- See Also:
-
CAPITAL_MU
- See Also:
-
CAPITAL_NU
- See Also:
-
CAPITAL_XI
- See Also:
-
CAPITAL_OMICRON
- See Also:
-
CAPITAL_PI
- See Also:
-
CAPITAL_RHO
- See Also:
-
CAPITAL_SIGMA
- See Also:
-
CAPITAL_TAU
- See Also:
-
CAPITAL_UPSILON
- See Also:
-
CAPITAL_PHI
- See Also:
-
CAPITAL_CHI
- See Also:
-
CAPITAL_PSI
- See Also:
-
CAPITAL_OMEGA
- See Also:
-
CAPITAL_IOTA_WITH_DIALYTIKA
- See Also:
-
CAPITAL_UPSILON_WITH_DIALYTIKA
- See Also:
-
SMALL_ALPHA_WITH_TONOS
- See Also:
-
SMALL_EPSILON_WITH_TONOS
- See Also:
-
SMALL_ETA_WITH_TONOS
- See Also:
-
SMALL_IOTA_WITH_TONOS
- See Also:
-
SMALL_ALPHA
- See Also:
-
SMALL_BETA
- See Also:
-
SMALL_GAMMA
- See Also:
-
SMALL_DELTA
- See Also:
-
SMALL_EPSILON
- See Also:
-
SMALL_ZETA
- See Also:
-
SMALL_ETA
- See Also:
-
SMALL_THETA
- See Also:
-
SMALL_IOTA
- See Also:
-
SMALL_KAPPA
- See Also:
-
SMALL_LAMBDA
- See Also:
-
SMALL_MU
- See Also:
-
SMALL_NU
- See Also:
-
SMALL_XI
- See Also:
-
SMALL_OMICRON
- See Also:
-
SMALL_PI
- See Also:
-
SMALL_RHO
- See Also:
-
SMALL_FINAL_SIGMA
- See Also:
-
SMALL_SIGMA
- See Also:
-
SMALL_TAU
- See Also:
-
SMALL_UPSILON
- See Also:
-
SMALL_PHI
- See Also:
-
SMALL_CHI
- See Also:
-
SMALL_PSI
- See Also:
-
SMALL_OMEGA
- See Also:
-
SMALL_IOTA_WITH_DIALYTIKA
- See Also:
-
SMALL_UPSILON_WITH_DIALYTIKA
- See Also:
-
SMALL_OMICRON_WITH_TONOS
- See Also:
-
SMALL_UPSILON_WITH_TONOS
- See Also:
-
SMALL_OMEGA_WITH_TONOS
- See Also:
-
-
Method Details
-
specialCharReplace
Replace the LaTeX-like escape sequences in the given string with their Unicode equivalents.Recognized escapes include the Greek letters (
\alpha,\Omega, ...) and a selection of math operators and arrows (\leq,\approx,\rarrow, ...). SeeSPECIAL_CHAR_REPLACEMENTSfor the full set. Unrecognized text, including unknown backslash sequences, is left untouched.Replacement is purely textual and applied in table order, so an escape that forms the prefix of a longer one is handled before the shorter one.
- Parameters:
s- the input string; may benull- Returns:
nullifsisnull; otherwiseswith every recognized escape replaced by its Unicode character
-
getSuperscript
Render an integer's digits as Unicode superscript characters.The sign is supplied separately via
isNegativerather than being read fromn; callers normally pass the magnitude inn. Only the decimal digits0-9are converted, so any non-digit character in the textual form ofn(such as a leading minus from a negative value) is ignored.- Parameters:
n- the number whose digits are rendered as superscriptsisNegative- iftrue, a superscript minus sign is prepended- Returns:
- the superscript representation, e.g.
getSuperscript(12, true)returns"⁻¹²"
-