Так же, как следование до комментариев к эффективности возведения в степень путем обработки на квадрат.
преимущество того подхода состоит в том, что он выполняет в журнале (n) время. Например, если бы Вы собирались вычислить что-то огромное, такое как x^1048575 (2^20 - 1), только необходимо пройти цикл 20 раз, не 1 миллион + использование наивного подхода.
кроме того, с точки зрения сложности кода, это более просто, чем попытка найти самую оптимальную последовательность умножения, а-ля предложение Pramod.
Редактирование:
я предполагаю, что должен разъясниться, прежде чем кто-то отметит меня для потенциала для переполнения. Этот подход предполагает, что у Вас есть своего рода hugeint библиотека.
Если вы больше работаете с iText, вы можете инвестировать в книга iText - в ней есть примеры для всех функций iText.
Существует параметр, который вы указываете при создании шрифта, который определяет встраивание шрифтов:
BaseFont helvetica = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED);
Font font = new Font(helvetica, 12, Font.NORMAL);
Вы можете найти больше примеров, связанных со шрифтами iText здесь: http://1t3xt.info/examples/browse/?page = toc & id = 14