summaryrefslogtreecommitdiffstats
path: root/tools/src/char.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/src/char.h')
-rw-r--r--tools/src/char.h539
1 files changed, 539 insertions, 0 deletions
diff --git a/tools/src/char.h b/tools/src/char.h
new file mode 100644
index 0000000..a703691
--- /dev/null
+++ b/tools/src/char.h
@@ -0,0 +1,539 @@
+/**
+ * Utilities for the quality of service module mod_qos.
+ *
+ * See http://mod-qos.sourceforge.net/ for further
+ * details.
+ *
+ * Copyright (C) 2023 Pascal Buchbinder
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#define S_W_MAX 6
+#define S_H_MAX 7
+
+static int s_0[S_H_MAX][S_W_MAX] = {
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_1[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,1,0,0},
+ { 0,0,1,1,0,0},
+ { 0,1,0,1,0,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_2[S_H_MAX][S_W_MAX] = {
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 0,0,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,0,0,0},
+ { 1,1,1,1,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_3[S_H_MAX][S_W_MAX] = {
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 0,0,1,1,0,0},
+ { 0,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_4[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,0,0,0},
+ { 1,0,0,1,0,0},
+ { 1,1,1,1,1,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_5[S_H_MAX][S_W_MAX] = {
+ { 1,1,1,1,1,0},
+ { 1,0,0,0,0,0},
+ { 1,1,1,1,0,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,1,0},
+ { 1,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_6[S_H_MAX][S_W_MAX] = {
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,0,0},
+ { 1,0,1,1,0,0},
+ { 1,1,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_7[S_H_MAX][S_W_MAX] = {
+ { 1,1,1,1,1,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_8[S_H_MAX][S_W_MAX] = {
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_9[S_H_MAX][S_W_MAX] = {
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+/* ----------------------------------------------- */
+static int s_a[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_b[S_H_MAX][S_W_MAX] = {
+ { 1,0,0,0,0,0},
+ { 1,0,0,0,0,0},
+ { 1,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_c[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,0,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_d[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_e[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 1,1,1,1,1,0},
+ { 1,0,0,0,0,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_f[S_H_MAX][S_W_MAX] = {
+ { 0,0,1,1,0,0},
+ { 0,1,0,0,0,0},
+ { 1,1,1,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_g[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,1,1,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 0,0,0,0,1,0},
+ { 0,1,1,1,0,0}
+};
+
+static int s_h[S_H_MAX][S_W_MAX] = {
+ { 1,0,0,0,0,0},
+ { 1,0,0,0,0,0},
+ { 1,0,1,1,0,0},
+ { 1,1,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_i[S_H_MAX][S_W_MAX] = {
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,1,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_j[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,1,1,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,1,0},
+ { 0,0,1,1,0,0}
+};
+
+static int s_k[S_H_MAX][S_W_MAX] = {
+ { 1,0,0,0,0,0},
+ { 1,0,0,0,0,0},
+ { 1,0,1,1,0,0},
+ { 1,1,0,0,0,0},
+ { 1,0,1,0,0,0},
+ { 1,0,0,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_l[S_H_MAX][S_W_MAX] = {
+ { 0,1,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_m[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,1,0,1,0,0},
+ { 1,0,1,0,1,0},
+ { 1,0,1,0,1,0},
+ { 1,0,1,0,1,0},
+ { 1,0,1,0,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_n[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,0,1,1,0,0},
+ { 1,1,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_o[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_p[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,1,1,1,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,1,1,1,0,0},
+ { 1,0,0,0,0,0},
+ { 1,0,0,0,0,0}
+};
+
+static int s_q[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,1,1,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,1,0}
+};
+
+static int s_r[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,0,1,1,0,0},
+ { 1,1,0,0,1,0},
+ { 1,0,0,0,0,0},
+ { 1,0,0,0,0,0},
+ { 1,0,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_s[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,1,1,1,0},
+ { 1,0,0,0,0,0},
+ { 0,1,1,1,0,0},
+ { 0,0,0,0,1,0},
+ { 1,1,1,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_t[S_H_MAX][S_W_MAX] = {
+ { 0,0,1,0,0,0},
+ { 0,1,1,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,1,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_u[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_v[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_w[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,1,0,1,0},
+ { 1,1,0,1,1,0},
+ { 1,0,0,0,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_x[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,0,0,0,1,0},
+ { 0,1,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,1,0,0},
+ { 1,0,0,0,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_y[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,1,1,1,1,0},
+ { 0,0,0,0,1,0},
+ { 1,1,1,1,0,0}
+};
+
+static int s_z[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 1,1,1,1,1,0},
+ { 0,0,0,1,1,0},
+ { 0,0,1,0,0,0},
+ { 1,1,0,0,0,0},
+ { 1,1,1,1,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_BRO[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_BRC[S_H_MAX][S_W_MAX] = {
+ { 0,0,1,0,0,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,0,1,0},
+ { 0,0,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_MI[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 1,1,1,1,1,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_LT[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,1,0,0},
+ { 0,1,1,0,0,0},
+ { 1,0,0,0,0,0},
+ { 0,1,1,0,0,0},
+ { 0,0,0,1,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_GT[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,0,1,1,0,0},
+ { 0,0,0,0,1,0},
+ { 0,0,1,1,0,0},
+ { 0,1,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_SP[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_US[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 1,1,1,1,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_M[S_H_MAX][S_W_MAX] = {
+ { 1,0,0,0,1,0},
+ { 1,1,0,1,1,0},
+ { 1,0,1,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 1,0,0,0,1,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_DT[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,1,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_CM[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,0,0,0}
+};
+
+static int s_SC[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,0,0,0}
+};
+
+static int s_CO[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_SL[S_H_MAX][S_W_MAX] = {
+ { 0,0,0,0,0,1},
+ { 0,0,0,0,1,0},
+ { 0,0,0,1,0,0},
+ { 0,0,1,0,0,0},
+ { 0,1,0,0,0,0},
+ { 1,0,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_SQ[S_H_MAX][S_W_MAX] = {
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,1,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0},
+ { 0,0,0,0,0,0}
+};
+
+static int s_X[S_H_MAX][S_W_MAX] = {
+ { 1,1,1,1,1,0},
+ { 1,1,1,1,1,0},
+ { 1,1,1,1,1,0},
+ { 1,1,1,1,1,0},
+ { 1,1,1,1,1,0},
+ { 1,1,1,1,1,0},
+ { 0,0,0,0,0,0}
+};
+