Probably a combination of fontspec and xeCJK. I haven't used xeCJK extensively since I haven't typeset many documents requiring CJK, but the package is still being developed, unlike zhspacing, which doesn't look like it's been updated since 2008. I could translate the documentation for you, but the part you probably need most is this: 3.1 Package Options PunctStyle = {⟨quanjiao|banjiao|kaiming|hangmobanjiao|CCT|plain|...⟩} quanjiao - full-width, adjacent punctuation takes up 1.5 character widths banjiao - half-width kaiming - full-width full stop(period), others half-width hangmobanjiao - full-width, no exceptions CCT - CCT style (there's no explanation of it in the documentation) plain - no width adjustment
CheckFullRight = ⟨true|false⟩ False allows linebreaks to occur before certain marks (even footnote marks). NoBreakCS = { \footnote \footnotemark \nobreak } Used in conjunction with CheckFullRight to prevent linebreaks preceding certain commands. Alternatively, use \xeCJKnobreak before the command (intended for specific instances). Also, 3.5 describes how to set your own punctuation spacing rules. It's a little long, so if you need it, let me know. There was an experimental polyglossia file sent to the list a while ago, if you search for platex, you should be able to find it. Hope this helps, Andy
-------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex