Letra condensada en Reporte I4GL
Buenos días.
Para imprimir con letra comprimida o aprovechar cualquier otra característica de tu impresora en un programa 4gl, debes recurrir a los códigos de la impresora.
Para el caso que planteas, deberías enviar al report el código de letra comprimida, el texto que quieres imprimir y al final es conveniente volver a dejarlo como estaba, o sea, descomprimir.
El resumen del código 4gl para comprimir en una impresora laser genérica, sería algo así:
# Definimos las variables que llevarán los valores de los códigos de impresora
DEFINE comprim CHAR(60),
descomprim CHAR(60)
# Cargamos los códigos de impresora (obtenidos de su manual)
LET comprim = ASCII 27, ASCII 40, ASCII 115, ASCII 49, ASCII 54, ASCII 72 CLIPPED
LET descomprim = ASCII 27, ASCII 40, ASCII 115, ASCII 49, ASCII 48, ASCII 72 CLIPPED
# Mandamos imprimir primero el código de compresión
PRINT comprim CLIPPED,
# Luego el texto que quieres imprimir
COLUMN 001, ......,
....,
....,
COLUMN 130,.......,
# Y finalmente la dejamos como estaba (descomprimida)
descomprim CLIPPED
También es muy recomendable, antes de todo esto, al inicio del informe (FIRST PAGE HEADER), imprimir el código de inicialización de impresora, el tamaño de papel, el tipo de letra y demás. Y al final (ON LAST ROW) el código de cierre de impresora. En ambos casos siguiendo los códigos de la documentación de la impresora.