1. Что такое OTF?

OTF (OpenType Font) — это формат шрифтов, разработанный совместно Adobe и Microsoft,
расширяющий возможности .ttf (TrueType Font) и включающий расширенные функции типографии.

  • ✅ Разнообразные функции шрифтов (лигатуры, альтернативные символы и др.)
  • ✅ Поддержка Unicode
  • ✅ Шире универсальность по сравнению с .ttf (особенно предпочтителен в профессиональных дизайн-инструментах)

В Ubuntu OTF часто используется как шрифт для системы или рендеринга PDF.


2. Как проверить установленные OTF шрифты на Ubuntu

Вы можете проверить это, используя следующую команду в терминале:

fc-list | grep "\.otf"

Также можно фильтровать по конкретному имени шрифта:

fc-list | grep "Nimbus Sans" | grep "\.otf"

3. Как использовать системные шрифты в вебе

Веб не может просто использовать установленные шрифты системы.
Потому что на компьютере клиента, подключающегося к веб-сайту, может не быть этого шрифта.

→ Таким образом, шрифт должен предоставляться с веб-сервера, и самый эффективный формат — это .woff2.


4. Преобразование OTF в WOFF2 — это ключ!

Иллюстрация преобразования OTF в WOFF2

📦 Установка инструмента преобразования

sudo apt install woff2

🔄 Команда преобразования

woff2_compress YourFont.otf

→ Результат: YourFont.woff2

Скрипт автоматического преобразования

#!/bin/bash
export LC_ALL=C
# [1] Название шрифта для преобразования
read -p "Введите шрифты для преобразования в woff2: " FONT_NAME

# [2] Установка пути для сохранения результата
DEST_DIR="$HOME/fonts/$(echo $FONT_NAME | tr ' ' '_' | tr '[:upper:]' '[:lower:]')/woff2"

# [3] Проверка инструмента преобразования
if ! command -v woff2_compress &> /dev/null; then
    echo "❌ Команда 'woff2_compress' не найдена. Установите, прежде чем использовать:"
    echo "    sudo apt install woff2"
    exit 1
fi

# [4] Создание папки для результата
mkdir -p "$DEST_DIR"

# [5] Извлечение путей к .otf шрифтам из списка системных шрифтов, включающих FONT_NAME
echo "🔍 Поиск шрифтов '$FONT_NAME' с расширением .otf..."
font_paths=$(fc-list | grep "$FONT_NAME" | grep "\\.otf" | cut -d: -f1 | sort | uniq)

if [ -z "$font_paths" ]; then
    echo "❌ Не удалось найти .otf шрифт, соответствующий '$FONT_NAME'"
    exit 1
fi

# [6] Цикл выполнения преобразования
for font_file in $font_paths; do
    base_name=$(basename "$font_file" .otf)
    output_file="$DEST_DIR/${base_name}.woff2"

    if [ -f "$output_file" ]; then
        echo "⚠️  Уже существует: $output_file → пропускаем"
        continue
    fi

    echo "🔄 Преобразование: $base_name.otf → $base_name.woff2"

    if ! cp "$font_file" "/tmp/${base_name}.otf"; then
        echo "❌ Ошибка копирования: $font_file → пропускаем"
        continue
    fi

    woff2_compress "/tmp/${base_name}.otf"
    mv "/tmp/${base_name}.woff2" "$output_file"
    rm "/tmp/${base_name}.otf"
    echo "✅ Сохранено: $output_file"
done

echo "🎉 Все преобразования завершены! Место сохранения: $DEST_DIR"

Те, кому нужно, могут использовать написанный мной скрипт. Он работает очень хорошо.


5. Как использовать преобразованные woff2 файлы в вебе

Положите их в директорию static/fonts/ вашего веб-проекта и объявите в CSS:

@font-face {
  font-family: 'Your Custom Font';
  src: url('/static/fonts/YourFont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

Теперь вы можете использовать это в HTML следующим образом:

<body style="font-family: 'Your Custom Font', sans-serif;">
  Здравствуйте! Это пользовательский шрифт.
</body>

6. Заключение

Элемент Суть
.otf шрифт Широко устанавливается на систему Ubuntu
Использование в вебе Не доступен на клиентском ПК, поэтому требует преобразования в .woff2
Методы оптимизации Преобразование с помощью woff2_compress, затем предоставление через static
Результат Быстрая загрузка шрифтов, возможность отражать специализированный шрифтовой дизайн

Если вы разработчик, который хочет более тесно связать систему Ubuntu с веб-сервисами,
то преобразование otf → woff2 станет полезным инструментом для вас. 💪