FontU!
Simple Python script to:
- shuffle characters of the text content of your HTML,
- accordingly (in reverse order) shuffle symbols in the font,
- add the font into your HTML,
- congratz, text contents of your HTML are machine unreadable, yet human can read it just fine.
Problems
Text encrypted by FontU will not be readable by screen readers. We plan to investigate and fix this problem. Maybe we could manipulate the vocal files accordingly? If you have experience with screen readers, please let us know. We deeply appreciate your feedback and ideas.
Example commands
For simple one-step encoding, run do subcommand and spefcify input HTML with an input font:
python main.py do -i in_html/gajdosik-org_sample.html -f in_fonts/Roboto/Roboto-VariableFont_wdth,wght.ttf
Or alternatively first create a shuffled font and coresponding keymap holding about exact shuffle order:
python main.py wys -f in_fonts/Roboto/Roboto-VariableFont_wdth,wght.ttf
Then call wtg to use the keymap to encode HTML file and add decoding font to it automatically:
python main.py wtg -i in_html/gajdosik-org_sample.html -k private/fontu.json
Credits
Huge thanks to all authors and contributors of fontTools.
Thanks to MetroByte, their script getfontchars.py served me a as nice introductory example into fontTools.
Metadata
Release files for fontu 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fontu-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Release files / fontu-0.0.2-py3-none-any.whl
| Download URL | fontu-0.0.2-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5132d2615a089c66cccdf374804ec66ac4be3bece53fc34077f48a9a9b39ce85
|
|
BLAKE2b-256 checksum How to use checksums |
c22ad09289277d77f6d4ccbc34351353e6e87bc4a04cdc91320117a4462457eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.7
|
Security for fontu 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.