amagovpt / autenticacao.gov

Middleware Oficial de Identificação Eletrónica em Portugal - Cartão de Cidadão, da Chave Móvel Digital e Sistema de Certificação de atributos profissionais
https://www.autenticacao.gov.pt
European Union Public License 1.2
168 stars 33 forks source link

Caracteres estranhos #44

Closed tuxPT closed 3 years ago

tuxPT commented 3 years ago

Estou a usar ArchLinux com wayland mas antes quando usava X11 não dava caracteres estranhos. Alguém com o mesmo problema ? P.S: Os fields do cartão têm os caracteres certos

image LOG: log.txt

ACamposPT commented 3 years ago

Olá @tuxPT. Já conseguiste resolver o problema?

tuxPT commented 3 years ago

@ACamposPT era das fontes, que não estava a considerar.

ACamposPT commented 3 years ago

@tuxPT desculpa estar a insistir, mas podes detalhar a solução para o problema. A tua solução pode ser util para outros utilizadores, bem como, para melhorar o projecto.

Atualmente nos instaladores que fornecemos oficialmente para Linux, a fonte Lato-Regular.ttf é instalada pelo instalador na mesma pasta onde é colocado o binário /usr/local/bin. Quando a aplicação arranca esse ficheiro fonte é carregado. Qual foi a alteração que fizeste para resolver o teu problema?

tuxPT commented 3 years ago

Os maintainers do pacote é que fizeram fix https://aur.archlinux.org/cgit/aur.git/commit/?h=autenticacao-gov-pt-bin&id=78876563027abf0c0ea87399b5875c9c8dd1816a

https://aur.archlinux.org/cgit/aur.git/commit/?h=autenticacao-gov-pt-bin&id=7c956daa8ce0d027a94f2f075182dcec5e315b01

hab12335 commented 3 years ago

Estava a procurar a fonte no sitio errado, mas só resolve metade...

~ ❯❯❯ uname -a Linux manjaro 5.8.18-1-MANJARO #1 SMP PREEMPT Sun Nov 1 14:10:04 UTC 2020 x86_64 GNU/Linux

Passei duma imagem para a outra fazendo:

sudo cp /usr/share/fonts/TTF/Lato-Regular.ttf /usr/local/bin/Lato-Regular.ttf

2020-11-14-180654_1920x1080_scrot 2020-11-14-180548_1920x1080_scrot

mamoit commented 3 years ago

Estou a ter este mesmo problema no KDE Neon (versão mais recente, clean install). No entanto no Kubuntu 18.04 funciona bem.

ACamposPT commented 3 years ago

As distribuições que estão a usar não são oficialmente suportadas. No entanto, podemos dar algum suporte e tentar resolver o problema. Podem colar aqui o output da consola? Têm alguma mensagem de erro?

mamoit commented 3 years ago

@ACamposPT tens toda a razão. No entanto o KDE Neon é basicamente ubuntu 20.04 com KDE e os pacotes do desktop environment updated. Posso testar com Ubuntu 20.04 e Kubuntu 20.04 numa VM se ajudar.

No neon tenho o seguinte log. eidguiV2.log

mvrk69 commented 3 years ago

Tenho o mesmo problema no Fedora 33

Arracando a aplicação pela consola, vejo este erro:

qrc:/main.qml:42: TypeError: Cannot call method 'getFontFile' of null

mvrk69 commented 3 years ago

No Fedora 33 resolvi o problema removendo o pacote lato-fonts

mamoit commented 3 years ago

No KDE Neon (e ubuntu 20.04) o pacote chama-se fonts-lato, e é recomendado pelo ruby2.7. Depois de o desinstalar (é só uma recomendação, não um requirement), o problema fica resolvido! :tada: Obrigado @mvrk69

mamoit commented 3 years ago

Agora fica a dúvida... Como é que uma fonte estar instalada parte um programa que não a usa?

EDIT: Já percebi... O próprio pacote da autenticacao.gov faz ship das lato fonts em vez de ter o pacote fonts-lato/lato-fonts como dependência. Deve estar à espera de uma font com um tamanho/formato e deve apanhar a do sistema na search path primeiro, e usa essa a pensar que é a local, o que resulta nas fonts todas baralhadas.

mamoit commented 3 years ago

@ACamposPT

Atualmente nos instaladores que fornecemos oficialmente para Linux, a fonte Lato-Regular.ttf é instalada pelo instalador na mesma pasta onde é colocado o binário /usr/local/bin.

Por uma font no /usr/local/bin está longe de ser uma boa política (ter um comando chamado Lato-Regular.ttf na PATH é... pouco ortodoxo?). É para isso que existe o /usr/share/fonts. Mas IMHO a solução ideal era não instalar o ficheiro de todo e depender do pacote de sistema.

EDIT: Confirmado. Se o /usr/local/bin/Lato-Regular.ttf for apagado e a font de sistema estiver instalada, funciona.

tuxPT commented 3 years ago

a solução ideal é /usr/local/share. o /usr/local é o que se deve usar para programas/libs/outros que não são do sistena

tuxPT commented 3 years ago

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=autenticacao-gov-pt-bin

tuxPT commented 3 years ago

Este aqui usa o pacote oficial deb e adapta para achlinux

ACamposPT commented 3 years ago

Este problema acontece devido a uma incompatibilidade com a fonte lato-fonts de sistema com a fonte instalada pela nossa aplicação. Vamos resolver isso na próxima release.

No imediato, resolve o problema desinstalar o pacote de sistema "lato-fonts".

agrr commented 3 years ago

Esta questão está resolvida da seguinte forma: em Linux a aplicação carrega a fonte lato que esteja instalada no sistema. Só os pacotes Windows e MacOS da versão 3.6 incluem ainda a fonte.

Assume-se que está disponível nos pacotes da distribuição o que acontece pelo menos em Ubuntu, Debian, Fedora, OpenSUSE e ArchLinux.