es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para convertir todos los glifos de su gran conjunto de datos de fuentes de Google en el formato de archivo ttf en imágenes individuales, puede modificar o crear un nuevo script que recorra todos los archivos ttf en el conjunto de datos y utilice una biblioteca de fuentes para renderizar los glifos como imágenes.

    Una biblioteca de fuentes popular para Python es Pillow (una bifurcación de PIL), que puede utilizar para crear imágenes a partir de texto. Aquí hay un fragmento de código de ejemplo que utiliza Pillow para renderizar los glifos como imágenes y guardarlos como archivos PNG:

    from PIL import Image, ImageDraw, ImageFont
    import os
    
    ttf_folder_path = "/ruta/a/carpeta/ttf"
    output_folder_path = "/ruta/a/carpeta/salida"
    
    # recorra todos los archivos ttf en la carpeta
    for filename in os.listdir(ttf_folder_path):
        if filename.endswith(".ttf"):
            font_path = os.path.join(ttf_folder_path, filename)
            font = ImageFont.truetype(font_path, size=100) # ajuste el tamaño de la fuente según sea necesario
    
            # recorra todos los códigos de glifo (suponiendo que sean contiguos)
            for glyph_code in range(32, 127): # rango ASCII
                char = chr(glyph_code)
                width, height = font.getsize(char)
                image = Image.new("RGBA", (width, height), (255, 255, 255, 0))
                draw = ImageDraw.Draw(image)
                draw.text((0, 0), char, font=font, fill=(0, 0, 0))
                image.save(os.path.join(output_folder_path, f"{filename}_{glyph_code}.png"))
    

    Este código asume que todos los archivos ttf están en la misma carpeta (ttf_folder_path) y que las imágenes de salida deben guardarse en una carpeta separada (output_folder_path). Recorre cada archivo ttf, crea un objeto ImageFont utilizando el método truetype(), y luego recorre todos los códigos de glifo (suponiendo que sean contiguos en las fuentes) para crear una imagen para cada glifo utilizando los métodos ImageDraw y text(). Finalmente, guarda cada imagen como un archivo PNG con un nombre de archivo que incluye el nombre original del archivo ttf y el código de glifo.

    Puede modificar este código según sus necesidades específicas, por ejemplo, ajustar el tamaño de la fuente, cambiar el formato de imagen de salida o seleccionar un subconjunto de códigos de glifo para renderizar.

Comments are closed.