[{"data":1,"prerenderedAt":473},["ShallowReactive",2],{"project-24205416":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":47,"post_text":50,"what":51,"said":84,"maker_in_thread":228,"shape":231,"grid":235,"attempts":428,"same_week":436,"maker_shows":40,"maker_hidden":465,"reader_version":466,"card":467},"24205416","Handwritten.js","Convert typed text to realistic handwriting","title","Show HN: Handwritten.js – Convert typed text to realistic handwriting","https:\u002F\u002Fgithub.com\u002Falias-rahil\u002Fhandwritten.js#README.md","github.com","alias-rahil",1597792159,2020,255,80,184,3028,7,"legend","creative","handwriting generation","library",[24,25,26,27,28],"handwriting","text to handwriting","javascript","handwriting font","cursive generator","mixed",-0.017,{"positive":32,"neutral":33,"mixed":34,"critical":35},12,25,4,13,54,{"idea":38,"execution":41,"design":43,"docs":45},{"positive":39,"critical":40},8,1,{"positive":40,"critical":42},11,{"positive":44,"critical":40},2,{"positive":46,"critical":46},0,[48,40,46,49,48,49,49,48,40,49,40,49,49,48,49,40,40,49,49,49,40,48,40,46,46,46,40,46,46,40,49,46,48,46,46,49,49,48,48,49],5,3,null,{"problem":52,"audience":50,"pricing":50,"motivation":59,"time_to_build":50,"stack":63,"openness":83,"stage":83,"team_size":83},{"value":53,"source":54,"evidence":55},"Turning typed text into handwriting that looks natural.","maker",[56],{"id":57,"by":11,"text":58},"24205421","Many times I get university assignments that are compulsory to be submitted as handwritten document. Most of the information needed for the assignment is available on the…",{"value":60,"source":54,"evidence":61},"Making university handwritten assignments faster to produce.",[62],{"id":57,"by":11,"text":58},[64,76],{"value":65,"source":66,"evidence":67},"JavaScript","commenter",[68,72],{"id":69,"by":70,"text":71},"24206756","sago","How realistic is it to have no joined letters? Do many people really write large scale texts letter by letter with space between each? Sadly, the screenshot looks obviously…",{"id":73,"by":74,"text":75},"24205885","sjv","Non-statistical methods of imitating handwriting are always fairly easy to identify as synthetic due to the uniformity of strokes and unnatural kerning (among other things). Even…",{"value":77,"source":66,"evidence":78},"WebGL (via a neural network backend)",[79],{"id":80,"by":81,"text":82},"24207214","navanchauhan","Yup, I did use the write button. It works on my laptop though. I checked the console and it was indeed throwing an error \"Error: Backend name 'webgl' not found in registry\"","unknown",{"praise":85,"objections":112,"requests":144,"questions":174,"alternatives":193},[86,105],{"value":87,"source":66,"evidence":88},"Output looks realistic and fun to play with",[89,93,97,101],{"id":90,"by":91,"text":92},"24206045","MikeTheGreat","This is really neat! I love how it looks, and the selection of styles. A couple of times, using Style #2, it generated a bunch of loops at the end: Text: \"The quick brown fox,…",{"id":94,"by":95,"text":96},"24208862","playpause","This is amazing. It's cool how you can drag the legibility slider up and down while it's writing and it responds live. It looks the most realistic to me when I alternate between…",{"id":98,"by":99,"text":100},"24205899","elorm","Just tried it, font looks great on paper. I don’t have too many uses for this, but I bet it’ll be pretty handy for people who are still addicted to reading notes from printed…",{"id":102,"by":103,"text":104},"24224028","detritus","Wonderful! And as it generates single stroke SVG exports, I can output to a laser cutter and have it write for me :) I can't think of a practical use for this, but that's not…",{"value":106,"source":66,"evidence":107},"Interesting vector\u002Fstroke output for design uses",[108,111],{"id":109,"by":103,"text":110},"24226744","Having played with this a bit - if you can flesh it out a bit, I am sure you can monetize this. I've been dicking around with it for an hour or two and I'm getting results that -…",{"id":102,"by":103,"text":104},[113,125,137],{"value":114,"source":66,"evidence":115},"Repeated letters and loops appear in some styles (e.g. 'x', 'fox')",[116,117,121],{"id":90,"by":91,"text":92},{"id":118,"by":119,"text":120},"24206326","sbarre","This is super cool! A random FYI: the demo seems to consistently fail on the letter x when using style #9 and typing out: The quick brown fox jumps over the lazy dog I tried a…",{"id":122,"by":123,"text":124},"24206867","TheNewAndy","Try \"fox\" in style 2 with maximum legibility. It goes loop-the-loop several times.",{"value":126,"source":66,"evidence":127},"Letters look too uniform, like a font",[128,129,133],{"id":69,"by":70,"text":71},{"id":130,"by":131,"text":132},"24207770","wonderlg","I don’t get this project. This is nothing special, you can very easily spot that every T is identical. You might as well just use a handwritten font.",{"id":134,"by":135,"text":136},"24205771","galkk","This is insane busywork that I hated in college (xUSSR, 20+ years ago). I would scrutinize the example, though. I don't know how \"clean\" the documents are expected to be, but the…",{"value":138,"source":66,"evidence":139},"Blank output or errors on some devices (WebGL backend error)",[140,143],{"id":141,"by":81,"text":142},"24205907","It’s giving blank output on iOS or is it because the model takes time to load? Also, is there any chance we can fine tune the model for each user by taking their handwriting in a…",{"id":80,"by":81,"text":82},[145,156,167],{"value":146,"source":66,"evidence":147},"Add a license to the project",[148,152],{"id":149,"by":150,"text":151},"24209024","mushishi","Hi, I like this, and found your project at Github. Could you add licence to your project, please! https:\u002F\u002Fgithub.com\u002Fsjvasquez\u002Fhandwriting-synthesis",{"id":153,"by":154,"text":155},"24211112","ldd","I second this. Please add a license!",{"value":157,"source":66,"evidence":158},"Train on a user's own handwriting",[159,160,164],{"id":141,"by":81,"text":142},{"id":161,"by":162,"text":163},"24211002","aketchum","How much data is needed to train the model to replicate a specific person's handwriting? Could this recreate my hand writing with less than a page of notes in my own handwriting?",{"id":165,"by":103,"text":166},"24228628","How would you go about creating a minimal\u002Fmedium source of input to train this? Could you create a 'written test' type thing - a couple of pages of selected forms of repeated…",{"value":168,"source":66,"evidence":169},"Export as a font file",[170],{"id":171,"by":172,"text":173},"24206277","gibs0ns","It would be great if this could output a generated font file, which can then be used on the web etc.",[175,183],{"value":176,"source":66,"evidence":177},"How much handwriting data is needed to mimic a person's style",[178,182],{"id":179,"by":180,"text":181},"24207562","pdamoc","This looks very interesting. I wonder how much data would be required in order to imitate a particular handwriting style? i.e. if I know someone with a lovely penmanship and I…",{"id":161,"by":162,"text":163},{"value":184,"source":66,"evidence":185},"Why the output is slow",[186,190],{"id":187,"by":188,"text":189},"24206102","crazygringo","That's super-cool. Honestly that's what I was expecting the submission to be. When I looked at the example image in the original submission, the same letters all look basically…",{"id":191,"by":74,"text":192},"24206184","It's not intentionally slowed down. The sampling process is computationally heavy and you'll notice improved performance when running it on better hardware. There are many…",[194,202,213,220],{"value":195,"source":66,"evidence":196},"Handwriting fonts",[197,198],{"id":130,"by":131,"text":132},{"id":199,"by":200,"text":201},"24207650","smabie","Is this different than a font?",{"value":203,"source":66,"evidence":204},"OpenType contextual alternates for random glyphs",[205,209],{"id":206,"by":207,"text":208},"24208937","zimpenfish","> Can a font pick randomly between different versions of the same glyph? In theory, yes, OpenType Contextual Alternates can do this. See \"Introducing variety\" on this page:…",{"id":210,"by":211,"text":212},"24205729","montroser","You might consider turning this into an OpenType font including all the random alternates:…",{"value":214,"source":66,"evidence":215},"Pen plotters such as AxiDraw",[216],{"id":217,"by":218,"text":219},"24207450","ziari","Bulk mail is often produced using a letterpress-style machine. Personalized mail, on the other hand, is usually \"handwritten\" using a pen plotter (e.g., AxiDraw).…",{"value":221,"source":66,"evidence":222},"sjvasquez handwriting-synthesis",[223,224],{"id":73,"by":74,"text":75},{"id":225,"by":226,"text":227},"24206484","fizixer","Thanks for sharing. If you don't mind, did you use Graves 2013 RNN or something recent\u002Fmore advanced?",{"comments":40,"answered":46,"key":229},[230],{"id":57,"text":58},{"commenters":232,"max_depth":233,"maker_replies":40,"first_comment_mins":40,"lifespan_hours":234},61,6,45,[236,238,240,244,246,248,250,252,255,259,261,264,267,270,274,278,279,280,283,286,288,289,290,292,296,297,299,301,304,307,308,311,314,317,320,324,327,330,332,334,335,338,339,340,341,342,344,347,349,351,353,355,356,357,360,363,365,368,371,375,377,380,384,387,389,390,392,395,398,399,402,404,406,409,410,412,413,416,420,424],[73,46,48,237,74,46],"project\u002Fpositive\u002Fidea",[141,46,49,239,81,46],"project\u002Fneutral\u002Fexecution",[241,46,46,242,243,46],"24206368","commenter\u002Fneutral\u002Fnone","jsjohnst",[80,46,40,245,81,46],"project\u002Fcritical\u002Fexecution",[247,46,46,242,243,46],"24208729",[249,46,46,242,81,46],"24219932",[90,46,49,251,91,46],"project\u002Fmixed\u002Fexecution",[253,46,49,239,254,46],"24206120","aldanor",[256,46,48,257,258,46],"24207041","project\u002Fpositive\u002Fexecution","chrisco255",[260,46,49,239,74,46],"24206135",[262,46,49,239,263,46],"24208356","fps_doug",[265,46,49,239,266,46],"24209590","alexanderskates",[268,46,49,251,269,46],"24209107","chris_st",[271,46,46,272,273,46],"24207860","other\u002Fneutral\u002Fnone","iforgotpassword",[275,46,49,276,277,46],"24206077","project\u002Fneutral\u002Fidea","Waterfall",[187,46,48,237,188,46],[191,46,46,242,74,46],[281,46,40,245,282,46],"24206156","axaxs",[284,46,49,251,285,46],"24206226","kristopolous",[287,46,49,239,282,46],"24206325",[118,46,40,245,119,46],[122,46,40,245,123,46],[291,46,49,239,123,46],"24206872",[293,46,49,294,295,46],"24207050","project\u002Fneutral\u002Fdesign","glerk",[225,46,49,276,226,46],[298,46,49,276,74,46],"24206623",[300,46,48,237,226,46],"24211310",[302,46,48,237,303,46],"24207373","maneesh",[305,46,49,276,306,46],"24219276","gfxgirl",[179,46,49,276,180,46],[309,46,46,272,310,46],"24207808","pkphilip",[312,46,40,245,313,46],"24208025","richrichardsson",[315,46,40,245,316,46],"24208112","vibragiel",[318,46,40,245,319,46],"24208166","hombre_fatal",[321,46,48,322,323,46],"24208207","project\u002Fpositive\u002Fnone","adventured",[325,46,40,245,326,46],"24208391","Kosirich",[328,46,40,245,329,46],"24208606","habosa",[94,46,48,331,95,46],"project\u002Fpositive\u002Fdesign",[149,46,49,333,150,46],"project\u002Fneutral\u002Fdocs",[153,46,49,333,154,46],[336,46,40,245,337,46],"24209103","laszlokorte",[161,46,49,276,162,46],[102,46,48,237,103,46],[109,46,48,237,103,46],[165,46,49,276,103,46],[69,40,40,343,70,46],"project\u002Fcritical\u002Fdesign",[345,40,46,272,346,46],"24208519","senko",[348,40,46,272,70,46],"24209147",[350,40,46,272,346,46],"24209298",[352,40,46,272,207,46],"24208917",[354,40,46,272,70,46],"24209057",[57,44,46,237,11,40],[134,44,40,245,135,46],[358,44,46,272,359,46],"24206260","zxcvbn4038",[361,44,46,272,362,46],"24206998","_ZeD_",[364,44,46,272,135,46],"24207382",[366,44,46,272,367,46],"24207442","xmprt",[369,44,46,242,370,46],"24211194","grayhatter",[372,44,46,373,374,46],"24206909","other\u002Fneutral\u002Fidea","fpgaminer",[130,49,40,376,131,46],"project\u002Fcritical\u002Fidea",[378,49,46,242,379,46],"24208675","lixtra",[381,34,49,382,383,46],"24209512","project\u002Fmixed\u002Fidea","101008",[385,34,46,242,386,46],"24212442","TT3351",[388,34,46,242,383,46],"24222139",[210,48,49,276,211,46],[391,233,48,237,319,46],"24208210",[393,18,46,272,394,46],"24207016","porjo",[396,39,46,272,397,46],"24207194","throwaway13337",[217,39,46,272,218,46],[400,39,46,272,401,46],"24210035","wallawe",[199,403,49,276,200,46],9,[405,403,49,276,319,46],"24208250",[407,403,49,276,408,46],"24208389","jordanwallwork",[206,403,49,276,207,46],[98,411,48,331,99,46],10,[171,42,49,239,172,46],[414,32,48,237,415,46],"24207135","elietoubi",[417,35,49,418,419,46],"24208437","project\u002Fneutral\u002Fnone","zerop",[421,422,49,276,423,46],"24206810",14,"foobaw",[425,426,46,272,427,46],"24209032",15,"adamcccc",[429,432,433],{"id":430,"t":431,"points":32,"comments":40},"24180795",1597608476,{"id":4,"t":12,"points":14,"comments":15},{"id":434,"t":435,"points":18,"comments":44},"24774778",1602667922,[437,441,446,451,456,461],{"id":438,"name":439,"points":440,"category":20},"24158125","Photo Realistic QR-Codes",482,{"id":442,"name":443,"points":444,"category":445},"24139339","Bedtime calculator",312,"consumer_social",{"id":447,"name":448,"points":449,"category":450},"24178295","ScreenplaySubs",289,"productivity",{"id":452,"name":453,"points":454,"category":455},"24189582","Dropbase 2.0",261,"data",{"id":457,"name":458,"points":459,"category":460},"24177804","GradientMagic",259,"dev_tools",{"id":462,"name":463,"points":464,"category":450},"24199419","Archivy",219,false,"v2",{"id":468,"name":5,"line":6,"ai":465,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":469,"top":18,"kw":470,"maker":11,"domain":10,"tier":19,"attempts":49,"strip":471,"url":9,"mix":472,"praise":87,"objection":114,"sub":21},24205416,-0.02,[24,25,26,27,28],"5103533513133531133315100010013050033553",[32,33,34,35],1794036594886]