2025-12-25
today i didn't do much about the font. played with sqlite at work. i think it is a very useful little tool.
december adventure is a low key thingy by eli oat. the goal is to choose a project and work on it in a relaxed pace.
in this year's decadv i want to work on a project that i've been postponing for too long now. i'm fascinated by scripts and writing aystems, both natural and constructed. over the years i've accumulated a few writing systems of my own. sadly, i haven't found the time to document them, but this year i want to try to change this.
in particular, i want not only to document each writing system, but to make a computer font for each one.
this log is an html journal. here is an atom feed of the log.
today i didn't do much about the font. played with sqlite at work. i think it is a very useful little tool.
tweaked some letter shapes today. although, much more needs to be done about that. i don't quite like the shape of 'y', thinking of making it a bit smaller.
this is actually weird, but i never used the half-horizontal glyph variants anywhere. i needed them for some reasson in test version, but for real one i don't think i'll need them.
i've written all the opentype-feature logic, it's live! see the font repo for all the spicy details. but seriously, i need now to do the boring part. test, test, test and tweak.
also i want to create a version of the font that is rotated 90 degrees to the left, because then it'll behave correctly like it should. right now the letter blocks are placed left-to-right, but they should stack top-to-bottom instead. since computing is western-oriented (latin-oriented), vertical scripts aren't well supported, i might have to do this rotation manually for it to work.
added the remaining character variants to the fontforge file! yesterday before wrapping up for the day i created encoding slots in fontforge for character variants, but i didn't know that if these encoding slots have nothing inside, fontforge won't save them and their names! so i've written a script to append empty char defininitions to the sfd file.
this means i'm moving to step 5, yay!
i skipped a week or so, because of some sickness (idk what exactly, flu-like symptoms). but this day i started working on a font for my first writing system. i've drawn all the main glyphs, except for numbers. i had to do four versions of each glyph because of how the script is going to work. i've set up a repo for all fonts to live in. right now i'm on stages 3 and 4 of the scheme. initially, i wasted a lot of time because i didn't set up the units correcly in inkscape. now i think of making a template for drawing the glyphs.
i've seen some posts on the fediverse that reminded me of something. i refactored the html of this log so that it conforms to the journal spec by m15o. this means we can get atom feed for free! i've also written a library for parsing html journals. why? i don't know, felt like it. there is already original implementation, and i won't say it's inferior or something, but i noticed that it behaves a bit differently than is specified in the format. i wrote a little tool that can be used to make a feed from html journal file. i've added it to my build script. my library recognizes a subset of html journal formats, i've tested it on some other people's journals, some of them don't work. but i think that if it works with my library, it'll work with the original as well. anyway, it was fun.
today is a little meta-day. i've added a little script to compose new log entries. see how i said no automation and here i am, writing ed scripts. oh, btw, i wrote this using ed(1). on workdays i can't use my home pc with a comfy acme. as i once said, ed(1) is the best text editor for a phone. no jokes. also it kinda forces you to think what you type and slow down a bit. every line entered could not be edited with backspace. once i wanted to write my own ed, but with more powerful regexes and with some features borrowed from sam(1), like, for example, ability to forget that line terminators exist and treat text as a one-dimensional array of bytes. but that's for another day maybe.
this was a busy day at work, like all mondays are. day before i started automatic reconstruction in colmap, because i figured it would take some time. actually, it died a few times, there wasn't enough memory. i stopped all daemons and closed display server so it could have all power it needs. and it finished! but the results are quite roughh and noisy. and it took whooping 46GiB of space! didn't even get close to gaussian splatting. will try that on a lighter dataset.
another one that i've spent with friends. also i've learned about gaussian splatting and it got me attracted. i've tried to make a structure from motion in colmap, but tinkered with it for a long time without any good results. it is quite heavy and needs a lot of storage and computing power. we also tried to do our first linocuts. we've figured out how to cut, but not so much how to print, that's a thing to learn. in the evening we went to the swimming pool. i try to add something physical to my life, otherwise it's just computers and work.
this day i spent time with friends. we went to a flower market (or a festival, i am not sure how these things are named, flower event). plants were nice, but the place they choose to host such event wasn't fit for it. there were narrow spaces between stands, and there were quite a lot of vizitors, so to see anything or even go through one had to push through people.
i found the thing! uploaded the picture of it, as well as inscription of what's been cut there. been a pretty busy day at work, so that's all for today i guess.
no writing systems related stuff today, alas. but i've worked on improving my websiting experience.
i wanted to rebuild this website without any automation (yeah, this is third time i redo this, but now i literally write html by hand). although, i thought, that maybe having cross-links displayed at the bottom of pages is not that bad. so i added some shell stuff so these lists could be generated. i try not to worry too much about how well does it do.
initially, i went with straightforward O(n²) approach (for each file, for each link, search each file for that link). but then it occured to me that basically outgoing links, which are much easier to find can be set as incoming links to targeting pages.
oh, by the way, the repo is available on my git: site sources.
added pictures for ukarpanghooth script. i planned to do another one, but didn't manage to find this little trinket i've cut writings on.
today i mostly tweaked the website. decided to make it look like acme window in which i'm currently writing this sentence :D
css is a bit questionable, but i'll tweak it more as i go.
as a sidenote, it's a bit challenging to work on something while also having to go to a $dayjob...
started working on ukarpanghooth description. couldn't do images today, sorry...
also came up with a rough scheme on how to make each font: