THotPDF.CompactFontSubsetting

THotPDF

 

Propriétés  EnableFontSubsetting  FontEmbedding

Contrôle si les sous-ensembles de polices renumérotent les glyphes qu’ils conservent, ce qui les rend bien plus petits

 

Syntaxe Delphi :

property CompactFontSubsetting: Boolean;

 

Syntaxe C++ :

__property bool CompactFontSubsetting;

 

Description

Mettez CompactFontSubsetting à true avant BeginDoc pour construire des sous-ensembles de polices compacts. Un sous-ensemble classique conserve la numérotation des glyphes de la police source : les glyphes inutilisés sont vidés, mais la police déclare toujours chaque glyphe et porte une entrée de localisation et de largeur pour chacun. Pour une police CJK de 20 000 à 30 000 glyphes, ces tables représentent à elles seules plus de 200 KB avant compression, même quand la page n’affiche que deux caractères

 

Un sous-ensemble compact renumérote les glyphes conservés dans une plage dense et ne reconstruit les tables de glyphes que pour eux. Le contenu de page affiche toujours les numéros de glyphes d’origine sous forme de CIDs, et un flux /CIDToGIDMap explicite (ISO 32000-1 9.7.4.2) les associe aux glyphes renumérotés ; texte, largeurs et extraction de texte restent inchangés. Deux caractères chinois en SimSun occupent environ 25 KB de données de police dans un sous-ensemble classique, contre environ 3 KB dans un sous-ensemble compact

 

La propriété s’applique aux polices TrueType écrites comme polices Type 0 lorsque EnableFontSubsetting est actif, ainsi qu’ la police enregistrée avec RegisterUnicodeTTF, toujours réduite en sous-ensemble. Les polices OpenType-CFF gardent le sous-ensemble classique. Si un sous-ensemble compact ne peut pas être construit pour une police, HotPDF retombe sur le sous-ensemble classique

 

La propriété est désactivée par défaut, la sortie existante ne change donc pas. Sous PDF/A, la police enregistrée reçoit toujours un sous-ensemble compact. Un sous-ensemble compact convient surtout à une sortie finale : un texte ajouté plus tard au document avec la même police exige un nouveau sous-ensemble, et des documents fusionnés ensuite ne peuvent pas partager le sous-ensemble d’une même police

 

Voir aussi : EnableFontSubsetting, FontEmbedding, RegisterUnicodeTTF