On May 26, 2020, at 4:31 PM, Yuan Fu <casouri@gmail.com> wrote:On May 26, 2020, at 3:50 PM, Eli Zaretskii <eliz@gnu.org> wrote:From: Yuan Fu <casouri@gmail.com>
Date: Tue, 26 May 2020 13:34:01 -0400
Cc: larsi@gnus.org,
emacs-devel@gnu.org
I fixed the problems and it now works. If you apply the patch below and load kinsaku.el, open the test.txt and M-x toggle-word-wrap. You should see the text properly wrapped: wrapping between CJK characters and whitespaces but not between ASCII characters. Also according to kinsoku rules, CJK comma will not be placed at the beginning of a line; CJK “《” will not be place at the end of a line, etc.
It determines whether we can wrap before/after a character by looking at “<“, “>” and “|” categories, roughly corresponding to “don’t wrap before”, “don’t wrap after” and “wrap before and after”.
Thanks.
This still doesn't support strings, only buffer text.
Also, why are you putting a text property, instead of just examining
the category as part of IT_CAN_WRAP? What do you need the property
for?
I don’t really know which way is better/more efficient and just took one to implement. Plus text property might allow some user customizations. I can change it to only use category table.