{"id":13721740,"url":"https://github.com/adobe-type-tools/afdko","last_synced_at":"2025-04-29T18:39:59.350Z","repository":{"id":37390636,"uuid":"24213271","full_name":"adobe-type-tools/afdko","owner":"adobe-type-tools","description":"Adobe Font Development Kit for OpenType","archived":false,"fork":false,"pushed_at":"2025-04-22T22:11:20.000Z","size":38209,"stargazers_count":1104,"open_issues_count":210,"forks_count":169,"subscribers_count":61,"default_branch":"develop","last_synced_at":"2025-04-22T22:35:57.864Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://adobe-type-tools.github.io/afdko/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adobe-type-tools.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-09-19T02:26:06.000Z","updated_at":"2025-04-22T16:04:08.000Z","dependencies_parsed_at":"2024-01-31T02:30:39.830Z","dependency_job_id":"483884bd-ff01-45e8-b9d9-b4e5b22c12fa","html_url":"https://github.com/adobe-type-tools/afdko","commit_stats":{"total_commits":2540,"total_committers":69,"mean_commits":36.81159420289855,"dds":0.7177165354330708,"last_synced_commit":"c284ff70ba22c84cb12a59d978226614ed60a895"},"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-type-tools%2Fafdko","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-type-tools%2Fafdko/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-type-tools%2Fafdko/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adobe-type-tools%2Fafdko/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adobe-type-tools","download_url":"https://codeload.github.com/adobe-type-tools/afdko/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251561363,"owners_count":21609388,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T01:01:20.787Z","updated_at":"2025-04-29T18:39:55.111Z","avatar_url":"https://github.com/adobe-type-tools.png","language":"C","funding_links":[],"categories":["C","PostScript"],"sub_categories":[],"readme":"![AFDKO Test Suite](https://github.com/adobe-type-tools/afdko/workflows/AFDKO%20Test%20Suite/badge.svg)\n\n[![Coverage](https://codecov.io/gh/adobe-type-tools/afdko/branch/develop/graph/badge.svg)](https://codecov.io/gh/adobe-type-tools/afdko/branch/develop)\n\n[![PyPI](https://img.shields.io/pypi/v/afdko.svg)](https://pypi.org/project/afdko)\n\n[![Join the chat at https://gitter.im/adobe-type-tools/afdko](https://badges.gitter.im/adobe-type-tools/afdko.svg)](https://gitter.im/adobe-type-tools/afdko?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nAdobe Font Development Kit for OpenType (AFDKO)\n===============================================\n\nThe AFDKO is a set of tools for building OpenType font files from\nPostScript and TrueType font data.\n\nThis repository contains the data files, Python scripts, and sources for\nthe command line programs that comprise the AFDKO. The project uses the\n[Apache 2.0 Open Source license](https://opensource.org/licenses/Apache-2.0).\nPlease note that the AFDKO makes use of several dependencies, listed in the\nrequirements.txt file, which will automatically be installed if you install\nAFDKO with `pip`. Most of these dependencies are BSD or MIT license, with\nthe exception of `tqdm`, which is [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/).\n\nPlease refer to the\n[AFDKO Overview](https://adobe-type-tools.github.io/afdko/AFDKO-Overview.html)\nfor a more detailed description of what is included in the package.\n\nPlease see the\n[wiki](https://github.com/adobe-type-tools/afdko/wiki)\nfor additional information, such as links to reference materials and related\nprojects.\n\n📣 Recent News\n------------\n**The Python port of psautohint was (re)integrated into the AFDKO repository as \"otfautohint\"**\n\nMore information can be found in [docs/otfautohint_Notes.md](docs/otfautohint_Notes.md)\n\nInstallation\n------------\n\nThe AFDKO requires [Python](http://www.python.org/download) 3.9\nor later. It should work with any Python \u003e 3.9, but occasionally\ntool-chain components and dependencies don't keep pace with major\nPython releases, so there might be some lag time while they catch up.\n\nReleases are available on the [Python Package\nIndex](https://pypi.python.org/pypi/afdko) (PyPI) and can be installed\nwith [pip](https://pip.pypa.io).\n\nNote for macOS users: we recommend that you do **not** use the system\nPython. Among other reasons, some versions of macOS ship with Python 2\nand the latest version of the AFDKO is only available for Python 3. You\ncan find instructions for using Brew to install Python 3 on macOS here:\n[Installing Python 3 on Mac OS X](https://docs.python-guide.org/starting/install3/osx/).\nAlso: [pyenv](https://github.com/pyenv/pyenv) is a great tool for\ninstalling and managing multiple Python versions on macOS.\n\nNote for all users: we **STRONGLY** recommend the use of a Python virtual\nenvironment ([`venv`](https://docs.python.org/3/library/venv.html))\nand the use of `python -m pip install \u003cpackage\u003e` to install all packages\n(not just AFDKO). Calling `pip install` directly can result in the\nwrong `pip` being called, and the package landing in the wrong location.\nThe combination of using a `venv` + `python -m pip install` helps to ensure\nthat pip-managed packages land in the right place.\n\nNote for Linux users (and users of other platforms that are not macOS or Windows): When there is not a pre-built \"wheel\" for your platform `pip` will attempt to build the C and C++ portions of the package from source. This process will only succeed if both the C and C++ development tools and libuuid are installed. See [build from source](#Build-from-source) below.\n\n### Installing\n\n**Option 1 (Recommended)**\n\n- Create a virtual environment:\n\n    ```sh\n    python -m venv afdko_env\n    ```\n\n- Activate the virtual environment:\n\n    - macOS \u0026 Linux\n\n        ```sh\n        source afdko_env/bin/activate\n        ```\n\n    - Windows\n\n        ```sh\n        afdko_env\\Scripts\\activate.bat\n        ```\n\n- Install [afdko](https://pypi.python.org/pypi/afdko):\n\n    ```sh\n    python -m pip install afdko\n    ```\n\nInstalling the **afdko** inside a virtual environment prevents conflicts\nbetween its dependencies and other modules installed globally.\n\n**Option 2 (not recommended unless there is a global conflict)**\n\nLocal user installation [afdko](https://pypi.python.org/pypi/afdko) ([info](https://pip.pypa.io/en/stable/user_guide/?highlight=%E2%80%93%20user#user-installs)):\n\n    python -m pip install --user afdko\n\n### Updating\n\nUse the `-U` (or `--upgrade`) option to update the afdko (and its\ndependencies) to the newest stable release:\n\n    python -m pip install -U afdko\n\nTo get pre-release and in-development versions, use the `--pre` flag:\n\n    python -m pip install -U afdko --pre\n\n### Uninstalling\n\nTo remove the afdko package use the command:\n\n    python -m pip uninstall afdko\n\nBuild from source\n-----------------\n\nFirst you must have installed the development tools for your platform.\n\nOn macOS, install these with:\n\n    xcode-select --install\n\nOn Linux (Ubuntu 17.10 LTS or later), install these with:\n\n    apt-get -y install python3.9\n    apt-get -y install python-pip\n    apt-get -y install python-dev\n    apt-get -y install uuid-dev\n\nOn other POSIX-like operating systems, `libuuid` and its header files\nmay be in a package named `libuuid-devel` or `util-linux-libs`. The\nsource code for `libuuid` is maintained in the\n[util-linux repository](https://github.com/karelzak/util-linux).\n\nOn Windows, you need Visual Studio 2017 or later.\n\n\nTo build the **afdko** from source, clone the [afdko GitHub\nrepository](https://github.com/adobe-type-tools/afdko), ensure the `wheel`\nmodule is installed (`python -m pip install wheel`), then `cd` to the top-level\ndirectory of the afdko, and run:\n\n    python -m pip install .\n\nDeveloping\n-----------------\nIf you'd like to develop \u0026 debug AFDKO using Xcode, run:\n\n    CMake -G Xcode .\n\nFor further information on building from source see\n[docs/FDK\\_Build\\_Notes.md](docs/FDK_Build_Notes.md).\n\n**Note**\n\nIt's not possible to install the afdko in editable/develop mode using\n`python -m pip install -e .` ; this is because the toolkit includes binary C executables\nwhich setup.py tries to install in the bin/ (or Scripts/) folder, however\nthis process was only meant to be used with text-based scripts (either\nwritten in Python or a shell scripting language). To work around this problem\n(which really only impacts the few core afdko developers who need to get live\nfeedback as they modify the source files) you can use alternative methods like\nexporting a PYTHONPATH, using a .pth file or similar hacks.\nFor further details read [this comment](https://github.com/adobe-type-tools/afdko/pull/677#issuecomment-436747212).\n\nMajor changes from version 2.5.x\n--------------------------------\n\n* The AFDKO has been restructured so that it can be installed as a Python\npackage. It now depends on the user's Python interpreter, and no longer\ncontains its own Python interpreter.\n\n* Two programs, **IS** and **checkoutlines** were dropped because their source\ncode could not be open-sourced. These tools are available in [release version\n2.5.65322 and older](https://github.com/adobe-type-tools/afdko/releases?after=2.6.22).\n\n**Note**\n\nIf you install the old AFDKO as well as the new PyPI afdko package, the tools from\nthe newer version will take precedence over the older. This happens because pip\nadds the afdko's package path at the beginning of the system's PATH environment\nvariable, whereas the old installer adds it at the end; this modification to PATH\nis not undone by the uninstaller. If you want to completely remove the path to the\nnewer version, you will have to edit the PATH. On the Mac, this means editing the\nline in your login file that sets the PATH variable. On Windows, this means editing\nthe PATH environment variable in the system's Control Panel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadobe-type-tools%2Fafdko","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadobe-type-tools%2Fafdko","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadobe-type-tools%2Fafdko/lists"}