Familles de polices nommées pour rich text
Les champs rich natifs peuvent combiner jusqu'à seize familles de polices Unicode TrueType fournies, chacune avec ses programmes regular, bold, italic et bold-italic ; chaque run sélectionné utilise ses octets de police réels, son mappage de glyphes, sa largeur, sa baseline et sa géométrie de signes
Configurez THPDFHeadlessRichTextFontFamilies, assignez le libellé FontFamily de chaque run et appelez SetRichTextFieldValueWithFamilies ; un libellé de run vide sélectionne la première famille configurée
Pour le XHTML, définissez FontFamilyNames et la famille de run par défaut avant le décodage ; les listes font-family séparées par des virgules, entre guillemets ou non, sélectionnent le premier libellé configuré, inherit restaure la famille englobante et les déclarations important valides conservent leur priorité
Une liste valide ne contenant aucun libellé configuré sélectionne la première famille configurée ; une déclaration malformée laisse la valeur précédente inchangée ; la correspondance replie les lettres ASCII et préserve exactement les autres caractères Unicode
Les libellés contiennent au plus 128 unités de code UTF-16, sans espaces environnants, caractères de contrôle, surrogates non appariés, guillemets, antislashs, virgules ni points-virgules ; ce profil borné n'implémente ni échappements CSS ni découverte implicite des polices système
Le pur builder d'apparence de famille n'embarque que les styles sélectionnés et applique les budgets globaux de police, glyphes, objets, octets et d'annulation ; les polices sélectionnées manquantes et les libellés de run explicites inconnus échouent avant de commiter les changements du document
L'import de formulaires sensible aux familles applique la même sélection au RV FDF réel et au value-richtext XFDF, préserve les politiques de champs et de signatures existantes, et compare les valeurs rich nommées canoniques pour détecter les no-ops sémantiques
Les API existantes à famille unique et le profil de décodeur par défaut conservent leurs signatures et leur comportement ; les programmes utilisant des headers Pascal ou C++Builder régénérés doivent être recompilés à l'adoption des records étendus de run managé et d'options ; les records C ABI V1 externes restent inchangés
Le JSON de familles nommées Linux natif et la sélection C ABI versionnée sont disponibles via le binding de familles Linux ; les jobs FDF et XFDF Windows acceptent des chemins de fichiers famille/style imbriqués ou des callbacks de police V1 existants via l'échange de données de formulaires Windows
Le fallback de graphème opt-in par familles fournies sélectionne les programmes réels de famille/style candidates via les API natives ; le fallback JSON Linux résout les programmes candidates configurés requis avant de préparer la même apparence
Les échappements CSS arbitraires, les alias système implicites, les feuilles de style externes, le layout CSS général, la sélection de jobs typed-rich Windows et le chargement de fallback par callback Windows restent des travaux en cours
Acceptation
Six cibles de compilation natives passent 168 assertions et 1327 vérifications indépendantes sur 36 PDF réellement sauvegardés par cible, y compris huit programmes de polices réels, des advances de familles mixtes, des libellés Unicode, la priorité héritée, l'import FDF/XFDF, la sécurité AES R5/R6, le rollback et l'annulation initiale ou tardive
Des headers C++Builder régénérés compilent les nouveaux records de familles, builders et méthodes de document sur les deux architectures ; les deux bibliothèques partagées Linux versionnées passent les callbacks à quatre polices existants et les vérifications de sortie indépendantes après recompilation avec les nouveaux records internes