Name | eot-tools JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | Tools for working with EOT (Embedded OpenType) font files |
upload_time | 2025-08-08 08:38:24 |
maintainer | None |
docs_url | None |
author | stefan6419846 |
requires_python | <4,>=3.9 |
license | None |
keywords |
eot
font
|
VCS |
 |
bugtrack_url |
|
requirements |
fonttools
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# EOT tools
Tools for working with EOT (Embedded OpenType) font files.
## About
Embedded OpenType (EOT) fonts are a font format mostly used in Microsoft applications. The primary
usage has been as a webfont in Internet Explorer. Nowadays, it is mostly unused, but when dealing
with legacy distributions, we might need a deeper look into their properties. Additionally, tools
like [Fontello](https://github.com/fontello/fontello) still generate EOT font files by default.
When looking for FOSS tooling around EOT fonts, I could not find any reliable parser that would
allow further inspection of these files. With the specification being [publicly available](https://www.w3.org/submissions/EOT/)
and the files basically being a TTF file with some header/prefix, basic processing is rather
straightforward. Thus, I decided to write a short script for it to later move it into a library
to make metadata/property analysis of EOT possible.
The corresponding TTF files can be analyzed with a much wider variety of tools, for example,
using the [fonttools](https://github.com/fonttools/fonttools) library.
## Features
* Read all defined properties.
* Retrieve the embedded TTF file data. Currently limited to uncompressed and unencrypted data as this
is what the test files I found use.
## Installation
You can install this package from PyPI:
```bash
python -m pip install eot_tools
```
Alternatively, you can use the package from source directly after installing the required dependencies.
## Usage
To load an EOT file, use the following code:
```python
from eot_tools import EOTFile
eot = EOTFile("Maki.eot")
print(eot.family_name, eot.style_name, eot.version_name)
```
Once the file is loaded, you can use `fonttools` to load the actual font for example:
```python
from io import BytesIO
from eot_tools import EOTFile
from fontTools.ttLib import TTFont
eot = EOTFile("Maki.eot")
with TTFont(file=BytesIO(eot.font_data)) as font:
print(font)
```
## License
This package is subject to the terms of the MIT license.
Raw data
{
"_id": null,
"home_page": null,
"name": "eot-tools",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.9",
"maintainer_email": null,
"keywords": "eot, font",
"author": "stefan6419846",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/cf/12/a578661ce3721161c1d273c2b1cc1edee04fb9c35a30c6f4071690037fd1/eot_tools-0.1.0.tar.gz",
"platform": null,
"description": "# EOT tools\n\nTools for working with EOT (Embedded OpenType) font files.\n\n## About\n\nEmbedded OpenType (EOT) fonts are a font format mostly used in Microsoft applications. The primary\nusage has been as a webfont in Internet Explorer. Nowadays, it is mostly unused, but when dealing\nwith legacy distributions, we might need a deeper look into their properties. Additionally, tools\nlike [Fontello](https://github.com/fontello/fontello) still generate EOT font files by default. \n\nWhen looking for FOSS tooling around EOT fonts, I could not find any reliable parser that would\nallow further inspection of these files. With the specification being [publicly available](https://www.w3.org/submissions/EOT/)\nand the files basically being a TTF file with some header/prefix, basic processing is rather\nstraightforward. Thus, I decided to write a short script for it to later move it into a library\nto make metadata/property analysis of EOT possible.\n\nThe corresponding TTF files can be analyzed with a much wider variety of tools, for example,\nusing the [fonttools](https://github.com/fonttools/fonttools) library.\n\n## Features\n\n* Read all defined properties.\n* Retrieve the embedded TTF file data. Currently limited to uncompressed and unencrypted data as this\n is what the test files I found use.\n\n## Installation\n\nYou can install this package from PyPI:\n\n```bash\npython -m pip install eot_tools\n```\n\nAlternatively, you can use the package from source directly after installing the required dependencies.\n\n## Usage\n\nTo load an EOT file, use the following code:\n\n```python\nfrom eot_tools import EOTFile\n\n\neot = EOTFile(\"Maki.eot\")\nprint(eot.family_name, eot.style_name, eot.version_name)\n```\n\nOnce the file is loaded, you can use `fonttools` to load the actual font for example:\n\n```python\nfrom io import BytesIO\n\nfrom eot_tools import EOTFile\nfrom fontTools.ttLib import TTFont\n\n\neot = EOTFile(\"Maki.eot\")\nwith TTFont(file=BytesIO(eot.font_data)) as font:\n print(font)\n```\n\n## License\n\nThis package is subject to the terms of the MIT license.\n",
"bugtrack_url": null,
"license": null,
"summary": "Tools for working with EOT (Embedded OpenType) font files",
"version": "0.1.0",
"project_urls": {
"Changelog": "https://github.com/stefan6419846/eot_tools/blob/main/CHANGELOG.md",
"Homepage": "https://github.com/stefan6419846/eot_tools",
"Issues": "https://github.com/stefan6419846/eot_tools/issues",
"Repository": "https://github.com/stefan6419846/eot_tools"
},
"split_keywords": [
"eot",
" font"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "06bef6533a41f99b1be3747b88ba9cdd89f44d641272018f9283e8c88b7f7b6f",
"md5": "fe52f04dadba927203e07ff2b86e6dc5",
"sha256": "9c812db23cc9138063603a3f29362d4086c9583638b538bdac1ec4a99fe303da"
},
"downloads": -1,
"filename": "eot_tools-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fe52f04dadba927203e07ff2b86e6dc5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.9",
"size": 6093,
"upload_time": "2025-08-08T08:38:22",
"upload_time_iso_8601": "2025-08-08T08:38:22.981501Z",
"url": "https://files.pythonhosted.org/packages/06/be/f6533a41f99b1be3747b88ba9cdd89f44d641272018f9283e8c88b7f7b6f/eot_tools-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cf12a578661ce3721161c1d273c2b1cc1edee04fb9c35a30c6f4071690037fd1",
"md5": "56e67054ead3d3d83837e65d1337fe6a",
"sha256": "aab0b0b485162ba1630bd2413b0d20d332f44e9dcc0af7c24b2d70585916078a"
},
"downloads": -1,
"filename": "eot_tools-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "56e67054ead3d3d83837e65d1337fe6a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.9",
"size": 67249,
"upload_time": "2025-08-08T08:38:24",
"upload_time_iso_8601": "2025-08-08T08:38:24.344390Z",
"url": "https://files.pythonhosted.org/packages/cf/12/a578661ce3721161c1d273c2b1cc1edee04fb9c35a30c6f4071690037fd1/eot_tools-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-08 08:38:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stefan6419846",
"github_project": "eot_tools",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "fonttools",
"specs": [
[
"==",
"4.59.0"
]
]
}
],
"lcname": "eot-tools"
}