Lệnh chuyển đổi ImageMagick trực tuyến không thể sử dụng phông chữ!


10
convert -size 300x50 xc:none -font Arial -pointsize 20 -gravity center -draw "fill white text 1,1 \"$1\" text 0,0 \"$1\" fill black text -1,-1 \"$1\"" $WATERMARK_FILE

Kết quả lệnh trên có lỗi sau:

convert.im6: unable to read font `Arial' @ warning/annotate.c/RenderType/853.

Tôi đã tìm kiếm trên web và thấy rằng nhiều người dùng đã thấy lỗi này, nhưng không tìm thấy bất kỳ giải pháp nào. Có ai giúp được không?

LƯU Ý 1: Phông chữ Arial được cài đặt trên hệ thống của tôi:

$ fc-list | grep -i arial
/usr/share/fonts/truetype/msttcorefonts/Arial_Italic.ttf: Arial:style=Italic,Cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,İtalik,Poševno,nghiêng,Etzana
/usr/share/fonts/truetype/msttcorefonts/ariblk.ttf: Arial Black:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/truetype/msttcorefonts/Arial.ttf: Arial:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,thường,Arrunta
/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf: Arial:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/truetype/msttcorefonts/Arial_Bold_Italic.ttf: Arial:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,nghiêng đậm,Lodi etzana
/usr/share/fonts/truetype/msttcorefonts/arialbi.ttf: Arial:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,nghiêng đậm,Lodi etzana
/usr/share/fonts/truetype/msttcorefonts/Arial_Black.ttf: Arial Black:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf: Arial:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/truetype/msttcorefonts/ariali.ttf: Arial:style=Italic,Cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,İtalik,Poševno,nghiêng,Etzana

CHÚ THÍCH 2: Thay đổi trường hợp trong tên phông chữ ( arialthay vì Arial) không giúp ích.

CHÚ THÍCH 3: Sử dụng đường dẫn tệp phông chữ tuyệt đối với tên tệp phông chữ hoàn chỉnh ( filename.fileextension) sẽ loại bỏ lỗi:

convert -size 300x50 xc:none -font "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf" -pointsize 20 -gravity center -draw "fill white text 1,1 \"$1\" text 0,0 \"$1\" fill black text -1,-1 \"$1\"" $WATERMARK_FILE

Trước khi đăng dưới dạng câu trả lời: Tôi đã giải quyết nó bằng cách sử dụng đường dẫn tuyệt đối đến phông chữ được đề cập. Không chắc chắn tại sao mặc dù. Hãy cho tôi biết nếu nó hoạt động :)
Jacob Vlijm

Vui lòng chỉnh sửa câu hỏi của bạn và gửi đầu ra của fc-list | grep -i arial. Lệnh bạn hiển thị làm việc cho tôi không có lỗi. Bạn đã cài đặt Arial chưa?
terdon

@terdon, trên Ubuntu, đây là một vấn đề phổ biến. Không bao giờ tìm thấy một lời giải thích mặc dù.
Jacob Vlijm

@JacobVlijm có lẽ, đó là một cái gì đó về tên của phông chữ trong bộ đệm phông chữ. Có lẽ nó cần chữ thường arialhoặc tên hơi khác nhau. Bạn cũng cần phải msttcorefontscài đặt, tôi nghĩ vậy.
terdon

1
@terdon Khi tôi chạy vào nó (là một cái gì đó cho Parto: askubuntu.com/questions/552456/... ) tôi đã cố gắng tất cả mọi thứ: chữ hoa / chữ thường, cũng tất cả các loại phông chữ không có may mắn. Trên một số bài đăng (không phải AU) tôi đã chạy vào đề xuất để sử dụng các đường dẫn tuyệt đối. Làm việc, mà không có sự hài lòng của lý do tại sao.
Jacob Vlijm

Câu trả lời:


12

Arial không phải là một phông chữ miễn phí. Các điều khoản sử dụng của nó trên các nền tảng nguồn mở như Linux và Ubuntu khiến nó không thể phân phối như một phần của bản cài đặt. Bạn nên sử dụng một trong những lựa chọn thay thế miễn phí / mở như Giải phóng.

Bạn có thể liệt kê các phông chữ bạn có convert -list font. Ví dụ:

$ convert -list font|grep Liberation-Sans
Font: Liberation-Sans-Bold
Font: Liberation-Sans-Bold-Italic
Font: Liberation-Sans-Italic
Font: Liberation-Sans-Narrow-Bold
Font: Liberation-Sans-Narrow-Bold-Italic
Font: Liberation-Sans-Narrow-Italic
Font: Liberation-Sans-Narrow-Regular
Font: Liberation-Sans-Regular

Tôi có thể đảm bảo với bạn, nó không có gì để làm với điều đó. Tất cả các phông chữ hoạt động nếu đường dẫn tuyệt đối được sử dụng. Bạn đã thử chưa?
Jacob Vlijm

3
Gửi meuh, nó không liên quan đến giấy phép phông chữ hoặc bản quyền. Nó chỉ liên quan đến tên phông chữ trong hệ thống của tôi. Câu trả lời của bạn đã hướng dẫn tôi sử dụng $ convert -list font | grep "Font:" | grep Ariallệnh và kết quả là : Font: Arial-Black-Regular Font: Arial-Bold Font: Arial-Bold-Italic Font: Arial-Italic Font: Arial-Regular. Vì vậy, tôi hiểu rằng tôi phải sử dụng "Arial-Thường xuyên" thay vì "Arial" làm tên phông chữ. Hãy cập nhật câu trả lời của bạn!
Học viên PHP

Danh sách đó trống rỗng
theonlygusti

3

Tôi đã gặp vấn đề tương tự với Macbook của tôi ngày hôm nay. Nguyên nhân của điều đó là một đơn giản.

chuyển đổi chỉ sử dụng phông chữ được biết đến. Tất cả các phông chữ được biết để chuyển đổi được liệt kê với lệnh này.

convert -list font

Phông chữ mong muốn của tôi là trong ~/Library/Fonts. chuyển đổi không liệt kê nó.

Tôi đã làm theo hướng dẫn từ Mark Setchell và có khả năng tạo ra tôi type.xml.

Mục nhập cho phông chữ của tôi trong type.xml

<type format="ttf"
  name="MyriadPro"
  fullname="MyriadPro-Regular"
  family="Myriad Pro" 
  glyphs="/Users/vinh/Library/Fonts/myriadpro-regular.ttf"/> 

Tôi có thể sử dụng tên hoặc đường dẫn tuyệt đối để tạo hình ảnh của mình.

convert -size 300x50 xc:none -font "MyriadPro" \
  -pointsize 20 -kerning 1 -gravity center \
  -fill black -annotate 0x0+0+0 "mimacom" \
  -fill white -annotate 0x0+2+2 "mimacom" mimacom.png
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.