Familias de fuentes con nombre para rich text
Los rich fields nativos pueden combinar hasta dieciséis familias de fuentes Unicode TrueType suministradas, cada una con programas regular, bold, italic y bold-italic; cada run seleccionado usa sus bytes de fuente reales, su mapeo de glifos, ancho, baseline y geometría de signos
Configura THPDFHeadlessRichTextFontFamilies, asigna la etiqueta FontFamily de cada run y llama a SetRichTextFieldValueWithFamilies; una etiqueta de run vacía selecciona la primera familia configurada
Para XHTML, asigna FontFamilyNames y la familia de run por defecto antes de decodificar; las listas font-family separadas por comas, con o sin comillas, seleccionan la primera etiqueta configurada, inherit restaura la familia contenedora y las declaraciones important válidas conservan su prioridad
Una lista válida sin ninguna etiqueta configurada selecciona la primera familia configurada; una declaración malformada deja el valor previo sin cambios; la coincidencia pliega letras ASCII y preserva exactamente los demás caracteres Unicode
Las etiquetas contienen como máximo 128 unidades de código UTF-16, sin espacios circundantes, caracteres de control, surrogados sin pareja, comillas, barras invertidas, comas ni punto y coma; este perfil acotado no implementa escapes CSS ni descubrimiento implícito de fuentes del sistema
El builder de apariencias de familia puro incrusta solo los estilos seleccionados y aplica presupuestos agregados de fuente, glifo, objeto, byte y cancelación; las fuentes seleccionadas faltantes y las etiquetas de run explícitas desconocidas fallan antes de comprometer cambios del documento
La importación de formularios consciente de familias aplica la misma selección a FDF RV real y a value-richtext de XFDF, preserva las políticas existentes de campos y firmas, y compara valores rich con nombre canónicos para detectar no-ops semánticos
Las APIs existentes de familia única y el perfil de decodificador por defecto conservan sus firmas y comportamiento; los programas que usen headers Pascal o C++Builder regenerados deben recompilar al adoptar los registros de run administrado y de opciones ampliados; los registros externos del C ABI V1 siguen sin cambios
El JSON de familias con nombre nativo de Linux y la selección por C ABI versionado están disponibles a través del binding de familias de Linux; los trabajos FDF y XFDF de Windows aceptan rutas de archivos anidadas familia/estilo o los callbacks V1 de fuentes existentes mediante el intercambio de form-data de Windows
El fallback de grafo por familias suministradas, opcional, selecciona los programas reales candidatos de familia/estilo a través de las APIs nativas; el fallback JSON de Linux resuelve los programas candidatos configurados requeridos antes de preparar la misma apariencia
Los escapes CSS arbitrarios, los alias implícitos del sistema, las hojas de estilo externas, el layout CSS general, la selección de trabajos typed-rich en Windows y la carga de fallback por callback en Windows siguen siendo trabajo en curso
Aceptación
Seis targets nativos de compilación pasan 168 aserciones y 1327 verificaciones independientes sobre 36 PDFs guardados reales por target, incluidos ocho programas de fuentes reales, avances de familias mezcladas, etiquetas Unicode, prioridad heredada, importación FDF/XFDF, seguridad AES R5/R6, rollback y cancelación inicial o tardía
Los headers C++Builder recientes compilan los nuevos registros de familia, builders y métodos de documento en ambas arquitecturas; ambas librerías compartidas Linux versionadas pasan los callbacks existentes de cuatro fuentes y las verificaciones independientes de salida tras recompilar con los nuevos registros internos