LINUX.ORG.RU

Как научить Qt-шную прогу выводить на печать по-русски?


0

0

Разрабатываю п\о для одной из подсистем диагностики для АЭС, Гуй делаю на qt.

Вместо русского на распечатке - пустое место.

При этом с русским в экранных формах проблем нет ( использую QString::fromLocal8Bit(some_string)).

Может кто решал эту проблему? Если да, то как?

Я вскорости буду решать эту проблемку и собираюсь сделать это с помощью кирилических TTF-фонтов, попробуй подёргать, и напиши сюда что получилось, интерес не праздный. Есть ещё ghostscript, который может помочь этой проблеме.

anonymous
()

Возможно я сейчас скажу глупость,....

....но я бы посоветовал попробовать сделать как-нить через LaTeX. Правда я через Qt не пробовал печатать (потому и сомневаюсь в своем совете). Но из обычных Perlовых скриптов высококачественную печать черех LaTeX делал. Всякие там книги продаж, платежки, адреса на конвертах и пр.

kraw ★★★★
()

да, латех штука хорошая но для WYSIWYG не подходит.

ghostscript я упомянул ранее не просто так, опишу как он помогает при печати из konqueror'а. Я иногда не могу напечатать на принтере документ сохранённый в ps из konqueror'а (konqueror настроен на показ текста кириллическими TTF-фонтами), причём сглаживание должно быть включено ОБЯЗАТЕЛЬНО (export QT_XFT=y, в bash или zsh, конечно, или сглаживание надо включить в КДЕ через настройки, я в начале этого лета здесь в галерее при обсуждении какого-то скрин-шота расписывал как делается сглаживание фонтов в КДЕ для XFree86-4.x.y). Признаки такие: ghostview кажет, а принтер фигню выдаёт. Из этого положения я выхожу конвертируя ps-файл с помощью ghostscript. Опции такие:

gs -dSAFER -dCompatibilityLevel=1.2 -sPAPERSIZE=a4 -q -dNOPAUSE -dBATCH -sDEVICE=pswrite -sOutputFile=${outfile} -f ${infile}

это часть моего скриптика где outfile и infile имена конвертированного и исходного файлов соответственно. После конвертации файл уменьшается в размерах в 2-5 раз и что немаловажно фонты подменяются тютелька в тютельку (я знаю ещё два способа подмены фонтов но посредством них подмена происходит плохо и буквы разъезжаются и накладываются). Поскольку КДЕшники пользуют Qt'шный ps-драйвер то этим способом можешь воспользоваться и ты (если используешь версию Qt поддерживающую сглаживание: 2.3.1 <= Qt-version < 3.0.0). Итак:

1) TTF обязательно

2) сглаживание обязательно

3) ghostscript по надобности (что-то здесь с кодировками связано, мне кажется)

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