This one's relatively kinda brute-force, but it's the first one I coded so I'm keeping it around somewhere. The first letter of each hangul syllable must be capitalized for it to work. AGga would result in 아까, AgGa would result in 악가, agga would lead to disconnected text.
Compared to the newer version, this one is way clunkier internally. It's also kinda inconsistent about which etymological features are preserved and which aren't, and the way ye/hie is handled is weird because of bias from my own dialect. Not that the new one is perfect about all those things, but I hope it's a bit better.
Original Description:
I think I finally got this working but as usual if you find anything broken let me know. I wanted to use fun uncommon letters like Ҫ for Z/softC and Ҏ for RR, but this font didn't support them so I went for the (honestly more reasonable) Ц and РР instead. I wasn't sure what to do for initial Y since its pronounciation varies by dialect. It could've just been Й and technically been distinct, but Ж seemed closer to how a lot of people pronounce it so I went with that (I'm not being biased because I personally pronounce it more like Ш). Some words might be misinterpreted by the converter and would need to be added as 'exceptions' (eg. kilómetro > кило́метро > quilómetro). I'll try adding some, but if you find any I missed let me know through tumblr asks.
For the third pixel font, I just aimed to have a cap height of about 7 pixels tall, and to otherwise do whatever I thought looked good. I also tried to add support for more writing systems, and use the extra space to improve the legibility of the ones already present in the other fonts. While the prior fonts had a fixed width, this one has variable width, but generally uppercase letters tend to be 5x7 and lowercase letters tend to be 4x5, with most ascenders and descenders being two pixels tall. Diacritics can change shape and position depending on the letter which they are on.
Sevenish has enough extended latin to support Vietnamese, as well as some rough glitchy unfinished hangul (I do wanna finish it eventually, but that might take a while).Input pinyin, preferribly in all-lowercase or only with initial letters capitalized; ALL UPPERCASE text will not work correctly. If you have text in han characters you can get the pinyin version through goog translate. Bopomofo input WIP.
Honestly it's more like a relex of regular pinyin, but I don't know how to systematize getting pronounciation directly from hanzi so this'll have to do. I wanted to apply some stuff from the yale hangul romanization, like representing plain/aspirated pairs with h-digraphs for aspiration instead of with voiceless/voiced pairs. I also wanted to avoid using R for both retroflex /ʐ/ɻ/ and for rhotic vowel /ɚ/. Since the aspiration thing would require reworking how the rest of the retroflex consonants were done anyways, I decided to keep R for /ɚ/ and use Z for /ʐ/ɻ/, with a cedilla (which originally comes from an abbreviation of Z! fun fact) being used to represent retroflex consonants. So while working on that I also realized that much like in Korean and Japanese, /ɕ/ only happens in front of /j,i,ɥ,y/, a context in which /s/ does not occur, so /ɕ/ could be considered an allophone of /s/. So I decided to merge those two back into the same consonant, with the sequence represented by ZI/CI/SI in pinyin would instead be indicated by a different written vowel; eventually I decided on this being represented by the omission of a written vowel since on of the descriptions of that vowel sound I've seen is an elongation of the consonant sound, and also the only free vowel I had was O and that didn't look good in that context. So with all that /x/ was also represented by X, now that it wasn't being used by /ɕ/ and that H was being used for all sorts of aspiration-y stuff. Besides that I wanted to do final clusters in a sorta systemic way (even if it doesn't 100% match pronounciation), using the two-vowel analysis and at most one letter per portion of the cluster (3 at most for any cluster). The nuclei used for the two vowels are A and E, but E can be dropped if it's surrounded by both a medial and a coda. The medials are represented by I, U, and Ü (I wanted to use Y, but Ü seemed more intuitive since it's what pinyin already uses), which are written the same regardless of whether or not they are preceded by a consonant. The codas are represented by I, U, N, and Ṅ (I want to avoid the digraph NG, but Ṅ can be replaced with G or Q if dot diacritic cannot be easily typed). If a coda is followed by another medial in a way that creates ambiguity, the syllable boundary should be explicitly shown with punctuation such as a dash or an apostrophe (personally I like middle dots, but apparently they're sometimes used to mean neutral tone so I wanna avoid them here). I just used the same tone diacritics regular pinyin does. The priority of diacritic placement is: 1. On a nucleus vowel A/E. 2. On the final vowel in a cluster (e.g. uí, ún, iú) 3. On the first consonant of a syllable with no written vowel (e.g. ŕ, ś, ćh) [really this one just specifies "first" because I don't want tone diacritics on h]. There's also variants of which have either no diacritics or a ridiculous amount of diacritics. I wanna eventually add the options to input ㄅㄆㄇㄈ and to convert this back into regular pinyin, but that might take a while. EDIT 2023·03·10: Trying to make it so that instances of pinyin ZHI/CHI/SHI/RI also have the vowel omitted, for the sake of consistency with ZI/CI/SI. Might take a while to be fully implemented while trying to not break everything else.
Ref image.
Length comparison.