Retrouver le nom d'une police de caractères avec le registre

Soyez le premier à donner votre avis sur cette source.

Vue 30 776 fois - Téléchargée 671 fois

Description

Retrouve à partir du registre le nom d'une police de caractères, et dit au passage si elle est TrueType (on le savait depuis l'extension :-). Celle-ci doit bien sûr y être référencée pour en connaître son nom.

Le processus énumère toutes les polices dans une liste et retrouve par l'analyse de toutes ces clés le nom recherché. Le code ne cherche donc pas bêtement le contenu d'une clé précise.

Conclusion :


Vous pouvez toujours aller voir http://altert.family.free.fr/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Delphiprog
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
24 -
J'aurais quelques remarques à faire :
1- le disque sur lequel est installé Windows est supposé être c:. Or, sur une machine en multiboot, on peut installer différents Windows sur diférentes partitions.
2- le répertoire d'installation de Windows est par défaut \Windows (ou \WinNT) mais ce n'est pas une obligation.

Comme je l'ai déjà fait remarquer à d'autres membres sur ce site, il existe une fonction dans les API qui donne le répertoire d'installation de windows (toutes versions) : GetWindowsDirectory.
Alors, servez-vous en !

3- je regrette que, trop souvent, le code qui serait intéressant s'il était facilement réutilisable, se trouve mélangé avec le code nécessaire à la gestion d'un interface. Ce qui oblige :
- soit à faire des copier/coller dans une autre application, (la plus mauvaise solution)
- soit à séparer les deux pour qu'il devienne enfin réellement facilement réutilisable. Mais cela entraine un travail parfois insurmontable pour certains.
DE-COU-PLER, il FAUT découpler le code de l'interface du code que l'on veut réutiliser. Comment ? eh bien tout simplement en créant une unité supplémentaire et en n'exposant dans sa partie interface que ce qui est réellement utile les d'autres unités.

Cela dit, comme le code est bien écrit, ces remarques devraient pouvoir être appliquées facilement.
Beau travail.
DRJEROME
Messages postés
447
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015
-
Regardes ici :
http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=515

j'avais fait une autre méthode différente pour analyser les polices et leur nom interne (c'est pas la meilleure méthode là non plus...j'en conviens !)

Toutefois, il y a 3-4 ans en arrière, j'ai fait un logiciel de création de police d'écriture (je créais les caractères par des courbes de Bézier), il est possible de prendre directement le nom réél d'une police dans son code (fichier ttf par exemple) c'est ce que j'utilisais dans mon logiciel, si un jour j'ai le temps, je ressortirai ce code...

Voici 2 images de mon logiciel (que je n'ai jamais commercialisé car fait pour le plaisir dès le départ :)

http://jerome-rod.chez.tiscali.fr//images/glyf1.JPG

http://jerome-rod.chez.tiscali.fr//images/glyf2.JPG
DRJEROME
Messages postés
447
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
5 février 2015
-
vous reconnaitrez dans ces deux JPG
(http://jerome-rod.chez.tiscali.fr//images/glyf1.JPG
et
http://jerome-rod.chez.tiscali.fr//images/glyf2.JPG)

l'indien que j'ai créé en caractère de police et que j'ai mis dans mon, logo :
http://jerome-rod.chez.tiscali.fr//jroddore.gif


DrJerome JROD DorotheeJ
DelphiCool
Messages postés
462
Date d'inscription
mardi 24 juillet 2001
Statut
Modérateur
Dernière intervention
10 mars 2009
-
comme dit delphiprog.
il est preférable de mettre ceci dans FormCreate

var Arr :Array[0..255]of char;
Windows :string;
begin
GetWindowsDirectory(Arr, 255);
Windows := Arr;
if Windows[length(Windows)] <> '\' then Windows := Windows + '\';

frPolices.Show;
EnumFiles( cbPolices.Items, Windows + '\fonts', '*.ttf;*.fon');
end;
DelphiCool
Messages postés
462
Date d'inscription
mardi 24 juillet 2001
Statut
Modérateur
Dernière intervention
10 mars 2009
-
je crois que le mieux c'est que tu créer une variable globale (windows et system)

et tu recherche les chemin avec les API windows

J'ai XP Pro et pas de répertoire WINNT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.