Saya mencoba membuat banyak gambar dengan karakter tunggal convert
. Tujuannya adalah untuk memberikan spesialis plastik dengan gambar untuk mencetak keycaps keyboard.
The dokumentasi ImageMagick menunjukkan sesuatu seperti ini:
printf "\u2318" | convert -size 100x100 label:@- -font unifont-Medium command.png
atau
echo ⌘ | convert -size 100x100 label:@- -font unifont-Medium command.png
atau
convert -size 100x100 label:'⌘' -font unifont-Medium command.png
yang seharusnya mencetak simbol tempat menarik , tetapi malah menghasilkan tanda tanya.
Saya telah mengkonfirmasi (menggunakan charmap
) bahwa unifont-Medium
fontset sebenarnya termasuk mesin terbang ini. Saya tahu bahwa font lain di sistem saya juga dapat menyediakan mesin terbang ini, karena saya bisa melihatnya sebelum menginstal unifont, tapi saya tidak bisa mengetahui namanya.
Saya juga mencoba menggunakan LaTeX (mis. TexLive dengan semua tambahan dan utf8x
paket) tetapi tidak ada karakter khusus yang didukung.
Ada banyak pertanyaan di forum tentang mencetak karakter bahasa Mandarin dengan imagemagick dan karakter khusus lainnya ... yang berikut ini berfungsi untuk saya:
convert -background lightblue -fill blue -pointsize 32 \
label:' é è à ù ç Ö ÿ ‘ ’ “ ” ° ² ³ € x ÷ ' label_i8n.gif
tapi itu tidak berfungsi untuk karakter UTF-8 yang sebenarnya penting bagi saya.
Bagaimana saya bisa mengubah karakter unicode sewenang-wenang ke gambar?
UPDATE : Saya menyerah, terlihat seperti bug. Sebagai gantinya, saya membuat banyak skrip untuk menghasilkan dan membuat SVG, open source di sini: kinesis-dvorak
sumber
Jawaban:
Saya mencoba perintah yang sama dan mendapatkan hasil yang sama.
Mengubah unicode untuk huruf G berfungsi dengan baik:
Saya akan memposting pertanyaan ini ke situs ImageMagick Discourse untuk melihat mengapa ini terjadi. Saya dapat membantu jika Anda tidak yakin bagaimana melakukan ini atau melanjutkan.
Konversi debugging
Anda dapat menambahkan
-debug annotate
sakelar untuk melihat apa yang sedangconvert
terjadi.Contoh
UPDATE # 1 - Debugging lebih lanjut
Masalah ini membuatku jengkel, jadi kupikir akhirnya aku yang menemukannya. Masalahnya adalah pemilihan font, dan tidak dapat menampilkan mesin terbang tertentu.
Pertama, Anda dapat menggunakan perintah ini untuk melihat font mana yang Anda miliki
convert
. Jadi mari kita mulai dari sana.Di atas menunjukkan contoh, setiap font memiliki garis yang mirip dengan di atas. Kebetulan, menjalankan perintah ini menunjukkan kami memiliki beberapa ratus font:
Selanjutnya kita akan pergi melalui tugas pengkodean karakter kita,
\u2318
menggunakan setiap font yang kita miliki. Ini terdengar rumit tetapi cukup sepele dengan beberapa dipikirkan satu liners melalui Bash.Cuplikan ini akan menggunakan loop for untuk dijalankan melalui setiap font, menjalankan versi modifikasi dari
convert
perintah Anda .Sekarang kita melihat hasilnya. Banyak font tidak dapat menampilkan mesin terbang khusus ini tetapi beberapa bisa, yang tampaknya menunjukkan bahwa itu tidak selalu bug di ImageMagick, tetapi lebih merupakan keterbatasan font itu sendiri. Berikut daftar font yang saya miliki yang dapat menampilkan mesin terbang ini.
Saya melihat seluruh ~ 260
.gif
file yang dihasilkan secara visual untuk menentukan mana yang berhasil dan mana yang tidak. Berikut adalah contoh dari beberapa yang berfungsi agar Anda dapat melihatnya.Referensi
sumber
-font DejaVu-Sans-Bold
membantu untuk menandai gambar dengan tengkorak bajak laut:perl -e 'binmode(STDOUT, ":utf8");print "Skull: \x{2620}";' |convert picture_orig.jpg -background none -fill red -pointsize 90 -font DejaVu-Sans-Bold label:@- -flatten picture_tagged.jpg
terima kasih atas bantuan luar biasa Anda!