silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
| Sujet: Charger et utiliser une Fonte(Police) sans l'installer Mer 9 Déc 2015 - 18:38 | |
| Bonjour à tous, Voici un petit utilitaire qui permet de charger et d'utiliser des ou une Fonte sans avoir à l'installer, du moment qu'elle est présente dans le répertoire de votre projet. Pour tester, j'en ai técharger une du net. Ensuite il faut l'ouvrir(doubleclicker dessus) pour connaitre le nom de la police qu'il contient afin de renseigner la sub. Ce code ne fonctionne pas avec la version 0927i2, à cause d'un bug - Code:
-
' Panoramic 0.9.26 ' ' ' Charger et utiliser une Fonte sans l'installer ' ' ' V1.0 ' ' Silverman, décembre 2015
' Info sur la fonction: ' https://msdn.microsoft.com/fr-fr/library/windows/desktop/dd183326%28v=vs.85%29.aspx
' ' Format reconnu :fon, fnt, ttf, ttc, fot, otf, mmm, pfb, pfm '
dim Fonte$,FonteFile$ dim root$
' Pour tester, il faut utiliser une Fonte persnnelle ou ' la télécharger, et l'ouvrir pour regarder son nom. ' root$=dir_current$+"\" Fonte$="lcdd":FonteFile$=root$+"lcdd.ttf"
' charge la Fonte en mémoire Fonte_LOAD(FonteFile$ , Fonte$)
' affichage Font_name 0,Fonte$ : Font_size 0,24 print Fonte$ print_locate 0,100 : print "Voix ambigue d'un coeur..." print_locate 0,200 : print "1234567890"
END sub Fonte_LOAD(FonteFileName$ , FonteName$) dim_local obj,i,found,ptr%,result%
if file_exists(FonteFileName$)=0 then message "fichier Fonte pas trouvé!" : exit_sub ptr%=0
' verifie si la Fonte existe obj=0 repeat obj=obj+1 until object_exists(obj)=0 DLIST obj : Font_NAMES_LOAD obj i=0 : found=0 repeat i=i+1 if lower$(item_read$(obj,i))=lower$(FonteName$) then found=1 until found=1 or i=count(obj) delete obj
' Installe la nouvelle Fonte if found=0 dll_on "Gdi32" poke adr(ptr%),peek(adr(FonteFileName$)) poke adr(ptr%)+1,peek(adr(FonteFileName$)+1) poke adr(ptr%)+2,peek(adr(FonteFileName$)+2) poke adr(ptr%)+3,peek(adr(FonteFileName$)+3) result% = dll_call1("AddFontResourceA",ptr%) dll_off else ' si elle existe déjà, on informe ' message "la Fonte existe déjà!" end_if end_sub
| |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mer 9 Déc 2015 - 18:45 | |
| Cà c' est une idée qui me plait. Bravo et merci Silverman. | |
|
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: Charger et utiliser une Fonte(Police) sans l'installer Mer 9 Déc 2015 - 21:45 | |
| merci silverman pour des programmes de jeu d'échec ou autre qui utilise des polices introuvables continu | |
|
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Charger et utiliser une Fonte(Police) sans l'installer Mer 9 Déc 2015 - 23:41 | |
| Super, merci Silverman pour tous tes trucs Tu nous trouves pas mal de super astuces | |
|
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Charger et utiliser une Fonte(Police) sans l'installer Jeu 10 Déc 2015 - 20:09 | |
| @Silverman, Je me joins à mes camarades, tu ne fais pas bruit, mais tout ce que tu nous sors est utile et efficace.
A+ | |
|
Contenu sponsorisé
| Sujet: Re: Charger et utiliser une Fonte(Police) sans l'installer | |
| |
|