
Una fuente china experimental de estilo Fang Song generada con el rastreo de esqueletos y PIX2PIX, con glifos basados en CWTEXFANGSONG. La fuente está optimizada para la composición tipográfica vertical. A continuación se muestra una muestra:


La fuente contiene aproximadamente 13,000 glifos, principalmente para chinos tradicionales.
Creé la fuente para uno de mis propios proyectos. La fuente no es perfecta, pero, sin embargo, tiene muchas características ineterianas; Por lo tanto, estoy compartiendo el archivo de fuentes y los programas utilizados para generarlo.
Descargue la fuente directamente en dist/tkfangsong.ttf.
El nombre de la fuente es 剔骨仿宋 (Thek-Kwot-Fang-Song, llamado así porque el algoritmo que la creó se asemeja a la "desacuerdo"). Tiene licencia bajo la licencia de fuentes abiertas SIL. Si desea acreditar al autor, puede usar mi nombre 黃令東/黄令东, o la romanización "Lingdong Huang".
La fuente se basa en las elegantes formas de Cwtexfangsong para agregar más aspecto hecho a mano que recuerda a la estética de los viejos libros impresos de madera.
La fuente tiene una proporción más amplia en comparación con el CWTEXFangsong original, y se amplía aún más hacia la parte inferior, para acentuar los trazos de acabado. El "Centro de Misa" también se mueve hacia abajo:

Arriba a la derecha está una visualización de la función base utilizada para deformar el esqueleto.
La altura de un glifo se ajusta también en función de su complejidad vertical, calculada con el operador Sobel y tomando el máximo de cada fila de píxeles.

Muchas fuentes están optimizadas para la composición tipográfica horizontal y, como tal, cuando se organizan verticalmente, el centro de masa cambia a la izquierda y a la derecha, dando un aspecto irregular. Esta fuente intenta resolver el problema calculando los centroides (a través de momentos de imagen) y alineándolos.

La fuente tiene texturas ricas. Algunos de ellos son artefactos producidos por PIX2PIX Network; Otros son ruidos ajustados agregados deliberadamente.

Cabe señalar que, como un proceso automatizado, no siempre produce resultados óptimos; Algunos personajes pueden terminar luciendo feo o usar el movimiento caligráfico incorrecto para ciertos golpes; Para algunos calígrafos, algunos golpes pueden parecer demasiado "débiles" para sus gustos.
El eje medial (esqueleto) se calcula para cada representación de trama de los glifos en la fuente original. (La fuente de Hershey resultante se puede encontrar en ./dist/cwfs64j.hf.txt)

Pares de imágenes: la representación original frente a los esqueletos se envían a PIX2PIX para entrenamiento. PIX2PIX aprende la correspondencia y se vuelve capaz de convertir esqueletos a glifos.
Se generan nuevos esqueletos deformando los originales de acuerdo con mi gusto (cuestionable).

Todos los nuevos esqueletos se alimentan a la red entrenada para obtener los nuevos glifos. Los nuevos glifos están deformados en estructura, pero el peso y la forma de los trazos aún se ven legítimos.
Se aplica algo de postprocesamiento, y Potrace se usa para volver a vectorizar los glifos. Finalmente, FontForge se usa para crear un archivo TTF.
Tenga en cuenta que para usar la fuente, simplemente puede descargarla aquí. Estas secciones son para reproducir los resultados desde cero.
Los scripts utilizados para construir la fuente están incluidos en el workflow/ carpeta. Tenga en cuenta que hacer la fuente es un proceso bastante involucrado (especialmente la parte de la capacitación de la red neuronal). También es posible que deba modificar los scripts para que se ajusten a la configuración de su sistema/carpeta, pero aquí hay algunos pasos difíciles:
skel.py > CWFS64.HF.TXT , luego join.py > CWFS64J.HF.TXTpairs.py para leer CWFS64J.HF.TXT y emitir una carpeta que creará.warp.py > CWFS64W3.HF.TXT . Modifique pairs.py para leerlo y crear una carpeta de salida como antes. Ejecutar pairs.py .retouched/ .refine.py para leer desde las imágenes y las carpetas de imágenes retocadas, cree una carpeta de salida fine/ para ella y ejecute el script.trace_all.py .forgefont.py para crear un TTF a partir de SVG generados en el paso anterior.preview.py > index.html , o ver previamente el esqueleto con preview_hf.py > index.html .Un PDF que contiene todos los glifos se puede encontrar aquí. Si encuentra que esta fuente no está mal, también puede disfrutar de Qiji-Font, una reproducción más auténtica de un tipo de letra histórico.