Реализация очереди с использованием двух объектов 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();
}
}
Попробуйте явно указать ваш путь к шрифту следующим образом:
<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. Любой способ должен работать.
Удачи.
Вот мой файл 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>
Кто-нибудь может сказать мне, есть ли проблема со шрифтом 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.