Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alias-rahil/handwritten.js
Convert typed text to realistic handwriting!
https://github.com/alias-rahil/handwritten.js
converter daniel-font emnist-dataset extended-mnist hacktoberfest handwriter handwriting handwritten pen pencil text
Last synced: 26 days ago
JSON representation
Convert typed text to realistic handwriting!
- Host: GitHub
- URL: https://github.com/alias-rahil/handwritten.js
- Owner: alias-rahil
- License: mit
- Created: 2020-05-09T13:19:58.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-10-27T08:41:32.000Z (about 1 year ago)
- Last Synced: 2024-10-02T01:05:24.235Z (about 1 month ago)
- Topics: converter, daniel-font, emnist-dataset, extended-mnist, hacktoberfest, handwriter, handwriting, handwritten, pen, pencil, text
- Language: JavaScript
- Homepage: https://alias-rahil.github.io/handwritten.js/
- Size: 23.2 MB
- Stars: 1,919
- Watchers: 17
- Forks: 95
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-list - handwritten.js - rahil | 1781 | (JavaScript)
README
✍️ HANDWRITTEN.js
Convert typed text to realistic handwriting
[![All Contributors](https://img.shields.io/badge/all_contributors-10-orange.svg?style=flat-square)](#contributors-)
[![Version](https://img.shields.io/npm/v/handwritten.js.svg)](https://www.npmjs.com/package/handwritten.js)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/alias-rahil/handwritten.js/blob/master/LICENSE)
## Demo
🌐 [handwritten.js](https://alias-rahil.github.io/handwritten.js/)
## Installation
### For browsers:
```html
```
> This will expose the latest version of `handwritten.js` as a global variable called `handwritten` which you can start using right away. Check the contents of [docs/](https://github.com/alias-rahil/handwritten.js/blob/master/docs/) folder for a simple implementation. For other versions, install the required version with npm and use [browserify](https://www.npmjs.com/package/browserify) to compile it. Optionally, use [babel-minify](https://www.npmjs.com/package/babel-minify) to compress the bundled javascript file.
### For nodejs projects:
```bash
npm install handwritten.js
```or
```bash
yarn add handwritten.js
```### Install globally:
```bash
npm install handwritten.js -g
```or
```bash
yarn global add handwritten.js
```> Note: **DO NOT** use sudo to install global packages! The correct way is to tell npm where to install its global packages: `npm config set prefix ~/.local`. Make sure `~/.local/bin` is added to `PATH`.
## Usage
### For nodejs projects:
```javascript
const handwritten = require('handwritten.js')
const fs = require('fs')
const rawtext = "Hello, world!"
handwritten(rawtext).then((converted) => {
converted.pipe(fs.createWriteStream('output.pdf'))
})
```### CLI usage with npx:
```bash
npx handwritten.js -f "path/to/inputfile.txt" -o "path/to/outputfile.pdf"
```> Note: Use this method only if you plan to use handwritten.js for one time, installing handwritten.js globally (see-below) is recommended for multiple time usages.
### CLI usage after installing globally:
```bash
handwritten.js -f "path/to/inputfile.txt" -o "path/to/outputfile.pdf"
```## API
### Command line
```bash
handwritten.js -f path/to/inputfile.txt -o path/to/outputfile.pdf
handwritten.js -f path/to/inputfile.txt -o path/to/outputfile.pdf --ruled
handwritten.js -f path/to/inputfile.txt -o path/to/outputfolder --images png
```Check `--help` or `--version` option for more details.
### In code
```javascript
handwritten(rawtext)
handwritten(rawtext, { ruled: true })
handwritten(rawtext, { outputType: "jpeg/buf" })
handwritten(rawtext, { ruled: true, outputType: "jpeg/b64" })
handwritten(rawtext, { ruled: true, outputType: "jpeg/b64" , inkColor: COLORS.RED})
```Default outputType: "pdf". Supported output types are: `pdf`, `jpeg/buf`, `jpeg/b64`, `png/buf` and `png/b64`. If the output type is set to `pdf`, it returns a promise that will resolve in a [pdfkit](https://github.com/foliojs/pdfkit#readme) document instance. Else it will return a promise that will resolve in an array containing the buffer or base64 value of the images according to the output type provided.
Default `inkColor` is `black`, more ink colors are available through `COLORS` under `handwritten.js/constants`## Screenshot
## Author
👤 **Rahil Kabani **
## Show your support
Give a ⭐️ if this project helped you!
## 🤝 Contributing
Contributions, issues and feature requests are welcome! Feel free to check [issues page](https://github.com/alias-rahil/handwritten.js/issues).
> handwritten.js only supports English letters. I am not planning to add support for other languages for now. Please do not any more make issues about this. However, I will merge pull requests if any. See the issue [#18](https://github.com/alias-rahil/handwritten.js/issues/18) for more details.
## Credits
[GDGVIT/HandWriter](https://github.com/GDGVIT/HandWriter) - For the cleaned dataset.
## Handwritten.JS
🏠 [Homepage](https://github.com/alias-rahil/handwritten.js#readme)
## License
[MIT](https://github.com/alias-rahil/handwritten.js/blob/master/LICENSE)
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Rahil Kabani
💻 📖 🚧
Anthony Ng
📖
Ben Junya
💻 📖
Harsh SInghal
💻 🚧
etienne
💻
Ashikka Gupta
🚧 💻
Suyash Sonawane
📖 💻
Vishal Pandey
💻
Anirudh Sharma
💻
Newton Munene
🐛 💻
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!