Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD11] Conseil pour installation d'une police

8 réponses
Avatar
Fredo MT
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique. Comment
feriez-vous pour installer celle-ci sur le poste client si elle n'existe
pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive pas
à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans C:\Windows\Fonts

Que feriez-vous ?

Merci d'avance pour vos réponses

8 réponses

Avatar
PYT
Fredo MT a écrit :
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique. Comment
feriez-vous pour installer celle-ci sur le poste client si elle n'existe
pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive pas
à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans C:WindowsFonts

Que feriez-vous ?

Merci d'avance pour vos réponses




J'ai fait un exe qui installe les police en utilisant les bonnes api.

Je n'ai pas ca sous la main mais ce se trouve facilement dans le msdn.
En autre il faut broadcaster au apppli la présence d'une nouvelle police.


PYT
Avatar
Fredo MT
Merci pour ta réponse !

Pourrais-tu m'en dire un peu plus stp, et me donner un peu plus
d'éléments... Code source, exe ou autres !
D'avance merci

"PYT" a écrit dans le message de news:
47011c54$0$8022$
Fredo MT a écrit :
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique.
Comment feriez-vous pour installer celle-ci sur le poste client si elle
n'existe pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive
pas à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans C:WindowsFonts

Que feriez-vous ?

Merci d'avance pour vos réponses




J'ai fait un exe qui installe les police en utilisant les bonnes api.

Je n'ai pas ca sous la main mais ce se trouve facilement dans le msdn.
En autre il faut broadcaster au apppli la présence d'une nouvelle police.


PYT


Avatar
PYT
Fredo MT a écrit :
Merci pour ta réponse !

Pourrais-tu m'en dire un peu plus stp, et me donner un peu plus
d'éléments... Code source, exe ou autres !
D'avance merci

"PYT" a écrit dans le message de news:
47011c54$0$8022$
Fredo MT a écrit :
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique.
Comment feriez-vous pour installer celle-ci sur le poste client si elle
n'existe pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive
pas à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans C:WindowsFonts

Que feriez-vous ?

Merci d'avance pour vos réponses




J'ai fait un exe qui installe les police en utilisant les bonnes api.

Je n'ai pas ca sous la main mais ce se trouve facilement dans le msdn.
En autre il faut broadcaster au apppli la présence d'une nouvelle police.


PYT






Peut être demain si j'y pense.

PYT
Avatar
Fredo MT
Merci bcp

"PYT" a écrit dans le message de news:
47013f52$0$31747$
Fredo MT a écrit :
Merci pour ta réponse !

Pourrais-tu m'en dire un peu plus stp, et me donner un peu plus
d'éléments... Code source, exe ou autres !
D'avance merci

"PYT" a écrit dans le message de news:
47011c54$0$8022$
Fredo MT a écrit :
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique.
Comment feriez-vous pour installer celle-ci sur le poste client si elle
n'existe pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive
pas à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans
C:WindowsFonts

Que feriez-vous ?

Merci d'avance pour vos réponses




J'ai fait un exe qui installe les police en utilisant les bonnes api.

Je n'ai pas ca sous la main mais ce se trouve facilement dans le msdn.
En autre il faut broadcaster au apppli la présence d'une nouvelle
police.


PYT






Peut être demain si j'y pense.

PYT


Avatar
Antoine
Nous on fait un truc du genre :

ichFonte est chaine="C:...LaFonte.ttf"+Caract(0)
SI API("GDI32","AddFontResourceA",&ichFonte)=0 ALORS Erreur(ErreurInfo)

Antoine


"Fredo MT" a écrit dans le message de news:
47011abb$0$21580$
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique.
Comment feriez-vous pour installer celle-ci sur le poste client si elle
n'existe pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive
pas à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans C:WindowsFonts

Que feriez-vous ?

Merci d'avance pour vos réponses




Avatar
Fredo MT
Merci beaucoup Antoine, c'est exactement ce qu'il me manquait. Il ne me
reste plus qu'à tester en version réelle depuis l'exe voir si l'ajout se
fait bien.

"Antoine" a écrit dans le message de
news: 4701f1f1$0$27410$
Nous on fait un truc du genre :

ichFonte est chaine="C:...LaFonte.ttf"+Caract(0)
SI API("GDI32","AddFontResourceA",&ichFonte)=0 ALORS Erreur(ErreurInfo)

Antoine


"Fredo MT" a écrit dans le message de
news: 47011abb$0$21580$
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique.
Comment feriez-vous pour installer celle-ci sur le poste client si elle
n'existe pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive
pas à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans C:WindowsFonts

Que feriez-vous ?

Merci d'avance pour vos réponses








Avatar
Fredo MT
J'ai des problèmes en fonction des machines, sur certaines la police
s'affiche sur d'autres non. Lorsque j'utilise AddFontResourceA et que je
coupe mon logiciel utilisant cette police, je ne peux supprimer le fichier
ttf de la police dans mon RepExe(). J'ai décidé de la supprimer à la
fermeture du logiciel avec la fonction RemoveFontResourceA mais c'est
toujours le même problème.
Comment dois-je procéder :
1) Copie de MaPoliceSpace.ttf dans C:WindowsFonts
2) AddFontResourceA depuis le chemin C:WindowsFontMaPoliceSpace.ttf
3) A la fermeture RemoveFontResourceA

