-
Font V2, Cursive & Machine Prototype
05/03/2023 at 20:28 • 0 comments"Font V2" refers to the 2nd generation handwriting font recording method. There's a lot of progress since the previous update. They are:
- Made a python app to record your handwriting using a graphics tablet. The app records the stroke by saving the normalized coordinates of then pen's stroke. The recorded stroke's recorded coordinates are of high resolution.
- Made the Gcode generation python script support cursive handwritings
- Made a quick prototype of the homework machine mostly using the parts I had in stock.
Lessons learnt for further progress:
- Recording handwriting using a graphics tablet without a display is difficult for the user to get it right. You need some experience with it to draw your natural handwriting using it. This solution wont scale.
- Recording multiple versions of each character and randomly selecting one is not ideal.
- The machine's output is not perfectly smooth. Looking at the Gcode using a Gcode viewer, there seems to be a little jitter in the recording process that needs to be smoothed out.
Up next:
- Automate the book / page fixturing and page turning
- Set up input shaper to write fast without vibrations
- Adopt a new medium to record handwriting- probably an android with a stylus.
- Create a new method to make the writings look natural. Instead of recording multiple versions, the code should slightly vary the stroke in a random pattern to avoid letters looking the same.
- The flow between letters need to be perfected to look more natural
I'm also thinking about alternate methods to record and process the handwriting. Record stroke SVG / vector? Create an ML model? Suggestions are welcome!
Updates:
- This project has been featured in Hackster.io news
-
Handwriting Font V1- June 2022
05/03/2023 at 09:13 • 1 commentI have been documenting the progress since the start of the project by posting updates as stories on my Instagram. You can find the story highlights here
Since the teacher caught me due to the unnatural regularity and neatness of a machine written text, I decided to record my own handwriting with Multiple versions of each character in the handwriting font (eg: "a1", "a2", "a3",) It was recorded using Inkscape's pen tool. Each letter was painstakingly converted to Gcode and All character's Gcode were combined into a file. The Gcode generation script uses this file as reference for my handwriting.
The software to generate Gcode does the following:
- Takes in all the content you want it to write and your handwriting font file as input.
- Places the text correctly in the correct line of the page.
- Move to the next line either if all content in the line is written or of the line is filled.
- Move to the next page if all the lines in the page are finished or if a page break is added
- Apply randomization to the letters for making the text look more natural
- Create the Gcode for the machine as output.
This time it worked! The lab teacher ended up signing off my lab record as the text was completely different from the machine written one he saw before. Another teacher familiar with my handwriting easily identified that It's not my handwriting. I used this font for months to write assignments and records as most of the teachers have no idea that I am writing these with a machine. They never complained.