-
[minilibx] Gérer le TTF
Bonjour,
J'ai un programme qui utilise la minilibx comme bibliothèque graphique en C sous Linux, et comme certains le savent déjà, elle fait pas grand chose cette lib de base :lol:
J'aimerais pouvoir gérer l'affichage de chaines de caractères sur cette fenêtre en choisissant ma police de caractère, ma taille, etc... Mais je ne sais pas vraiment par où commencer.
Avec cette lib je gère les "images" en insérant les pixel octets par octets dans un gros tableau. Du coup je suppose que les format de police de caractère vectoriels ça va être compliqué, dont les format TTF, OTF & co... Mais je n'ai jamais touché au vectoriel donc je sais encore moins comment ça marche. Et si c'est trop compliqué je peux m'orienter vers un format Bitmap. Mais dans tout les cas j'ai un peu de mal à trouver de la documentation technique, quelqu'un aurait-il déjà travaillé là-dessus?
Merci! Et bonne journée! ^^
-
Le dessin vectoriel défini la position des points par leurs coordonnées dans un espace arbitraire, et des formes géométriques entre ces points.
Une police vectorielle est un ensemble de glyphes, chacune définie comme un dessin vectoriel.
Tu as en gros trois choses à coder:
- la mise à l'échelle avec la taille en pixel à afficher. Ca, c'est pour l'essentiel une multiplication.
- tracer un segment entre deux points, avec l'épaisseur voulue (cherche raster, et rasterisation/rasterization)
- tracer un "segment" de bézier entre deux points, d'après les vecteurs de contrôle et l'épaisseur voulue.
Clairement, si les premiers points sont assez simples, le troisième va te demander un peu d'astuce, ou une bonne recherche d'algorithme.
Je pense que tu peux trouver un cours à ce sujet dans la section 2D-3D-Jeux de notre site.
-
Bonjour,
Je serai vous, j'utiliserai une police bitmap, c'est plus simple.
Pour le vectoriel, c'est "simplement" des fonctions mathématiques qui indique où afficher des pixels.
-
Merci de vos réponses :)
Je pensais effectivement me pencher sur l'utilisation de Font en Bitmap, par contrainte de temps je ne suis pas sûr de pouvoir essayer le vectoriel.
Je n'ai pas trouvé de cours sur le sujet dans la partie Cours du site (2D/3D Jeux, ainsi que C). Aurais-je mal cherché?
-
Tu n'en auras probablement pas sur les polices vectorielles, mais sur le dessin de primitives, peut-être.
Le bitmap sera beaucoup plus simple, après tout, chaque lettre, de chaque taille définie, est une image, qu'il suffit d'afficher.
-
J'oserai dire oui :aie:
-> http://nehe.developpez.com/tutoriel/13-police-bitmap/ (certes, c'est OpenGL, mais le principe est là).
Plus proche de ce que vous voulez faire : http://loka.developpez.com/tutoriel/sdl/font/ :)
-
Ah oui effectivement :aie:
Merci beaucoup, du coup si j'ai bien compris les fonts ne sont au final que des images, qu'il me reste à copier pixel par pixel :o Il me reste plus qu'à coder les quelques fonctions qui permettront d'aller chercher le Font correspondant, et l'affichage de l'image je le gère déjà donc c'est tout bon. En théorie x) Je met le post en résolu du coup. Et puis quand j'aurais fini et que ce sera fonctionnel je balancerai le code sur Github (des fois que des maso comme moi veulent aussi gérer les fonts sur la minilibx :p)
@pluche!
-
Vérifie que tu en as le droit.
Il me semble que la minilibx est un outil créé par ton école, dans le cadre de son enseignement.
-
A partir du moment où on le code nous-même (dans 90% des cas), on a le droit de faire ce que l'on veut. Certain ont re-crées des menus style gtk2 pour la minilibx ^^