Iosevka ( IPA: [ˌjɔˈseβ.kʰa] ) [2] es un tipo de letra de programación monoespacial , construido declarativamente utilizando software de generación de tipo de letra personalizado , y con énfasis en la compatibilidad con caracteres CJK . [3] Está disponible bajo una licencia FOSS . Las versiones predeterminadas están disponibles en dos estilos de siete pesos cada uno y vienen con versiones en cursiva y oblicua. Sin embargo, el tipo de letra se diseñó para ser fácilmente configurable mediante la edición de archivos de configuración textuales de TOML en el software de generación personalizado.
Categoría | Familia tipográfica monoespaciada |
---|---|
Clasificación | Fuente monoespaciada Sans serif Slab serif Fuente Unicode |
Diseñador (s) | Belleve Invis |
Fecha de creacion | 2015 |
Fecha de publicación | 19 julio 2015 |
Licencia | Licencia de fuente abierta SIL |
Diseño basado en | PragmataPro , PF DIN Mono, M + |
Sitio web | typeof |
Última versión de lanzamiento | 7.1.1 (20 de junio de 2021) [1] |
El repertorio de caracteres cubre una parte significativa del plano multilingüe básico de Unicode y algunos caracteres del bloque de suplemento alfanumérico adjunto.
Historia
La primera versión de Iosevka, luego denominada codexHW , se creó el 19 de julio de 2015, [4] y se renombró a Iosevka tres días después. [5] Es el producto del tipógrafo chino Renzhi Li, usando el seudónimo romanizado Belleve Invis. [6]
Características
Iosevka es una fuente condensada , con caracteres CJK de doble ancho, que utiliza un cero con barra de forma predeterminada. Contiene muchas ligaduras, especialmente adecuadas para lenguajes de programación funcionales como Coq , Idris y Haskell . La variante Iosevka Term está diseñada para soportar mejor los terminales y la variante Iosevka Fixed omite las ligaduras. También viene con características OpenType que incluyen conjuntos estilísticos y variantes de caracteres.
Proceso de construcción
Una característica importante de Iosevka es que se genera a partir de archivos de datos declarativos mediante un proceso de compilación de varias fases . [7] Originalmente fue creado como un tipo de letra que podría usarse con un paquete llamado node-sfnt :
Mientras mantenía node-sfnt [ sic ], una biblioteca de bajo nivel utilizada para analizar y generar TTF en Node.JS , decidí hacer una fuente de programación usándola. Iosevka se genera a partir de un programa escrito por mí, así como un conjunto de parámetros, bastante como Computer Modern , pero de una manera más moderna. [...] [C] crear una fuente en realidad necesita un lenguaje específico de dominio , como el lenguaje METAFONT de Knuth . Con el sistema de macros de PatEL, puedo convertir fácilmente PatEL en un DSL sin dejar de tener toda su capacidad de programación. El PatEL está en otro repositorio que creé, aunque aún no está documentado. Su sintaxis es básicamente un Lisp con mejoras que reducen los corchetes (mediante el uso de dos puntos y sangrías) y admiten operadores infijos . [8]
A partir de 2018, los archivos de datos todavía se escriben en el lenguaje de ejemplo Patrisika, también conocido como PatEL. [9] PatEL es un formato de expresión-s alternativo algo parecido al wisp de SRFI 119. [10] Los datos de PatEL luego se convierten en SpiderMonkey AST usando otra biblioteca llamada Patrisika. [11] El AST luego se convierte en JavaScript usando Escodegen. [12]
Referencias
- ^ "Versión 7.1.1" . 20 de junio de 2021 . Consultado el 21 de junio de 2021 .
- ^ ¿Cómo se pronuncia "Iosevka"?
- ^ "Debido a que muchos de mis amigos y yo vivimos en China y Japón, decidí hacer mi fuente exactamente de la mitad de ancho, para que sea compatible con los caracteres Han (exactamente 1 em de ancho)". - Un tipo de letra de programación
"¿Sabes que todas las letras en Iosevka tienen EXACTAMENTE 1/2 em de ancho? Para los usuarios ASIÁTICOS, puedes usar ESTO y preservar tu alineación perfecta". - be5invis - ^ Creado en el compromiso 075cd395d1457e69
- ^ El nombre se cambió en la confirmación 3326d7ab3704fd29
- ^ typeof.net
- ^ Comentario del autor
- ^ Un tipo de letra de programación
- ^ PatEL
- ^ SRFI 119
- ^ Patrisika
- ^ Escodegen
enlaces externos
- Lanzamientos oficiales de Iosevka, github.com
- Discusión sobre Hacker News (2017) , news.ycombinator.com
- Discusión sobre Reddit (2017) , reddit.com
- Paquete Iosevka Term para Arch Linux , aur.archlinux.org
- Reseña de Luc Devroye , luc.devroye.org