On Fri, 29 May 2009 10:51:14 +0200
Pierre Ossman <oss...@cendio.se> wrote:

> 
> Has anyone done a survey of how implementations treat this extension
> and the name field in the server init? If there are no existing
> implementations that prevent it, then I'd like to specify UTF-8 for at
> least the extension.
> 

I've been digging through the RealVNC source and string handling is
just a complete clusterfuck. The implementation uses the all too
familiar approach of sticking one's head in the sand and hoping that
all encoding issues will just sort themselves out.

This is the reality of things:

1. Unix server

Uses whatever encoding the parameters are in when invoking Xvnc or
vncconfig. Since most Linux distributions these days use UTF-8, so the
desktop name will in turn mostly be UTF-8.

2. Windows server

Uses the ACP (Active Code Page). Can really be a lot of things, though
most often cp1252 (almost 8859-1) in the west.

3. Unix client

Passes the string unmodified to XSetName(). Looking at the xlib
reference documentation, this uses "Host Portable Character Encoding"
which in turn uses a lot of weasel wording and doesn't really define
that much at all. Looking at the ICCCM though and how xlib
implementations behave in practice, this encoding is 8859-1.

IOW, the Unix client assumes the name is in 8859-1.

4. Window client

Like the Windows server, it assumes that things are in ACP.


So to summarise, the only part that has some idea of what encoding it
wants is the Unix client. Everything else is basically random and
dependent on the system settings. ASCII should be fairly safe to use,
but I'm not 100% sure of even that.

Given that most of the systems (except for the Unix server) have been
using 8859-1 (or cp1252, which is close) in practice, I'd say we define
the desktop name to be 8859-1 and nothing else.

Rgds
-- 
Pierre Ossman            OpenSource-based Thin Client Technology
System Developer         Telephone: +46-13-21 46 00
Cendio AB                Web: http://www.cendio.com

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
tigervnc-rfbproto mailing list
tigervnc-rfbproto@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-rfbproto

Reply via email to