QGIS Server no representa ninguna fuente en Ubuntu 16.04

8

Acabo de actualizar el paquete qgis-server al último 3.2.x del repositorio de Ubuntugis (ubuntugis-inestable) y todo funciona bien, pero la representación de fuentes. Todas las etiquetas en mosaicos, leyendas y plantillas de impresión aparecen como cuadrados:

ingrese la descripción de la imagen aquí

Después de actualizar, recibí muchos de estos mensajes en el registro de errores de nginx:

QFontDatabase: Cannot find font directory /usr/lib/x86_64-linux-gnu/fonts - is Qt installed correctly?

Podría solucionarlo agregando un enlace simbólico desde / usr / lib / x86_64-linux-gnu / fonts a / usr / share / fonts y actualizando el caché de fuentes con fc-cache -fv. Pero esto no trajo cambios a la visualización de etiquetas.

El proyecto QGIS utiliza la fuente Ubuntu instalada desde el paquete ttf-ubuntu-font-family y se muestra bien en QGIS Desktop. La fuente también aparece en el servidor usando fc-list.

No hay mensajes de error relacionados con las fuentes ni en el registro de errores de nginx ni en el registro del servidor QGIS. Podría estar relacionado con Qt, ¿alguna pista?

geraldo
fuente
2
Creo que debe configurar la variable de entorno, export QT_QPA_FONTDIR=<path to font files>por ejemploexport QT_QPA_FONTDIR=/usr/share/fonts/open-sans
Fran Raga,
Gracias por la pista, QT_QPA_FONTDIR es la clave. No funciona exportándolo como variable de entorno, al menos cuando usa fastcgi debe hacer algo como fastcgi_param QT_QPA_FONTDIR "/ usr / share / fonts / open-sans"; (nginx) o SetEnv QT_QPA_FONTDIR / usr / share / fonts / open-sans (apache).
geraldo

Respuestas:

5

Puse mi comentario como respuesta:

Debe configurar la variable de entorno, export QT_QPA_FONTDIR=<path to font files>por ejemplo, exportarQT_QPA_FONTDIR=/usr/share/fonts/open-sans

Pero cuando usas fastcgi tienes que hacer algo como: @geraldo

nginx

fastcgi_param QT_QPA_FONTDIR "/ usr / share / fonts / open-sans"

apache

SetEnv QT_QPA_FONTDIR / usr / share / fonts / open-sans .

Fran Raga
fuente