Tartarus CVS: putty: simon

tartarus-commits at lists.tartarus.org tartarus-commits at lists.tartarus.org
Thu Oct 14 17:42:45 BST 2004


CVS Root:       /home/cvs
Module:         putty
Changes by:     simon
Date:           Thu Oct 14 2004  17:42:45 BST

Log message:
First-stage support for Unicode combining characters. The `chars'
array of each `termline' structure now contains optional additional
entries after the normal number of columns, which are used to chain
a linked list of combining characters off any primary termchar that
needs it. This means we support arbitrarily many combining
characters per cell (unlike xterm's hard limit of 2).
Cut and paste works correctly (selecting a character cell containing
multiple code points causes all those code points to be cut and
pasted). Display works by simply overlaying all the relevant
characters on top of one another; this is good enough for Unix
(xterm does the same thing), and mostly seems OK for Windows except
that the Windows Unicode fonts have a nasty habit of not containing
most of the combining characters and thus overlaying an
unknown-code-point box on your perfectly good base glyph.
I had no idea how to add support in the Mac do_text(), so I've
simply stuck in an assertion that will trigger the first time a
combining character is displayed, and hopefully this will bite
someone with the clue to fix it.

Modified files:
    .               : putty.h terminal.c terminal.h window.c
    mac             : macterm.c
    unix            : pterm.c

Links:
http://cvs.tartarus.org//putty/putty.h.diff?r1=1.233&r2=1.234
http://cvs.tartarus.org//putty/terminal.c.diff?r1=1.169&r2=1.170
http://cvs.tartarus.org//putty/terminal.h.diff?r1=1.16&r2=1.17
http://cvs.tartarus.org//putty/window.c.diff?r1=1.272&r2=1.273
http://cvs.tartarus.org//putty/mac/macterm.c.diff?r1=1.77&r2=1.78
http://cvs.tartarus.org//putty/unix/pterm.c.diff?r1=1.146&r2=1.147



More information about the tartarus-commits mailing list