ля Arial normal/normal, normal/bold, italic/normal і italic/bold потрібні файли arial.ttf, arialbd.ttf, ariali.ttf і arialbi.ttf. p> Згенерувати файли описів шрифтів (типу arial.xml). Для цього для кожного шрифту потрібно виконати команду (це для Arial normal/normal, всі в один рядок):
java-cp .; C: fop-0.20.1buildfop.jar; c: fop-0.20.1libbatik.jar;
c: fop-0.20.1libxalan-2.0.0.jar; c: fop-0.20.1libxerces.jar;
c: fop-0.20.1libjimi-1.0.jar
org.apache.fop.fonts.apps.TTFReader fontsarial.ttf fontsarial.xml
У FOP Додати в conf/userconfig.xml опис шрифту з російськими буквами, типу:
В В В В
Аналогічно додаються Arial normal/bold, italic/normal і italic/bold. p> При виклику FOP з командного рядка після org.apache.fop.apps.Fop писати-c c: fop-0.20.1confuserconfig.xml Якщо потрібно використовувати FOP з сервлета, то потрібно в Сервлет після рядка
Driver driver = new Driver ();
додати рядки:
// Каталог fonts (c: weblogicfonts) був створений виключно для зручності. p> String userConfig = "Fonts/userconfig.xml";
File userConfigFile = new File (userConfig);
Options options = new Options (userConfigFile);
Тоді розташування файлів ttf у файлі userconfig.xml можна вказати щодо кореня сервера програми, без вказівки абсолютного шляху:
В В В В
У файлі FO (або XML і XSL) перед використанням шрифту писати:
font-family = "Arial"
font-weight = "bold" (Якщо використовується Arial bold)
font-style = "italic" (Якщо використовується Arial italic)
Даний алгоритм надіслав Олексій Тюрін, за що йому окреме спасибі. p> Якщо Ви використовуєте вбудований в FOP переглядач, то необхідно врахувати його особливості. Зокрема, хоча передбачається, що написи в ньому русифіковані, насправді зроблено це з помилкою (у версії 0.19.0). Для завантаження написів з файлів ресурсів в пакеті org.apache.fop.viewer.resources використовується власний завантажувач (клас org.apache.fop.viewer.LoadableProperties). Кодування читання там жорстко зафіксована (8859_1, як і у випадку Properties.load ()), проте підтримка запису виду "uXXXX" не реалізована. Я повідомив про цю помилку розробникам, вони включили її виправлення у свої плани. p> Крім усього іншого існує сайт присвячений русифікації FOP (Http://openmechanics.net/rusfop/) Там Ви зможете знайти дистрибутив FOP з уже виправленими помилками і підключеними російськими шрифтами. p> POI p> Пакет Jakarta POI призначений для роботи з документами Microsoft Office. Поки що більш-менш працює там є тільки підтримка файлів MS Excel (xls). Особливої вЂ‹вЂ‹складності в роботі з російською мовою немає, але треба враховувати нюанс, що для роботи з ячеке використовується клас org.apache.poi.hssf.usermodel.Cell, у якого є метод setEncoding (short encoding), проте замість звичних "Cp1255" і "Cp866", необхідно ісользовать константи ENCODING_COMPRESSED_UNICODE (0) і ENCODING_UTF_16 (1). За замовчува...