Chrome in headless mode toont geen Chinese karakters

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • +1 Henk 'm!

  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01 15:19
Als ik in headless Chrome op Ubuntu Server een website laadt met letters/karakters die niet voorkomen in het Latijnse alfabet, dan worden deze karakters getoond als een leeg blokje [].

Het schijnt dat headless Chrome out of the box niet-Latijnse karakters niet kan tonen. Dus het probleem treedt op bij bijvoorbeeld Chinese, Hindi, Arabische, Japanse en Koreaanse tekens.

Dit is problematisch, want ik moet een site testen in headless Chrome die in meerdere talen beschikbaar is. Ik kan zien dat de karakters niet worden geladen, omdat ik toegang heb tot headless Chrome via de debugging tool op poort 9222.

Op de server is het Liberation font geinstalleerd en deze wordt tevens lokaal via CSS ingeladen (UTF-8 charset). Dit werkt dan ook perfect in Chrome, maar dus niet in headless mode.

Hoewel dit een bekend probleem is, heb ik er nog geen oplossing voor gevonden.

Hoe krijg ik niet-Latijnse karakters werkend in headless Chrome?

Beste antwoord (via Arcane Apex op 08-05-2019 11:19)


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 12:48

Hero of Time

Moderator LNX

There is only one Legend

Ik heb nog nooit oosterse tekens gezien met alleen liberation fonts geïnstalleerd. Hiervoor heb ik extra lettertypen moeten installeren, zoals fonts-horai-umefont. Denk er eens over na om fonts-noto met fonts-noto-cjk toe te voegen aan je systeem.

Wil je visueel beter kunnen debuggen, maak dan gebruik van X11 forwarding icm SSH. Hoef je niets headless te draaien, je haalt het venster gewoon naar je eigen systeem.

Commandline FTW | Tweakt met mate

Alle reacties


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Misschien ben ik dom, maar: het hele idee van headless is toch dat er niets is te zien?

Maar goed, random Google-hit suggereert https://www.api2pdf.com/s...racters-in-html-and-pdfs/ of heel andere oplossing https://github.com/adieuadieu/serverless-chrome/issues/49
Misschien wil je wat andere, Engelstalige, zoektermen proberen ;)

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01 15:19
Dat klopt, headless Chrome is Chrome zonder interface (GUI).

Het wordt vaak door developers gebruikt op servers die geen monitor hebben. Om eventuele fouten toch op te kunnen sporen zonder scherm heeft headless Chrome een debugging tool die toegankelijk is op poort 9222 van de server. Als je die tool gebruikt kun je de website zien die in headless Chrome geladen wordt en je krijgt tevens debugging-informatie te zien.

Onderdelen van de website worden automatisch getest in headless Chrome, dus de website moet foutloos werken in headless mode. Dat is nu echter niet het geval doordat niet-Latijnse karakters niet getoond worden.

API2PDF is geen optie voor mij, want de site dient niet omgezet te worden naar PDF. In de 2e link kan ik geen werkende oplossing vinden. Volgens mij is die 2e link ook niet voor vanilla Chrome of Chromium bedoeld, maar voor een package die Chrome gebruikt.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 12:48

Hero of Time

Moderator LNX

There is only one Legend

Ik heb nog nooit oosterse tekens gezien met alleen liberation fonts geïnstalleerd. Hiervoor heb ik extra lettertypen moeten installeren, zoals fonts-horai-umefont. Denk er eens over na om fonts-noto met fonts-noto-cjk toe te voegen aan je systeem.

Wil je visueel beter kunnen debuggen, maak dan gebruik van X11 forwarding icm SSH. Hoef je niets headless te draaien, je haalt het venster gewoon naar je eigen systeem.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01 15:19
Hindi, Chinees, Japans en Arabische lijken prima te werken met het Liberation font in Chrome, enkel niet in headless mode.

Visueel debuggen is niet echt een probleem, dat lukt wel. Echter doordat niet-Latijnse karakters niet geladen worden ontstaan er een aantal bugs die niet op te lossen zijn, tenzij die karakters geladen worden.

De site dient daarnaast ook in headless mode te kunnen draaien, zodat de server bewerkingen kan uitvoeren op een geladen site. Men wil daarvoor niet afhankelijk zijn van een client, dus dient dat allemaal server-side te gebeuren.

