Шрифт Arial требуется в PDF (BIRT рендерер PDF, Linux)

Реализация очереди с использованием двух объектов java.util.Stack:

public final class QueueUsingStacks<E> {

        private final Stack<E> iStack = new Stack<>();
        private final Stack<E> oStack = new Stack<>();

        public void enqueue(E e) {
            iStack.push(e);
        }

        public E dequeue() {
            if (oStack.isEmpty()) {
                if (iStack.isEmpty()) {
                    throw new NoSuchElementException("No elements present in Queue");
                }
                while (!iStack.isEmpty()) {
                    oStack.push(iStack.pop());
                }
            }
            return oStack.pop();
        }

        public boolean isEmpty() {
            if (oStack.isEmpty() && iStack.isEmpty()) {
                return true;
            }
            return false;
        }

        public int size() {
            return iStack.size() + oStack.size();
        }

}
6
задан OregonGhost 29 June 2009 в 12:32
поделиться

3 ответа

Попробуйте явно указать ваш путь к шрифту следующим образом:

<font-paths>
   <path path="/var/font/truetype/arial.ttf" />
</font-paths>

Установка этого свойства (font-paths) заставляет игнорировать каталог шрифтов по умолчанию и использовать только пути в этом наборе. Это сделает Arial единственным доступным шрифтом для вашего PDF-файла. Чтобы включить шрифты по умолчанию (TNR, Courier и т. Д.), Добавьте путь по умолчанию (org.eclipse.birt.report.engine.fonts) в подключаемых модулях eclipse к записям font-paths.

Вы также можете просто добавить Arial.ttf в каталог по умолчанию и УДАЛИТЬ ВСЕ ЗАПИСИ из путей к шрифтам и таким образом выбрать тип Arial. Любой способ должен работать.

Удачи.

0
ответ дан 17 December 2019 в 20:34
поделиться

Вот мой файл fontsConfig_pdf.xml

<font>
<font-aliases>
    <mapping name="sans-serif" font-family="Arial" />
    <mapping name="serif" font-family="Times-Roman" />
    <mapping name="monospace" font-family="Courier" />
</font-aliases>
<font-encodings>
    <encoding font-family="Times-Roman" encoding="Cp1252" />
    <encoding font-family="Helvetica" encoding="Cp1252" />
    <encoding font-family="Courier" encoding="Cp1252" />
    <encoding font-family="Zapfdingbats" encoding="Cp1252" />
    <encoding font-family="Symbol" encoding="Cp1252" />
    <encoding font-family="STSong-Light" encoding="UniGB-UCS2-H" />
    <encoding font-family="STSongStd-Light" encoding="UniGB-UCS2-H" />
    <encoding font-family="MHei-Medium" encoding="UniCNS-UCS2-H" />
    <encoding font-family="MSung-Light" encoding="UniCNS-UCS2-H" />
    <encoding font-family="MSungStd-Light" encoding="UniCNS-UCS2-H" />
    <encoding font-family="HeiseiMin-W3" encoding="UniJIS-UCS2-H" />
    <encoding font-family="HeiseiKakuGo-W5" encoding="UniJIS-UCS2-H" />
    <encoding font-family="KozMinPro-Regular" encoding="UniJIS-UCS2-H" />
    <encoding font-family="HYGoThic-Medium" encoding="UniKS-UCS2-H" />
    <encoding font-family="HYSMyeongJo-Medium" encoding="UniKS-UCS2-H" />
    <encoding font-family="HYSMyeongJoStd" encoding="UniKS-UCS2-H" />
</font-encodings>
<font-paths>
        <path path="/var/fonts/truetype"/>
</font-paths>
<composite-font name="all-fonts">
    <font font-family="Times-Roman" catalog="Western" />
    <font font-family="MSung-Light" catalog="Chinese" />
    <font font-family="HeiseiKakuGo-W5" catalog="Japanese" />
    <font font-family="HYGoThic-Medium" catalog="Korean" />
</composite-font>
</font>
2
ответ дан 17 December 2019 в 20:34
поделиться

Кто-нибудь может сказать мне, есть ли проблема со шрифтом Arial в Linux, если символы выделены жирным шрифтом

У нас все работает нормально. Ниже мой патч для fontsConfig.xml:

<font-aliases>
    <mapping name="sans-serif" font-family="Arial" />
    ...
</font-aliases>
<font-paths>
    <path path="fonts"/>
</font-paths>

Поместите в папку шрифтов файлы arial.ttf и arial.xml.

0
ответ дан 17 December 2019 в 20:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: