Skip to content

Librería (text)

trotacalles
Autortrotacalles

Este conjunto de funciones se enfoca en la manipulación, limpieza y análisis de las cadenas de texto. Son herramientas fundamentales para preparar los datos antes de aplicar efectos visuales, permitiendo desde simples cambios de mayúsculas/minúsculas hasta complejas verificaciones y correcciones de la estructura del karaoke.

Convierte todos los caracteres alfabéticos de una cadena de texto a su versión en mayúsculas. Su principal ventaja sobre la función estándar de Lua es que preserva intactas todas las etiquetas de formato de ASS ({...}), procesando únicamente el texto visible.

-- Convierte el texto de la sílaba actual a mayúsculas, manteniendo su tag \k
-- Si syl.text es "{\k25}hola", el resultado será "{\k25}HOLA"
return text.upper(syl.text)

Este es el conjunto de funciones más potente de Kara Effector, ya que rompe la barrera entre el texto y las figuras. Permiten tratar las letras, palabras y líneas de texto como objetos gráficos vectoriales (shapes) o como matrices de píxeles, abriendo un abanico infinito de posibilidades para la manipulación y animación visual.

Es la función central de esta sección. Convierte una cadena de texto en un shape vectorial de ASSDraw. Utiliza la librería Yutils y las fuentes instaladas en el sistema para obtener el contorno exacto de cada caracter según el estilo de la línea. El resultado es un shape que puede ser manipulada por cualquier función de la librería shape.

-- Convierte la sílaba en una shape y luego la rota 360 grados durante 1 segundo.
local mi_shape = text.to_shape(syl.text)
return "{\\t(0, 1000, \\frz360)}" .. mi_shape

Funciones de efectos visuales y deformación

Section titled “Funciones de efectos visuales y deformación”

Este grupo de funciones proporciona las herramientas para crear las animaciones y transformaciones visuales que definen un efecto. Incluyen desde la aplicación de etiquetas progresivas y efectos aleatorios hasta la deformación del texto para que siga trayectorias complejas o adopte nuevas formas.

Aplica un conjunto de etiquetas de formato de forma progresiva y interpolada a cada caracter de una cadena de texto. Es una herramienta extremadamente potente para crear degradados suaves, efectos de pulsación o cualquier animación que evolucione letra por letra a lo largo de una palabra o sílaba.

-- Aplica un degradado de color (blanco a azul) y un efecto de crecimiento (fscy 100 a 150)
-- a cada letra de la sílaba.
return text.tag(syl.text, {"\\1c", "&HFFFFFF&", "&HFF0000&"}, {"\\fscy", 100, 150})