1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-25 09:12:24 +00:00
putty-source/windows
Simon Tatham 230d400ddc Reinstate as much of the Windows font-linking behaviour as I can
easily manage, by adopting a hybrid approach to Unicode text
display. The old approach of simply calling ExtTextOutW provided
font linking without us having to lift a finger, but didn't do the
right thing when it came to bidirectional or Arabic-shaped text.
Arabeyes' replacement exact_textout() supported the latter, but
turned out to break the former (with no warning from the Windows API
documentation, so it's not their fault).

So now I've got a second wrapper layer called general_textout(),
which splits the input string into substrings based on bidi
character class. Any character liable to cause bidi or shaping
behaviour if fed straight to ExtTextOutW is instead fed through
Arabeyes' exact_textout(), but the rest is fed straight to
ExtTextOutW as it used to be.

The effect appears to be that font linking is restored for all
characters _except_ Arabic and other bidi scripts, which means in
particular that we are no longer in a state of regression over 0.57.
(0.57 would have done font linking on Arabic as well, but would also
have misbidied it, so we've merely exchanged one failure mode for
another slightly less harmful one in that situation.)

[originally from svn r6910]
2006-11-18 15:10:48 +00:00
..
pageant.ico Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
pageant.mft `xp-wont-run': Apparently my application-manifest trims of r5534 aren't 2005-04-06 22:16:42 +00:00
pageant.rc It's a new year. 2006-01-08 18:18:11 +00:00
pageants.ico Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
plink.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
pscp.ico Rename scp.* to pscp.*, because I always misspell it that way. Also 2004-12-16 15:01:43 +00:00
pscp.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
psftp.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
putty.ico Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
putty.iss Batch of miscellaneous tweaks to the Windows installer: 2006-02-27 22:27:49 +00:00
putty.mft `xp-wont-run': Apparently my application-manifest trims of r5534 aren't 2005-04-06 22:16:42 +00:00
putty.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
puttycfg.ico Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
puttygen.ico Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
puttygen.mft `xp-wont-run': Apparently my application-manifest trims of r5534 aren't 2005-04-06 22:16:42 +00:00
puttygen.rc It's a new year. 2006-01-08 18:18:11 +00:00
puttytel.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
rcstuff.h `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
sizetip.c Sprinkle some header comments in various files in an attempt to explain what 2006-04-23 18:26:03 +00:00
version.rc2 It's a new year. 2006-01-08 18:18:11 +00:00
website.url Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
win_res.h Sprinkle some header comments in various files in an attempt to explain what 2006-04-23 18:26:03 +00:00
win_res.rc2 It's a new year. 2006-01-08 18:18:11 +00:00
wincfg.c Inhibit the Serial configuration panel in mid-session if the session 2006-08-29 09:18:09 +00:00
wincons.c Sprinkle some header comments in various files in an attempt to explain what 2006-04-23 18:26:03 +00:00
winctrls.c Support for Windows PuTTY connecting straight to a local serial port 2006-08-28 10:35:12 +00:00
windefs.c Support for Windows PuTTY connecting straight to a local serial port 2006-08-28 10:35:12 +00:00
windlg.c Inhibit the Serial configuration panel in mid-session if the session 2006-08-29 09:18:09 +00:00
window.c Reinstate as much of the Windows font-linking behaviour as I can 2006-11-18 15:10:48 +00:00
winhandl.c Add a mini-rant to the top comment explaining why threads are 2006-09-03 12:55:16 +00:00
winhelp.h Support for Windows PuTTY connecting straight to a local serial port 2006-08-28 10:35:12 +00:00
winmisc.c Move SaneDialogBox()/SaneEndDialog() from winmisc.c to windlg.c, since they 2005-02-27 23:57:17 +00:00
winnet.c Always initialise the `addresses' field of a SockAddr to NULL, 2006-08-26 08:37:42 +00:00
winnoise.c Stir in process ID at start. 2005-04-22 15:47:28 +00:00
winpgen.c Ben Rudiak-Gould points out that we should be using WM_APP as the base for 2005-08-10 18:31:24 +00:00
winpgnt.c Allow rsakey_pubblob() to return the key comment. 2005-10-30 15:16:42 +00:00
winpgntc.c The Windows HANDLE type, despite being a `void *', does not actually 2006-08-29 18:32:44 +00:00
winplink.c Explicitly closing logctx on various kinds of error exit means that 2006-08-29 18:50:07 +00:00
winprint.c Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
winproxy.c Fix line endings (svn:eol-style properties and actual CRs). 2006-08-28 11:13:56 +00:00
winser.c The Windows HANDLE type, despite being a `void *', does not actually 2006-08-29 18:32:44 +00:00
winsftp.c The Windows HANDLE type, despite being a `void *', does not actually 2006-08-29 18:32:44 +00:00
winstore.c Minor memory leak spotted by Mikhail Kruk. 2005-05-20 21:52:07 +00:00
winstuff.h Inhibit the Serial configuration panel in mid-session if the session 2006-08-29 09:18:09 +00:00
wintime.c Sprinkle some header comments in various files in an attempt to explain what 2006-04-23 18:26:03 +00:00
winucs.c Now that we have Subversion's file renaming ability, it's time at 2004-11-16 22:14:56 +00:00
winutils.c Remove spurious #include. 2006-08-27 09:53:34 +00:00