… | |
… | |
36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
39 | 0xac, 0xbc |
39 | 0xac, 0xbc |
40 | }; |
40 | }; |
41 | static const uint16_t iso8859_14_t_0[] = { |
|
|
42 | 0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7, 0x1e80, 0x00a9, 0x1e82, 0x1e0b, |
|
|
43 | 0x1ef2, 0x00ad, 0x00ae, 0x0178, 0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56, |
|
|
44 | 0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61, 0x00c0, 0x00c1, 0x00c2, 0x00c3, |
|
|
45 | 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, |
|
|
46 | 0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a, 0x00d8, 0x00d9, 0x00da, 0x00db, |
|
|
47 | 0x00dc, 0x00dd, 0x0176, 0x00df, 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, |
|
|
48 | 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x0175, 0x00f1, 0x00f2, 0x00f3, |
|
|
49 | 0x00f4, 0x00f5, 0x00f6, 0x1e6b, 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff |
|
|
50 | }; |
|
|
51 | |
41 | |
52 | struct rxvt_codeset_conv_iso8859_14 : rxvt_codeset_conv { |
42 | struct rxvt_codeset_conv_iso8859_14 : rxvt_codeset_conv { |
53 | uint32_t from_unicode (uint32_t unicode) const { |
43 | uint32_t from_unicode (unicode_t unicode) const { |
54 | if (unicode <= 0x009f) return unicode; |
44 | if (unicode <= 0x009f) return unicode; |
55 | if (0x00a0 <= unicode && unicode <= 0x00ff) |
45 | if (0x00a0 <= unicode && unicode <= 0x00ff) |
56 | return iso8859_14_f_0[unicode - 0x00a0] == 0 ? NOCHAR : iso8859_14_f_0[unicode - 0x00a0]; |
46 | return iso8859_14_f_0[unicode - 0x00a0] == 0 ? NOCHAR : iso8859_14_f_0[unicode - 0x00a0]; |
57 | if (0x010a <= unicode && unicode <= 0x0178) |
47 | if (0x010a <= unicode && unicode <= 0x0178) |
58 | return iso8859_14_f_256[unicode - 0x010a] == 0 ? NOCHAR : iso8859_14_f_256[unicode - 0x010a]; |
48 | return iso8859_14_f_256[unicode - 0x010a] == 0 ? NOCHAR : iso8859_14_f_256[unicode - 0x010a]; |
59 | if (0x1e02 <= unicode && unicode <= 0x1ef3) |
49 | if (0x1e02 <= unicode && unicode <= 0x1ef3) |
60 | return iso8859_14_f_7680[unicode - 0x1e02] == 0 ? NOCHAR : iso8859_14_f_7680[unicode - 0x1e02]; |
50 | return iso8859_14_f_7680[unicode - 0x1e02] == 0 ? NOCHAR : iso8859_14_f_7680[unicode - 0x1e02]; |
61 | return NOCHAR; |
51 | return NOCHAR; |
62 | } |
52 | } |
63 | uint32_t to_unicode (uint32_t enc) const { |
|
|
64 | if (enc <= 0x009f) return enc; |
|
|
65 | if (0x00a0 <= enc && enc <= 0x00ff) |
|
|
66 | return iso8859_14_t_0[enc - 0x00a0]; |
|
|
67 | return NOCHAR; |
|
|
68 | } |
|
|
69 | } rxvt_codeset_conv_iso8859_14; |
53 | } rxvt_codeset_conv_iso8859_14; |
70 | |
54 | |
71 | #else |
55 | #else |
72 | |
56 | |
73 | #define rxvt_codeset_conv_iso8859_14 rxvt_codeset_conv_unknown |
57 | #define rxvt_codeset_conv_iso8859_14 rxvt_codeset_conv_unknown |