LINUX.ORG.RU

imagemagick и экзотические монограммы с лигатурами

 , ,


0

1

Есть набор едреных шрифтов для написания монограмм. Самый простой шрифт для примера - moissanite-monogram

Пользователь вводит 2 буквы и видит: первая буква вытянулась влево, вторая - вправо. Как рендерится буква зависит от ее индекса. Это называют соединение букв (ligature). Открываю обычный gedit и вижу что шрифт рабочий

Задача - запилить это щастье на сайт любыми способами. Cufon не поддерживает такие лигатуры. Окэй - пишу скрипт, который будет делать из шрифта спрайт (если буква - картинка, то с помощью канваса можно ее можно легко скейлить, поворачивать и красить в любые цвета)

system "convert -size 1550x60 xc:transparent empty.png"
img = MiniMagick::Image.open "empty.png"
img.combine_options do |c|
  c.font      "Moissanite Monogram.otf"
  c.pointsize "130"
  
  i = 0
  ('a'..'z').each do |char|
    c.draw "text #{5 + i * 60},75 'a#{char}'"
    i += 1
  end
end
img.write "moissanite_monogram.png"

Результат - вот такое безобразие. Вторая буква не становится вытянутой вправо. Использовал Imagemagick 6.7.9.9 (или graphicsmagick 1.3.17), Pango 1.32.5, Cairo 1.12.8

Куда тянется эта борода?

★★

Последнее исправление: cetjs2 (всего исправлений: 3)
Ответ на: комментарий от visual
convert empty.png -pointsize 130 -font Moissanite\ Monogram.otf -draw "text 10,75 'ab'" fail.png

тоже самое показывает. не пашет

punya ★★
() автор топика

кароче я забил на imagemagick и легко сделал с помощью pango

pango-view --font="MFC Moissanite Monogram, 100" --background=transparent -t "ab" -q -o win.png
работает красава

punya ★★
() автор топика
Последнее исправление: punya (всего исправлений: 1)
Ответ на: комментарий от punya

Да, pango - самое грамотное решение для TTF.

pacify ★★★★★
()

Про то что эти твои монограммы скорее всего выводятся за счет opentype features, которые большинство программ не умеет, ты не подумал?

fat_angel ★★★★★
()
Ответ на: комментарий от fat_angel

не знал. посмотрел зависимости imagemagick - вижу freetype. думал что он во всех программах достаточен для рендеринга шрифтов. а какие именно фичи?

punya ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.