AFDKO — это набор инструментов для создания файлов шрифтов OpenType из данных шрифтов PostScript и TrueType.
Этот репозиторий содержит файлы данных, сценарии Python и исходные коды программ командной строки, входящих в состав AFDKO. В проекте используется лицензия Apache 2.0 Open Source. Обратите внимание, что AFDKO использует несколько зависимостей, перечисленных в файле require.txt, который будет установлен автоматически, если вы установите AFDKO с помощью pip
. Большинство этих зависимостей являются лицензиями BSD или MIT, за исключением tqdm
, который является MPL 2.0.
Пожалуйста, обратитесь к обзору AFDKO для более подробного описания того, что включено в пакет.
Пожалуйста, посетите вики для получения дополнительной информации, такой как ссылки на справочные материалы и связанные проекты.
Порт psautohint на Python был (повторно) интегрирован в репозиторий AFDKO как «otfautohint».
Более подробную информацию можно найти в docs/otfautohint_Notes.md.
Для AFDKO требуется Python 3.9 или новее. Он должен работать с любым Python > 3.9, но иногда компоненты и зависимости инструментальной цепочки не успевают за основными выпусками Python, поэтому может возникнуть некоторая задержка, пока они догонят его.
Релизы доступны в индексе пакетов Python (PyPI) и могут быть установлены с помощью pip.
Примечание для пользователей macOS: мы рекомендуем не использовать системный Python. Помимо прочего, некоторые версии macOS поставляются с Python 2, а последняя версия AFDKO доступна только для Python 3. Инструкции по использованию Brew для установки Python 3 на macOS можно найти здесь: Установка Python 3 на Mac OS X. Также : pyenv — отличный инструмент для установки и управления несколькими версиями Python в macOS.
Примечание для всех пользователей: мы НАСТОЯТЕЛЬНО рекомендуем использовать виртуальную среду Python ( venv
) и использовать команду python -m pip install <package>
для установки всех пакетов (не только AFDKO). Непосредственный вызов pip install
может привести к вызову неправильного pip
и приземлению пакета в неправильном месте. Комбинация использования установки venv
+ python -m pip install
помогает гарантировать, что пакеты, управляемые pip, попадут в нужное место.
Примечание для пользователей Linux (и пользователей других платформ, кроме macOS или Windows): если для вашей платформы нет заранее созданного «колеса», pip
попытается собрать части пакета C и C++ из исходного кода. Этот процесс будет успешным только в том случае, если установлены инструменты разработки C и C++, а также libuuid. См. сборку из исходного кода ниже.
Вариант 1 (рекомендуется)
Создайте виртуальную среду:
python -m venv afdko_env
Активируйте виртуальную среду:
macOS и Linux
source afdko_env/bin/activate
Окна
afdko_env S cripts a ctivate.bat
Установите афдко:
python -m pip install afdko
Установка afdko внутри виртуальной среды предотвращает конфликты между его зависимостями и другими модулями, установленными глобально.
Вариант 2 (не рекомендуется, если нет глобального конфликта)
Установка локального пользователя afdko (информация):
python -m pip install --user afdko
Используйте опцию -U
(или --upgrade
), чтобы обновить afdko (и его зависимости) до новейшей стабильной версии:
python -m pip install -U afdko
Чтобы получить предварительные версии и версии, находящиеся в разработке, используйте флаг --pre
:
python -m pip install -U afdko --pre
Чтобы удалить пакет afdko, используйте команду:
python -m pip uninstall afdko
Сначала вы должны установить инструменты разработки для своей платформы.
В macOS установите их с помощью:
xcode-select --install
В Linux (Ubuntu 17.10 LTS или новее) установите их с помощью:
apt-get -y install python3.9
apt-get -y install python-pip
apt-get -y install python-dev
apt-get -y install uuid-dev
В других POSIX-подобных операционных системах libuuid
и его заголовочные файлы могут находиться в пакете с именем libuuid-devel
или util-linux-libs
. Исходный код libuuid
хранится в репозитории util-linux.
В Windows вам потребуется Visual Studio 2017 или более поздней версии.
Чтобы собрать afdko из исходного кода, клонируйте репозиторий afdko GitHub, убедитесь, что модуль wheel
установлен ( python -m pip install wheel
), затем cd
в каталог верхнего уровня afdko и запустите:
python -m pip install .
Если вы хотите разрабатывать и отлаживать AFDKO с помощью Xcode, запустите:
CMake -G Xcode .
Дополнительную информацию о сборке из исходного кода см. в docs/FDK_Build_Notes.md.
Примечание
Невозможно установить afdko в режиме редактирования/разработки с помощью python -m pip install -e .
; это связано с тем, что набор инструментов включает в себя двоичные исполняемые файлы C, которые setup.py пытается установить в папку bin/ (или Scripts/), однако этот процесс предназначался только для использования с текстовыми сценариями (написанными на Python или сценариями оболочки). язык). Чтобы обойти эту проблему (которая на самом деле затрагивает только нескольких основных разработчиков afdko, которым необходимо получать обратную связь в реальном времени при изменении исходных файлов), вы можете использовать альтернативные методы, такие как экспорт PYTHONPATH, использование файла .pth или подобные хаки. Для получения более подробной информации прочитайте этот комментарий.
AFDKO был реструктурирован, чтобы его можно было установить как пакет Python. Теперь он зависит от интерпретатора Python пользователя и больше не содержит собственного интерпретатора Python.
Две программы, IS и checkoutlines, были исключены, поскольку их исходный код не мог быть открыт в открытом доступе. Эти инструменты доступны в версии 2.5.65322 и старше.
Примечание
Если вы устанавливаете старый пакет AFDKO, а также новый пакет PyPI afdko, инструменты из более новой версии будут иметь приоритет над более старой. Это происходит потому, что pip добавляет путь к пакету afdko в начале системной переменной среды PATH, тогда как старый установщик добавляет его в конец; эта модификация PATH не отменяется программой удаления. Если вы хотите полностью удалить путь к более новой версии, вам придется отредактировать PATH. На Mac это означает редактирование строки в файле входа, которая устанавливает переменную PATH. В Windows это означает редактирование переменной среды PATH на панели управления системы.