#include #include #include #include "text.h" #include "xwchar.h" /* local datas */ static FontEncodeTable fonts[] = { { HEAD_ISO8859_1, "iso8859-1", NULL, NULL }, { HEAD_JISX0208, "jisx0208.1983-0", NULL, NULL }, { HEAD_JISX0201, "jisx0201.1976-0", NULL, NULL }, { HEAD_JIS_ROMAN, "jisx0201.1976-0", NULL, NULL }, { HEAD_JISX0212, "jisx0212.1990-0", NULL, NULL }, { HEAD_ISO8859_2, "iso8859-2", NULL, NULL }, { HEAD_ISO8859_3, "iso8859-3", NULL, NULL }, { HEAD_ISO8859_4, "iso8859-4", NULL, NULL }, { HEAD_ISO8859_5, "iso8859-5", NULL, NULL }, { HEAD_ISO8859_6, "iso8859-6", NULL, NULL }, { HEAD_ISO8859_7, "iso8859-7", NULL, NULL }, { HEAD_ISO8859_8, "iso8859-8", NULL, NULL }, { HEAD_ISO8859_9, "iso8859-9", NULL, NULL }, { HEAD_KSC5601, "ksc5601.1987-0", NULL, NULL }, { 0x62310000, "viscii1.1-1", NULL, NULL }, { 0x62540000, "tis620.2529-1", NULL, NULL }, { HEAD_GB2312, "gb2312.1980-0", NULL, NULL }, { HEAD_CNS11643_1, "cns11643.1-0", NULL, NULL }, { HEAD_CNS11643_2, "cns11643.2-0", NULL, NULL }, { HEAD_UNICODE, "unicode1.1-0", NULL, NULL }, { 0, NULL, NULL, NULL, } }; static struct FontFaceTables { Display *dpy; FontFaceTableList fftl; } fontfacetables[10]; FontFaceTableList text_get_fftl(Display *dpy) { struct FontFaceTables *fft = fontfacetables; FontFaceTableList fftl; /* search same display == same font */ while (fft->dpy != NULL) { if (fft->dpy == dpy) break; fft++; } /* not found !! ... entry new font list to display */ if (fft->dpy == NULL) { fftl = fft->fftl = MakeFontFaceTable(dpy, fonts); fft->dpy = dpy; } else fftl = fft->fftl; return fftl; }