Skip to content

PDF: kann nicht generiert werden wegen inkompatiblem Encoding #2372

Description

@daniel-illi

Aktuelles Verhalten

Zum Generieren der PDF wird ein interner Font von prawn verwendet. Dieser hat einen eingeschränkten Zeichensatz, wenn ein Dokument generiert werden soll mit einem im Font nicht enthaltenen Zeichen, wird eine Exception geworfen:

Prawn::Errors::IncompatibleStringEncoding
Your document includes text that's not compatible with the Windows-1252 character set.
If you need full UTF-8 support, use external fonts instead of PDF's built-in fonts.

Sentry issues:

Helpdesk ticket:

Gewünschtes Verhalten

PDF können mit beliebigen Unicode Zeichen erstellt werden

Schritte zu reproduzieren

  1. Event erstellen und bei Teilnahme Fragen einen Text hinterlegen mit Zeichen ausserhalb des Windows-1252 character set.
  2. Anmeldung erstellen
  3. Anmeldung drucken => exception

Wann ist der Fehler aufgetreten?

Aufgetreten in der pronatura Instanz. Es war auf dem Anlass folgende Frage konfiguriert:

Ich nehme zur Kenntnis, dass die Versicherung Sache der Teilnehmenden ist / J'ai pris connaissance que les assurances sont à la charge des participant∙e∙s.

Das Problem sind die "Hochpunkte" am Schluss der Frage.

ToDo

  • NotoSans Font unter app/javascript/fonts/ auf neueste Version aktualisieren.
    Hinweis mit Anleitung zum Aktualisieren der Fonts in Doku ergänzen.
  • Export::Pdf::Document anpassen, so dass NotoSans als default font UND als fallback font verwendet wird
  • Prawn::Document#initialize anpassen, so dass fallback_fonts zwingend übergeben werden muss, andernfalls wird eine Exception geworfen. Im Exception Text darauf hinweisen, dass Export::Pdf::Document verwendet werden soll.
  • Specs
  • sicherstellen, dass PDF Rendering in allen wagons weiterhin korrekt funktioniert
  • CHANGELOG Eintrag hinzufügen

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions