- Unscii es un conjunto de fuentes Unicode bitmap basado en fuentes de sistemas clásicos, con una forma adecuada tanto para el arte de celdas de caracteres como para entornos de terminal y programación
- Sus versiones principales son unscii-8 (8×8 píxeles) y unscii-16 (8×16 píxeles), e incluyen varios estilos alternativos y una variante ‘full’ que complementa glifos faltantes
- Con la incorporación en Unicode 13.0 de caracteres de ‘legacy computing’, se lanzó Unscii 2.0, con correcciones de errores previos, mejoras de legibilidad y nuevos caracteres
- Implementa una forma neutral y consistente mediante el estudio de las características visuales de fuentes de sistemas clásicos como Amiga, Commodore 64 e IBM PC
- Es una herramienta que conecta el arte de caracteres heredado con los entornos Unicode modernos, y cumple un papel importante en la reproducción de ASCII art y gráficos de terminal
Resumen de Unscii
- Unscii es un conjunto de fuentes Unicode bitmap basado en fuentes clásicas de sistema
- Es apto para character cell art y también puede usarse en entornos de terminal y programación
- Dos variantes principales: unscii-8 (8×8 píxeles) y unscii-16 (8×16 píxeles)
- unscii-8 tiene varios estilos alternativos
- unscii-16-full incluye los glifos faltantes de Fixedsys Excelsior y GNU Unifont
- unscii-16-full está bajo GPL; las demás variantes son de dominio público
- Su creador es Viznut
Unscii 2.0
- En Unicode 13.0 (2020-03-10) se añadieron 214 caracteres gráficos para ‘legacy computing’
- Incluyen caracteres faltantes de PETSCII, Teletext/Videotex y otros
- Caracteres que ya estaban incluidos en Unscii 1.x obtuvieron mapeo Unicode oficial
- La incorporación de este mapeo fue la razón principal de la actualización a Unscii 2.0
- Además, se realizaron correcciones de errores en algunos caracteres, mejoras de legibilidad y adición de nuevos caracteres
- Se ofrecen imágenes de prueba de los caracteres actualmente disponibles en Unicode
Ejemplos (EXAMPLES)
- Arte ANSI de Amiga: Divine Stylers de Hellbeard, renderizado con unscii-16
- Arte ANSI de PC: Ansi Love de Rad Man, renderizado con unscii-16
- Imágenes PETSCII de Commodore 64: I Has Floppy de Redcrab, The First Ball de Dr.TerrorZ, Gary de Mermaid
- El paquete de código fuente incluye un convertidor de bitmap→Unscii
- Se ofrece un ejemplo de conversión a unscii-8 usando la paleta xterm de 256 colores
Descargas (DOWNLOADS)
- Los formatos bitmap reales son dos: HEX y PCF
- HEX es el mismo formato simple de volcado hexadecimal que usa el proyecto Unifont
- TTF, OTF, WOFF son versiones vectorizadas
- La versión PCF no incluye caracteres por encima de U+FFFF
- Sin embargo, los nuevos caracteres gráficos se ofrecen en el rango PUA (Private Use Area)
- La información de mapeo está incluida en el archivo
<uns2uni.tr>
Historia de fondo (BACKSTORY)
- Unicode contiene caracteres pseudográficos, pero casi no se usan en el arte ANSI
- Incluso en MUD y entornos similares solo se usan caracteres de bloque de la code page 437 de MS-DOS
- Esto se debe a que la implementación de caracteres gráficos no pertenecientes a CP437 en las fuentes Unicode existentes era incompleta
- El Unicode Consortium tenía poco interés en la implementación de pseudográficos
- Existía un círculo vicioso: “si no hay fuentes, no hay arte; y si no hay arte, no hay fuentes”
- Para resolver esto, Unscii fue desarrollado como una fuente Unicode compatible con arte
Base de diseño
- Las fuentes de sistema 8×8 se dividen en tipos de 1 píxel y 2 píxeles según el grosor de línea
- Unscii adopta el tipo de 2 píxeles, lo que facilita implementar una forma neutral debido a la alta similitud entre sistemas clásicos
- Sistemas que sirven como base visual para la versión 8×8:
- Amiga (Topaz-8), Amstrad CPC, Atari 8-bit/Arcade/32-bit, BBC Micro, Commodore 64, IBM PC (CGA/VGA 80×50)
- La versión 8×16 amplía la 8×8 según principios de transformación
- Fuentes de referencia: Windows Fixedsys, IBM PC VGA, X Window 8x13/9x15, Macintosh Monaco, Digital VT420, DejaVu Sans Mono, Lucida Console, Inconsolata
- Se prioriza una forma neutral, pero se ajusta cuando hace falta conectividad para el arte o mejor legibilidad
- Ejemplo:
/\\XY mantiene la conectividad del ASCII art y los serif de iIl se alargan
- Los glifos 8×16 no definidos se sustituyen por una versión con el doble de altura del 8×8
Variantes adicionales y mapeo de caracteres
- A partir del estudio de fuentes de juegos y fuentes de línea delgada se crearon unscii-8-thin, unscii-8-mcr y unscii-8-fantasy
- Cientos de caracteres que no existen en Unicode se mapearon en el área PUA
- U+E080..E0FF: mosaicos de bloques Teletext/Videotex
- U+E100.. : PETSCII, mosaicos suaves de Videotex, sombreado adicional, esquinas redondeadas y más
- U+E800.. : cruces, diagonales y patrones no rectilíneos atípicos pero útiles
- U+EC00.. : caracteres especiales como bitmaps orientados a juegos
- Después de Unicode 13.0, algunos caracteres pasaron a formar parte de Unicode oficial, pero se mantiene el mapeo PUA por compatibilidad
1 comentarios
Comentarios de Hacker News
Se sale un poco del tema, pero está relacionado.
Hace tiempo, cuando hice un juego tipo Space Invaders con HTML + Canvas, encontré The Ultimate Oldschool PC Font Pack de VileR mientras buscaba fuentes IBM PC OEM.
Es impresionante el nivel de dedicación con el que restauró fuentes OEM y sus variantes desde una enorme cantidad de ROM.
El sitio no solo ofrece un archivo muy detallado, sino también funciones como vista previa en vivo y corrección de relación de aspecto, así que es muy entretenido explorarlo.
Pasé horas ahí comparando varias fuentes OEM para encontrar la mejor para mi proyecto.
También va muy bien para usos retro como arte ANSI, y encaja perfectamente incluso en entornos modernos.
He usado la herramienta de live coding audiovisual IBNIZ, creada por Viznut, en presentaciones.
Fue una experiencia realmente intensa.
Enlace a IBNIZ
Su lista de trabajos puede verse en su perfil de Pouet.
Envidio su rareza y genialidad, y ojalá se me haya pegado un poco al verlo.
Mi Nerd Font local no soporta algunos glifos gráficos.
Estaría bien que agregaran eso.
Revisando con
lsof, vi que varias fuentes se estaban usando como fallback.Se mezclaban varias como DejaVuSans, DroidSansFallback y Segoe UI Symbol, y al final el renderizado salía perfecto.
Estoy haciendo un MUD ahora mismo, y estas fuentes son justo el estilo que quería.
Gracias por compartirlo en el momento perfecto.
Ahora que por fin está llegando el soporte de Sixel a las terminales,
da la impresión de que hemos cerrado el ciclo después de 40 años, como se ve en la wiki de Sixel.
Transmitir datos ráster de color sin comprimir por un enlace serial de 9600 bps era una idea terrible.
Ahora estamos en entornos gigabit, así que se desperdicia menos tiempo del usuario, pero sigue siendo un desperdicio de CPU y complejidad.
Preferiría que los navegadores web tuvieran soporte para FTP o Gopher.
La fuente cnxt de Constantine Bytensky también va en una línea parecida.
Si te gusta unscii, probablemente también te gustará cnxt.
CNXT significa “Constantine’s Nine x Twenty”.
El sitio no abre en este momento, pero yo hice un proyecto paralelo que funciona con cualquier fuente monoespaciada.
Convierte binario a Unicode y de regreso, reemplazando caracteres de control por símbolos relacionados.
Proyecto printable-binary
Un carácter UTF-8 (de 1 a 3 bytes) corresponde a 1 byte de datos de entrada, así que el tamaño aumenta en promedio alrededor de 70%,
pero se obtiene independencia del binario en cualquier medio que entienda UTF-8.
Pero en servicios reales, base64 quizá sea más eficiente, ya que solo aumenta el tamaño en 33%.
Estas fuentes están realmente geniales.
Extrañaba esa sensación de arte ASCII, así que la agregué en forma de banner a mi plataforma de blogs lmno.lol.
Unscii es excelente.
Hace tiempo hice un editor sencillo de arte Unscii que también se puede usar en móvil.
unicode-drawing-club.netlify.app
El favicon se ve casi igual, o muy parecido, al logo de The Grate Book of Moo.
Puede que en Hacker News sea una referencia demasiado de nicho, pero seguro alguien la reconocerá.