Aspose.Font pour JavaScript via C++ – FAQ
Q : Qu’est-ce qu’Aspose.Font pour JavaScript via C++ ?
R : Aspose.Font for JavaScript via C++ est une bibliothèque C++ native encapsulée pour JavaScript qui permet aux développeurs de créer, convertir et manipuler des fichiers de polices par programme sans aucune dépendance externe.
Q : Quels formats de police sont pris en charge pour la conversion ?
R : La bibliothèque prend en charge TrueType (TTF), OpenType (OTF), Web Open Font Format (WOFF/WOFF2), Embedded OpenType (EOT) et les collections de polices telles que les collections TTC et OTF. La conversion entre l’un de ces formats est entièrement prise en charge.
Q : Comment installer le JavaScript Aspose.Font via le package C++ ?
R : Utilisez npm pour installer le package binaire prédéfini :
1npm install aspose.font-cppLe package contient les binaires C++ natifs pour Windows, Linux et macOS, ainsi que le wrapper JavaScript qui charge le binaire correct au moment de l’exécution.
Q : Dois-je compiler moi-même les sources C++ ?
R : Non. Le package npm est livré avec des binaires précompilés pour les principales plates-formes. Si vous avez besoin d’une version personnalisée (par exemple, pour une architecture différente), vous pouvez télécharger la source depuis le référentiel Aspose GitHub et la compiler à l’aide de CMake.
Q : Comment les licences sont-elles gérées dans la version JavaScript‑via‑C++ ?
R : Les licences fonctionnent de la même manière que les versions .NET/Java. Après avoir acheté une licence, placez le fichier .lic dans votre projet et appelez aspose.font.Font.setLicense("path/to/license.lic") avant tout autre appel d’API. Le fichier de licence est intégré dans le binaire natif au moment de l’exécution.
Q : Puis-je extraire les contours des glyphes et les métriques d’une police ?
R : Oui. L’API fournit « Font.getGlyph(glyphId) » qui renvoie un objet contenant le contour vectoriel du glyphe (sous la forme d’une série de points de contour), la largeur avancée, l’orientation du côté gauche et les mappages Unicode. Ceci est utile pour les moteurs de rendu personnalisés.
Q : La prise en charge d’Unicode est-elle complète pour tous les scripts ?
R : La bibliothèque prend entièrement en charge les points de code Unicode jusqu’à U+10FFFF, y compris les paires de substitution. Il mappe correctement les caractères Unicode aux index de glyphes, gère les tableaux de mise en page OpenType et respecte les fonctionnalités spécifiques à la langue lorsque cela est demandé.
Q : Comment convertir une police TTF en WOFF2 ?
R : Exemple de code :
1const aspose = require("aspose.font-cpp");
2aspose.Font.setLicense("Aspose.Total.lic");
3
4const font = aspose.Font.load("MyFont.ttf");
5font.save("MyFont.woff2", aspose.FontSaveOptions.createWoff2SaveOptions());La méthode save sélectionne automatiquement l’encodeur approprié en fonction de l’extension de fichier ou de l’objet d’options de sauvegarde.
Q : Quelles sont les caractéristiques de performances des grandes collections de polices ?
R : Le cœur C++ natif est optimisé pour une faible surcharge de mémoire et des E/S rapides. Le chargement d’un TTC (TrueType Collection) avec jusqu’à 100 polices prend généralement moins de 100 ms sur un processeur moderne, et la conversion d’une seule police prend en moyenne 30 à 50 ms.
Q : La bibliothèque peut-elle être utilisée dans un environnement sans serveur (par exemple, AWS Lambda) ?
R : Oui. Le binaire est lié statiquement et ne repose pas sur des polices système externes. Déployez le package npm avec votre ensemble de fonctions Lambda et assurez-vous que le rôle d’exécution est autorisé à lire le fichier de licence et tous les fichiers de police d’entrée.
Q : Comment gérer les erreurs lors du chargement d’un fichier de police corrompu ?
R : Tous les appels d’API renvoient aspose.font.FontException. Vous pouvez intercepter cette exception pour récupérer un code d’erreur et un message détaillé :
1try {
2 const font = aspose.Font.load("corrupt.ttf");
3} catch (e) {
4 console.error("Font load failed:", e.message);
5}La hiérarchie des exceptions fait la distinction entre les erreurs d’E/S, les erreurs de format et les erreurs de licence.
Q : Quels systèmes d’exploitation et architectures sont officiellement pris en charge ?
R : Windows (x64), Linux (x64, ARM64) et macOS (x64, ARM64). Le package npm contient des binaires pour chacune de ces plateformes. Pour les plateformes non prises en charge, vous pouvez compiler à partir des sources.
Q : Comment intégrer une police WOFF2 générée dans une page Web ?
R : Après la conversion, servez le fichier .woff2 avec le type MIME correct (font/woff2). En HTML :
1<link rel="stylesheet" href="styles.css">
2<style>
3@font-face {
4 font-family: "MyCustomFont";
5 src: url("MyFont.woff2") format("woff2");
6}
7</style>La police générée est entièrement conforme à la spécification WOFF2, les navigateurs la restitueront donc sans traitement supplémentaire.
Q : Où puis-je trouver des exemples de code et de la documentation de référence sur l’API ?
R : Une documentation détaillée, une référence API et des extraits de code sont disponibles sur le site Web Aspose à l’adresse
https://docs.aspose.com/font/java/. La section JavaScript‑via‑C++ reflète la documentation .NET/Java et un référentiel GitHub contient des exemples de projets pour des scénarios courants.
Q : Comment mettre à jour la bibliothèque vers une version plus récente ?
R : Exécutez npm update aspose.font-cpp pour récupérer le dernier package. Consultez les notes de version pour connaître les modifications importantes, en particulier si de nouvelles options de sauvegarde ou des dépréciations sont introduites. Testez toujours à nouveau les pipelines de conversion de polices après une mise à niveau.