Al usar las bibliotecas FastReport .NET (Core), FastReport Open Source y FastReport Mono en el sistema operativo Linux, así como al guardar documentos como imágenes o archivos PDF, existe la posibilidad de experimentar la visualización incorrecta de textos Unicode en la vista previa del informe .
Uno de los problemas más comunes es un error de separación de palabras y, como resultado, un espaciado incorrecto entre palabras. Por ejemplo, cuando usamos el idioma tailandés en el sistema operativo Windows, vemos el siguiente texto:
Al ejecutar el mismo informe en Linux Ubuntu, la siguiente línea tiene un formato incorrecto:
También puede haber problemas con el ajuste de palabras. Veamos otro ejemplo con tailandés en el sistema operativo Windows:
El mismo texto se muestra incorrectamente en el sistema operativo Linux Ubuntu:
Estos errores de visualización de texto se pueden observar en otros idiomas.
Afortunadamente, existe una solución: el autoensamblaje de la biblioteca lingdiplus desde la fuente con Pango.
Antes de comenzar, es muy recomendable hacer una copia de seguridad de los archivos /usr/lib/libgdiplus*.*, ya que se sobrescribirán con los nuevos en el proceso de construcción de la biblioteca. En este caso, puede devolver el sistema a su estado original si no se ha logrado el resultado deseado.
En el primer paso, necesitamos instalar las dependencias requeridas usando el comando:
$ sudo apt-get install libgif-dev autoconf libtool automake build-essential gettext libglib2.0-dev libcairo2-dev libtiff-dev libexif-dev
Luego, necesitamos hacer una copia de la biblioteca libgdiplus necesaria del repositorio de GitHub:
$ git clone https://github.com/mono/libgdiplus.git
Después de eso, vaya a la carpeta libgdiplus y ejecute los comandos de compilación:
$ ./autogen.sh --with-pango --prefix=/usr $ make
Si la compilación se realizó correctamente y no hay errores, puede instalar la biblioteca compilada:
$ sudo make install
Los archivos reemplazarán a los antiguos en la carpeta / usr / lib.
Ahora puede ejecutar el programa con informes y asegurarse de que funcione correctamente.
Por ejemplo, puede ver cómo funciona FastReport Mono en Linux Ubuntu 18.04:
Todo lo anterior también es válido para las aplicaciones web que utilizan los marcos .NET Core y Mono.
¡Le deseo la mejor de las suertes y menos problemas con los programas multiplataforma!