Problèmes de Manipulation et de Performances des Polices

Tous les mécanismes de manipulation de polices disponibles sont contenus dans la classe FontSettings. Cette classe est responsable de la récupération des polices dans les sources de polices définies ainsi que du processus de substitution de polices, comme décrit ci-dessous.

Analyse des polices résolues

Les polices sont analysées en plusieurs étapes:

  1. Obtention d’informations pour la police, résolution à partir de toutes les polices disponibles.
  2. Analyse des polices résolues pour obtenir les glyphes et métriques disponibles (horizontaux et verticaux).
  3. Analyse des polices résolues pour l’incorporation et le sous-ensemble.

Lorsque Aspose.Words rencontre une police dans le document pour la première fois, il tente d’obtenir des informations de police de base, telles que le nom complet de la police, le nom de famille, la version, le style, à partir des fichiers de polices situés dans chaque source de police. Une fois toutes les polices récupérées, Aspose.Words utilise ces détails pour trouver les données de police requises ou un remplacement approprié pour la police demandée.

Problème De Performances Lors Du Remplacement Des Polices

Étant donné que la procédure décrite ci-dessus prend du temps, elle peut affecter négativement les performances de l’application lors de son premier lancement. Cependant, chaque instance de FontSettings possède son propre cache, ce qui pourrait réduire le temps de traitement des documents suivants. Par exemple, vous pouvez partager une instance de la classe FontSettings entre différents documents, ce qui vous permet d’accélérer le chargement des documents. L’exemple suivant le démontre:

Dans le cas où FontSettings n’est pas défini explicitement, Aspose.Words utilise l’instance FontSettings par défaut. Cette instance est également automatiquement partagée entre les documents et peut être extraite comme suit:

C++

System::SharedPtr<FontSettings> fontSettings = System::MakeObject<FontSettings>()->get_DefaultInstance();

Utilisation de l’instance FontSettings par défaut

Si vous êtes sûr que tous les documents de traitement nécessitent les mêmes paramètres de police, il est recommandé de configurer et d’utiliser l’instance FontSettings par défaut. Supposons que vous deviez utiliser les mêmes sources de polices pour tous vos documents. Dans ce cas, vous pouvez simplement modifier l’instance par défaut comme suit: