Avanzi dei font standard

Il testo PDF simple caricato senza /Widths usa gli avanzi orizzontali dei core font Adobe per i caratteri supportati, evitando l'accumulo di derive di posizione quando un sostituto installato ha metriche diverse

Contratto supportato

FamigliaNomi esatti accettati
HelveticaHelvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique
TimesTimes-Roman, Times-Bold, Times-Italic, Times-BoldItalic
CourierCourier, Courier-Bold, Courier-Oblique, Courier-BoldOblique

Ogni faccia ha 230 voci Unicode decodificate: ASCII stampabile, Latin-1 e caratteri Windows-1252 stampabili definiti, più dotless i, Lslash, lslash, caron, breve, dotaccent, ring, ogonek, hungarumlaut, fraction, fi e fl

U+00A0 usa l'avanzo dello spazio e U+00AD l'avanzo del trattino; U+00B5 è il micro sign Latin-1, mentre il greco U+03BC è fuori dalla tabella

Il byte 39 di StandardEncoding grezzo decodifica a U+2019 quoteright; il byte 39 di WinAnsi decodifica a U+0027 quotesingle, che ha un avanzo Helvetica diverso

Nomi con prefissi di subset, alias come Arial o Courier New, maiuscole/minuscole diverse, Symbol, ZapfDingbats, caratteri di controllo, lettere greche e altro Unicode non supportato conservano il comportamento di fallback esistente

Le /Widths PDF esplicite vengono preservate, inclusi gli avanzi personalizzati deliberatamente; i programmi font e le mappe di encoding restano separati da queste tabelle, e una fixture TrueType incorporata con larghezze esplicite è coperta dai test di collaudo

Sono solo avanzi orizzontali; non forniscono outline dei glifi, bounding box, metriche verticali, shaping di legature o kerning, e un renderer può ancora disegnare con un sostituto installato posizionando il testo con gli avanzi standard

Misurazione e stato del testo

HPDFGetStandardFontWidth esegue una lookup immutabile sulla tabella; HPDFMeasureBaseFontWidths combina quei risultati con il backend di piattaforma esistente quando un batch contiene caratteri di fallback

L'interprete del contenuto continua ad applicare dimensione font, aggiustamenti Tc, Tw, Tz, TJ, matrici di testo e la trasformazione grafica dopo aver risolto l'avanzo; le tabelle non aggiungono kerning automatico al testo PDF

Validazione e confini del reader indipendente

Il collaudo mirato costruisce 15 pagine PDF reali che coprono tutte e 12 le facce, virgolette e legature StandardEncoding, punteggiatura e testo accentato WinAnsi, larghezze esplicite, un programma TrueType incorporato e testo TJ trasformato; le origini native dei glifi vengono confrontate con un reader MuPDF indipendente

La sonda degli avanzi Unicode controlla tutte le 2,760 voci della tabella; 2,756 concordano con MuPDF, mentre le quattro voci U+2044 fraction della famiglia Helvetica conservano Adobe AFM WX 167 e vengono riportate esplicitamente perché MuPDF restituisce per quel carattere l'avanzo 278, simile alla barra

Il confronto condiviso della geometria PDF usa caratteri su cui il reader indipendente concorda; la differenza sulla fraction non viene riportata come equivalenza cross-reader superata

Il collaudo Windows usa Tests/Delphi/Run-StandardFontMetricsAcceptance.ps1 e riproduce anche le suite esistenti di estrazione testo e larghezze; il collaudo Linux nativo usa Tests/Linux/Run-StandardFontMetricsAcceptance.sh con override FPC_EXE, PYTHON_EXE e HPDF_LINUX_OUTPUT

Tutte le esecuzioni sopprimono il lancio di reader esterni ed emettono log nativi, tabelle degli avanzi, coordinate dei glifi, una preview renderizzata e un report independent-proof.json

Base metrica

Gli avanzi sono i valori AFM WX dei core font Adobe in 1/1000 di em; la convenzione di coordinate e metriche è documentata nella specifica Adobe Font Metrics