Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » gint font factory
Kikoodx Hors ligne Labélisateur Points: 2705 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: 129 Défis: 0 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)
J'ai beacoup trop de projets, nyohoho!
Dark storm En ligne Labélisateur Points: 11537 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 Labélisateur Points: 2705 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.
Protip
Ne me remerciez pas
Breizh_craft En ligne Modérateur Points: 1103 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 En ligne Labélisateur Points: 11537 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 Hors ligne Rédacteur Points: 809 Défis: 0 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...
Hop là... toi qui lis cette signature... tu pourrais aussi aller voir mon projet Elphorina, un jeu de RPG-building !
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 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
Kikoodx Hors ligne Labélisateur Points: 2705 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)
Protip
Ne me remerciez pas

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 v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 75 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