]> asedeno.scripts.mit.edu Git - PuTTY.git/commit
First-stage support for Unicode combining characters. The `chars'
authorSimon Tatham <anakin@pobox.com>
Thu, 14 Oct 2004 16:42:43 +0000 (16:42 +0000)
committerSimon Tatham <anakin@pobox.com>
Thu, 14 Oct 2004 16:42:43 +0000 (16:42 +0000)
commit089775eb0294ff6e2a2a3725bee63cd846d592ab
tree74279712e2a0e198ba6c318b5ebd0f6d068d7a94
parentdd279dffc2e17463ed2c076baeda12cb9dd70e18
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.

[originally from svn r4622]
mac/macterm.c
putty.h
terminal.c
terminal.h
unix/pterm.c
window.c