質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

Q&A

解決済

1回答

1069閲覧

RailsのMiniMagickで「mogrify: unable to read font」と怒られます

shisha

総合スコア86

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ImageMagick

ImageMagickとは、画像の表示や操作を行うオープンソースのソフトウェアです。プログラムはCで書かれており、GIFやJPEG、PDFなど画像ファイルフォーマット100種類以上に対応しています。

0グッド

0クリップ

投稿2020/07/12 01:22

編集2020/07/14 04:40

困っていること

Ruby on Rails で MiniMagick gem を通してImageMagickで画像加工をしようとしています。
画像加工のところで、フォントがないと怒られます。

環境

Ruby on Rails 6.0.3.2
gem mini_magick 4.10.1
gem image_processing 1.11.0(どこか内部で使っている?)
Ruby version ruby 2.6.6p146 (2020-03-31 revision 67876) [x64-mingw32] (rails about)
ImageMagick 7.0.10-22 Q16 x64 2020-06-27 (確認コマンド:convert -version)

エラー部分のコードなど

ruby

1 pointsize = 100 2 sentense = "testテスト\nhoge" 3 text_color = "white" 4 draw = "text 0, 0 '#{sentense}'" 5 font = "./app/assets/fonts/GenEiGothicN-U-KL.otf" 6 7 base = "./app/assets/images/black.jpg" 8 image = MiniMagick::Image.open(base) 9 image.combine_options do |i| 10 i.font font 11 i.fill text_color 12 i.gravity 'center' 13 i.pointsize pointsize 14 i.draw draw 15 end

image.combine_options の font のところで次のように怒られます。
(フォントが読めないといわれるだけで、止まったりはしないです。)

mogrify: unable to read font `./app/assets/fonts/GenEiGothicN-U-KL.otf' @ warning/annotate.c/RenderType/962.

試したこと

拡張子の異なるttfの別のフォントでも試してみたのですが、怒られました。
他のアプリでは同じフォントでもエラーが起きていないようなので、原因がわかりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2020/07/13 11:53

app/assets/fonts/ には確かに「GenEiGothicN-U-KL.otf」が存在していますか? 「File.expand_path()」を介して full path に変換した場合も同様の警告が表示されますか? (動作する最小限のコードを提示してください。(たとえば今現在のコードだと sentence の定義がなくエラーで止まるなどがある))
shisha

2020/07/14 04:42

ご質問等ありがとうございます。 存在していて1784KBあります。自分が確かめる限りスペルミスもないです。 full pathに変換しましたが、同様の警告でした。 sentense と base 変数について、中身を書きました。
shisha

2020/07/14 09:30

すみません、実際のフォルダはfontで作ったのに、指定してたフォルダのパス名がfontsでした。 これを直したところ、うまくいきました
guest

回答1

0

自己解決

フォルダを単数形の font で作っていましたが、複数計のパス fonts で指定していました。
ファイル名のスペルミスには気をつけていましたが、フォルダ名の単数・複数誤りは盲点でした。

投稿2020/07/14 09:32

shisha

総合スコア86

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問