Wednesday, November 01, 2006

Korean Font Subset Base Glyph Embedding Headache

Sometimes I wonder what's harder, working on Moyo Go the study guide, or on Moyo Go the strong-playing Go program (in the future).

Recently I purchased the sourcecode to a library that lets me export to RTF, HTML, PDF etc.

If you want ot put CJK languages in a PDF, and the reader does not have a CJK unicode font, it does not display properly, therefore there is such a thing as "font subset embedding", because embedding the entire font would result in a filesize of more than 10 MB.

The library I bought supports that. Except with "composite glyphs". And unfortunately it's Korean that uses those. So I can't produce - for me - acceptable PDF output that contains Korean.

But I have the source, so poor naive me, I tried to implement it myself in that source (which I paid 349 USD for).
I spent the past three days struggling with it. I finally discovered that it will take me a week to do it, so I'll let it be for the moment.

The vendor bounces my emails as SPAM, and ShareIt! told me their emails to them also bounce..

I should have known better than to buy stuff from India. They have no support forum either. Then again, they were the only ones that had met my requirements.

It's not that Indians are inherently worse at software development. The issue here is that 25 years ago, most were unable to own personal computers. And owning a PC as a kid is usually prerequisite for becoming really, really good, just as with Go. You have to start young. 25 years ago, I had a computer. And with 16, I was late, very late. Extreme focus and dedication (and I had my own guru-level hacker to teach me about pointers and multi-dimensional arrays) the following decade got me through. My brother, I got him a computer when he was twelve. Before he was allowed to do his driving test, he employed two or three people in his turn-key IT company that produced their own POS solution. He wrote a barcode-reader driver from scratch before he had his first girlfriend.

Update: It's solved! The BitStream Cyberbit font properly embeds subsets, for my purposes. I have applied for a license.