Page 1 sur 1
[UDF] Font.au3: Charge et décharge les polices !
Posté : mer. 23 févr. 2011 22:16
par mano78170
Bonjour !
Cet UDF permet à AutoIt de charger et décharger des polices de caractère sans les installer

Très pratique pour les Apps portables !
Je vous laisse juge de mon travail !
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 24 févr. 2011 19:14
par timmalos
Merci pour ce partage.
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : lun. 15 août 2011 10:09
par MrDynoland
Petit UP pour te dire merci car c'est très pratique !
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : mer. 24 août 2011 18:48
par RL77LUC
Malheureusement ça ne fonctionne pas chez moi :/.
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : mer. 24 août 2011 18:56
par mano78170
Quel système utilise-tu ?
EDIT: Le bout de code pourrait aussi servir !

Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : mer. 24 août 2011 23:17
par RL77LUC
J'utilise Windows 7 x64. Pour le code j'ai fait ce qui étais le plus simple : inclus l'UDF et utilisé la fonction. Sauf que rien ne change ...
Juste une petite précision : C'est GDI+ qui est utilisé pour l'affichage du texte. Cela change quelque chose ?
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 25 août 2011 09:32
par mano78170
Pour l'OS pas de problème !
J'ai créer cet UDF sur un seven x64 aussi !
Alors c'est peut être une erreur de ma part, mais il se trouve que mon UDF n'utilise pas _GDIPlus_Startup()
alors que mes fonctions utilisent la bibliothèque Gdi32.dll...
Essaye avec _GDIPlus_Startup() !
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 25 août 2011 09:36
par RL77LUC
Ah non, je crois que nous nous sommes mal compris ^^. Je disais que dans mon script, j'utilisais GDI+ pour afficher le texte, pas dans votre UDF

.
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 25 août 2011 09:45
par mano78170
Justement !
Peut être que mon UDF à besoin de GDIPlus_Startup() pour fonctionner...
Essaye de le rajouter au début de l'UDF !
(Quand j'ai écrit l'UDF, je codais beaucoup avec GDI+, je ne me suis donc peut-être pas aperçu de mon oublis...)
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 25 août 2011 12:41
par RL77LUC
J'ai ajouté ça après l'include-once :
Rien n'a changé. J'ai également ajouté un Sleep(5000) pour laisser un peu de temps, toujours rien.
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 25 août 2011 13:39
par mano78170
Je vais faire quelques test de mon coté...
Montre moi toujours le bout de code, on ne sait jamais...
EDIT: Mauvaise nouvelle !
L'UDF ne fonctionne pas avec _GDIPlus_GraphicsDrawStringEx et _GDIPlus_GraphicsDrawString !!!
Je ne peut plus t'aider...

Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 25 août 2011 14:50
par RL77LUC
Ah :/. Tu n'aurais pas quelque chose pour installer les polices ? Car j'ai fait des recherches mais rien n'a fonctionné ....
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : jeu. 25 août 2011 19:33
par mano78170
Je vais chercher...
Peut être un filecopy dans %windir%\Fonts

Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : ven. 26 août 2011 09:26
par RL77LUC
Non, vu que quand on fait une copie vers ce dossier via Windows, automatiquement il enregistre la police, ce qui n'est pas le cas depuis AutoIt. J'ai vu pas mal de solutions, aucune n'a fonctionné :/.
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : ven. 26 août 2011 09:32
par mano78170
Que veut tu faire en écrivant ton texte avec GDI+ ?
Un label suivi de GUICtrlSetFont peut suffire...
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : ven. 26 août 2011 11:53
par RL77LUC
Je t'invite à consulter ce topic :
http://www.autoitscript.fr/forum/viewto ... 894#p53894
Tu comprendras mieux

.
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : ven. 26 août 2011 13:32
par mano78170
Bon !
Bonne nouvelle !
J'ai trouvé une dll qui permet de faire ça sans rebooter l'ordi !
Je code un petit exemple et je le mets sur le forum !
(ça devrait pas me prendre plus de 2 heures...

)
EDIT: Après plusieurs test, je crois que c'est foutu...

Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : ven. 26 août 2011 14:39
par RL77LUC
Oh zut ! Et avec reboot ? Je peux faire quoi ?
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : ven. 26 août 2011 14:45
par mano78170
Je crois que c'est pareil...
Je laisse quand même le code que j'avais commencer, on ne sait jamais...
► Afficher le texte
Code : Tout sélectionner
Func _InstallFont($FontFile, $FontName)
If FileExists($FontFile) = 0 Then
Return 1
EndIf
If FileCopy($FontFile, @WindowsDir & "\Fonts\", 1) = 0 Then
Return 2
EndIf
If @OSType = "WIN32_NT" Then
$RegVer = "Windows NT"
Else
$RegVer = "Windows"
EndIf
$LastSlash = StringInStr($FontFile, "\", 2, -1)
If $LastSlash <> 0 Then
$FontShortPath = StringRight($FontFile, StringLen($FontFile) - $LastSlash)
Else
$FontShortPath = $FontFile
EndIf
If StringUpper(StringRight($FontShortPath, 3)) = "TTF" Then
$FontName &= " (TrueType)"
EndIf
If RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\" & $RegVer & "\CurrentVersion\Fonts", $FontName, "REG_SZ", $FontShortPath) = 0 Then
Return 3
EndIf
Return 0
EndFunc ;==>_InstallFont
Re: [UDF] Font.au3: Charge et décharge les polices !
Posté : ven. 26 août 2011 18:42
par RL77LUC
Bah, laisse tomber, j'ai finit par me faire une raison et j'ai utilisé une police native. C'est dommage car ça rend moins bien, mais bon ...