FreeType es una biblioteca de desarrollo de software que se utiliza para representar texto en mapas de bits y que brinda soporte para otras operaciones relacionadas con fuentes. El motor de rasterización de fuentes FreeType es un software gratuito y de código abierto con el código fuente con doble licencia tipo BSD y GPL . FreeType admite varios formatos de fuente, incluidos TrueType , Type 1 y OpenType . [5]
El motor de renderizado FreeType fue iniciado en 1995 por David Turner con la intención de proporcionar soporte de fuentes TrueType para el sistema operativo OS/2 , [1] incluyendo un intérprete para manejar el código de bytes TrueType. Escrito originalmente en el lenguaje de programación Pascal , fue portado en 1997 por Robert Wilhelm a C. [3] [6] [7]
FreeType 1 solo admitía el formato de fuente TrueType, pero incluía una extensión para admitir funciones de diseño de texto OpenType .
La versión 2.0 de FreeType fue una reescritura completa para hacerlo más modular. FreeType 2 brindó soporte para más formatos de fuentes y un código fuente evolucionado que, según los desarrolladores, era "más simple y potente". [8] FreeType 2 no es compatible con FreeType 1, pero los desarrolladores afirmaron que pasar de FreeType 1 a FreeType 2 plantea poca dificultad. [8] Sin embargo, como el procesamiento de diseño de texto no era un objetivo de FreeType 2, la funcionalidad de diseño de texto OpenType de FreeType 1 se eliminó en FreeType 2. En el texto Pango se utiliza una forma muy evolucionada de la funcionalidad de diseño de texto OpenType de FreeType 1. biblioteca de diseño. El proyecto HarfBuzz está evolucionando aún más esa funcionalidad con una reescritura completa ofrecida como una biblioteca independiente con una licencia menos restrictiva que la licencia de Pango. [9]
En 1999, Apple Incorporated informó al proyecto Freetype que FreeType estaba infringiendo patentes relacionadas con las sugerencias de fuentes TrueType . Después de eso, Freetype desactivó de forma predeterminada o solucionó las tecnologías relacionadas con patentes. Por lo tanto, varios proyectos de código abierto, como FreeBSD o Linux , incluían FreeType con la funcionalidad de sugerencia de fuentes deshabilitada o degradada para evitar la emisión de patentes de software propiedad de Apple Inc. [10]
Desde mayo de 2010, todas las patentes de software en conflicto relacionadas con la sugerencia de fuentes han expirado, [10] permitiendo que la sugerencia de fuentes TrueType de FreeType se utilice en código abierto. Muchos de los sistemas operativos que deshabilitaron el renderizador ahora le dan al usuario la opción de habilitarlo. En Fedora, freetype-freeworld se cambió del repositorio propietario yum al repositorio gratuito. [11]
Desde agosto de 2019, todas las patentes de software en conflicto relacionadas con el filtrado de color ClearType han expirado, [10] lo que permite a FreeType utilizar el método de filtrado de color ClearType en 2.10.3.
En 2013, Adobe donó un motor de renderizado de formato de fuente compacto al proyecto FreeType que lo integró y lo convirtió en el predeterminado con la versión 2.5. [12] [13]
FreeType se utiliza como renderizador de fuentes en Android , ChromeOS . [14] Apple usa FreeType en iOS [14] y macOS [15] junto a Apple Advanced Typography . En 2007, Sun Microsystems pasó de utilizar un rasterizador de fuentes patentado a utilizar FreeType en el kit de desarrollo OpenJDK Java . [16] En Windows , proyectos como gdipp [17] y MacType [18] tienen como objetivo anular el renderizador del sistema con FreeType. FreeType también se utiliza como renderizador de fuentes en ReactOS . [19]
Además de ser utilizado por los principales sistemas de escritorio de software libre, FreeType se ha utilizado como motor de rasterización para algunos videojuegos modernos , [20] [21] [22] y Opera para Wii . [23] Sony envía FreeType con sus consolas PlayStation 3 , [24] PlayStation 4 , [25] y PlayStation Vita [26] .
Si bien el núcleo principal de ReactOS se construye desde cero, tiene algunas dependencias del software y protocolos existentes.
Utiliza partes de Wine, redes en forma de lwIP, USB de Haiku, así como FreeType, Mesa3D y UniATA.