File: mk_encodings.sh

package info (click to toggle)
wxwidgets3.0 3.0.5.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 120,464 kB
  • sloc: cpp: 896,633; makefile: 52,303; ansic: 21,971; sh: 5,713; python: 2,940; xml: 1,534; perl: 264; javascript: 33
file content (120 lines) | stat: -rwxr-xr-x 2,851 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/sh


echo "  * compiling C source generator..."

cc mk_ctable.c -o mk_ctable

echo "  * writing copyright info..."

echo "

/*
 *  This file is #included by encconv.cpp
 *
 *
 *  *** ***  CAUTION! *** ***
 *  Do not modify this file by hand! It is generated by shell
 *  script \$(WXWIN)/misc/unictabl/regenerate
 *
 *  Parts of this file are based on tables published by Unicode, Inc.
 *  Original tables are freely available at
 *      ftp://ftp.unicode.org/Public/MAPPINGS
 *
 *  Original copyright info as present in mapping tables follows:
 *
 *
 *  Copyright (c) 1991-1999 Unicode, Inc.  All Rights reserved.
 *
 *  This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
 *  No claims are made as to fitness for any particular purpose.  No
 *  warranties of any kind are expressed or implied.  The recipient
 *  agrees to determine applicability of information provided.  If this
 *  file has been provided on optical media by Unicode, Inc., the sole
 *  remedy for any claim will be exchange of defective media within 90
 *  days of receipt.
 *
 *  Unicode, Inc. hereby grants the right to freely use the information
 *  supplied in this file in the creation of products supporting the
 *  Unicode Standard, and to make copies of this file in any form for
 *  internal or external distribution as long as this notice remains
 *  attached.
 */

" > unictabl.inc


echo "  * creating C tables..."

all_encodings=""

for i in mappings/*.TXT ; do

    enc=`echo $i | cut -c10- | tr - _ | sed 's/\.TXT//g' |\
sed 's/8859_\(.*\)/ISO8859_\1/g
s/KOI8_R/KOI8/g'`
    cat $i | sed -n '/^0x...0x..../p' | cut -f1,2 | \
             ./mk_ctable $i $enc >> unictabl.inc
    all_encodings="$all_encodings $enc"

done

rm -f mk_ctable


echo "  * adding fallback..."

echo "




/*
 *
 * Unicode to 7bit ASCII fallback
 * (for use with wxRECODE_SUBSTITUTE recoding mode)
 *
 */

static const struct {
    wxUint16 c  /*code*/;
    wxUint8  s /*inaccurate substitution*/;
} encoding_unicode_fallback[] = {
" >> unictabl.inc

cat Fallbacks | while read i ; do
    code=`echo "$i" | cut -f1`
    subs=`echo "$i" | cut -f2 | cut -c1-2,5-6`
    echo "    {$code, $subs}," >> unictabl.inc
done
echo "    {0, 0}" >> unictabl.inc
echo " };" >> unictabl.inc
echo "
static const unsigned encoding_unicode_fallback_count = "`cat Fallbacks | wc -l`";" >> unictabl.inc


echo "  * adding reference table..."


echo "



/*
 *
 * Table of all supported encodings:
 *
 */

static const struct {
    wxFontEncoding encoding; // encoding identifier
    const wxUint16 *table;         // 8bit to unicode table
} encodings_list[] = {
" >> unictabl.inc

for i in $all_encodings ; do
    echo "    { wxFONTENCODING_$i, encoding_table__$i}," >> unictabl.inc
done

echo "    {wxFONTENCODING_MAX /*anything*/, NULL}" >> unictabl.inc
echo " };" >> unictabl.inc