Merci

"Antoine" a écrit dans le message de
news: 4701f1f1$0$27410$
Nous on fait un truc du genre :

ichFonte est chaine="C:...LaFonte.ttf"+Caract(0)
SI API("GDI32","AddFontResourceA",&ichFonte)=0 ALORS Erreur(ErreurInfo)

Antoine


"Fredo MT" a écrit dans le message de
news: 47011abb$0$21580$
Bonjour à tous,

J'utilise dans un de mes projets une police (.ttf) bien spécifique.
Comment feriez-vous pour installer celle-ci sur le poste client si elle
n'existe pas.
Ce que j'ai fais :
* Je l'ai intégré dans mon exe lors de ma compilation, mais je n'arrive
pas à l'extraire pour l'installer sur le poste en cours. Quelle est la
manipulation à suivre ?
Ce que je ne veux pas faire :
* Mettre le fichier ttf dans le repExe et le copier dans C:WindowsFonts

Que feriez-vous ?

Merci d'avance pour vos réponses








Avatar
payalba
On 2 oct, 18:18, "Fredo MT" wrote:
J'ai des problèmes en fonction des machines, sur certaines la police
s'affiche sur d'autres non. Lorsque j'utilise AddFontResourceA et que je
coupe mon logiciel utilisant cette police, je ne peux supprimer le fichier
ttf de la police dans mon RepExe(). J'ai décidé de la supprimer à la
fermeture du logiciel avec la fonction RemoveFontResourceA mais c'est
toujours le même problème.
Comment dois-je procéder :
1) Copie de MaPoliceSpace.ttf dans C:WindowsFonts
2) AddFontResourceA depuis le chemin C:WindowsFontMaPoliceSpace.ttf
3) A la fermeture RemoveFontResourceA

Merci

"Antoine" a écrit dans le messag e denews: 4701f1f1$0$27410$ba4ac__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a6 3jfAD$



> Nous on fait un truc du genre :

> ichFonte est chaine="C:...LaFonte.ttf"+Caract(0)
> SI API("GDI32","AddFontResourceA",&ichFonte)=0 ALORS Erreur(ErreurInf o)

> Antoine

> "Fredo MT" a écrit dans le message de
>news: 47011abb$0$21580$426a7__BEGIN_MASK_n#9g02mG7!__...__END_MASK_i?a63 jfAD$
>> Bonjour à tous,

>> J'utilise dans un de mes projets une police (.ttf) bien spécifique.
>> Comment feriez-vous pour installer celle-ci sur le poste client si elle
>> n'existe pas.
>> Ce que j'ai fais :
>> * Je l'ai intégré dans mon exe lors de ma compilation, mais je n'a rrive
>> pas à l'extraire pour l'installer sur le poste en cours. Quelle est la
>> manipulation à suivre ?
>> Ce que je ne veux pas faire :
>> * Mettre le fichier ttf dans le repExe et le copier dans C:WindowsFo nts

>> Que feriez-vous ?

>> Merci d'avance pour vos réponses- Masquer le texte des messages pr écédents -

- Afficher le texte des messages précédents -


Désolé d'avoir tardé : voici le code que j'utilise pour installer des
polices sur un poste : 'c'est du windev 5.5 mais ca ne devrait pas
poser de pb pour les versions supérieure)

//une fonction que lit les police dans un répertoire
flistefichier(RepInst+"Police*.ttf","InstallePolice")

//la procedure d'instalation
procedure InstallePolice(Chemin,NomFichier,Change,Pointeur)

LaPolice est une chaine asciiz sur 260 = extraitchaine(NomFichier,
1,".")+".FOT"

lpszFontFile est une chaine asciiz sur 260 = Chemin+NomFichier
//ClecheminFonts est une chaine
//CheminFonts est une chaine

lpszCurrentPath est une chaine asciiz sur 260
lpszResourceFile est une chaine asciiz sur 260

si change=1 alors renvoyer faux

pidl est un entier long
Resultat est un entier long

Resultat = Appeldll32("shell32","SHGetSpecialFolderLocation",handle(),
20,&pidl);
si pidl alors
Appeldll32("SHELL32","SHGetPathFromIDList",pidl,&lpszCurrentPath)
AppelDLL32("KERNEL32","GlobalFree",pidl)

si fcopiefichier(Chemin+nomfichier,lpszCurrentPath+""+nomFichier)
alors

lpszResourceFile = lpszCurrentPath+""+LaPolice
AppelDLL32("Gdi32","CreateScalableFontResourceA" , 0,
&lpszResourceFile, &LaPolice, &lpszCurrentPath)
appeldll32("Gdi32","AddFontResourceA",&LaPolice)
sendmessage(HWND_BROADCAST,WM_FONTCHANGE,0,0)
fin
fin

Cordialement,

PYT