File a bug report - M-x report-emacs-bug RET - against Orgmode. I am sure something useful will come out of it, eventually. It is good to get eyes and mouths of emacs-devel-ers involved, for whatever it is worth. Believe me it is good, for the discussion and suggestions it will open up.
Eric Abrahamsen <e...@ericabrahamsen.net> writes: > This problem has been flagged up before: > > http://orgmode.org/worg/org-issues.html#mid-87pqt04qg1-2Efsf-40gmail-2Ecom > > It's causing me headaches at the moment, so I'm trying to see if I can > find a solution. > > The proximate cause of issues with double-width characters in table > fields (they also mess with justification) is that the contents of the > fields are propertized with a length based on `length', and not > `string-width'. So you get this: > > #("《蛙》" 0 3 (fontified t line-prefix #(" " 0 4 (face org-indent)) > wrap-prefix #(" " 0 4 (face org-indent)) face org-table)) > > 3 is the number of characters in the string, but it takes up 6 columns > of screen width. That messes up justification. > > I can't for the life of me figure out where that number is getting added > to the string! I tried changing `length' to `string-width' in all manner > of org functions, such as `org-add-props', but could never get that > number changed during the fontification of the org tables. > > I wouldn't be surprised if this is something outside of org, or if > "fixing" it would lead to more troubles, but does anyone have any ideas > about this? Fixable, or not? > > Thanks! > Eric > > > --