MyFont.exe - Création d'une police Raster personnalisé

Traductions disponibles Traductions disponibles
Numéro d'article: 76535 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

MyFont.exe est un fichier exemple qui montre comment utiliser les liens normal.

Polices sont stockées sous forme de ressources de ressources uniquement les bibliothèques de liens dynamiques (DLL). Le processus de création d'une bibliothèque de police personnalisée consiste à créer des ressources de police et à les insérer dans une DLL qui ne possède aucun code. Polices doivent se trouver dans une bibliothèque resource-only.

Le Windows 3.x police Editor prend en charge Édition polices raster compatibles avec Windows versions 2.x et Windows version 3.x.

Il est également possible de créer une DLL de ressources de police qui dispose d'un segment de code, atténue le problème de devoir utiliser un éditeur de liens spéciaux.

Plus d'informations

Les fichiers suivants sont disponibles au téléchargement à partir du Centre de téléchargement Microsoft :


MyFont.exe Pour plus d'informations sur la façon de télécharger des fichiers de support technique Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
119591 Comment obtenir des fichiers de support technique Microsoft auprès des services en ligne
Microsoft a analysé ce fichier de virus. Microsoft utilisé les logiciels de détection de virus plus récente ne sont associé à la date à laquelle le fichier a été validé. Le fichier est stocké sur des serveurs sécurisés, pour empêcher toute modification non autorisée dans le fichier.

