#define LATTR_BOT 0x03000000UL
#define LATTR_MODE 0x03000000UL
#define LATTR_WRAPPED 0x10000000UL
+#define LATTR_WRAPPED2 0x20000000UL
#define ATTR_INVALID 0x00FF0000UL
#define DIRECT_FONT(c) ((c&0xFE00)==0xF000)
#define UCSERR (ATTR_LINEDRW|'a') /* UCS Format error character. */
-#define UCSWIDE 0x303F
+/*
+ * UCSWIDE is a special value used in the terminal data to signify
+ * the character cell containing the right-hand half of a CJK wide
+ * character. We use 0xDFFF because it's part of the surrogate
+ * range and hence won't be used for anything else (it's impossible
+ * to input it via UTF-8 because our UTF-8 decoder correctly
+ * rejects surrogates).
+ */
+#define UCSWIDE 0xDFFF
#define ATTR_NARROW 0x20000000UL
#define ATTR_WIDE 0x10000000UL
int tcp_nodelay;
/* Proxy options */
char proxy_exclude_list[512];
+ enum { PROXYDNS_NO, PROXYDNS_AUTO, PROXYDNS_YES } proxy_dns;
int even_proxy_localhost;
enum { PROXY_NONE, PROXY_HTTP, PROXY_SOCKS, PROXY_TELNET } proxy_type;
char proxy_host[512];
int stamp_utmp;
int login_shell;
int scrollbar_on_left;
- char boldfont[64];
+ char boldfont[256];
+ char widefont[256];
+ char wideboldfont[256];
int shadowboldoffset;
};
void connection_fatal(void *frontend, char *, ...);
void fatalbox(char *, ...);
void modalfatalbox(char *, ...);
+#ifdef macintosh
+#pragma noreturn(fatalbox)
+#pragma noreturn(modalfatalbox)
+#endif
void beep(void *frontend, int);
void begin_session(void *frontend);
void sys_cursor(void *frontend, int x, int y);
*/
void save_settings(char *section, int do_host, Config * cfg);
void load_settings(char *section, int do_host, Config * cfg);
+void load_open_settings(void *sesskey, int do_host, Config *cfg);
void get_sesslist(struct sesslist *, int allocate);
void do_defaults(char *, Config *);
void registry_cleanup(void);
#ifndef CP_UTF8
#define CP_UTF8 65001
#endif
-void init_ucs(void);
+/* void init_ucs(void); -- this is now in platform-specific headers */
int is_dbcs_leadbyte(int codepage, char byte);
int mb_to_wc(int codepage, int flags, char *mbstr, int mblen,
wchar_t *wcstr, int wclen);
void get_unitab(int codepage, wchar_t * unitab, int ftype);
/*
+ * Exports from wcwidth.c
+ */
+int wcwidth(wchar_t ucs);
+int wcswidth(const wchar_t *pwcs, size_t n);
+
+/*
* Exports from mscrypto.c
*/
#ifdef MSCRYPTOAPI