Ao usar as bibliotecas FastReport.NET (Core), FastReport Open Source e FastReport Mono no sistema operacional Linux, bem como ao salvar documentos como imagens ou arquivos PDF, existe a possibilidade de experimentar a exibição incorreta de textos Unicode na visualização do relatório.
Um dos problemas mais comuns é um erro de hifenização e, como resultado, espaçamento incorreto entre palavras. Por exemplo, ao usar o idioma tailandês no sistema operacional Windows, vemos o seguinte texto:
Ao executar o mesmo relatório no Linux Ubuntu, a seguinte linha é formatada incorretamente:
Também pode haver problemas com a quebra de linha. Vejamos outro exemplo com Thai no sistema operacional Windows:
O mesmo texto é exibido incorretamente no sistema operacional Linux Ubuntu:
Esses erros de exibição de texto podem ser observados em outros idiomas.
Felizmente, existe uma solução - auto-montagem da biblioteca lingdiplus a partir do código-fonte com o Pango.
Antes de começar, é altamente recomendável fazer uma cópia de backup dos arquivos /usr/lib/libgdiplus*.*, pois eles serão sobrescritos pelos novos no processo de construção da biblioteca. Nesse caso, você pode retornar o sistema ao seu estado original se o resultado desejado não tiver sido alcançado.
Na primeira etapa, precisamos instalar as dependências necessárias usando o comando:
$ sudo apt-get install libgif-dev autoconf libtool automake build-essential gettext libglib2.0-dev libcairo2-dev libtiff-dev libexif-dev libpango1.0-dev
Em seguida, precisamos fazer uma cópia da biblioteca libgdiplus necessária do repositório GitHub:
$ git clone https://github.com/mono/libgdiplus.git
Depois disso, vá para a pasta libgdiplus e execute os comandos de construção:
$ ./autogen.sh --with-pango --prefix=/usr $ make
Se a compilação foi bem-sucedida e não há erros, você pode instalar a biblioteca compilada:
$ sudo make install
Os arquivos substituirão os antigos na pasta / usr / lib.
Agora você pode executar o programa com relatórios e verificar se ele funciona corretamente.
Por exemplo, você pode ver como FastReport Mono funciona no Linux Ubuntu 18.04:
Todos os itens acima também são verdadeiros para aplicativos da Web que usam as estruturas .NET Core e Mono.
Desejo-lhe boa sorte e menos problemas com programas multiplataforma!