Базы данных Oracle - статьи



             

Настройка Oracle Reports на примере простого документа - часть 3


мы увидим отчёт с кириллицей, но текст будет не выровнен:

Итак, мы убедились, что в документ попала информация шрифтов и она используется программой Acrobat Reader при отображении. То, что кириллица не выровнена, это нормально на данном этапе, поскольку мы только настроили включение информации шрифтов в PDF-документ, но не сообщали серверу отчётов о метриках шрифтов для корректной разметки отчёта.

  • Настраиваем сервер отчётов на использование метрик новых шрифтов

    1. Получаем файлы метрик. Это можно сделать с помощью пакета ttf2pt1, который можно скачать здесь и который позволяет сгенерировать AFM-файл метрик из ttf-файла шрифта. Так, например, для шрифта Arial из файла arial.ttf нужно выполнить такую команду:

      ttf2pt1 -l cyrillic -G A arial.ttf - > Arial

    2. Обратите внимание на название AFM-файла, которое нужно сделать равным полю FullName этого файла.

      Таким образом для наших 12 шрифтов мы получим 12 AFM файлов

      Arial Arial Italic Arial Bold Arial Bold Italic

      Courier New Courier New Italic Courier New Bold Courier New Bold Italic

      Times New Roman Times New Roman Italic Times New Roman Bold Times New Roman Bold Italic

      Эти файлы следует разместить в каталоге $ORACLE_HOME/guicommon9/tk/admin/AFM

    3. Вносим в файл $ORACLE_HOME/guicommon9/tk/admin/uiprint.txt определение нового принтера, добавив строку:
    4. cyrillic:Postscript:1:Configure your uiprint.txt file:cyrillic.ppd:

      Под термином “принтер” здесь далее имеется ввиду логический принтер, который позволяет корректно отформатировать данные, которые в дальнейшем будут отправлены на физический принтер. В частности, этот логический принтер предоставляет серверу отчётов информацию о шрифтах физического принтера, отступах в документе, и прочие данные.

    5. Создаём файл cyrillic.ppd, описывающий принтер. Его можно создать на основе файла datap462.ppd:

      cd $ORACLE_HOME/guicommon9/tk/admin/PPD cp datap462.ppd cyrillic.ppd

    6. В описании принтера определяем его шрифты. Этот принтер будет использовать шрифты, содержащие кириллицу.
    7. В файле $ORACLE_HOME/guicommon9/tk/admin/PPD/cyrillic.ppd заменяем строки:




      Содержание  Назад  Вперед