text static method
Implementation
static List<int> text({required String text, AlignPos align = AlignPos.left, bool bold = false, bool inverse = false, FontSize fontSize = FontSize.normal}) {
String enter = "\n";
String reset = '\x1B@';
String alignmentCode = "";
const cAlignLeft = '\x1Ba0'; // Alinear a la izquierda
const cAlignCenter = '\x1Ba1'; // Alinear al centro
const cAlignRight = '\x1Ba2'; // Alinear a la derecha
const cBoldOn = '\x1BE\x01'; // Turn emphasized mode on
const cBoldOff = '\x1BE\x00'; // Turn emphasized mode off
const cInverseOn = '\x1dB\x01'; // Activar texto invertido
const cInverseOff = '\x1dB\x00'; // Desactivar texto invertido
//const cFontNormal = '\x1D!\x00'; // Tamaño de fuente normal
//const cFontNormal = '\x1d\x21\x00'; // La fuente no se agranda (0)
const cFontNormal = '\x1b\x4d\x00'; // Fuente estándar ASCII (2)
const cFontCompressed = '\x1b\x4d\x01'; // Fuente comprimida
const cDoubleHeightFont = '\x1d\x21\x11'; // Altura doblada
const cDoubleWidthFont = '\x1d\x21\x22'; // Ancho doblado
const cBigFont = '\x1d\x21\x33'; // Ancho y alto doblados
const cTripleHeightFont = '\x1d\x21\x33'; // Altura doblada (5)
// Aplicar los comandos según los parámetros
if (align == AlignPos.left) {
alignmentCode = cAlignLeft;
} else if (align == AlignPos.center) {
alignmentCode = cAlignCenter;
} else if (align == AlignPos.right) {
alignmentCode = cAlignRight;
}
String fontSizeCode = "";
switch (fontSize) {
case FontSize.normal:
fontSizeCode = cFontNormal;
break;
case FontSize.compressed:
fontSizeCode = cFontCompressed;
break;
case FontSize.doubleHeight:
fontSizeCode = cDoubleHeightFont;
break;
case FontSize.doubleWidth:
fontSizeCode = cDoubleWidthFont;
break;
case FontSize.big:
fontSizeCode = cBigFont;
break;
case FontSize.superBig:
fontSizeCode = cTripleHeightFont;
break;
}
if (inverse) {
text = '$cInverseOn$text$cInverseOff';
}
if (bold) {
text = '$reset$cBoldOn$alignmentCode$fontSizeCode$text$enter$cBoldOff';
} else {
text = '$reset$alignmentCode$fontSizeCode$text$enter';
}
return text.codeUnits;
}