Skip to main content

Convert text to custom handwriting

Project description

Tests PyPI version Gitter chat License: MIT Code style: black

Handwrite - Type in your Handwriting!

Ever had those long-winded assignments, that the teacher always wants handwritten? Is your written work messy, cos you think faster than you can write? Now, you can finish them with the ease of typing in your own font!

Handwrite makes typing written assignments efficient, convenient and authentic.

Handwrite generates a custom font based on your handwriting sample, which can easily be used in text editors and word processors like Microsoft Word & Libre Office Word!

Handwrite is also helpful for those with dysgraphia.

Installing

  1. Install fontforge

  2. Install Potrace

  3. Install handwrite:

    pip install handwrite
    

Usage

Creating your Handwritten Sample

  1. Take a printout of the sample form.

  2. Fill the form using the image below as a reference.

  3. Scan the filled form using a scanner, or Adobe Scan in your phone.

  4. Save the .jpg image in your system.

Your form should look like this:

Creating your font

  1. Make sure you have installed handwrite, potrace & fontforge.

  2. In a terminal type handwrite [PATH TO IMAGE or DIRECTORY WITH IMAGES] [OUTPUT DIRECTORY]. (You can also type handwrite -h, to see all the arguments you can use).

  3. (Optional) Config file containing custom options for your font can also be passed using the --config [CONFIG FILE] or --config [DIRECTORY WITH CONFIG FILES] argument.

    Note:
    • If passing a directory, make sure to rename the config files to the corresponding sheet names.
    • If a single config file is passed for multiple inputs, that config will be used for all the inputs.
    • If no config file is provided for an input then the default config file is used.
  4. Your font will be created as OUTPUT DIRECTORY/OUTPUT FONT NAME.ttf. Install the font in your system.

  5. Select your font in your word processor and get to work!

Here's the end result!

Development

Linux

  1. Install Potrace using apt

    sudo apt-get install potrace
    
  2. Install fontforge

    sudo apt-get install fontforge
    

    Since the PPA for fontforge is no longer maintained, apt might not work for some users. The preferred way to install is using the AppImage from: https://fontforge.org/en-US/downloads/

  3. Clone the repository or your fork

    git clone https://github.com/cod-ed/handwrite
    
  4. (Optional) Make a virtual environment and activate it

    python -m venv .venv
    source .venv/bin/activate
    
  5. In the project directory run:

    pip install -e .[dev]
    
  6. Make sure the tests run:

    python setup.py test
    
  7. Install pre-commit hooks before contributing:

    pre-commit install
    

You are ready to go!

Windows

  1. Install Potrace and make sure it's in your PATH.

  2. Install fontforge and make sure scripting is enabled.

  3. Clone the repository or your fork

    git clone https://github.com/cod-ed/handwrite
    
  4. (Optional) Make a virtual environment and activate it

    python -m venv .venv
    .venv\Scripts\activate
    
  5. In the project directory run:

    pip install -e .[dev]
    
  6. Make sure the tests run:

    python setup.py test
    
  7. Install pre-commit hooks before contributing:

    pre-commit install
    

You are ready to go!

Credits and Reference

  1. Potrace algorithm and package has been immensely helpful.

  2. Fontforge for packaging and adjusting font parameters.

  3. Sacha Chua's project proved to be a great reference for fontforge python.

  4. All credit for svgtottf converter goes to this project by pteromys. We made a quite a lot of modifications of our own, but the base script idea was derived from here.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

handwrite-0.2.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

handwrite-0.2.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file handwrite-0.2.0.tar.gz.

File metadata

  • Download URL: handwrite-0.2.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.7

File hashes

Hashes for handwrite-0.2.0.tar.gz
Algorithm Hash digest
SHA256 442b9de1381f4f3d1fdf4c629ebb7d04ffd5cbb3ec97b01156690967fa087ffb
MD5 601415dbc0c0e3047c1ffdd2ddb8cb07
BLAKE2b-256 1e9542fd4d986d3d054da2d5a1f29de5b7b506cf8abc92c13999ca83e4a2e308

See more details on using hashes here.

File details

Details for the file handwrite-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: handwrite-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.7

File hashes

Hashes for handwrite-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48a9a1c8e9a9ebbff5bbabac4c9cf458c52f8834bc986a4a8ea62ab99e108ec6
MD5 4838962b5fcc7d8e6bd2926ca9730cc5
BLAKE2b-256 ab625b9388a8e7dfdee129a081a36e151e526ac0236c6b20aa1a717349ad2a95

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page