eot-tools


Nameeot-tools JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryTools for working with EOT (Embedded OpenType) font files
upload_time2025-08-08 08:38:24
maintainerNone
docs_urlNone
authorstefan6419846
requires_python<4,>=3.9
licenseNone
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"
}
        
Elapsed time: 1.02535s