Jetons de noms PDF legacy

THPDFNameObject.Value et les clés de dictionnaires legacy conservent les jetons de noms PDF sans la barre oblique initiale ; les jetons du parseur chargé peuvent déjà contenir des échappements #HH

L'écrivain legacy décode un jeton existant puis encode tous les octets réservés, les blancs, les octets de contrôle et les octets UTF-8 non ASCII ; les échappements existants sont canonifiés sans double échappement

Par exemple, le jeton #41 désigne A, tandis que #2341 désigne le texte littéral #41 ; encodez les octets bruts nouvellement rédigés avec _PDFNameEncode avant de stocker un dièse littéral suivi de deux chiffres hexadécimaux

Les séquences hexadécimales invalides comme #GZ et un dièse final restent des données littérales et sont échappées en #23GZ et #23 lors de la sérialisation

Les espaces de début et de fin sont conservés comme #20, et le nom vide reste un nom PDF vide ; les valeurs dans les tableaux, dictionnaires imbriqués et clés de dictionnaires suivent les mêmes règles de sérialisation

Les noms ne sont pas des chaînes de texte PDF : l'écrivain conserve les octets et ne transcode pas l'encodage source de l'appelant ; utilisez UTF8Encode pour fournir des noms Unicode nouvellement rédigés

Les dictionnaires des builders XFA natifs neufs utilisent des clés décodées tandis que les valeurs de noms restent basées sur des jetons ; les adaptateurs doivent encoder ces clés décodées une fois en les déplaçant vers le modèle d'objets legacy