summaryrefslogtreecommitdiff
path: root/src/defaultfont.h
diff options
context:
space:
mode:
authortzz <tzz>2002-02-20 14:44:46 +0000
committertzz <tzz@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>2002-02-20 14:44:46 +0000
commitbff50aaeeedeb36ad468b77a869f031b159bdab6 (patch)
tree5df1eacb2ebfde2b3efbfc413431bfef3250b9c1 /src/defaultfont.h
parent9da97da220cd09387e1689d5c5e9c374fcb092f4 (diff)
downloadeterm-bff50aaeeedeb36ad468b77a869f031b159bdab6.tar.gz
applied automatic encodings patch, see ChangeLog. Also a minor CONFIG_BUFF
missing define fix. SVN revision: 5962
Diffstat (limited to 'src/defaultfont.h')
-rw-r--r--src/defaultfont.h172
1 files changed, 172 insertions, 0 deletions
diff --git a/src/defaultfont.h b/src/defaultfont.h
new file mode 100644
index 0000000..873850b
--- /dev/null
+++ b/src/defaultfont.h
@@ -0,0 +1,172 @@
+#ifndef _DEFAULTFONT_H_
+#define _DEFAULTFONT_H_
+
+#if defined (NO_XLOCALE) || !defined(HAVE_X11_LOCALE_H)
+# include <locale.h>
+#else
+# include <X11/Xlocale.h>
+#endif
+
+#ifdef HAVE_NL_LANGINFO
+# include <langinfo.h>
+#endif
+
+
+extern void eterm_default_font_locale(char ***fonts, char ***mfonts, char **mencoding, int *def_idx);
+
+/*
+ * List of encoding labels.
+ * Note "encoding" is not "character set" nor "encoding method".
+ *
+ * In Rxvt, "encoding" is implemented as a pair of "encoding method"
+ * (implemented as ENC_METHOD in screen.h) and font specification,
+ * i.e., defaultfont[] in this file.
+ *
+ * This type is used only in this file.
+ */
+
+enum enc_label {
+ ENC_SJIS, ENC_EUCJ, ENC_GB, ENC_BIG5, ENC_EUCKR,
+ ENC_ISO8859_1, ENC_ISO8859_2, ENC_ISO8859_3, ENC_ISO8859_4,
+ ENC_ISO8859_5, ENC_ISO8859_6, ENC_ISO8859_7, ENC_ISO8859_8,
+ ENC_ISO8859_9, ENC_ISO8859_10, ENC_ISO8859_11, ENC_ISO8859_12,
+ ENC_ISO8859_13, ENC_ISO8859_14, ENC_ISO8859_15,
+ ENC_KOI8R, ENC_KOI8U, ENC_UTF8,
+ /* ENC_VISCII, ENC_VSCII, ENC_TIS620, ENC_UTF8, */
+ ENC_DUMMY
+};
+
+#define ENC_ISO8859_LAST ENC_ISO8859_15
+
+
+/*
+ * Used for tables of locale/encoding names -> encodng labels.
+ */
+
+struct name2encoding {
+ const char *name;
+ const enum enc_label encoding;
+};
+
+/*
+ * Used for tables of encoding labels -> Rxvt internal informations.
+ *
+ */
+
+struct defaultfont {
+ const enum enc_label enc_label;
+ const char *encoding_method;
+ const int def_idx;
+ const char *font[NFONTS];
+ const char *mfont[NFONTS];
+};
+
+
+/*
+ *****************************************************************************
+ * FONT DEFINITIONS
+ *****************************************************************************
+ */
+
+/*
+ * FONTS TO BE USED
+ *
+ * ----------------------------------------------------------------------
+ * font name font package name available from
+ * ----------------------------------------------------------------------
+ * k12 shinonome
+ * http://www.on.cs.keio.ac.jp/~yasu/jp_fonts.html
+ * k18 intlfonts ftp.gnu.org/pub/gnu
+ * -*-ming-medium-r-normal-*-big5-0
+ * cmexfonts
+ * http://metalab.unc.edu/pub/Linux/X11/fonts/
+ * -*-gulim-medium-r-normal-*-ksc5601.1987-0
+ * baekmuk ftp.mizi.co.kr/pub/baekmuk/
+ * -misc-grfixed-medium-r-*-iso8859-7
+ * hrnet&hcr
+ * http://www.hellug.gr/gr/howto/howto/pub/html/Hellenic-HOWTO.html
+ * -cronyx-fixed-medium-r-*-koi8-u
+ * Xcyr http://sawsoft.newmail.ru/LS/
+ * all others XFree86 http://www.xfree86.org/
+ * ----------------------------------------------------------------------
+ */
+
+#define DEF_DUMMY DEF_10646
+#define NFONT_LIST_NULL NFONT_LIST_10646
+#define MFONT_LIST_NULL MFONT_LIST_10646
+
+#define DEF_EUCJ 1
+#define NFONT_LIST_EUCJ "6x12","7x14", "8x16", "9x18", "12x24"
+#define MFONT_LIST_EUCJ "k12", "k14", "kanji16", "k18", "kanji24"
+
+#define DEF_GB 0
+#define NFONT_LIST_GB "8x16", "12x24", "", "", ""
+#define MFONT_LIST_GB \
+ "-isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0", \
+ "-isas-song ti-medium-r-normal--24-240-72-72-c-240-gb2312.1980-0", \
+ "", "", ""
+
+#define DEF_BIG5 0
+#define NFONT_LIST_BIG5 "8x16", "9x18", "10x20", "12x24", "13x26"
+#define MFONT_LIST_BIG5 \
+ "-*-ming-medium-r-normal-*-16-*-*-*-c-*-big5-0",\
+ "-*-ming-medium-r-normal-*-18-*-*-*-c-*-big5-0",\
+ "-*-ming-medium-r-normal-*-20-*-*-*-c-*-big5-0",\
+ "-*-ming-medium-r-normal-*-24-*-*-*-c-*-big5-0",\
+ "-*-ming-medium-r-normal-*-26-*-*-*-c-*-big5-0"
+
+#define DEF_EUCKR 1
+#define NFONT_LIST_EUCKR "7x14", "8x16", "9x18", "10x20", "12x24"
+#define MFONT_LIST_EUCKR \
+ "-*-gulim-medium-r-normal--14-*-*-*-*-140-ksc5601.1987-0",\
+ "-*-gulim-medium-r-normal--16-*-*-*-*-160-ksc5601.1987-0",\
+ "-*-gulim-medium-r-normal--18-*-*-*-*-180-ksc5601.1987-0",\
+ "-*-gulim-medium-r-normal--20-*-*-*-*-200-ksc5601.1987-0",\
+ "-*-gulim-medium-r-normal--24-*-*-*-*-240-ksc5601.1987-0"
+
+#define DEF_7 1
+#define NFONT_LIST_7 \
+ "-misc-grfixed-medium-r-semicondensed--10-100-75-75-c-60-iso8859-7",\
+ "-misc-grfixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-7",\
+ "-misc-grfixed-medium-r-normal--14-110-75-75-c-75-iso8859-7",\
+ "-misc-grfixed-medium-r-normal--16-120-75-75-c-75-iso8859-7",\
+ "-misc-grfixed-medium-r-normal--25-190-75-75-c-90-iso8859-7"
+
+#define DEF_KOI8R 1
+#define NFONT_LIST_KOI8R \
+ "-cronyx-fixed-medium-r-normal--10-100-75-75-c-60-koi8-r",\
+ "-cronyx-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-r",\
+ "-cronyx-fixed-medium-r-normal--13-120-75-75-c-80-koi8-r",\
+ "-cronyx-fixed-medium-r-normal--15-140-75-75-c-90-koi8-r",\
+ "-cronyx-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r"
+
+#define DEF_KOI8U 1
+#define NFONT_LIST_KOI8U \
+ "-cronyx-fixed-medium-r-normal--10-100-75-75-c-60-koi8-u",\
+ "-cronyx-fixed-medium-r-semicondensed--13-120-75-75-c-60-koi8-u",\
+ "-cronyx-fixed-medium-r-normal--13-120-75-75-c-80-koi8-u",\
+ "-cronyx-fixed-medium-r-normal--14-130-75-75-c-70-koi8-u",\
+ "-cronyx-fixed-medium-r-normal--15-140-75-75-c-90-koi8-u"
+
+#define DEF_10646 2
+#define NFONT_LIST_10646 "5x7", "6x10", "fixed", "8x13", "9x15"
+#define MFONT_LIST_10646 \
+ "-misc-fixed-medium-r-normal--7-70-75-75-c-50-iso10646-1",\
+ "-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso10646-1",\
+ "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1",\
+ "-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1",\
+ "-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1"
+
+/* special common rule for ISO-8859-* */
+
+#define DEF_8859 2
+#define NFONT_LIST_ISO8859X \
+ "-misc-fixed-medium-r-normal--7-70-75-75-c-50-iso8859-%d",\
+ "-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-%d",\
+ "-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-%d",\
+ "-misc-fixed-medium-r-normal--13-120-75-75-c-80-iso8859-%d",\
+ "-misc-fixed-medium-r-normal--18-120-75-75-c-90-iso8859-%d"
+
+
+#endif /* _DEFAULTFONT_H_ */
+