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 — это ключ!
📦 Установка инструмента преобразования
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
станет полезным инструментом для вас. 💪
댓글이 없습니다.