GNU/Linux >> Tutoriales Linux >  >> Linux

¿Convertir glifos TrueType a imagen PNG?

Python3

Dado que nadie ha abordado realmente la parte que especifica para C ++, Python, Ruby o Perl, esta es la forma Python3. Intenté ser descriptivo, pero puede simplificar para trabajar como lo necesita.

Requisitos:PIL (Almohada)

Módulo ImageDraw e ImageFont de PIL

# pip install Pillow
from PIL import Image, ImageFont, ImageDraw

# use a truetype font (.ttf)
# font file from fonts.google.com (https://fonts.google.com/specimen/Courier+Prime?query=courier)
font_path = "fonts/Courier Prime/"
font_name = "CourierPrime-Regular.ttf"
out_path = font_path

font_size = 16 # px
font_color = "#000000" # HEX Black

# Create Font using PIL
font = ImageFont.truetype(font_path+font_name, font_size)

# Copy Desired Characters from Google Fonts Page and Paste into variable
desired_characters = "ABCČĆDĐEFGHIJKLMNOPQRSŠTUVWXYZŽabcčćdđefghijklmnopqrsštuvwxyzž1234567890‘?’“!”(%)[#]{@}/&\<-+÷×=>®©$€£¥¢:;,.*"

# Loop through the characters needed and save to desired location
for character in desired_characters:
    
    # Get text size of character
    width, height = font.getsize(character)
    
    # Create PNG Image with that size
    img = Image.new("RGBA", (width, height))
    draw = ImageDraw.Draw(img)
    
    # Draw the character
    draw.text((-2, 0), str(character), font=font, fill=font_color)
    
    # Save the character as png
    try:
        img.save(out_path + str(ord(character)) + ".png")
    except:

        print(f"[-] Couldn't Save:\t{character}")

wget http://sid.ethz.ch/debian/ttf2png/ttf2png-0.3.tar.gz
tar xvzf ttf2png-0.3.tar.gz
cd ttf2png-0.3 && make
./ttf2png ttf2png -l 11 -s 18 -e -o test.png /path/to/your/font.ttf
eog test.png&

probablemente duplicado en parte de ¿Cómo puedo convertir glifos TTF a archivos .png en la Mac de forma gratuita?

imagemagick puede cumplir con este tipo de solicitudes, debería funcionar bien en Mac/Linux/Windows. :-)

convert -background none -fill black -font font.ttf -pointsize 300 label:"Z" z.png

si se necesita una conversión por lotes, tal vez pueda considerar usar un pequeño script de Ruby llamado ttf2png .


El PIL proporciona una API para esto, pero es fácil de usar. Una vez que tenga la imagen PIL, puede exportarla.


Linux
  1. Cómo convertir formatos de imagen en cPanel

  2. imagen de linux del portapapeles

  3. ¿Cómo fusionar imágenes en la línea de comando?

  4. Ubuntu:usar curl para descargar una imagen

  5. Conversión por lotes de PNG a JPG en Linux

4 formas de convertir por lotes su PNG a JPG y viceversa

¿Cómo convertir PNG, JPEG a WebP en Ubuntu? (También WebP a PNG y JPEG)

Cómo convertir un archivo PDF a una imagen PNG/JPG en Linux

Cómo comprimir archivos de imagen PNG en Linux

Cómo convertir PDF a imagen usando Gimp

Mejora automática de imagen para Ubuntu