1
//=========================================================
4
// $Id: symbols.cpp,v 1.1 2002/01/30 12:08:39 muse Exp $
5
// (C) Copyright 1999,2000 Werner Schweer (ws@seh.de)
6
//=========================================================
10
static bool initialized = false;
12
static unsigned char keyBits[14][180] = {
13
/*0*/ {0x00,0x00,0x03,0x00,0x00,0x80,0x07,0x00,0x00,0x80,0x07,0x00,0x00,0xc0,0x0f,
14
0x00,0x00,0xc0,0x0d,0x00,0x00,0xc0,0x09,0x00,0x00,0xc0,0x08,0x00,0x00,0xc0,
15
0x0c,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,
16
0xc0,0x07,0x00,0x00,0xc0,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,0x01,0x00,
17
0x00,0xf0,0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x7c,0x01,0x00,0x00,0x3c,0x01,
18
0x00,0x00,0x1e,0x01,0x00,0x00,0x8f,0x1f,0x00,0x00,0xcf,0x3f,0x00,0x00,0xe7,
19
0x3f,0x00,0x00,0xe7,0x7a,0x00,0x00,0x67,0x72,0x00,0x00,0x67,0x62,0x00,0x00,
20
0x6f,0x62,0x00,0x00,0x4e,0x64,0x00,0x00,0x8c,0x24,0x00,0x00,0x18,0x34,0x00,
21
0x00,0x70,0x1c,0x00,0x00,0xc0,0x0f,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,
22
0x00,0x00,0x00,0x08,0x00,0x00,0xe0,0x08,0x00,0x00,0xf0,0x09,0x00,0x00,0xf0,
23
0x09,0x00,0x00,0xf0,0x09,0x00,0x00,0xf0,0x08,0x00,0x00,0x60,0x04,0x00,0x00,
24
0xc0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
25
/*1*/ { 0x00,0x00,0x03,0x06,0x00,0x80,0x07,0x09,0x00,0x80,0x07,0x07,0x00,0xc0,0x8f,
26
0x04,0x00,0xc0,0x8d,0x04,0x00,0xc0,0x89,0x03,0x00,0xc0,0x08,0x00,0x00,0xc0,
27
0x0c,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,
28
0xc0,0x07,0x00,0x00,0xc0,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,0x01,0x00,
29
0x00,0xf0,0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x7c,0x01,0x00,0x00,0x3c,0x01,
30
0x00,0x00,0x1e,0x01,0x00,0x00,0x8f,0x1f,0x00,0x00,0xcf,0x3f,0x00,0x00,0xe7,
31
0x3f,0x00,0x00,0xe7,0x7a,0x00,0x00,0x67,0x72,0x00,0x00,0x67,0x62,0x00,0x00,
32
0x6f,0x62,0x00,0x00,0x4e,0x64,0x00,0x00,0x8c,0x24,0x00,0x00,0x18,0x34,0x00,
33
0x00,0x70,0x1c,0x00,0x00,0xc0,0x0f,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,
34
0x00,0x00,0x00,0x08,0x00,0x00,0xe0,0x08,0x00,0x00,0xf0,0x09,0x00,0x00,0xf0,
35
0x09,0x00,0x00,0xf0,0x09,0x00,0x00,0xf0,0x08,0x00,0x00,0x60,0x04,0x00,0x00,
36
0xc0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
37
/*2*/ { 0x00,0x00,0x03,0x79,0x00,0x80,0x87,0x09,0x00,0x80,0x87,0x1c,0x00,0xc0,0x8f,
38
0x20,0x00,0xc0,0x4d,0x12,0x00,0xc0,0xe9,0x0c,0x00,0xc0,0x08,0x00,0x00,0xc0,
39
0x0c,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,
40
0xc0,0x07,0x00,0x00,0xc0,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,0x01,0x00,
41
0x00,0xf0,0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x7c,0x01,0x00,0x00,0x3c,0x01,
42
0x00,0x00,0x1e,0x01,0x00,0x00,0x8f,0x1f,0x00,0x00,0xcf,0x3f,0x00,0x00,0xe7,
43
0x3f,0x00,0x00,0xe7,0x7a,0x00,0x00,0x67,0x72,0x00,0x00,0x67,0x62,0x00,0x00,
44
0x6f,0x62,0x00,0x00,0x4e,0x64,0x00,0x00,0x8c,0x24,0x00,0x00,0x18,0x34,0x00,
45
0x00,0x70,0x1c,0x00,0x00,0xc0,0x0f,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,
46
0x00,0x00,0x00,0x08,0x00,0x00,0xe0,0x08,0x00,0x00,0xf0,0x09,0x00,0x00,0xf0,
47
0x09,0x00,0x00,0xf0,0x09,0x00,0x00,0xf0,0x08,0x00,0x00,0x60,0x04,0x00,0x00,
48
0xc0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
49
/*3*/ { 0x00,0x00,0x03,0x00,0x00,0x80,0x07,0x00,0x00,0x80,0x07,0x00,0x00,0xc0,0x0f,
50
0x00,0x00,0xc0,0x0d,0x00,0x00,0xc0,0x09,0x00,0x00,0xc0,0x08,0x00,0x00,0xc0,
51
0x0c,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,0x40,0x0e,0x00,0x00,
52
0xc0,0x07,0x00,0x00,0xc0,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,0x01,0x00,
53
0x00,0xf0,0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0x7c,0x01,0x00,0x00,0x3c,0x01,
54
0x00,0x00,0x1e,0x01,0x00,0x00,0x8f,0x1f,0x00,0x00,0xcf,0x3f,0x00,0x00,0xe7,
55
0x3f,0x00,0x00,0xe7,0x7a,0x00,0x00,0x67,0x72,0x00,0x00,0x67,0x62,0x00,0x00,
56
0x6f,0x62,0x00,0x00,0x4e,0x64,0x00,0x00,0x8c,0x24,0x00,0x00,0x18,0x34,0x00,
57
0x00,0x70,0x1c,0x00,0x00,0xc0,0x0f,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,
58
0x00,0x00,0x00,0x08,0x00,0x00,0xe0,0x08,0x00,0x00,0xf0,0x09,0x03,0x00,0xf0,
59
0x89,0x04,0x00,0xf0,0x89,0x03,0x00,0xf0,0x48,0x02,0x00,0x60,0x44,0x02,0x00,
60
0xc0,0xc3,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
62
/*4*/ { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
63
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
64
0x00,0x00,0x00,0xf8,0x01,0x00,0x00,0x8c,0x03,0x00,0x00,0x06,0xc7,0x00,0x00,
65
0x0f,0xe7,0x00,0x00,0x1f,0x6e,0x00,0x00,0x1f,0x0e,0x00,0x00,0x1f,0xce,0x00,
66
0x00,0x0e,0xce,0x00,0x00,0x00,0xee,0x00,0x00,0x00,0x6f,0x00,0x00,0x00,0x07,
67
0x00,0x00,0x80,0x07,0x00,0x00,0x80,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,
68
0x01,0x00,0x00,0xf0,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,
69
0x0f,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
70
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
71
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
72
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
73
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
74
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
75
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
76
0x00,0x00,0x00,0xf8,0x01,0x00,0x00,0x8c,0x03,0x00,0x00,0x06,0xc7,0x00,0x00,
77
0x0f,0xe7,0x00,0x00,0x1f,0x6e,0x00,0x00,0x1f,0x0e,0x00,0x00,0x1f,0xce,0x00,
78
0x00,0x0e,0xce,0x00,0x00,0x00,0xee,0x00,0x00,0x00,0x6f,0x00,0x00,0x00,0x07,
79
0x00,0x00,0x80,0x07,0x00,0x00,0x80,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,
80
0x01,0x00,0x00,0xf0,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,
81
0x0f,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,
82
0x00,0x24,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x12,0x00,
83
0x00,0x00,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
84
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
85
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
86
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
87
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
88
0x00,0x00,0x00,0xf8,0x01,0x00,0x00,0x8c,0x03,0x00,0x00,0x06,0xc7,0x00,0x00,
89
0x0f,0xe7,0x00,0x00,0x1f,0x6e,0x00,0x00,0x1f,0x0e,0x00,0x00,0x1f,0xce,0x00,
90
0x00,0x0e,0xce,0x00,0x00,0x00,0xee,0x00,0x00,0x00,0x6f,0x00,0x00,0x00,0x07,
91
0x00,0x00,0x80,0x07,0x00,0x00,0x80,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,
92
0x01,0x00,0x00,0xf0,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,
93
0x0f,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc8,0x03,0x00,
94
0x00,0x4c,0x00,0x00,0x00,0xe4,0x00,0x00,0x00,0x04,0x01,0x00,0x00,0x12,0x01,
95
0x00,0x00,0xe7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
96
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
97
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
98
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
99
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
100
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
101
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0x00,
102
0x00,0x8c,0x03,0x00,0x00,0x06,0xc7,0x00,0x00,0x0f,0xe7,0x00,0x00,0x1f,0x6e,
103
0x00,0x00,0x1f,0x0e,0x00,0x00,0x1f,0xce,0x00,0x00,0x0e,0xce,0x00,0x00,0x00,
104
0xee,0x00,0x00,0x00,0x6f,0x00,0x00,0x00,0x07,0x00,0x00,0x80,0x07,0x00,0x00,
105
0x80,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xe0,0x01,0x00,0x00,0xf0,0x00,0x00,
106
0x00,0x78,0x00,0x00,0x00,0x1c,0x00,0x00,0x00,0x0f,0x00,0x00,0x80,0x01,0x00,
107
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
108
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
109
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
110
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x01,0x00,0x00,0x8c,0x03,
111
0x00,0x00,0x06,0xc7,0x00,0x00,0x0f,0xe7,0x00,0x00,0x1f,0x6e,0x00,0x00,0x1f,
112
0x0e,0x00,0x00,0x1f,0xce,0x00,0x00,0x0e,0xce,0x00,0x00,0x00,0xee,0x00,0x00,
113
0x00,0x6f,0x00,0x00,0x00,0x07,0x00,0x00,0x80,0x07,0x00,0x00,0x80,0x07,0x00,
114
0x00,0xc0,0x03,0x00,0x00,0xe0,0x01,0x00,0x00,0xf0,0x00,0x00,0x00,0x78,0x00,
115
0x00,0x00,0x1c,0x00,0x00,0x00,0x0f,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,
116
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
117
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
118
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
119
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
120
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
121
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
122
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
123
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
124
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
125
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
126
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
127
0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x7c,0x00,0x00,0x2e,0xe6,0x00,0x00,0x2e,
128
0xcf,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xc6,0x01,0x00,0x2e,0xc0,0x01,0x00,
129
0x2e,0xc0,0x01,0x00,0x2e,0xc2,0x01,0x00,0x2e,0xc2,0x00,0x00,0x2e,0xe6,0x00,
130
0x00,0x2e,0x3f,0x00,0x00,0xae,0x03,0x00,0x00,0xae,0x03,0x00,0x00,0xae,0x03,
131
0x00,0x00,0x2e,0x3f,0x00,0x00,0x2e,0xe6,0x00,0x00,0x2e,0xc2,0x00,0x00,0x2e,
132
0xc2,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc6,0x01,0x00,
133
0x2e,0xcf,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xe6,0x00,0x00,0x2e,0x7c,0x00
135
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
136
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
137
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
138
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x7c,0x00,
139
0x00,0x2e,0xe6,0x00,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xc6,
140
0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc2,0x01,0x00,0x2e,
141
0xc2,0x00,0x00,0x2e,0xe6,0x00,0x00,0x2e,0x3f,0x00,0x00,0xae,0x03,0x00,0x00,
142
0xae,0x03,0x00,0x00,0xae,0x03,0x00,0x00,0x2e,0x3f,0x00,0x00,0x2e,0xe6,0x00,
143
0x00,0x2e,0xc2,0x00,0x00,0x2e,0xc2,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc0,
144
0x01,0x00,0x2e,0xc6,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,
145
0xe6,0x00,0x00,0x2e,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
146
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
147
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
148
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
149
0x00,0x00,0x00,0x2e,0x7c,0x00,0x00,0x2e,0xe6,0x00,0x00,0x2e,0xcf,0x01,0x00,
150
0x2e,0xcf,0x01,0x00,0x2e,0xc6,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc0,0x01,
151
0x00,0x2e,0xc2,0x01,0x00,0x2e,0xc2,0x00,0x00,0x2e,0xe6,0x00,0x00,0x2e,0x3f,
152
0x00,0x00,0xae,0x03,0x00,0x00,0xae,0x03,0x00,0x00,0xae,0x03,0x00,0x00,0x2e,
153
0x3f,0x00,0x00,0x2e,0xe6,0x00,0x00,0x2e,0xc2,0x00,0x00,0x2e,0xc2,0x01,0x00,
154
0x2e,0xc0,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc6,0x01,0x00,0x2e,0xcf,0x01,
155
0x00,0x2e,0xcf,0x01,0x00,0x2e,0xe6,0x00,0x00,0x2e,0x7c,0x00,0x00,0x00,0x00,
156
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
157
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
158
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
159
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x7c,0x00,0x00,0x2e,0xe6,
160
0x00,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xc6,0x01,0x00,0x2e,
161
0xc0,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc2,0x01,0x00,0x2e,0xc2,0x00,0x00,
162
0x2e,0xe6,0x00,0x00,0x2e,0x3f,0x00,0x00,0xae,0x03,0x00,0x00,0xae,0x03,0x00,
163
0x00,0xae,0x03,0x00,0x00,0x2e,0x3f,0x00,0x00,0x2e,0xe6,0x00,0x00,0x2e,0xc2,
164
0x00,0x00,0x2e,0xc2,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,0xc0,0x01,0x00,0x2e,
165
0xc6,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xcf,0x01,0x00,0x2e,0xe6,0x00,0x00,
166
0x2e,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
167
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
168
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
169
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
170
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
171
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
172
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
173
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
174
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
175
0x00,0x60,0x06,0x00,0x00,0x60,0x06,0x00,0x00,0x60,0x06,0x00,0x00,0x60,0x06,
176
0x00,0x00,0x60,0x06,0x00,0x00,0x60,0x06,0x00,0x00,0x60,0x06,0x00,0x00,0x60,
177
0x06,0x00,0x00,0x60,0x06,0x00,0x00,0x60,0x06,0x00,0x00,0x60,0x06,0x00,0x00,
178
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
179
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
180
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
181
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
182
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
185
static unsigned char note0Bits[] = { 0x38,0x4e,0x43,0x61,0x39,0x0e };
186
static unsigned char note1Bits[] = { 0x38,0x7e,0x7f,0x7f,0x3f,0x0e };
187
static unsigned char note2Bits[] = { 0x1c, 0x23, 0x43, 0x61, 0x62, 0x1c };
189
static unsigned char sharpBits[] = {
190
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x90,
191
0x00,0xd0,0x01,0xf8,0x01,0xb8,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0xd0,0x01,
192
0xf8,0x01,0xb8,0x00,0x90,0x00,0x90,0x00,0x90,0x00,0x10,0x00};
193
static unsigned char sharp2Bits[] = {
194
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
195
0x00,0x00,0x00,0x8c,0x01,0xdc,0x01,0x70,0x00,0x20,0x00,0x70,0x00,0xdc,0x01,
196
0x8c,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
197
static unsigned char flatBits[] = {
198
0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,
199
0x00,0x10,0x00,0xf0,0x01,0x90,0x01,0x90,0x01,0xd0,0x00,0x50,0x00,0x30,0x00,
200
0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
201
static unsigned char flat2Bits[] = {
202
0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,
203
0x00,0x11,0x00,0xff,0x01,0x99,0x01,0x99,0x01,0xdd,0x00,0x55,0x00,0x33,0x00,
204
0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
205
static unsigned char natBits[] = {
206
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,
207
0x00,0x10,0x00,0x10,0x01,0xd0,0x01,0xf0,0x01,0x30,0x01,0x10,0x01,0x10,0x01,
208
0xd0,0x01,0xf0,0x01,0x70,0x01,0x10,0x01,0x00,0x01,0x00,0x01,0x00,0x01};
210
static unsigned char flagBits[] = {
211
0xc1,0xc1,0xc1,0xc3,0xc3,0xc7,0xce,0xdc,0xd8,0xf0,0xe0,0xe0,0xd0};
213
static unsigned char flagIBits[] = {
214
0x10,0x20,0x20,0x30,0x18,0x1c,0x0e,0x07,0x03,0x03,0x01,0x01,0x01};
216
static unsigned char dotBits[] = { 0x2, 0x7, 0x2 };
223
static unsigned char restBits[6][46] = {
224
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x01,0xfe,
225
0x01,0xfe,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
226
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
254
{ 0x00,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0xc0,0x00,0xc0,0x01,0xe0,0x01,0xf0,
255
0x01,0xf8,0x00,0x7c,0x00,0x38,0x00,0x30,0x00,0x20,0x00,0x40,0x00,0xf0,0x00,
256
0xf8,0x01,0x38,0x00,0x18,0x00,0x10,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
284
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x18,0x01,0x9c,
285
0x01,0xdc,0x01,0xb8,0x00,0x80,0x00,0x80,0x00,0xc6,0x00,0x67,0x00,0x77,0x00,
286
0x6e,0x00,0x20,0x00,0x20,0x00,0x30,0x00,0x30,0x00,0x10,0x00,0x18,0x00,0x18,
289
{ 0x60,0x04,0x70,0x06,0x70,0x07,0xe0,0x02,0x00,0x02,0x00,0x03,0x18,0x01,0x9c,
290
0x01,0xdc,0x01,0xb8,0x00,0x80,0x00,0x80,0x00,0xc6,0x00,0x67,0x00,0x77,0x00,
291
0x2e,0x00,0x20,0x00,0x20,0x00,0x30,0x00,0x10,0x00,0x18,0x00,0x18,0x00,0x18,
294
static const char* noteBits[7][23] = {
299
"....................",
300
"....................",
301
"....................",
302
"....................",
303
"....................",
304
"....................",
305
"....................",
306
"....................",
307
"....................",
308
"....................",
309
"....................",
310
"....................",
311
"........###.........",
312
"......###..#........",
313
".....##....#........",
314
".....#....##........",
315
".....#..###.........",
316
"......###...........",
317
"....................",
318
"...................."
324
"...........#........",
325
"...........#........",
326
"...........#........",
327
"...........#........",
328
"...........#........",
329
"...........#........",
330
"...........#........",
331
"...........#........",
332
"...........#........",
333
"...........#........",
334
"...........#........",
335
"...........#........",
336
"........####........",
337
"......###..#........",
338
".....##....#........",
339
".....#....##........",
340
".....#..###.........",
341
"......###...........",
342
"....................",
343
"...................."
349
"...........#........",
350
"...........#........",
351
"...........#........",
352
"...........#........",
353
"...........#........",
354
"...........#........",
355
"...........#........",
356
"...........#........",
357
"...........#........",
358
"...........#........",
359
"...........#........",
360
"...........#........",
361
"........####........",
362
"......######........",
363
".....#######........",
364
".....#######........",
365
".....######.........",
366
"......###...........",
367
"....................",
368
"...................."
374
"...........##.......",
375
"...........#.#......",
376
"...........#..#.....",
377
"...........#...#....",
378
"...........#...#....",
379
"...........#...#....",
380
"...........#........",
381
"...........#........",
382
"...........#........",
383
"...........#........",
384
"...........#........",
385
"...........#........",
386
"........####........",
387
"......######........",
388
".....#######........",
389
".....#######........",
390
".....######.........",
391
"......###...........",
392
"....................",
393
"...................."
399
"...........##.......",
400
"...........#.#......",
401
"...........#..#.....",
402
"...........##..#....",
403
"...........#.#.#....",
404
"...........#..#.....",
405
"...........#...#....",
406
"...........#...#....",
407
"...........#........",
408
"...........#........",
409
"...........#........",
410
"...........#........",
411
"........####........",
412
"......######........",
413
".....#######........",
414
".....#######........",
415
".....######.........",
416
"......###...........",
417
"....................",
418
"...................."
424
"...........##.......",
425
"...........#.#......",
426
"...........#..#.....",
427
"...........##..#....",
428
"...........#.#.#....",
429
"...........#..#.....",
430
"...........##..#....",
431
"...........#.#.#....",
432
"...........#..#.....",
433
"...........#...#....",
434
"...........#...#....",
435
"...........#...#....",
436
"........####........",
437
"......######........",
438
".....#######........",
439
".....#######........",
440
".....######.........",
441
"......###...........",
442
"....................",
443
"...................."
449
"...........##.......",
450
"...........#.#......",
451
"...........#..#.....",
452
"...........##..#....",
453
"...........#.#.#....",
454
"...........#..#.....",
455
"...........##..#....",
456
"...........#.#.#....",
457
"...........#..#.....",
458
"...........##..#....",
459
"...........#.#.#....",
460
"...........#..#.....",
461
"........####.. #....",
462
"......######...#....",
463
".....#######........",
464
".....#######........",
465
".....######.........",
466
"......###...........",
467
"....................",
468
"...................."
471
static const char* flipNoteBits[16] = {
490
static const char* upVoiceBits[16] = {
508
static const char* downVoiceBits[16] = {
526
static const char* snoteBits[9][16] = {
682
static const char* enhBits[5][16] = {
766
static const char* configBits[] = {
785
static const char* notenposBits[] = {
829
static const char* notedotBits[] = {
833
"....................",
834
"....................",
835
"....................",
836
"....................",
837
"....................",
838
"....................",
839
"....................",
840
"....................",
841
"....................",
842
"....................",
843
"....................",
844
"....................",
845
"....................",
846
"....................",
847
"....................",
848
"....................",
849
"..............##....",
850
"..............##....",
851
"....................",
852
"...................."
855
static const char* note3Bits[] = {
859
"....................",
860
"....................",
861
"....................",
862
"....................",
863
"....................",
864
"....................",
865
"....................",
866
"....................",
867
"....................",
868
"....................",
869
"....................",
870
"....................",
871
"....................",
872
"....................",
873
"....................",
874
"..............###...",
875
".................#..",
876
"...............##...",
877
".................#..",
878
"..............###..."
881
static const char* dyn_xpm[12][24] = { {
886
"....................",
887
"....................",
888
"....................",
889
"....................",
890
"....................",
891
"....................",
892
"....................",
893
"++++++.++++++.++++++",
894
"+.+..+++.+..+++.+..+",
895
".++..+..++..+..++..+",
896
".+..++..+..++..+..++",
897
"+++++..+++++..+++++.",
898
"++.....++.....++....",
899
"+.....++.....++.....",
900
"++...++++...++++....",
901
"....................",
902
"....................",
903
"....................",
904
"....................",
905
"...................."},
912
"....................",
913
"....................",
914
"....................",
915
"....................",
916
"....................",
917
"....................",
918
"....................",
919
"....++++++.++++++...",
920
"...++.+..+++.+..++..",
921
".....++..+..++..+...",
922
".....+..++..+..++...",
923
"....+++++..+++++....",
924
"....++.....++.......",
925
"...++.....++........",
926
"..++++...++++.......",
927
"....................",
928
"....................",
929
"....................",
930
"....................",
931
"...................."},
938
"....................",
939
"....................",
940
"....................",
941
"....................",
942
"....................",
943
"....................",
944
"....................",
945
"........++++++......",
946
".......++.+..++.....",
947
"......+..++..+......",
948
".........+..++......",
949
"........+++++.......",
950
"........++..........",
951
".......++...........",
952
".....+++++..........",
953
"....................",
954
"....................",
955
"....................",
956
"....................",
957
"...................."},
964
"....................",
965
"....................",
966
"....................",
967
"....................",
968
"....................",
969
"..........+++.......",
970
".........++.++......",
971
".........++.........",
972
".......+++++........",
973
"........+++.........",
974
"........++..........",
975
"........++..........",
976
"........++..........",
977
".......++...........",
978
".......++...........",
979
".....+++............",
980
"....................",
981
"....................",
982
"....................",
983
"...................."},
990
"....................",
991
"....................",
992
"....................",
993
"....................",
994
"....................",
995
"........+++..+++....",
996
".......++.++++.++...",
997
".......++...++......",
998
".....++++++++++.....",
999
"......+++..+++......",
1000
"......++...++.......",
1001
"......++...++.......",
1002
"......++...++.......",
1003
".....++...++........",
1004
".....++...++........",
1005
"...+++..+++.........",
1006
"....................",
1007
"....................",
1008
"....................",
1009
"...................."},
1016
"....................",
1017
"....................",
1018
"....................",
1019
"....................",
1020
"....................",
1021
"......+++..+++..+++.",
1022
".....++.++++.++++.++",
1023
".....++...++...++...",
1024
"...+++++++++++++++..",
1025
"....+++..+++..+++...",
1026
"....++...++...++....",
1027
"....++...++...++....",
1028
"....++...++...++....",
1029
"...++...++...++.....",
1030
"...++...++...++.....",
1031
".+++..+++..+++......",
1032
"....................",
1033
"....................",
1034
"....................",
1035
"...................."},
1042
"....................",
1043
"....................",
1044
"....................",
1045
"....................",
1046
"....................",
1047
"....................",
1048
"....................",
1049
"....................",
1050
"..++.+.+.+...++++++.",
1051
".+.++++++++.++.+..++",
1052
"...++.++.++...++..+.",
1053
"..++.++.++.+..+..++.",
1054
"..++.++.+++..+++++..",
1055
".............++.....",
1056
"............++......",
1057
"..........+++++.....",
1058
"....................",
1059
"....................",
1060
"....................",
1061
"...................."},
1068
"....................",
1069
"....................",
1070
"....................",
1071
"....................",
1072
"....................",
1073
"...............+++..",
1074
"..............++.++.",
1075
"..............++....",
1076
"..++.+.+.+..+++++...",
1077
".+.++++++++..+++....",
1078
"...++.++.++..++.....",
1079
"..++.++.++.+.++.....",
1080
"..++.++.+++..++.....",
1081
"............++......",
1082
"............++......",
1083
"..........+++.......",
1084
"....................",
1085
"....................",
1086
"....................",
1087
"...................."},
1094
"....................",
1095
"....................",
1096
"....................",
1097
"....................",
1098
"....................",
1099
"..........+++.......",
1100
".........++.++......",
1101
".........++.........",
1102
".....+++++++.+++....",
1103
"....++..++..+.+.....",
1104
"....++..++...+......",
1105
".....++.++..+.+.....",
1106
"..+..++.++.++++.....",
1107
"...+++.++...........",
1108
".......++...........",
1109
".....+++............",
1110
"....................",
1111
"....................",
1112
"....................",
1113
"...................."},
1120
"....................",
1121
"....................",
1122
"....................",
1123
"....................",
1124
"....................",
1125
".............+++....",
1126
"............++.++...",
1127
"............++......",
1128
"........+++++++.....",
1129
".......++..++.......",
1130
".......++..++.......",
1131
"........++.++.......",
1132
".....+..++.++.......",
1133
"......+++.++........",
1134
"..........++........",
1135
"........+++.........",
1136
"....................",
1137
"....................",
1138
"....................",
1139
"...................."},
1146
"....................",
1147
"....................",
1148
"....................",
1149
"....................",
1150
"....................",
1151
".........+++..+++...",
1152
"........++.++++.....",
1153
"........++...++.....",
1154
"....+++++++++++++...",
1155
"...++..++...++......",
1156
"...++..++...++......",
1157
"....++.++...++......",
1158
".+..++.++...++......",
1159
"..+++.++...++.......",
1160
"......++...++.......",
1161
"....+++..+++........",
1162
"....................",
1163
"....................",
1164
"....................",
1165
"...................."},
1171
"....................",
1172
"....................",
1173
"....................",
1174
"....................",
1175
"....................",
1176
".......+++..........",
1177
"......++.++.........",
1178
"......++............",
1179
"....+++++..++++++...",
1180
".....+++..++.+..++..",
1181
".....++..+..++..+...",
1182
".....++.....+..++...",
1183
".....++....+++++....",
1184
"....++.....++.......",
1185
"....++....++........",
1186
"..+++...+++++.......",
1187
"....................",
1188
"....................",
1189
"....................",
1190
"...................."}
1193
static const char *ts44_xpm[] = {
1197
"gggggggggggggggggggg",
1198
"gggggggggggggggggggg",
1199
"gggggggggggggggggggg",
1200
"gggggggggggggggggggg",
1201
"gggggggggggggggggggg",
1202
"gggggggggggggggggggg",
1203
"ggggggg......ggggggg",
1204
"gggggg....gg..gggggg",
1205
"gggggg...ggg..gggggg",
1206
"ggggg....ggg...ggggg",
1207
"ggggg...gggg..gggggg",
1208
"ggggg...gggggggggggg",
1209
"ggggg...gggggggggggg",
1210
"ggggg...gggggggggggg",
1211
"ggggg....ggggggggggg",
1212
"ggggg....gggg..ggggg",
1213
"gggggg...ggg..gggggg",
1214
"ggggggg......ggggggg",
1215
"gggggggggggggggggggg",
1216
"gggggggggggggggggggg",
1217
"gggggggggggggggggggg"
1220
static const char *ts22_xpm[] = {
1224
"gggggggggggggggggggg",
1225
"gggggggggggggggggggg",
1226
"gggggggggggggggggggg",
1227
"gggggggggggggggggggg",
1228
"gggggggggg.ggggggggg",
1229
"gggggggggg.ggggggggg",
1230
"ggggggg......ggggggg",
1231
"gggggg.....g..gggggg",
1232
"gggggg...g.g..gggggg",
1233
"ggggg....g.g...ggggg",
1234
"ggggg...gg.g..gggggg",
1235
"ggggg...gg.ggggggggg",
1236
"ggggg...gg.ggggggggg",
1237
"ggggg...gg.ggggggggg",
1238
"ggggg....g.ggggggggg",
1239
"ggggg....g.gg..ggggg",
1240
"gggggg...g.g..gggggg",
1241
"ggggggg......ggggggg",
1242
"gggggggggg.ggggggggg",
1243
"gggggggggg.ggggggggg",
1244
"gggggggggggggggggggg"
1247
static const char *bracket_xpm[] = {
1343
Sprite* sharpSprite;
1344
Sprite* sharp2Sprite;
1347
Sprite* flat2Sprite;
1354
QPixmap* snoteBM[9];
1356
QPixmap* notenposBM;
1368
//---------------------------------------------------------
1370
//---------------------------------------------------------
1376
for (int i = 0; i < 14; ++i) {
1377
keyBM[i] = new QBitmap(32, 45, keyBits[i], true);
1378
keyBM[i]->setMask(*keyBM[i]);
1381
note0BM = new QBitmap(7, 6, note0Bits, true);
1382
note0BM->setMask(*note0BM);
1384
note1BM = new QBitmap(7, 6, note1Bits, true);
1385
note1BM->setMask(*note1BM);
1387
note2BM = new QBitmap(7, 6, note2Bits, true);
1388
note2BM->setMask(*note2BM);
1390
sharpSprite = new Sprite(9, 21, sharpBits, QPoint(5, 12));
1391
sharp2Sprite = new Sprite(9, 21, sharp2Bits, QPoint(5, 12));
1392
flatSprite = new Sprite(9, 21, flatBits, QPoint(5, 12));
1393
flat2Sprite = new Sprite(9, 21, flat2Bits, QPoint(5, 12));
1394
natSprite = new Sprite(9, 22, natBits, QPoint(5, 12));
1396
flagBM = new QBitmap(6, 13, flagBits, true);
1397
flagBM->setMask(*flagBM);
1399
flagIBM = new QBitmap(6, 13, flagIBits, true);
1400
flagIBM->setMask(*flagIBM);
1402
dotBM = new QBitmap(3, 3, dotBits, true);
1403
dotBM->setMask(*dotBM);
1405
for (int i = 0; i < 6; ++i) {
1406
restBM[i] = new QBitmap(11, 23, restBits[i], true);
1407
restBM[i]->setMask(*restBM[i]);
1409
for (int i = 0; i < 7; ++i)
1410
noteBM[i] = new QPixmap(noteBits[i]);
1411
for (int i = 0; i < 9; ++i)
1412
snoteBM[i] = new QPixmap(snoteBits[i]);
1413
for (int i = 0; i < 5; ++i)
1414
enhBM[i] = new QPixmap(enhBits[i]);
1415
for (int i = 0; i < 12; ++i)
1416
dynBM[i] = new QPixmap(dyn_xpm[i]);
1417
notenposBM = new QPixmap(notenposBits);
1418
configBM = new QPixmap(configBits);
1419
notedotBM = new QPixmap(notedotBits);
1420
note3BM = new QPixmap(note3Bits);
1421
ts44 = new QPixmap(ts44_xpm);
1422
ts22 = new QPixmap(ts22_xpm);
1423
bracketBM = new QPixmap(bracket_xpm);
1424
flipNote = new QPixmap(flipNoteBits);
1425
upVoice = new QPixmap(upVoiceBits);
1426
downVoice = new QPixmap(downVoiceBits);