From mboxrd@z Thu Jan 1 00:00:00 1970 From: Torsten Wagner Subject: Re: [Feature Request] - Furigana - Yomigana - Ruby Date: Tue, 28 May 2013 15:00:40 +0200 Message-ID: References: <51A3E117.3000900@gmail.com> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a11c3ee822e9ca504ddc6daec Return-path: Received: from eggs.gnu.org ([208.118.235.92]:35869) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UhJWG-0004uo-By for emacs-orgmode@gnu.org; Tue, 28 May 2013 09:01:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UhJW6-0000zY-Cm for emacs-orgmode@gnu.org; Tue, 28 May 2013 09:00:52 -0400 Received: from mail-ea0-x229.google.com ([2a00:1450:4013:c01::229]:43435) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UhJW6-0000zT-3s for emacs-orgmode@gnu.org; Tue, 28 May 2013 09:00:42 -0400 Received: by mail-ea0-f169.google.com with SMTP id m14so4578765eaj.0 for ; Tue, 28 May 2013 06:00:40 -0700 (PDT) In-Reply-To: <51A3E117.3000900@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "T.T.N." Cc: Org Mode Mailing List --001a11c3ee822e9ca504ddc6daec Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Hi Tristan, this feature request seems simple to implement on one side. However, it opens a question how to deal with those in general. \ruby{東} is a very specific command of the CJK package. If this get's implemented in the standard html exporter, other very special commands might need to follow. That could easily go into a nightmare. I do not have a detailed view how the exporters work now, thus, it is a interesting question I want to ask here: How should specific needs for exporting (like Tristans) be embedded in the future. People could fork exporters. Creating e.g. a HTML-CJK exporter. Even better would be to have exporter modules which could be loaded by users. #+HTML_MODULES CJK, However, I believe that for many users, the special cases are not very frequent and complex. Might it be possible to create a very simple syntax for exporting rules which could be either in those above modules or directly within the file written by the user themself? #+HTML_USER_RULE \ruby{$1}{$2}, $1 ($2) <\ruby> Would like to hear what other think about that. Greetings Torsten On 28 May 2013 00:41, T.T.N. wrote: > Hi, > > So this is my first try to post to the mailing list. I Love Orgmode, you > guys are the best! > > I would like to use orgmode to capture japanese text to later export to > latex, html and epub. > For japanese symbols, sometimes the pronounciation is put in smaller > letters above the symbol to help the reader. > These are called ruby in general in typesetting (in japanese, they are > also called furigana/yomigana, which I put in the header so not everybody > thinks of the programming language..) > http://en.wikipedia.org/wiki/**Furigana > > In Latex, using CJK and ruby packages, This exports ok. > (A problem being that japanese text in headers doesn't. But i guess that's > another (and rather Latex, not orgmode-specific) topic. > > Now, my feature request would be to make the html exporter interpret the > latex command > \ruby{symbol}{reading} > as: > symbol (reading**) <\ruby> > > as suggested here, for parentheses on non-ruby supporting browsers: > http://xahlee.info/js/html5_**ruby_tag.html > > > For the org-mode file (you might see some blank squares if you have no > japanese support): > Here a minimal working example for export: > > ### > #+LATEX_HEADER: \usepackage[CJK, overlap]{ruby} > #+LATEX_HEADER: \usepackage{CJK} \end{CJK} > #+LATEX \begin{CJK}{UTF8}{min} > > "\ruby{東}{ひがし}アジア" means east asia in japanese > #+LATEX \end{CJK} > ### > > > All the best, and keep on rocking my world in plain text! =) > > > > > > > --001a11c3ee822e9ca504ddc6daec Content-Type: text/html; charset=ISO-2022-JP Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+SGkgVHJpc3Rhbiw8ZGl2Pjxicj48L2Rpdj48ZGl2IHN0eWxlPnRoaXMg ZmVhdHVyZSByZXF1ZXN0IHNlZW1zIHNpbXBsZSB0byBpbXBsZW1lbnQgb24gb25lIHNpZGUuIEhv d2V2ZXIsIGl0IG9wZW5zIGEgcXVlc3Rpb24gaG93IHRvIGRlYWwgd2l0aCB0aG9zZSBpbiBnZW5l cmFsLiZuYnNwOzwvZGl2PjxkaXYgc3R5bGU+XHJ1Ynl7GyRCRWwbKEJ9IGlzIGEgdmVyeSBzcGVj aWZpYyBjb21tYW5kIG9mIHRoZSBDSksgcGFja2FnZS4mbmJzcDs8YnI+DQo8L2Rpdj48ZGl2IHN0 eWxlPklmIHRoaXMgZ2V0JiMzOTtzIGltcGxlbWVudGVkIGluIHRoZSBzdGFuZGFyZCBodG1sIGV4 cG9ydGVyLCBvdGhlciB2ZXJ5IHNwZWNpYWwgY29tbWFuZHMgbWlnaHQgbmVlZCB0byBmb2xsb3cu IFRoYXQgY291bGQgZWFzaWx5IGdvIGludG8gYSBuaWdodG1hcmUuIEkgZG8gbm90IGhhdmUgYSBk ZXRhaWxlZCB2aWV3IGhvdyB0aGUgZXhwb3J0ZXJzIHdvcmsgbm93LCB0aHVzLCBpdCBpcyBhIGlu dGVyZXN0aW5nIHF1ZXN0aW9uIEkgd2FudCB0byBhc2sgaGVyZTogSG93IHNob3VsZCBzcGVjaWZp YyBuZWVkcyBmb3IgZXhwb3J0aW5nIChsaWtlIFRyaXN0YW5zKSBiZSBlbWJlZGRlZCBpbiB0aGUg ZnV0dXJlLiZuYnNwOzwvZGl2Pg0KPGRpdiBzdHlsZT48YnI+PC9kaXY+PGRpdiBzdHlsZT5QZW9w bGUgY291bGQgZm9yayBleHBvcnRlcnMuIENyZWF0aW5nIGUuZy4gYSBIVE1MLUNKSyBleHBvcnRl ci48L2Rpdj48ZGl2IHN0eWxlPkV2ZW4gYmV0dGVyIHdvdWxkIGJlIHRvIGhhdmUgZXhwb3J0ZXIg bW9kdWxlcyB3aGljaCBjb3VsZCBiZSBsb2FkZWQgYnkgdXNlcnMuJm5ic3A7PC9kaXY+PGRpdiBz dHlsZT48YnI+PC9kaXY+PGRpdiBzdHlsZT4NCiMrSFRNTF9NT0RVTEVTIENKSywmbmJzcDs8YnI+ PC9kaXY+PGRpdiBzdHlsZT48YnI+PC9kaXY+PGRpdiBzdHlsZT5Ib3dldmVyLCBJIGJlbGlldmUg dGhhdCBmb3IgbWFueSB1c2VycywgdGhlIHNwZWNpYWwgY2FzZXMgYXJlIG5vdCB2ZXJ5IGZyZXF1 ZW50IGFuZCBjb21wbGV4LiBNaWdodCBpdCBiZSBwb3NzaWJsZSB0byBjcmVhdGUgYSB2ZXJ5IHNp bXBsZSBzeW50YXggZm9yIGV4cG9ydGluZyBydWxlcyB3aGljaCBjb3VsZCBiZSBlaXRoZXIgaW4g dGhvc2UgYWJvdmUgbW9kdWxlcyBvciBkaXJlY3RseSB3aXRoaW4gdGhlIGZpbGUgd3JpdHRlbiBi eSB0aGUgdXNlciB0aGVtc2VsZj88L2Rpdj4NCjxkaXYgc3R5bGU+Jm5ic3A7Jm5ic3A7PGJyPjwv ZGl2PjxkaXYgc3R5bGU+IytIVE1MX1VTRVJfUlVMRSAmbmJzcDsmbmJzcDtccnVieXskMX17JDJ9 LCZuYnNwOyZsdDtydWJ5Jmd0OyAkMSAmbHQ7cnAmZ3Q7KCZsdDsvcnAmZ3Q7Jmx0O3J0Jmd0OyQy Jmx0Oy9ydCZndDsmbHQ7cnAmZ3Q7KSZsdDsvcnAmZ3Q7ICZsdDtccnVieSZndDs8YnI+PC9kaXY+ PGRpdiBzdHlsZT48YnI+PC9kaXY+PGRpdiBzdHlsZT5Xb3VsZCBsaWtlIHRvIGhlYXIgd2hhdCBv dGhlciB0aGluayBhYm91dCB0aGF0LjwvZGl2Pg0KPGRpdiBzdHlsZT48YnI+PC9kaXY+PGRpdiBz dHlsZT5HcmVldGluZ3M8L2Rpdj48ZGl2IHN0eWxlPjxicj48L2Rpdj48ZGl2IHN0eWxlPlRvcnN0 ZW48L2Rpdj48ZGl2IHN0eWxlPjxicj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9leHRy YSI+PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gMjggTWF5IDIwMTMgMDA6NDEs IFQuVC5OLiA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhIGhyZWY9Im1haWx0bzp0cmlzdGFuLm5ha2Fn YXdhQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnRyaXN0YW4ubmFrYWdhd2FAZ21haWwuY29t PC9hPiZndDs8L3NwYW4+IHdyb3RlOjxicj4NCjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90 ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3Bh ZGRpbmctbGVmdDoxZXgiPkhpLDxicj4NCjxicj4NClNvIHRoaXMgaXMgbXkgZmlyc3QgdHJ5IHRv IHBvc3QgdG8gdGhlIG1haWxpbmcgbGlzdC4gSSBMb3ZlIE9yZ21vZGUsIHlvdSBndXlzIGFyZSB0 aGUgYmVzdCE8YnI+DQo8YnI+DQpJIHdvdWxkIGxpa2UgdG8gdXNlIG9yZ21vZGUgdG8gY2FwdHVy ZSBqYXBhbmVzZSB0ZXh0IHRvIGxhdGVyIGV4cG9ydCB0byBsYXRleCwgaHRtbCBhbmQgZXB1Yi48 YnI+DQpGb3IgamFwYW5lc2Ugc3ltYm9scywgc29tZXRpbWVzIHRoZSBwcm9ub3VuY2lhdGlvbiBp cyBwdXQgaW4gc21hbGxlciBsZXR0ZXJzIGFib3ZlIHRoZSBzeW1ib2wgdG8gaGVscCB0aGUgcmVh ZGVyLjxicj4NClRoZXNlIGFyZSBjYWxsZWQgcnVieSBpbiBnZW5lcmFsIGluIHR5cGVzZXR0aW5n IChpbiBqYXBhbmVzZSwgdGhleSBhcmUgYWxzbyBjYWxsZWQgZnVyaWdhbmEveW9taWdhbmEsIHdo aWNoIEkgcHV0IGluIHRoZSBoZWFkZXIgc28gbm90IGV2ZXJ5Ym9keSB0aGlua3Mgb2YgdGhlIHBy b2dyYW1taW5nIGxhbmd1YWdlLi4pPGJyPg0KPGEgaHJlZj0iaHR0cDovL2VuLndpa2lwZWRpYS5v cmcvd2lraS9GdXJpZ2FuYSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9lbi53aWtpcGVkaWEub3Jn L3dpa2kvPHU+PC91PkZ1cmlnYW5hPC9hPjxicj4NCjxicj4NCkluIExhdGV4LCB1c2luZyBDSksg YW5kIHJ1YnkgcGFja2FnZXMsIFRoaXMgZXhwb3J0cyBvay48YnI+DQooQSBwcm9ibGVtIGJlaW5n IHRoYXQgamFwYW5lc2UgdGV4dCBpbiBoZWFkZXJzIGRvZXNuJiMzOTt0LiBCdXQgaSBndWVzcyB0 aGF0JiMzOTtzIGFub3RoZXIgKGFuZCByYXRoZXIgTGF0ZXgsIG5vdCBvcmdtb2RlLXNwZWNpZmlj KSB0b3BpYy48YnI+DQo8YnI+DQpOb3csIG15IGZlYXR1cmUgcmVxdWVzdCB3b3VsZCBiZSB0byBt YWtlIHRoZSBodG1sIGV4cG9ydGVyIGludGVycHJldCB0aGUgbGF0ZXggY29tbWFuZDxicj4NClxy dWJ5e3N5bWJvbH17cmVhZGluZ308YnI+DQphczo8YnI+DQombHQ7cnVieSZndDsgc3ltYm9sICZs dDtycCZndDsoJmx0Oy9ycCZndDsmbHQ7cnQmZ3Q7cmVhZGluZyZsdDsvcnQmZ3Q7Jmx0O3JwJmd0 Ozx1PjwvdT4pJmx0Oy9ycCZndDsgJmx0O1xydWJ5Jmd0Ozxicj4NCjxicj4NCmFzIHN1Z2dlc3Rl ZCBoZXJlLCBmb3IgcGFyZW50aGVzZXMgb24gbm9uLXJ1Ynkgc3VwcG9ydGluZyBicm93c2Vyczo8 YnI+DQo8YSBocmVmPSJodHRwOi8veGFobGVlLmluZm8vanMvaHRtbDVfcnVieV90YWcuaHRtbCIg dGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly94YWhsZWUuaW5mby9qcy9odG1sNV88dT48L3U+cnVieV90 YWcuaHRtbDwvYT48YnI+DQo8YnI+DQo8YnI+DQpGb3IgdGhlIG9yZy1tb2RlIGZpbGUgKHlvdSBt aWdodCBzZWUgc29tZSBibGFuayBzcXVhcmVzIGlmIHlvdSBoYXZlIG5vIGphcGFuZXNlIHN1cHBv cnQpOjxicj4NCkhlcmUgYSBtaW5pbWFsIHdvcmtpbmcgZXhhbXBsZSBmb3IgZXhwb3J0Ojxicj4N Cjxicj4NCiMjIzxicj4NCiMrTEFURVhfSEVBREVSOiBcdXNlcGFja2FnZVtDSkssIG92ZXJsYXBd e3J1Ynl9PGJyPg0KIytMQVRFWF9IRUFERVI6IFx1c2VwYWNrYWdle0NKS30gXGVuZHtDSkt9PGJy Pg0KIytMQVRFWCBcYmVnaW57Q0pLfXtVVEY4fXttaW59PGJyPg0KPGJyPg0KJnF1b3Q7XHJ1Ynl7 GyRCRWwbKEJ9exskQiRSJCwkNxsoQn0bJEIlIiU4JSIbKEImcXVvdDsgbWVhbnMgZWFzdCBhc2lh IGluIGphcGFuZXNlPGJyPg0KIytMQVRFWCBcZW5ke0NKS308YnI+DQojIyM8YnI+DQo8YnI+DQo8 YnI+DQpBbGwgdGhlIGJlc3QsIGFuZCBrZWVwIG9uIHJvY2tpbmcgbXkgd29ybGQgaW4gcGxhaW4g dGV4dCEgPSk8YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQo8YnI+DQo8L2Jsb2Nr cXVvdGU+PC9kaXY+PGJyPjwvZGl2Pg0K --001a11c3ee822e9ca504ddc6daec--