Prawn Error? ActionView::Template::Error (Your document includes text that's not compatible with the

252 views
Skip to first unread message

村上健太

unread,
Feb 15, 2018, 6:48:27 AM2/15/18
to Thinreports
```

ActionView::Template::Error (Your document includes text that's not compatible with the Windows-1252 character set.

If you need full UTF-8 support, use TTF fonts instead of PDF's built-in fonts.

):

```

上記エラーが出ます。
以下の文字列が混入する際に再現します(括弧内)。
「 ︎ 」

コピペなどで混入したと思いますが、なにかヒントありますでしょうか?

Eito Katagiri

unread,
Feb 15, 2018, 9:32:37 PM2/15/18
to Thinreports
かたぎり といいます。

https://github.com/prawnpdf/prawn/blob/50e117544ec856c696defa58ec5bd9eb775ca490/lib/prawn/font/afm.rb#L106-L116 からエラーが出力されているので、括弧内の文字が、(おそらく、UTF-8から)Windows-1252 に変換できないのが原因のようですね。Windows-1251 は1バイトの文字エンコーディングらしいので、全角の空白とかでしょうか?それを半角にするか、エラー文言のようにフォントをAFMファイルではなくTTFファイルを使うと良いのかなぁと思います。

村上健太

unread,
Feb 15, 2018, 11:02:50 PM2/15/18
to Thinreports
ありがとうございます。
U+FE0Eでした。置換して対応したので問題としてはFixで大丈夫です!
フォントファイルの変更方法についてDocあればシェアして頂ければありがたいです。

2018年2月16日金曜日 11時32分37秒 UTC+9 Eito Katagiri:

h k

unread,
May 28, 2019, 5:31:07 AM5/28/19
to Thinreports
> エラー文言のようにフォントをAFMファイルではなくTTFファイルを使うと良いのかなぁと思います。

かたぎりさんが書いておられる通り、TTFファイルを使うのが良いと思います。

どのようにTTFを使うかというと、少し内部的な話になりますが説明します。

ご存知の通り、Thinreports で使えるフォントは下記の5つです。

- Helvetica
- Times Roman
- Georgia
- IPAフォント

このうち、IPAフォント以外は内部的には AFM フォントになります。現状、Thinreports には任意のフォントを追加する機能はないため、IPAフォント(TTF)を使うのが解決方法になると思います。

2018年2月16日金曜日 13時02分50秒 UTC+9 村上健太:
Reply all
Reply to author
Forward
0 new messages