Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This English-only white guy was tasked with supporting Ruby in an early implementation of iBooks. Ha ha, that was a whole new world I had to try to come up to speed on. In the end it was, for my part, a lot of wrangling with CoreText to get a vertical layout positioned correctly.

Just scrolling through this site makes my head spin. (Also makes me wonder what the hell Apple were thinking when they dropped that in my lap.)

I assumed that WebView would eventually add support for Ruby and my code could be ripped out ... I have no idea if that ever came to pass (I moved to another team within Apple not long after I had finished the Ruby code).



Well, there's definitely Ruby support in the Webkit engine these days (as well as in Gecko and Blink); you can do something like

    data:text/html,<h1><ruby><rb>H</rb><rt>hacker</rt><rb>N</rb><rt>news</rt></ruby>
in the browser URL bar to see it at work.

Whether iBooks has adopted that in place of your code ... I have no idea.


One of my hobbies is printing "three-sided cards" that frequently have anime characters as subjects, these have a description of of the image in English at the bottom left but I pull out proper names in Japanese and set them vertically on the upper right. Here is one example

https://gen5.info/$/Q.AEW.3FW2XIZUINQ/BACK800/0278.PNG

which is part of this group of cards:

https://gen5.info/$/Q.AEW.3FW2XIZUINQ/

I had to write my own layout engine for vertical CJK text which to first order is not very hard because the characters are all squares and I don't need to deal with punctuation, Ruby, and all that. What is still a hassle is mixing Roman characters in and having them look good, as these frequently turn up in proper names. For instance the second season of the popular anime Sailor Moon (セーラームーン) is called Sailor Moon R (セーラームーンR).


>Just scrolling through this site makes my head spin.

It's not as bad as it looks. It repeats everything in two languages (you can click "English" on the right to get rid of that), and there's a large section at the end which lists characters, then a glossary.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: