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
26 de novembro de 2024

Installing FastReport on .NET 8.0 and Creating a Simple Report

The purpose of this article is to explain step by step how to install FastReport on .NET 8.0 and how to create a simple report. Taking the reporting process from the beginning, it will show how to connect, design and view reports.
04 de outubro de 2023

How to generate a report from an ASP.NET Core application using FastReport.Core.Skia

We tell you how to generate a report on Windows and Linux using FastReport.Core.Skia and a private NuGet server.
22 de março de 2023

Creating PDF report in JetBrains Rider (C#) on Ubuntu 22.04.1 LTS

In this article, we'll take a look at the world of the .NET platform on Ubuntu 22.04.1 LTS and create a PDF exportable report.
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.