stringtranslate.com

Unifuente GNU

GNU Unifont es una fuente de mapa de bits Unicode gratuita creada por Roman Czyborra. El Unifont principal cubre todo el Plano Multilingüe Básico (BMP). El compañero "superior" cubre partes importantes del Plano Multilingüe Suplementario (SMP). El complemento "Unifont JP" contiene kanji japoneses presentes en el conjunto de caracteres JIS X 0213 .

Está presente en la mayoría de los sistemas operativos y sistemas de ventanas gratuitos como Linux , XFree86 o X.Org Server , en algunos firmware integrados como RockBox , así como en Minecraft Java Edition . [2] El código fuente se publica bajo la licencia GPL-2.0 o posterior . La fuente se publica bajo la licencia GPL-2.0 o posterior con Font-exception-2.0 (incrustar la fuente en un documento no requiere que el documento esté bajo la misma licencia); y desde la versión 13.0.04, con doble licencia bajo SIL Open Font License 1.1 . El manual se publica bajo la licencia GFDL-1.3 o posterior .

Se convirtió en un paquete GNU en octubre de 2013. El mantenedor actual es Paul Hardy.

Estado

El plano multilingüe básico Unicode cubre 2 16 (65,536) puntos de código. De este número, 2.048 están reservados para uso especial como pares sustitutos UTF-16 y 6.400 están reservados para uso privado . Esto deja 57.088 puntos de código a los que se pueden asignar glifos. Algunos de estos puntos de código son valores especiales que no tienen un glifo asignado, pero la mayoría sí los tiene.

A partir de mayo de 2019 , GNU Unifont tiene una cobertura completa del plano multilingüe básico tal como se define en Unicode 12.1.0. Sus fuentes complementarias, Unifont Upper y Unifont CSUR, tienen una cobertura significativa del plano multilingüe suplementario y del registro Unicode ConScript , respectivamente.

Para la versión 12.1.02, se lanzó Unifont JP, que cubre 10.000 kanji japoneses presentes en el conjunto de caracteres JIS X 0213 , algunos de los cuales se encuentran en el Plano Ideográfico Suplementario . Se deriva de Jiskan16, una fuente de dominio público.

Cualquier colaborador puede agregar guiones incompletos.

La mayoría de los ideogramas CJK en la fuente han sido copiados de la fuente Unibit de WenQuanYi con permiso. [3] : Wen Quan Yi: Primavera de letras 

Unifont almacena sólo un glifo por punto de código Unicode imprimible. Debido a esto, no presenta las funciones OpenType necesarias para representar correctamente scripts con diseños complejos y no coloca correctamente los signos diacríticos combinados con letras base si estas combinaciones no están codificadas en Unicode en su forma precombinada; los formularios contextuales (incluidos los tipos de unión y los grupos subunidos) tampoco se manejan. Esto aumenta la cantidad de glifos a incluir en la fuente básica y actualmente no es posible (debido a las limitaciones actuales de OpenType) codificar todos los glifos necesarios para representar todas las combinaciones requeridas que pueden existir en un solo plano Unicode (esto también es cierto). para fuentes chinas que no pueden cubrir completamente todos los ideogramas actualmente codificados en dos planos, y también en un tercer plano). Por lo tanto, Unifont está destinado a usarse únicamente como fuente predeterminada de "último recurso", adecuada para escrituras alfabéticas simples o para representar caracteres aislados, pero hará que los textos reales sean difíciles o, a veces, imposibles de leer correctamente. Para representar correctamente las abugidas índicas (y los abjads semíticos si están escritos con sus signos diacríticos combinados opcionales), se deben especificar otras fuentes antes de esta, y se necesitarán fuentes adicionales para cubrir los ideogramas Han codificados en planos suplementarios, o para representar la mayoría de los históricos ( o minoritarios modernos) scripts no codificados en el BMP .

Distribución

Muestra en japonés y chino.

Unifont, a partir de la versión 15.0.6, está disponible en formatos TTF (y OTF ), BDF , PCF , .hex y PSF para la "compilación estándar". Sólo la compilación TrueType se divide en dos fuentes. [3]

Paul Hardy ha creado algunas "versiones especializadas" a pedido y las ha puesto a disposición. Estos incluyen un mapa de bits TTF (SBIT) con glifos vacíos llenos de valores de puntos de código para que los lean los usuarios de FontForge , un mapa de bits PSF con glifos para programadores de APL y versiones de un solo archivo en formato .hex de Roman (ver más abajo). [3] La organización real de la fuente consiste en archivos .hex más pequeños que se unen y se convierten a otros formatos en una compilación. [4]

