Metadata-Version: 2.4
Name: fontu
Version: 0.0.2
Summary: A CLI tool to shuffle glyphs in a local font and encrypt text (e.g., HTML files) using the shuffled font.
Author: automatonomy.net
Author-email: Andy Gajdošík <andreas@gajdosik.org>, Tomáš Zato <tomas@screensaver.gallery>
Maintainer-email: Andy Gajdošík <andreas@gajdosik.org>
Project-URL: Homepage, https://codeberg.org/automatonomy/fontu
Project-URL: Issues, https://codeberg.org/automatonomy/fontu/issues
Keywords: art,CLI,font,anti-AI,antiAI,AI,encoding
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Requires-Python: >=3.12
Description-Content-Type: text/markdown
Requires-Dist: beautifulsoup4>=4.15
Requires-Dist: fonttools>=4.63.0

# FontU!

Simple Python script to:
1. shuffle characters of the text content of your HTML,
2. accordingly (in reverse order) shuffle symbols in the font,
3. add the font into your HTML,
4. 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](https://github.com/fonttools/fonttools).

Thanks to MetroByte, their script [getfontchars.py](https://github.com/MetroByte/GetFontChars/blob/main/getfontchars.py) served me a as nice introductory example into `fontTools`.
