IdreesInc / Monocraft

A monospaced programming font inspired by the Minecraft typeface
https://idreesinc.com
SIL Open Font License 1.1
8.02k stars 115 forks source link

Added generation of data for characters with diacritics #72

Closed Ciubix8513 closed 1 year ago

Ciubix8513 commented 1 year ago

PR for #71 The data is generated by reading the Unicode data file which can be found at https://www.unicode.org

The code generates characters for all diacritics in diacritics.json file. The resulting character data is combined with the original character data and dumped int a new file. Which means that just by adding a few more diacritics we can easily generate 100s of new characters.

Btw, thx for writing the original code for generating characters, the idea is so obvious but so genius This is my first time coding in Python, hope the code is ok

IdreesInc commented 1 year ago

Woah hold on, this sounds like a fantastic idea but I still need to get my branch in a presentable place (AKA ensure it generates the same font as my original hand-drawn version) before we start going beyond that! I need to finish up the ligatures, ensure that various metadata settings are generated, set the license of the code to an open source license like GPL (currently the license only applies to the font itself), and a few other things before I can release my branch into main and accept new PRs. That's going to take a few more days, but after that's all sorted let's revisit this PR! Not sure how you even found my branch lol but love the idea behind generating all of those annoying diacritic combinations. I'll ping you when everything is done on my branch and then once the inevitable conflicts are resolved I can go about testing these changes. Also heads up, for some reason the generated characters.json file is splitting the pixel arrays into newlines for each character.

Ciubix8513 commented 1 year ago

Yea, there's still work to do on this branch, but I think the generated font is identical to the hand drawn. I would love to help with the ligatures, but I know nothing about that, so good luck with that.

And I just kinda stumbled onto this branch and got an idea for this PR.

IdreesInc commented 1 year ago

Alright, ligatures are done and the code is now pretty stable. Please resolve the minor conflict and "verbally" acknowledge that this code will be licensed under the new source code license (GPL 3.0) and then we can merge this PR! I'll probably clean up some of the code once it is merged into this branch, but overall it looks great. Thanks so much for the time and effort put in to making this possible!

Ciubix8513 commented 1 year ago

I think that's everything, glad I could help I think the monocraft.py file should also have a similar notice to the one I put in gencharacters.py

IdreesInc commented 1 year ago

Good idea, will do (though I might minify it a bit). Expect that this new version of monocraft should be released before the end of the week. Thanks once more for your amazing help and happy holidays!

Ciubix8513 commented 1 year ago

Thank you for all the work you're doing, happy holiday!