cargada XL
Redes de fuentes chinas. Corte la fuente de acuerdo con la frecuencia de la palabra y realice la carga perezosa a través de la parte delantera. No se requiere soporte del programa de backend.
- Archivo de frecuencia de palabras (Word-Frequency.CSV) Fuente del archivo de demostración: Ministerio de Educación
- Enumera las fuentes de conversión. Lugares en las fuentes/ directorio, con una estructura no convencional. Busca automáticamente todos los archivos de finalización .TTF.
- Para cada fuente:
- Lista todos los personajes compatibles
- Entre ellos, quinientos caracteres, signos de puntuación, letras en inglés, números, etc. se usan comúnmente como el primer archivo de fuentes.
- A continuación, si los caracteres restantes aparecen en la tabla de frecuencia de palabras, se formará un archivo de caracteres de acuerdo con cada cien caracteres de la frecuencia de la palabra.
- Los caracteres no correlacionados restantes se forman en un archivo de fuentes para cada cien caracteres.
- Todos los archivos de fuentes se colocan en el mismo directorio, y los nombres de los archivos están separados por números.
- Código de palabras de salida/Tabla de correspondencia de número de archivo de fuente para una verificación rápida del front-end.
Uso / compilador
Este proyecto usa NodeJS. Primero instale NodeJS y NPM, y use la instalación de NPM para construir el directorio Node_Modules. Instrucciones de referencia:
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
npm install
Organice las fuentes que desea convertir en las fuentes/ directorio, con la estructura del directorio sin restricciones. El programa escaneará automáticamente todos los archivos de fuentes.
- Actualmente, solo TTF se come ~ frío.
Preparar el archivo de fuente de palabras de palabra.csv
Ejecutar el convertidor compile.sh
El archivo de fuentes se emite en los activos/ directorio.
Uso / frontend
Método de uso básico:
xfl.load("http://path/to/scattered/font/folder/", options, function(font) {
font.sync(stringToDisplay);
})
Ejemplos de fuentes de carga dinámica basadas en contenido instantáneo:
/* assume we have "textarea" variable to be an input box accepting user input */
xfl.load("http://path/to/scattered/font/folder/", options, function(font) {
textarea.addEventListener("keyup", function() {
font.sync(textarea.value);
});
})
Si no planea hacer su propio archivo de fuentes, puede usar un conjunto de archivos de fuentes que preparamos a través de las páginas GitHub. La ubicación de la biblioteca del proyecto está aquí. Si desea usarlo, puede usar este sitio web: http://plotdb.github.io/xl-fontset/alpha/<font name>, por ejemplo:
xfl.load("http://plotdb.github.io/xl-fontset/alpha/瀨戶字体", function(font) { ...
Cambie "<Nombre de fuente>" a la fuente que desea usar. Aquí se puede encontrar una lista de fuentes compatibles actualmente, incluidas las fuentes Wang Hanzong 42, tallas de piedra, Station Cool, CWText-Q, Fonts Seto, etc., un total de 57 fuentes.
Cabe señalar que todavía hay algunos problemas al convertir las fuentes, lo que puede conducir a personajes faltantes en algunas fuentes. Además, no todas las fuentes contienen caracteres chinos completos, úselas a su propia discreción.
Opciones:
- Fontname: nombre utilizado en la familia de fuentes. El valor predeterminado es el nombre de base de la URL.
- (TBD) Texto: archivos de precarga que contienen texto en esta opción.
Dirección futura
- Optimización de transmisión (optimización)
- Teniendo en cuenta la correlación de los caracteres, el espacio de los caracteres se puede crear a través de mochi y corpus específico, y agrupar caracteres relacionados como la base para cortar el algoritmo de agrupación (como la agrupación de K-means), reduciendo así la cantidad de archivos que deben cargarse.
- Optimizar más el tamaño del archivo.
- Proporcione módulos de archivo Nginx y Apache, permitiendo que los navegadores obtengan los archivos necesarios a través de una sola solicitud HTTP (por ejemplo, obtenga https: // ruta/a/font/1+2+3+4)
- Problemas de calidad (calidad)
- La parte de la palabra faltante se puede usar para generar el aprendizaje en línea utilizando el estilo adversario y llenarlo automáticamente.
- La red de generación adversaria mencionada anteriormente también se puede utilizar para ayudar en la generación de nuevas fuentes.
- otro
- Establezca la parametrización y, al crear archivos de fuentes, puede personalizar el conjunto de fuentes de acuerdo con sus necesidades mediante la configuración.
- Google Font ha implementado técnicas similares para cargar fuentes chinas. Ver:
- https://developers.google.com/web/fundamentals/performance/optimizing-content-eficiency/webfont-optimization
- Ejemplo de CSS:
- https://fonts.googleapis.com/css?family=zhi-mang-xing&display=swap
LICENCIA
- Archivos de fuentes: todos los archivos de fuentes curados se colocan por separado en otro repositorio (XL-Fontset) y tienen licencia GPL o SIL-deL. (OK para uso comercial)
- Los códigos de origen se lanzan bajo la licencia MIT.