Page 1 sur 1

Fichier TTF en datasection

Publié : jeu. 13/déc./2018 0:32
par Ekim
Bonsoirs à tous

Je fais face à un nouveau problème, je m'explique, est-il possible de charger en Datasection un "font" quelconque afin de charger directement dans l'un de gadget de la même façon que l'on charge une image ou un son en ("CatchImage/CatchSound");
ou si vous avez une méthode façon bricolage en tête, je suis preneur)))

merci d'avance les kings ;)

Re: Fichier TTF en datasection

Publié : jeu. 13/déc./2018 7:48
par djes
Il n'y a pas de commande catchfont(), mais rien ne t'empêche de sauvegarder le fichier inclus en binaire dans un dossier de ton choix (temp...) et de le charger normalement avec un loadfont()

Re: Fichier TTF en datasection

Publié : jeu. 13/déc./2018 8:32
par boby
Bonjour, la doc comprend un exemple de ce que tu veux faire, par fois il est bon de prendre 30 secondes pour la lire un peut.

Re: Fichier TTF en datasection

Publié : jeu. 13/déc./2018 9:08
par Christophe
Bonjour,

Il y a cette astuce avec les API

Code : Tout sélectionner

OpenLibrary(0,"gdi32.dll")
CallFunction(0,"AddFontMemResourceEx",?Font,?End_Font-?Font,0,@"1")
CloseLibrary(0)


LoadFont(0,"bombing",28, #PB_Font_HighQuality) ; Mettre ici le nom de la font "clique droit sur la font et apercu" non pas le nom du fichier

OpenWindow(0,0,0,200,80,"Font", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
TextGadget(0,50,20,80,40,"Essai") : SetGadgetFont(0,FontID(0))

Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow

DataSection
  font:
  IncludeBinary "c:\temp\bombing.ttf"  ; Mettre ici ton fichier ttf ou otf
  end_font:
EndDataSection

Re: Fichier TTF en datasection

Publié : jeu. 13/déc./2018 21:27
par Ekim
boby a écrit :Bonjour, la doc comprend un exemple de ce que tu veux faire, par fois il est bon de prendre 30 secondes pour la lire un peut.
C'est justement cet exemple précisément qui m'a donné l'idée d'un tel projet, celui d’éviter de charger un fichier externe et encore moins de créer un fichier en extérieur pour ensuite le recharger :lol:

mais je ne devrais pas être aussi dur avec @body :lol: car il est vrai que j'aurai peut être dû pour le coup être moins subtile et précisé (sans) rappelé la réelle fonction d'une "DataSection" en excluant la possibilité d'inclure une URI histoire d'être 100% en "interne" et d'y exploiter toute la capacité d'une tel fonction :lol:


@Christophe, effectivement ton idée est très intéressante car on peut réellement y bricoler quelques chose, mais je salut surtout ta réel motivation à faire avancer le schmilblick car enfin de compte, on ne retient que le concret et non le superficiel

Re: Fichier TTF en datasection

Publié : jeu. 13/déc./2018 21:51
par boby
Si ça peut t'aider, il y a ce sujet qui pourait peut être t'interesser sur le forum US

Re: Fichier TTF en datasection

Publié : jeu. 13/déc./2018 21:53
par Ekim
Impeccable sa fonctionne), @Christophe t'es le meilleur et très utile à la communauté "Basicienne" si je puis dire :lol:
malheureusement le code est trop long pour le partager ici du fait du fichier inclut en Quad en DataSection :oops:

du coup, est il possible d'inclure une lib en DataSection encore une fois pour ensuite la faire fonctionner sans l'écrire nullpart sur le disque??

Je sais, vous allez me prendre pour un maniaque de "Data" sauf que si j’insiste c'est qu'il y a un réel avantage et un atout qui serait dommage de ne pas exploiter pleinement :lol:

Re: Fichier TTF en datasection

Publié : jeu. 13/déc./2018 21:59
par Ekim
@boby

oui c'est bon j'ai pu bricoler l'idée du grand @Christophe, merci quand même pour ta dévotion :wink: