Re: [O] DITAA and Unicode characters [babel]
Hi Juan, Juan Pechiar j...@pechiar.com writes: Hi, Out of the box, ob-ditaa does not work with non-ascii characters. I looked into the problem in order to answer a user request on StackOverflow (yes, there are org-mode questions posted there instead of here!). http://stackoverflow.com/questions/5758498/problem-with-ditaa-and-foreign-characters-in-org-mode Thanks for catching questions in these other forums. In order for ditaa to accept UTF-8 characters in the input file, it must be called with the corresponding property setting: java -Dfile.encoding=UTF-8 -jar path/to/ditaa.jar ... I just pushed up a change to ob-ditaa which adds a new header argument, namely :java through which options can be passed to the java command. With that patch the following should work #+begin_src ditaa :file ... :cmdline -e utf-8 -r -v :java -Dfile.encoding=UTF-8 ... #+end_src Attached is a dirty patch for hard-coding this property setting. I don't know what the proper way of setting this property should be: - somehow setting it system-wide (any Java guru out there?). - or adding a customization to ob-ditaa.el for this property - or adding magic to ob-ditaa so that the same encoding of the buffer gets set to this Java property I can help with the implementation if given some feedback on the above options. Now that there is a :java header argument for ditaa code, the following could be put in a user's init file to set this flag for *all* ditaa code run on their system. #+begin_src emacs-lisp (push '(:java . -Dfile.encoding=UTF-8) org-babel-default-header-args:ditaa) #+end_src I wonder if there would be any downside to adding this as a default value? This could be added to `org-babel-default-header-args:ditaa' in ob-ditaa.el. Best -- Eric Regards, .j. -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] DITAA and Unicode characters [babel]
On Mon, Apr 25, 2011 at 01:13:41PM -0600, Eric Schulte wrote: I just pushed up a change to ob-ditaa which adds a new header argument, namely :java through which options can be passed to the java command. With that patch the following should work #+begin_src ditaa :file ... :cmdline -e utf-8 -r -v :java -Dfile.encoding=UTF-8 ... #+end_src Now that there is a :java header argument for ditaa code, the following could be put in a user's init file to set this flag for *all* ditaa code run on their system. #+begin_src emacs-lisp (push '(:java . -Dfile.encoding=UTF-8) org-babel-default-header-args:ditaa) #+end_src Works perfectly! Thanks! I wonder if there would be any downside to adding this as a default value? This could be added to `org-babel-default-header-args:ditaa' in ob-ditaa.el. I think it'd be a reasonable default that will work out-of-the-box for most users. In case of not using UTF-8, the user can override this setting at will as you show above. Regards, .j.
Re: [O] DITAA and Unicode characters [babel]
Juan Pechiar j...@pechiar.com writes: On Mon, Apr 25, 2011 at 01:13:41PM -0600, Eric Schulte wrote: I just pushed up a change to ob-ditaa which adds a new header argument, namely :java through which options can be passed to the java command. With that patch the following should work #+begin_src ditaa :file ... :cmdline -e utf-8 -r -v :java -Dfile.encoding=UTF-8 ... #+end_src Now that there is a :java header argument for ditaa code, the following could be put in a user's init file to set this flag for *all* ditaa code run on their system. #+begin_src emacs-lisp (push '(:java . -Dfile.encoding=UTF-8) org-babel-default-header-args:ditaa) #+end_src Works perfectly! Thanks! I wonder if there would be any downside to adding this as a default value? This could be added to `org-babel-default-header-args:ditaa' in ob-ditaa.el. I think it'd be a reasonable default that will work out-of-the-box for most users. OK, this is now part of the default ditaa header arguments, we'll see if anyone complains... Best -- Eric In case of not using UTF-8, the user can override this setting at will as you show above. Regards, .j. -- Eric Schulte http://cs.unm.edu/~eschulte/
[O] DITAA and Unicode characters [babel]
Hi, Out of the box, ob-ditaa does not work with non-ascii characters. I looked into the problem in order to answer a user request on StackOverflow (yes, there are org-mode questions posted there instead of here!). http://stackoverflow.com/questions/5758498/problem-with-ditaa-and-foreign-characters-in-org-mode In order for ditaa to accept UTF-8 characters in the input file, it must be called with the corresponding property setting: java -Dfile.encoding=UTF-8 -jar path/to/ditaa.jar ... Attached is a dirty patch for hard-coding this property setting. I don't know what the proper way of setting this property should be: - somehow setting it system-wide (any Java guru out there?). - or adding a customization to ob-ditaa.el for this property - or adding magic to ob-ditaa so that the same encoding of the buffer gets set to this Java property I can help with the implementation if given some feedback on the above options. Regards, .j. diff --git a/lisp/ob-ditaa.el b/lisp/ob-ditaa.el index 20b5c42..dc17a4d 100644 --- a/lisp/ob-ditaa.el +++ b/lisp/ob-ditaa.el @@ -55,7 +55,7 @@ This function is called by `org-babel-execute-src-block'. (cdr (assoc :file params (cmdline (cdr (assoc :cmdline params))) (in-file (org-babel-temp-file ditaa-)) - (cmd (concat java -jar + (cmd (concat java -Dfile.encoding=UTF-8 -jar (shell-quote-argument (expand-file-name org-ditaa-jar-path)) cmdline