Étapes de base (vue d'ensemble)

Faire Créer fichiers de police à l'aide de l'éditeur police. 2. Créez un script ressources de police. III. créer un module de code factice. IV. Créez un fichier de définition de module décrit les polices. V compilez et liez les sources.

note Lire le chapitre 18 du « logiciel Microsoft Windows Development Kit Guide à la programmation. » La procédure suivante est très similaire.

Étape I:Créer un fichier de police

  1. Appeler l'éditeur de police.
  2. Ouvrir un fichier de police existant (FNT).
  3. Modifier la cellule tableaux et les attributs de la police existante.
  4. Enregistrer la nouvelle police sous un nom différent.
Remarque 1: il n'est pas possible de générer une nouvelle police de toutes pièces ; un fichier de police existant doit être modifié. Une police, VGASYS.fnt, est fournie avec le Kit de développement pour fournir une police sur laquelle baser les nouvelles polices Windows 3.x.

Remarque 2: les noms des formats de police sont trompeuses. Format 3.0 compatible Windows fonctionne uniquement dans mode 386 amélioré. Fenêtre 2.0 compatible format fonctionne dans tous les modes ; par conséquent, il est généralement préférable d'enregistrer les polices dans format 2.0.

Étape 2: créer un script de ressources de police

  1. Créer un fichier de ressources script (RC).
  2. Ajoutez une instruction FONT par fichier de police créé. Par exemple :
          MyFont1 FONT  MYFONT1.FNT
          MyFont2 FONT  MYFONT2.FNT
    						

Étape III : Créer un module de code factice

  1. Écrire une procédure langage assembleur qui ne génère aucun code.
  2. Assemblez le code pour créer un fichier de l'objet (OBJ). (Cette étape peut sembler inutile mais il est nécessaire ; Sinon, l'éditeur de liens se plaindre car l'Éditeur de liens crée un exécutable qui ne dispose pas des fichiers de l'objet. Créer le module de code factice avec son segment de code null force l'éditeur de liens pour créer la DLL exécutable requis).
Le code pour le segment code factice peut ressembler à celui-ci :
   .xlist
   include cmacros.inc
   .list

   sBegin CODE
   sEnd   CODE
   end
				

Étape IV: créer un fichier de définition de module

  1. Ajoutez une instruction bibliothèque avec le titre de ressource de police.
  2. Ajouter une instruction de DESCRIPTION qui indique les attributs de police.
  3. Ajouter une instruction STUB au cas où la bibliothèque est appelée à partir de MS-DOS.
  4. Ajoutez une instruction données avec l'attribut de dimension NONE .
Le fichier DEF d'une bibliothèque de police peut ressembler à celui-ci :
   LIBRARY FONTLIB
   DESCRIPTION 'FONTRES 133, 96, 72: MyFont, Terminal (7 point)'
   STUB 'WINSTUB.EXE'
   DATA NONE
				
Remarque l'instruction DESCRIPTION spécifie une chaîne décrit les attributs de police et fournit un commentaire est affiché par le Panneau de configuration de Windows lorsque la police est chargée.

WINSTUB.exe est un petit fichier qui imprime le message « Cette application nécessite Microsoft Windows » si l'utilisateur tente d'exécuter l'application sous MS-DOS.

L'attribut de dimension NONE indique que la bibliothèque n'exige pas son segment de données automatique.

La chaîne de description doit commencer par le texte FONTRES afin que Windows sachent que c'est une bibliothèque de ressources de police.

(Voir le « Microsoft Windows Software développement Kit Guide à Programming » pour plus d'informations et exemples).

Étape V:Création de la bibliothèque de ressources de police

  1. Utilisez MASM pour assembler le code factice en un fichier de l'objet.
  2. LINK4 permet de générer le corps de la bibliothèque.
  3. Version d'évaluation permet d'insérer la police dans la bibliothèque.
  4. Renommer la bibliothèque de police pour que l'extension FON.
Voici un makefile exemple :
   all: fontlib.exe

   fontlib.obj: fontlib.asm
         masm fontlib.asm;

   fontlib.exe: fontlib.mak fontlib.def fontlib.obj \ 
                  fontlib.rc fontlib.fnt
         link4 fontlib.obj, fontlib.exe, NUL, /NOD, fontlib.def
         rc fontlib.rc
         rename fontlib.exe fontlib.fon
				

Utilisation de liens au lieu de LINK4 :

Remarque importante : la spécification de LINK4 dans l'exemple ci-dessus n'est pas une erreur. Les linkers standard fournis avec Microsoft C version 5.1 et Microsoft C version 6.0 produisent des messages d'erreur lors d'une tentative pour créer un fichier exécutable qui a sans segments. LINK4.EXE n'est pas fournie avec le Kit de développement logiciel (SDK) Windows 3.x. Cependant, elle est fournie avec le Kit de développement logiciel (SDK) Windows 2.x, avec le kit DDK de Windows 3.x.

Si les étapes III, IV et V de la procédure ci-dessus sont modifiés comme suit, lien 5.12 et versions ultérieures peuvent servir à créer des fichiers de police :

NOUVELLE étape III : Créer un module de code factice

Créer un segment de code dans le module de code factice en créant une procédure de sortie vide Windows (WEP). Ce code peut ressembler à celui-ci :
   .xlist
   include cmacros.inc
   .list

    sBegin CODE
    cProc WEP,<FAR,PASCAL,PUBLIC>,<si,di>
               parmW EntryCode
    cBegin WEP
    cEnd WEP
    cEnd CODE

    end
				

NOUVELLE étape IV: créer un fichier de définition de module

Modifier le fichier DEF indiquée ci-dessus pour ajouter les lignes suivantes :
   EXETYPE   WINDOWS
   CODE      MOVEABLE DISCARDABLE
   EXPORTS   WEP @1 RESIDENTNAME
				

NOUVELLE étape V:Création de la bibliothèque de ressources de police

Modifier le makefile pour faire référence à liens au lieu de à LINK4.

L'aide de MASM 6.0 au lieu de MASM 5.1

Si le fichier de police est créé avec version 6.0 de Microsoft Macro Assembler (MASM), utilisez la version 5.3 du fichier CMACROS.INC inclue avec MASM au lieu de version 5.2 du fichier inclu dans le Kit de développement logiciel de Windows.

Pour accéder aux polices, utilisez AddFontResource() avec le nom de la DLL et RemoveFontResource() . Utilisez CreateFont() ou CreateFontIndirect() pour récupérer un handle vers une police avec les attributs spécifiés. Utilisez SelectObject() pour mettre la police dans un contrôleur de domaine spécifié.

Le nom de face de la police (par exemple, « système » ou « Helv ») peut être spécifié création la police à l'aide de l'éditeur police. Ce même nom de face est spécifié en tant que paramètre lpFaceName lors de l'appel CreateFont() ou CreateFontIndirect() . Le nom d'image peut être n'importe quel nom souhaité.

Propriétés

Numéro d'article: 76535 - Dernière mise à jour: vendredi 11 février 2005 - Version: 2.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Windows Software Development Kit 3.1
Mots-clés : 
kbmt kbdownload kbdownload kb16bitonly kbfile kbfont kbgdi kbinfo kbsample KB76535 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 76535
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com