Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » gint font factory
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

gint font factory

Posté le 15/04/2021 14:24

Salut ! Pour mon projet secret, j'ai eu besoin de créer plusieurs polices custom à partir de polices TrueType. Au lieu de faire ça à la main, j'ai hacké un script Python qui fait très bien le travail. Voici quelques images obtenues avec l'outil, et utilisables dans vos programmes gint (merci fxconv).


Dina



(:


Vous pouvez télécharger le script sur le dépôt Gitea :
https://gitea.planet-casio.com/KikooDX/gff
Les dépendances sont indiquées dans le README.

Le script écrit sur STDOUT des métadonnées fxconv.

Exemple d'utilisation complet.
J'utilise le pack de polices CC0 de Kenney.nl.

> gff '/home/kdx/.fonts/Kenney Future Narrow.ttf' 16 kenney_future_narrow.png
kenney_future_narrow.png:
  type: font
  charset: print
  grid.size: 13x16




Fichier joint


Loieducode Hors ligne Membre Points: 170 Défis: 6 Message

Citer : Posté le 15/04/2021 14:27 | #


Sympa ca, comme ca je pourrais utiliser du Curse Casual dans mes projects(oui je sais je suis un A Hat in Time fanboy)
Trickswriting(sort le 1er avril):
   90%
Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 15/04/2021 15:10 | #


C'est vraiment cool ça

Par contre j'espère que y'a une condition if font_name == "Comic Sans MS": quit()

Est-ce que ça marche aussi pour l'ascii étendu, et éventuellement l'UTF-8 ?
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 15/04/2021 15:15 | #


Merci

Dark storm a écrit :
Est-ce que ça marche aussi pour l'ascii étendu, et éventuellement l'UTF-8 ?

Le script ne supporte ni l'ASCII étendu ni l'UTF-8. Si vous avez des références sur lesquelles je peux me baser, ça devrait être rapide à ajouter.
ouais ouais
Breizh_craft Hors ligne Modérateur Points: 1157 Défis: 7 Message

Citer : Posté le 15/04/2021 15:19 | #


Dark storm a écrit :

Par contre j'espère que y'a une condition if font_name == "Comic Sans MS": quit()


T’as pas capté la seconde image ?
Breizh.pm – Un adminsys qui aime les galettes.
Dark storm Hors ligne Labélisateur Points: 11631 Défis: 176 Message

Citer : Posté le 15/04/2021 15:20 | #


Si, justement.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Potter360 En ligne Rédacteur Points: 1218 Défis: 2 Message

Citer : Posté le 15/04/2021 18:13 | #


Bonjour !
Lorsque je lance cette commande :
python3 gff "modern20.ttf" 12 modern20.png

j'obtiens cette erreur :
Traceback (most recent call last):
  File "gff", line 24, in <module>
    bbox = list(font.getbbox(chr(32 + i)))
AttributeError: 'FreeTypeFont' object has no attribute 'getbbox'


J'ai bien Python3 et Pillow à jour...
Globalement, coder. Mal, mais coder.
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 15/04/2021 21:18 | # | Fichier joint


Wow c'est... c'est magnifique putain. o_o

Il m'a vraiment fallu que 2 minutes pour sortir cette beauté.

% yay -S terminus-font-ttf
% ./gff /usr/share/fonts/TTF/TerminusTTF.ttf 12 terminus12.png
terminus12.png:
  type: font
  charset: print
  grid.size: 6x12


Honnêtement tu viens de passer les fonts custom de gint au niveau supérieur en claquant des doigts. J'étais tellement concentré sur les polices personnalisées que j'ai pas pensé à ça. Bien vu :o
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 16/04/2021 00:29 | #


Merci, j'espère que ça aidera et inspirera de meilleurs outils si besoin il y a

Je trouve les résultats très sympas, j'ai mis Kenney Future Narrow (dernière image du post principal) sur ma calto et c'est magnifique.

Masséna a bien fait de me dire que ça pourrait vous intéresser, le truc me paraissait tellement banal que j'allais le mettre dans le dépot où je met mes scripts randoms sans rien dire ici x)
ouais ouais
Mb88 Hors ligne Labélisateur Points: 944 Défis: 3 Message
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 22/06/2022 12:23 | #


Je sais pas, ça utilise PIL.ImageFont mais seules les polices TrueType et OpenType sont mentionnées. Cela dit avec un peu de test et/ou conversion ça devrait passer.
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 94 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd