{ "info": { "author": "Dave Crossland, Felipe Sanches, Vitaly Volkov", "author_email": "dave@lab6.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only" ], "description": "pyfontaine\n==========================================================\n\n|Latest PyPI Version| |Python| |Travis Build Status| |License: GPL v3|\n\npyfontaine analyses fonts for their language and character/glyph-set support.\n\nIt has a straightforward pythonic set definition format:\n\n- `simple example `__\n- `medium example `__\n- `complex example `__\n\nAdditional definitions are downloaded from the Extensis, font-config and Unicode websites during installation, and can be updated without reinstalling.\n\nAdding your own definitions is easy.\nAll files in the `internals `__ directory are auto-detected, so just add definition files there.\n\nInstallation\n------------\n\nFirst, install Python and the `pip `__ python package manager. This is installed by default with `homebrew `__ python, so, install homebrew, then install pip as follows::\n\n brew install python;\n brew install icu4c;\n\nOn Mac OS X, install the pyicu dependency as follows::\n\n CFLAGS=-I/usr/local/opt/icu4c/include LDFLAGS=-L/usr/local/opt/icu4c/lib pip install pyicu;\n\nInstall the latest release easily with pip::\n\n sudo pip install fontaine\n\nTo install the latest development version::\n\n sudo pip install https://github.com/googlefonts/pyfontaine/archive/master.zip;\n\nUsage\n-----\n\nGiven a list of space separated font filenames, it returns a report with some general metadata and a language support analysis::\n\n pyfontaine font.ttf;\n\nGiven a list of space separated unicode characters, or unicode values, it returns a list of character sets that include that character::\n\n pyfontaine 0x0061;\n pyfontaine \u011f \u00f8 \u2202;\n\nSimilarly you can find out if a font supports specific characters by also giving the filename::\n\n pyfontaine U+C480 U+C481 font.ttf;\n\nTo output font reports in various formats::\n\n pyfontaine --xml font.ttf;\n pyfontaine --json font.ttf;\n pyfontaine --csv font.ttf;\n pyfontaine --wiki font.ttf;\n\nThe `--wiki` format produces a MediaWiki table\n(`example `__)\n\nTo only show character sets from different collections::\n\n pyfontaine --collections all font.ttf; # default\n pyfontaine --collections pyfontaine font.ttf;\n pyfontaine --collections uniblocks font.ttf;\n pyfontaine --collections extensis font.ttf;\n pyfontaine --collections fontconfig font.ttf;\n pyfontaine --collections cldr font.ttf;\n pyfontaine --collections subsets font.ttf;\n\nTo only show specific character sets::\n\n pyfontaine --set africaan,adobe_latin_3 font.ttf;\n\nTo print a list of all the missing unicode values from each set::\n\n pyfontaine --missing --set adobe_latin_3 font.ttf;\n\n To output visualisations of the coverage using `Hilbert curves `__ (thanks for the idea, `\u00d8yvind 'pippin' Kol\u00e5s `__!):\n\n pyfontaine --show_hilbert font.ttf; ls -l coverage_pngs/;\n\n The PNG files are stored in a new directory, ``coverage_pngs``, under the current directory.\n\nUpdate collection data\n~~~~~~~~~~~~~~~~~~~~~~\n\nYou can update remote collections data when you are online::\n\n pyfontaine --update-data 1;\n\nPython Module\n~~~~~~~~~~~~~\n\nIt has a python module called ``fontaine``\n\nMaking a release on PyPI\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo release a new version on PyPI, create and push a new git tag with a version number following the [semver](https://www.semver.org) versioning scheme.\n\nThen set up a ``~/.pypirc`` file::\n\n [distutils]\n index-servers=pypi\n\n [pypi]\n repository = https://pypi.python.org/pypi\n\n\t\t[server-login]\n username = user\n password = password\n\nThen run::\n\n python setup.py build;\n python setup.py sdist upload;\n\nContributing\n------------\n\nYour contributions under `the GPLv3 `__ are welcome!\n\npyfontaine is a python reimplementation of\n`Fontaine `__ by Ed Trager, and has been made by\n`Vitaly Volkov `__,\n`Dave Crossland `__,\n`Mikhail Kashkin `__ and\n`Felipe Sanches `__.\n\nThanks\n------\n\nWe would like to thank some upstream projects that make pyfontaine even\nmore useful:\n\n* `Thomas Phinney `__ for the `WebINK Character\n Sets `__\n\n* `Behdad Esfabod `__ for the `font-config languages\n definitions `__\n\n* Unicode Consortium for the `Unicode Blocks\n `__\n\nDependencies\n------------\n\n- Mac OS X requires the XCode Command Line Tools to be installed\n- `fonttools `__ (common) *or*\n `freetype-py `__ (fast)\n- `lxml `__\n- `PyICU `__\n- `simpleHilbertCurve `__\n- `matplotlib `__\n- `tabulate `__\n- `requests `__\n\nRelated Projects\n----------------\n\n- `fontaine `__\n- `fontbakery `__\n- `libunicodenames `__\n\n\n.. |Latest PyPI Version| image:: https://img.shields.io/pypi/v/fontaine.svg?style=flat\n :target: https://pypi.python.org/pypi/fontaine\n.. |Python| image:: https://img.shields.io/pypi/pyversions/fontaine.svg?style=flat\n :target: https://pypi.python.org/pypi/fontaine\n.. |Travis Build Status| image:: https://travis-ci.org/googlefonts/pyfontaine.svg\n :target: https://travis-ci.org/googlefonts/pyfontaine\n.. |License: GPL v3| image:: https://img.shields.io/badge/License-GPLv3-blue.svg\n :target: https://www.gnu.org/licenses/gpl-3.0\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/googlefonts/pyfontaine", "keywords": "", "license": "GNU GPLv3", "maintainer": "", "maintainer_email": "", "name": "fontaine", "package_url": "https://pypi.org/project/fontaine/", "platform": "", "project_url": "https://pypi.org/project/fontaine/", "project_urls": { "Homepage": "https://github.com/googlefonts/pyfontaine" }, "release_url": "https://pypi.org/project/fontaine/1.4.0/", "requires_dist": [ "fonttools", "lxml", "PyICU", "requests", "tabulate" ], "requires_python": ">=3.6", "summary": "Font analysis tool for determining character/glyph support", "version": "1.4.0" }, "last_serial": 5993100, "releases": { "1.0.6": [ { "comment_text": "", "digests": { "md5": "d1524b9f3653e5becab897f9ccb2796a", "sha256": "144d62c86dd6dd4ddb07c71d25aa5368a2c5f4035d2ee356116ca9c14ca9b2d5" }, "downloads": -1, "filename": "fontaine-1.0.6.tar.gz", "has_sig": false, "md5_digest": "d1524b9f3653e5becab897f9ccb2796a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 331264, "upload_time": "2013-06-28T02:17:29", "url": "https://files.pythonhosted.org/packages/00/04/297cf6f59091ab0841be127757d8f6dd7d967ee2162eb508c9cf3b5132fc/fontaine-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "21012c29799abf96314ac193ffc87d9b", "sha256": "fc37e846ab6680435052bbd4cd2efe9d24c473b2db58a26a5a0fd0e7fd9af2aa" }, "downloads": -1, "filename": "fontaine-1.0.7.tar.gz", "has_sig": false, "md5_digest": "21012c29799abf96314ac193ffc87d9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 338171, "upload_time": "2013-11-12T02:25:07", "url": "https://files.pythonhosted.org/packages/54/15/bf69c41b2fc539d55a0530adbc04805600a08fdd07e0e4515135f1f01aec/fontaine-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "e97bfb0beaa1a80d4c79a18ed7144247", "sha256": "43e52788717332fb1c9b04d83880451fa8bec0476d93690aa4be527e54e00ab3" }, "downloads": -1, "filename": "fontaine-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e97bfb0beaa1a80d4c79a18ed7144247", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 348090, "upload_time": "2013-11-13T15:38:14", "url": "https://files.pythonhosted.org/packages/b9/19/91683ef52d6b80ac75fd8b0d5865cebd1119969fcf3c9a927ed9f233f211/fontaine-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f4eea0c69e0ba7630a70092f409f466", "sha256": "9a0c1201d636cd209e62e69e4c4669bd1af0659bfaf661df2210c955e2d85457" }, "downloads": -1, "filename": "fontaine-1.0.8.tar.gz", "has_sig": false, "md5_digest": "9f4eea0c69e0ba7630a70092f409f466", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 338283, "upload_time": "2013-11-12T15:27:37", "url": "https://files.pythonhosted.org/packages/df/11/cb0c99ea7298ccac54eb91f30a4f188a2da2f5ce21749712355e1fea5795/fontaine-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "a8c585e5bd9521c7c9f4dbedae16086d", "sha256": "6418dff1b78274f01bd62c1dfe81100042ce14e6cc7188d70cd52c2fd4dae982" }, "downloads": -1, "filename": "fontaine-1.0.9.tar.gz", "has_sig": false, "md5_digest": "a8c585e5bd9521c7c9f4dbedae16086d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 379070, "upload_time": "2013-12-16T18:32:46", "url": "https://files.pythonhosted.org/packages/18/32/fcec4f86052189947ab2c88b4006df1c1c5c233a73f818854bfd4947207f/fontaine-1.0.9.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "bce6063ffaa5bab8a6257e67409abe3d", "sha256": "59a49ea80caa9c43249b82fcbeb00c1704b7479fd0106a2ea5dd16627713e79f" }, "downloads": -1, "filename": "fontaine-1.1.4.tar.gz", "has_sig": false, "md5_digest": "bce6063ffaa5bab8a6257e67409abe3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 432695, "upload_time": "2014-03-24T15:22:43", "url": "https://files.pythonhosted.org/packages/97/e3/233054f9e3a37a00824c4bc0650d9fd30e30e31c244e5690589cd7034a19/fontaine-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "9d9c0a28861262a68f8f7783d71585cf", "sha256": "ef9feaeae4af0f2c28ebc881a237c664045e19f5e565bf56369e460c66ee7112" }, "downloads": -1, "filename": "fontaine-1.1.5.tar.gz", "has_sig": false, "md5_digest": "9d9c0a28861262a68f8f7783d71585cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3379600, "upload_time": "2014-05-29T12:37:48", "url": "https://files.pythonhosted.org/packages/47/67/09bd756c3f70d3314a5254e075c04fe47a7615a016320fed1d383f08281e/fontaine-1.1.5.tar.gz" } ], "1.2.0b": [ { "comment_text": "", "digests": { "md5": "3f1fb78f2d1b0c76e4f6acc8e6eeb78f", "sha256": "1eb570111b08d88f46854d5cebf71298f4c65741644d4b329a43998076bef1ac" }, "downloads": -1, "filename": "fontaine-1.2.0b.tar.gz", "has_sig": false, "md5_digest": "3f1fb78f2d1b0c76e4f6acc8e6eeb78f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3383919, "upload_time": "2014-05-24T07:22:25", "url": "https://files.pythonhosted.org/packages/7b/11/9cbb12510ebf86fe401a996ecba02c0f61a94a4aa9ffb585085f79e78faa/fontaine-1.2.0b.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "e107ff537a0f01fdc9d5177425ee2690", "sha256": "85f7fd89117d93d705ffbb259b98e03b9f24bb083c175a2e1a2f5a801d88b16f" }, "downloads": -1, "filename": "fontaine-1.2.1.tar.gz", "has_sig": false, "md5_digest": "e107ff537a0f01fdc9d5177425ee2690", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3341325, "upload_time": "2014-09-22T08:29:46", "url": "https://files.pythonhosted.org/packages/06/d8/f8cbafbec45df4baa6ed4f2ab865a0b0dcc31b42b648a21d531475a93201/fontaine-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "86ba1fd028bd10f88bd50a04b7b2ecae", "sha256": "7e88f0e3b1dabcee7c3e6b866375ff3f19183fbd391d1cb65edd22a18ba74225" }, "downloads": -1, "filename": "fontaine-1.2.2.tar.gz", "has_sig": false, "md5_digest": "86ba1fd028bd10f88bd50a04b7b2ecae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3341823, "upload_time": "2014-10-10T08:27:30", "url": "https://files.pythonhosted.org/packages/65/f2/696887f8e6167354e88bb5554453d9b0e14c891a3193600cd9c3fafb502a/fontaine-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "46e6a93af70a49f4d060ec0309ea452c", "sha256": "051b02515a2bc6b270f4ef50296be7e044d899e0ea26c030c584978af3b53d6b" }, "downloads": -1, "filename": "fontaine-1.3.0.tar.gz", "has_sig": false, "md5_digest": "46e6a93af70a49f4d060ec0309ea452c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3391495, "upload_time": "2014-10-31T10:49:04", "url": "https://files.pythonhosted.org/packages/c3/23/d28ca58365862dfd9cdd0b555fabe50dad5d9c9a064be9757c54783a5c20/fontaine-1.3.0.tar.gz" } ], "1.3.10": [ { "comment_text": "", "digests": { "md5": "344aa506a603270930c163e99ea6d13c", "sha256": "7be56fb145dd83e8f725a800203175c82d0a50c2b0915dd03ea4fe0b7eab79b9" }, "downloads": -1, "filename": "fontaine-1.3.10.tar.gz", "has_sig": false, "md5_digest": "344aa506a603270930c163e99ea6d13c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4987970, "upload_time": "2016-01-05T19:35:31", "url": "https://files.pythonhosted.org/packages/72/02/e7cbfb8fbd848949cc05dd73ffffdd3dfe12bf7ada291e377d9ff5af874a/fontaine-1.3.10.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "b93fc6062c17c1122cbc091a7b93c983", "sha256": "32dccb5db8b40fc973f73a98894e081a03aa1044709ba897f1a6046fa7a3e2f5" }, "downloads": -1, "filename": "fontaine-1.3.2.tar.gz", "has_sig": false, "md5_digest": "b93fc6062c17c1122cbc091a7b93c983", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5038910, "upload_time": "2015-07-13T17:39:47", "url": "https://files.pythonhosted.org/packages/fa/b3/15e06b9da779b1edc941739cd887511630b26a73e508972c50447294b0bf/fontaine-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "f7598df992220ffc896f994594f02f9b", "sha256": "1bfba39ceb6637bc930487f8f4b0dc10e1841f3c60822f4c9043ae1b3166a754" }, "downloads": -1, "filename": "fontaine-1.3.3.tar.gz", "has_sig": false, "md5_digest": "f7598df992220ffc896f994594f02f9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5038876, "upload_time": "2015-07-16T04:41:29", "url": "https://files.pythonhosted.org/packages/0a/39/aebc6f8dae3e6a7171f28fc091d115bad76ffb82bfd40b294abbbe5d4f0c/fontaine-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "933b0814127ac05a6300197f7ae66c0f", "sha256": "c73dd1d20ebadae6047e45a47ec48740246b5e0c430ee8d7f623725d6c16c66a" }, "downloads": -1, "filename": "fontaine-1.3.4.tar.gz", "has_sig": false, "md5_digest": "933b0814127ac05a6300197f7ae66c0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5038840, "upload_time": "2015-07-16T19:03:04", "url": "https://files.pythonhosted.org/packages/98/c6/65ef641a10e089665aa49857f614f6e9ddddc08482b7664086cbe5b4d0e5/fontaine-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "272e30aa534f46b9f6994171598102f8", "sha256": "18486da7b05ea69a0b078aa6de0cf3e1f77933f2d304af39995ee164e77927bf" }, "downloads": -1, "filename": "fontaine-1.3.5.tar.gz", "has_sig": false, "md5_digest": "272e30aa534f46b9f6994171598102f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5038829, "upload_time": "2015-07-20T04:31:34", "url": "https://files.pythonhosted.org/packages/d1/5e/4896d5441f48603b7ed94b8e27b718793776f571db9b17c68120a47b1864/fontaine-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "5090ba22e339c374f6687e8949d23b45", "sha256": "aff012ec4f79690de4da51d6be1c2c7d3c80e1a38999bb97765db1e807c9c8c5" }, "downloads": -1, "filename": "fontaine-1.3.6.tar.gz", "has_sig": false, "md5_digest": "5090ba22e339c374f6687e8949d23b45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5038835, "upload_time": "2015-07-21T10:44:22", "url": "https://files.pythonhosted.org/packages/e1/42/e9bb0ee339bdd0aa245f92b91dfa3631b65974a3c437aec4427fa6de9b28/fontaine-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "8cbf48be97af36e85c0ec10a35bba5c0", "sha256": "99c68f5d7ed867e9641be2f07885248e91627d5ac9fda95d873a75b23f253294" }, "downloads": -1, "filename": "fontaine-1.3.7.tar.gz", "has_sig": false, "md5_digest": "8cbf48be97af36e85c0ec10a35bba5c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5038849, "upload_time": "2015-08-07T16:13:57", "url": "https://files.pythonhosted.org/packages/5a/61/b57511404be8ed79504960b6f5ee05e7cff036e92edb389a12db1435653d/fontaine-1.3.7.tar.gz" } ], "1.3.9": [ { "comment_text": "", "digests": { "md5": "e690045da922541adeeaf6d1c777ddb1", "sha256": "2afaf348e83fc6fa1053392f730dec69042433317f061c3cafcee3f4d2ef7477" }, "downloads": -1, "filename": "fontaine-1.3.9.tar.gz", "has_sig": false, "md5_digest": "e690045da922541adeeaf6d1c777ddb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5040224, "upload_time": "2015-12-15T12:39:08", "url": "https://files.pythonhosted.org/packages/f9/4c/82fc866be19bced75e6d65b5f4350e7dd03443031971f1d5078e3dae1444/fontaine-1.3.9.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "5ea6fd944c25f913b7bbc28b78b53708", "sha256": "3c1ab64e7581d90922526cf50f527c38ca4d19a07bca06f618e053cdada2610b" }, "downloads": -1, "filename": "fontaine-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5ea6fd944c25f913b7bbc28b78b53708", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 3427730, "upload_time": "2019-10-18T01:05:18", "url": "https://files.pythonhosted.org/packages/16/32/88c6e98ed1d29c34212f59308139018c0f6d63d8d86659c0bc6a8ad4ad2a/fontaine-1.4.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5ea6fd944c25f913b7bbc28b78b53708", "sha256": "3c1ab64e7581d90922526cf50f527c38ca4d19a07bca06f618e053cdada2610b" }, "downloads": -1, "filename": "fontaine-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5ea6fd944c25f913b7bbc28b78b53708", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6", "size": 3427730, "upload_time": "2019-10-18T01:05:18", "url": "https://files.pythonhosted.org/packages/16/32/88c6e98ed1d29c34212f59308139018c0f6d63d8d86659c0bc6a8ad4ad2a/fontaine-1.4.0-py2.py3-none-any.whl" } ] }