Ошибка встроенного шрифта для документа Rails Prawn - PullRequest
5 голосов
/ 15 января 2020

Только на прошлой неделе это работало нормально, и теперь мои документы PDF дают мне следующее «Невозможно извлечь встроенный шрифт« 1491bd-SourceHanSans-Normal ». Некоторые символы могут отображаться неправильно». ошибка.

Я часами охотился на это, и я просмотрел свои последние коммиты и не смог найти каких-либо серьезных изменений, которые могли бы вызвать внезапное возникновение этой проблемы.

Вот основы c код, который я использую для проверки ошибок.

def invoice_pdf
    require "prawn"
    # document set up
    Prawn::Document.generate("PDF.pdf", :page_size => "A4", :margin => [25], disposition: "inline") do |pdf|
        # set utf-8 japanese font
        pdf.font_families.update("SourceHan" => {
            :normal => ".fonts/SourceHan/SourceHanSans-Normal.ttf",
        })
        pdf.font "SourceHan" 
        pdf.font_size 10
        pdf.text 'ハロー ワルド。'
        send_data pdf.render, type: 'application/pdf', disposition: :inline
    end
end

Отображается правильно при открытии в Google Chrome. Но, используя acrobat или другие браузеры (например, Firefox, которые используют приложение предварительного просмотра системы по умолчанию), выдает ошибку.

Мысли?

1 Ответ

6 голосов
/ 15 января 2020

Существует известная проблема со встроенными шрифтами в недавно выпущенном геме ttfunk 1.6.0.

Вы недавно обновили этот драгоценный камень? Если это так, попробуйте понизить его до 1.5.0 в вашем Gemfile и посмотрите, поможет ли это.

...