Saltar al contenido

superíndice en Java String

Te damos la bienvenida a proyecto online, en este lugar vas a hallar la respuesta a lo que estabas buscando.

Solución:

Consulte java.text.AttributedString, que admite subíndices y más. por ejemplo, en su paintComponent() podría ir:

   public void paintComponent(Graphics g) 
      super.paintComponent(g);
      AttributedString as = new AttributedString("I love you 104 gazillion");
      as.addAttribute(TextAttribute.SUPERSCRIPT, TextAttribute.SUPERSCRIPT_SUPER, 13, 14);
      as.addAttribute(TextAttribute.FOREGROUND, Color.RED, 2, 6);
      g.drawString(as.getIterator(), 20, 20);
   

Debería verse así

En caso de que alguien use estas funciones hechas a mano:

public static String superscript(String str) 
    str = str.replaceAll("0", "⁰");
    str = str.replaceAll("1", "¹");
    str = str.replaceAll("2", "²");
    str = str.replaceAll("3", "³");
    str = str.replaceAll("4", "⁴");
    str = str.replaceAll("5", "⁵");
    str = str.replaceAll("6", "⁶");
    str = str.replaceAll("7", "⁷");
    str = str.replaceAll("8", "⁸");
    str = str.replaceAll("9", "⁹");         
    return str;


public static String subscript(String str) 
    str = str.replaceAll("0", "₀");
    str = str.replaceAll("1", "₁");
    str = str.replaceAll("2", "₂");
    str = str.replaceAll("3", "₃");
    str = str.replaceAll("4", "₄");
    str = str.replaceAll("5", "₅");
    str = str.replaceAll("6", "₆");
    str = str.replaceAll("7", "₇");
    str = str.replaceAll("8", "₈");
    str = str.replaceAll("9", "₉");
    return str;

Tenga en cuenta que existe una pequeña ambigüedad acerca de ¹²³, porque son símbolos acii 251, 253 y 252 y también son símbolos utf. Prefiero usar acsii porque es más probable que sean compatibles con la fuente, pero aquí debe decidir qué quiere usar realmente.

No, un string es solo una secuencia de unidades de código UTF-16. Hay puntos de código Unicode para caracteres de superíndice individuales en las páginas de códigos matemáticos, pero ninguno que marque una región de un string como super-scripted la forma en que hay para las regiones bidi.

Si intenta mostrar texto matemático con superíndices utilizando un contexto de gráficos, debe buscar bibliotecas Latek o MathML escritas en Java.

Si guardas algún contrariedad o forma de renovar nuestro post puedes añadir una anotación y con gusto lo analizaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *