LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Firmas un PDF con tu certificado digital desde Okular, lo abres en Linux y todo parece correcto. Sin embargo, algunos destinatarios ven la firma con letras superpuestas, caracteres extraños y textos ilegibles.

Una posible causa es una incompatibilidad con la fuente utilizada para generar la apariencia de la firma. Vamos a explicar cómo investigar el problema y probar una sustitución de Helvetica por Liberation Sans, sin permisos de administrador y de forma reversible.

Antes de cambiar nada, comprobaremos si realmente necesitamos hacerlo.

¿Qué sucede exactamente?

En el caso investigado, el documento firmado se mostraba correctamente en los lectores probados en Linux: Okular, Firefox, Chrome y xpdf.

Sin embargo, un destinatario con Windows observó este comportamiento:

Visor en Windows Apariencia de la firma
Adobe Acrobat Reader Incorrecta
Chrome Incorrecta
Firefox Correcta

Esto apunta a una diferencia en cómo los lectores interpretan la apariencia de la firma. No significa que Windows siempre falle ni que todas las firmas generadas por Okular tengan este problema.

También debemos distinguir dos elementos:

  • La firma digital criptográfica, que permite comprobar la integridad del documento y su vinculación con un certificado.
  • La apariencia visible de la firma, el recuadro con el nombre, la fecha y otros datos.

Que el recuadro se vea mal no demuestra que la firma digital sea inválida. Su validación debe comprobarse por separado.

1. Diagnóstico previo: ¿necesitas cambiar algo?

No existe un comando que garantice, antes de generar el PDF, que todos los lectores mostrarán correctamente la firma. Sin embargo, podemos detectar una configuración parecida a la del caso investigado y evitar cambios innecesarios.

Comprobar qué fuente se utiliza para Helvetica

Ejecuta:

fc-match Helvetica

En nuestro equipo aparecía:

NimbusSans-Regular.otf: "Nimbus Sans" "Regular"

Esto significa que, cuando una aplicación solicita Helvetica mediante Fontconfig, el sistema selecciona Nimbus Sans en formato OTF.

Este resultado es una pista, no una prueba de fallo. Tener Nimbus Sans instalada o utilizar una fuente OTF no implica, por sí solo, que el PDF vaya a mostrarse mal.

Si aparece:

LiberationSans-Regular.ttf: "Liberation Sans" "Regular"

La sustitución que proponemos ya está activa o tu sistema selecciona esa fuente de forma predeterminada. En ese caso, no necesitas crear otra regla igual.

Comprobar un PDF que ya hayas firmado

Si tienes un documento firmado con tu configuración actual, ábrelo en los lectores donde necesitas que funcione. Para reproducir la comprobación de este artículo, utiliza Adobe Acrobat Reader o Chrome en Windows.

Comprueba el archivo original enviado, sin imprimirlo de nuevo a PDF ni convertirlo.

Resultado del diagnóstico Qué hacer
La firma se ve correctamente en los lectores de destino Puedes ahorrarte el cambio
La firma se ve mal y Helvetica se resuelve como Nimbus Sans OTF Prueba la sustitución de este artículo
La firma se ve mal y ya se selecciona Liberation Sans Esta sustitución no aporta un cambio; hay que investigar otra causa
Solo has comprobado el PDF en Linux Todavía no puedes asegurar cómo se verá en los lectores afectados

Si no tienes un PDF firmado de prueba, tendrás que generar uno. La selección de fuentes del sistema permite anticipar qué conviene revisar, pero no sustituye la comprobación del documento resultante.

2. Consultar las versiones

Para identificar el entorno, ejecuta:

okular --version
pdfsig -v

En nuestro caso:

okular 25.04.0
pdfsig version 24.02.0

La versión de pdfsig corresponde a esa herramienta. No garantiza que Okular utilice exactamente la misma versión de Poppler, especialmente si está instalado mediante Flatpak u otro paquete con dependencias propias.

Conviene mantener Okular y sus bibliotecas actualizados mediante los mecanismos de la distribución. No obstante, aquí no identificamos una versión concreta que garantice la corrección del problema.

3. Comparar las fuentes del PDF antes y después de firmarlo

Este paso permite comprobar qué fuentes aparecen durante el proceso de firma.

Conserva el original sin firmar y ejecuta:

pdffonts documento-original.pdf
pdffonts documento-firmado.pdf

Si el nombre contiene espacios, utiliza comillas:

pdffonts "documento firmado.pdf"

pdffonts y pdfsig suelen distribuirse con las utilidades de Poppler. Si los comandos no existen en tu equipo, instala el paquete correspondiente de tu distribución.

En nuestro caso, después de firmar aparecieron estas fuentes adicionales:

name          type              encoding        emb sub uni object ID
------------- ----------------- --------------  --- --- --- ---------
Helvetica     Type 1             Custom          no  no  no      26  0
ZapfDingbats  Type 1             ZapfDingbats    no  no  no      27  0
Helvetica     CID Type 0C (OT)   Identity-H      yes no  no     173  0

Los números de objeto pueden ser diferentes en otros documentos.

La columna emb indica si la fuente está incrustada:

  • yes: está incrustada.
  • no: no está incrustada.

Aquí encontramos un detalle importante: la Helvetica de tipo CID ya estaba incrustada. Por tanto, la explicación no puede reducirse a que faltaba incrustar la fuente.

Además, Helvetica y ZapfDingbats pertenecen a las fuentes estándar de PDF: que aparezcan sin incrustar no demuestra automáticamente un defecto. Tampoco uni no significa, por sí solo, que el texto deba verse mal.

Existe un informe en el seguimiento de KDE que describe problemas de visualización en Windows con una firma que incorpora Helvetica CID Type 0C (OT). Es un antecedente similar, aunque no confirma la causa exacta de nuestro documento.

4. Comprobar que Liberation Sans está instalada

Vamos a probar una fuente alternativa en formato TrueType.

Ejecuta:

fc-match "Liberation Sans"

El resultado esperado es similar a este:

LiberationSans-Regular.ttf: "Liberation Sans" "Regular"

Comprueba que la familia indicada sea realmente Liberation Sans. Fontconfig puede devolver otra fuente cuando la solicitada no está instalada.

Si aparece otra familia, instala las fuentes Liberation con el gestor de paquetes de tu distribución antes de continuar.

5. Configurar la sustitución de Helvetica

Cierra completamente Okular.

Vamos a crear una regla para tu usuario. No necesita sudo y no requiere modificar la configuración general del sistema.

Si ya existe un archivo con el nombre utilizado a continuación, guarda una copia antes de sobrescribirlo.

Copia este bloque completo en la terminal:

mkdir -p ~/.config/fontconfig/conf.d

cat > ~/.config/fontconfig/conf.d/99-helvetica-liberation.conf <<'EOF'
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test name="family" compare="eq">
      <string>Helvetica</string>
    </test>
    <edit name="family" mode="prepend" binding="strong">
      <string>Liberation Sans</string>
    </edit>
  </match>
</fontconfig>
EOF

La línea final EOF debe quedar sola, sin espacios delante. No añadas barras invertidas al final de las líneas.

Esta regla da preferencia a Liberation Sans cuando se solicita Helvetica mediante Fontconfig.

El cambio puede afectar a otras aplicaciones de tu usuario que utilicen esta configuración. No sustituye las fuentes ya incrustadas en los PDF existentes.

6. Comprobar que el cambio está activo

Ejecuta:

fc-cache -f
fc-match Helvetica

Ahora debería aparecer:

LiberationSans-Regular.ttf: "Liberation Sans" "Regular"

En el equipo investigado, esta sustitución sí quedó comprobada: se pasó de Nimbus Sans OTF a Liberation Sans TTF.

Si continúa apareciendo Nimbus Sans, comprueba el contenido del archivo:

cat ~/.config/fontconfig/conf.d/99-helvetica-liberation.conf

Revisa también cualquier error que muestre Fontconfig.

Ejecutar fc-cache -f sin crear la regla no cambia la fuente seleccionada.

7. Generar y verificar una nueva firma

Abre nuevamente Okular y firma una copia del documento original sin firmar.

Después:

  1. Comprueba la apariencia en tu equipo.
  2. Consulta las fuentes del nuevo PDF.
  3. Abre ese mismo archivo en Adobe Acrobat Reader o Chrome del equipo donde fallaba.
  4. Comprueba también la validación digital de la firma.

Para consultar las fuentes:

pdffonts documento-firmado-prueba.pdf

Que fc-match muestre Liberation Sans confirma la configuración del sistema, pero no demuestra por sí solo que el problema del PDF esté solucionado. Hay que verificar el archivo generado en el lector afectado.

El nombre interno de la fuente en el PDF puede diferir del nombre del archivo del sistema, por lo que la etiqueta mostrada por pdffonts tampoco basta por sí sola para identificar el archivo tipográfico utilizado.

Si utilizas Okular mediante Flatpak, su entorno puede tener una configuración de fuentes diferente. La selección que muestra la terminal del sistema no garantiza que la aplicación aislada esté aplicando esa misma regla.

8. Cómo deshacer la sustitución

Este paso es opcional: ejecútalo únicamente si quieres retirar el cambio.

rm ~/.config/fontconfig/conf.d/99-helvetica-liberation.conf
fc-cache -f
fc-match Helvetica

Después, cierra y vuelve a abrir las aplicaciones afectadas.

En nuestro equipo, al eliminar la regla volvió a seleccionarse Nimbus Sans.

Si la sustitución funciona y quieres conservarla, no borres el archivo. La configuración seguirá disponible para futuras sesiones.

¿Y los PDF que ya están firmados?

Esta configuración está orientada a generar futuras firmas.

Para obtener una copia corregida, vuelve al original sin firmar y genera una nueva firma después de aplicar el cambio.

Modificar las fuentes de un PDF ya firmado puede invalidar su firma o provocar advertencias de modificaciones posteriores. Imprimirlo de nuevo a PDF tampoco conserva la firma criptográfica original.

Si el problema continúa

Si la nueva firma sigue mostrando caracteres extraños, la sustitución no ha resuelto el caso. Será necesario comprobar qué biblioteca utiliza Okular, revisar las fuentes realmente incorporadas o probar otra herramienta de firma.

En esta experiencia hemos confirmado la sustitución de fuente en Linux. La corrección visual solo podrá darse por confirmada cuando el nuevo PDF se vea correctamente en los lectores que antes fallaban.

Referencias

Escribir un comentario

Código de seguridad
Refescar



Redes:



   

 

Encuestas

Cuál es tu escritorio gráfico favorito en 2026

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

 

Dona a LInuxParty

Donar 10

Donar 20

 

 

Tutorial de Linux

Formulario de acceso