Construindo a biblioteca libgdiplus da fonte

2020-10-02

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:

Exemplo

Ao executar o mesmo relatório no Linux Ubuntu, a seguinte linha é formatada incorretamente:

Exemplo

Também pode haver problemas com a quebra de linha. Vejamos outro exemplo com Thai no sistema operacional Windows:

Exemplo

O mesmo texto é exibido incorretamente no sistema operacional Linux Ubuntu:

Exemplo

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:

FastReport Mono

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!

.NET Mono FastReport Linux Core Open Source Libgdiplus .NET Mono FastReport Linux Core Open Source Libgdiplus
12 de julho de 2022

Como mostrar múltiplos relatórios em uma página no Blazor

Trabalho a partir do Código do aplicativo Blazor para exibir simultaneamente vários relatórios com filtragem de dados de acordo com a condição do Usuário.
06 de julho de 2022

Como importar um relatório do StimulSoft para o FastReport.NET

O FastReport. net adicionou um plug-in de importação de relatórios do StimulSoft que converte automaticamente seus documentos em um formato .frx.
25 de maio de 2022

Geração de relatórios com PostgreSQL em um aplicativo .NET 5 com Debian 10

Exemplo de um relatório com código baseado na biblioteca FastReport.Núcleo usando bancos de dados SQL no sistema operacional Debian 10.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.