Vectorización

Luis Alejandro González Miranda escribió scripts para vectorizar y convertir la fuente BDF al formato TrueType usando FontForge . [5] Paul Hardy ajustó estos scripts para manejar la combinación de caracteres (acentos, etc.) para las últimas versiones TrueType. [3] : Generación de fuentes TrueType 

formato .hexadecimal

El formato GNU Unifont .hex define sus glifos como 8 o 16 píxeles de ancho por 16 píxeles de alto. La mayoría de los glifos de escritura occidental se pueden definir con 8 píxeles de ancho, mientras que otros glifos (en particular, el conjunto chino-japonés-coreano o CJK) normalmente se definen con 16 píxeles de ancho.

El archivo unifont.hex contiene una línea para cada glifo. Cada línea consta de un punto de código hexadecimal Unicode de cuatro dígitos, dos puntos y la cadena de mapa de bits. La cadena de bits tiene 32 dígitos hexadecimales para un glifo de 8 píxeles de ancho o 64 dígitos hexadecimales para un glifo de 16 píxeles de ancho. El objetivo es crear un formato intermedio que facilite la adición de nuevos glifos.

La cadena de bits se convierte de hexadecimal a binario. Un 1bit en la cadena de bits binarios corresponde a un píxel "encendido". Los bits del píxel se almacenan línea por línea, de arriba a abajo, en orden big-endian .

Ejemplo

Esta es una fuente de ejemplo que contiene un glifo, para ASCII mayúscula 'A'.

0041:0000000018242442427E424242420000

El primer número es el punto de código Unicode hexadecimal, con un rango de 0000 a FFFF. El hexadecimal 0041 es el decimal 65, el punto de código de la letra 'A'. Los dos puntos separan el punto de código del mapa de bits. En este ejemplo, el glifo tiene 8 píxeles de ancho, por lo que la cadena de bits tiene 32 dígitos hexadecimales.

La cadena de bits comienza con 8 ceros, por lo que las 4 filas superiores estarán vacías (2 dígitos hexadecimales por byte de 8 bits, con 8 bits por fila para un glifo de 8 píxeles de ancho). La cadena de bits también termina con 4 ceros, por lo que las 2 filas inferiores estarán vacías. Está implícito en esto que el descendente de fuente predeterminado está 2 filas por debajo de la línea base y la altura de la mayúscula está 10 filas por encima de la línea base. Este es el caso de GNU Unifont con glifos latinos.

Con el tiempo, se han creado varias formas de manejar el formato. La primera forma es el hexdrawscript Perl, que convierte la cadena en una representación artística ASCII para editarla en un editor de texto. Otro método implica generar una cuadrícula de imágenes de mapa de bits para una gama completa de puntos de código y trabajar con un editor de imágenes. En cualquier caso, los glifos editados se vuelven a convertir posteriormente en archivos .hex para su almacenamiento. [4]

Historia

Roman Czyborra creó el formato Unifont en 1998 [6] después de esfuerzos anteriores que datan de 1994.

En 2008, Luis Alejandro González Miranda escribió un programa para convertir Unifont en una fuente TrueType. Paul Hardy lo modificó más tarde para admitir la combinación de caracteres en la versión TrueType.

Más tarde, Richard Stallman publicó Unifont como un paquete GNU en octubre de 2013, con Paul Hardy como su mantenedor.

Ver también

Referencias

  1. ^ Paul Hardy (29 de octubre de 2023). "Lanzamiento de Unifont 15.1.04" . Consultado el 2 de noviembre de 2023 .
  2. ^ "Minecraft 1.20 Prelanzamiento 6". Sitio oficial de Minecraft . 25 de mayo de 2023 . Consultado el 25 de junio de 2023 .
  3. ^ abcd GNU Unifont Glyphs, archivado desde el original el 12 de noviembre de 2013 , consultado el 16 de julio de 2008
  4. ^ ab "Utilidades Unifoundry Unicode". unifoundry.com . Archivado desde el original el 4 de abril de 2019 . Consultado el 16 de abril de 2019 .
  5. ^ GNU Unifont en formato TrueType, archivado desde el original el 1 de febrero de 2016
  6. ^ "Página GNU Unifont de Roman Czyborra". Archivado desde el original el 27 de agosto de 2011 . Consultado el 3 de junio de 2009 .

enlaces externos