Los parámetros, y el truco de la línea
La forma es ^GBa,h,g,c,r: ancho, alto, grosor del borde, color y redondeo de esquinas. El ^FO anterior decide dónde queda la esquina superior izquierda, como en cualquier campo.
Una línea es el mismo comando con un lado en cero: ^GB420,0,3 dibuja una línea horizontal de 420 puntos con 3 de grosor, y ^GB0,300,3 dibuja una vertical. No existe un comando de línea aparte — esta es la forma idiomática.
- a — ancho en puntos.
- h — alto en puntos. Cero en cualquiera de los dos hace una línea.
- g — grosor del borde en puntos. Por defecto 1.
- c — color: B negro o W blanco.
- r — redondeo de esquinas, de 0 a 8.
Por qué la caja salió negra entera
Cuando el grosor del borde alcanza el tamaño de la caja, el rectángulo se rellena. ^GB300,80,80 es una caja de 300 por 80 con un borde de 80 puntos — es decir, una franja sólida. No es un error: así se hace un bloque relleno en ZPL.
Si querías solo el marco y salió un bloque sólido, el tercer parámetro es demasiado grande. Un grosor de 3 a 5 puntos es lo normal para un marco visible en una etiqueta a 203 dpi.
La franja con texto blanco
El patrón es siempre el mismo: dibuja la caja rellena con ^GB, después posiciona el texto encima y marca el campo con ^FR. El ^FR invierte solo ese campo, así que el texto sale blanco sobre el negro que ya estaba ahí.
Si en lugar del ^FR usas el ^LR, la inversión pasa a valer para todos los campos siguientes y no para uno solo — es la causa de una etiqueta que queda invertida de la mitad para abajo.