Dus het is echt een probleem dat ik op dien te lossen.

Ik zal eens kijken naar de fonts die je hebt genoemd. Het zou mooi zijn als dat het probleem oplost. Ik heb echter al een aantal extra fonts geinstalleerd en dat bleek niet te werken, maar ik ga het proberen.

Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Arcane Apex schreef op woensdag 8 mei 2019 @ 10:14:
API2PDF is geen optie voor mij, want de site dient niet omgezet te worden naar PDF.
Dat is niet wat er staat, het ging er om de tag ;) (Vanwege de suggestie is dat die api2pdf onder water headless chrome gebruikt).

En bij die andere ging het om wat HT hierboven zegt: mogelijk de juiste fonts toevoegen aan het systeem. Al heb ik het nooit gebruikt (met Chrome).

[ Voor 9% gewijzigd door F_J_K op 08-05-2019 10:34 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 12:48

Hero of Time

Moderator LNX

There is only one Legend

Chrome zal dan online zoeken naar fonts om alsnog weer te geven. Iets wat 't blijkbaar met headless dan niet doet. Ik heb Firefox ook al betrapt op meer weergeven dan m'n systeem beschikbaar had. Het zou mij daarom ook niet verbazen als Chrome hetzelfde doen. En met headless terugvalt op wat het systeem heeft.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01 15:19
Ik heb inmiddels enige voortgang geboekt. Ik heb het fonts-noto pack geinstalleerd op advies van Hero Of Time en dit lost het probleem op voor het Hindi schrift. Echter Chinese karakters worden nog steeds als lege blokjes getoond.

Dit is echter een goed teken en toont aan dat het probleem op te lossen is, wat een grote opluchting is voor mij.

Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 12:48

Hero of Time

Moderator LNX

There is only one Legend

Daarom gaf ik ook aan dat je fonts-noto-cjk erbij moet installeren. Van de omschrijving:
This package contains Noto font families for Traditional Chinese, Simplified Chinese, Japanese and Korean
Je zou fonts-noto-cjk automatisch moeten krijgen als je aanbevolen packages accepteert, anders niet.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01 15:19
Ja, dat vermoedde ik al. Ik heb nu ook het fonts-noto-cjk font pack geinstalleerd en nu werken Chinees, Japans en Koreaans ook.

Voor talen in India heb ik een extra font pack geinstalleerd om twee redenen. Het Hindi font van het noto pack was een beetje kronkelig, wat niet mooi leek te passen qua stijl bij het Liberation font. Daarnaast zijn er in India vele talen en schriften en is enkel Hindi (Devanagari) niet voldoende.

Ik heb de volgende font packs geinstalleerd op Ubuntu Server en dat lost het probleem op voor alle talen en schriften en dat zijn er behoorlijk wat, dus dit zijn echt goede font packs:
code:
1
2
3
sudo apt-get install fonts-indic
sudo apt-get install fonts-noto
sudo apt-get install fonts-noto-cjk

Het probleem is hiermee opgelost en ook op een elegante manier, want het Liberation font werkt nog gewoon voor alle Latijnse karakters en als het Liberation font niet werkt voor een buitenlands schrift, dan wordt er teruggevallen op de geinstalleerde font packs. Hier ben ik dus erg blij mee.

Alles lijkt nu te werken. Er is echter wel 1 detail waar ik op dit moment nog geen oplossing voor weet. Het Japanse schrift wordt nu volledig weergegeven in Hiragana-schrift in plaats van het meer traditionele Kanji. Hiragana-schrift is een klankenschrift zoals ons alfabet. En hoewel Japanners dit vaak gebruiken, heeft Kanji in dit geval de voorkeur.

Ik zal dus nog even uit moeten zoeken hoe ik kan forceren dat er voor Japans het Kanji-schrift getoond wordt, maar het probleem is nu grotendeels opgelost.

Heel erg bedankt Hero Of Time. You're a life saver!

Acties:
  • +1 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 12:48

Hero of Time

Moderator LNX

There is only one Legend

Als de bron geen kanji heeft gebruikt en alleen maar kana, dan zal je met het installeren van fonts geen verschil merken. Je zou nog het eerder genoemde horai-ume kunnen installeren, maar ik verwacht geen verschil.

Commandline FTW | Tweakt met mate

Pagina: 1