Adding upstream version 0.5.3

This commit is contained in:
Tatsuya Kinoshita
2011-05-04 16:41:45 +09:00
parent 6db339b3d7
commit 5397d09e58
169 changed files with 53188 additions and 11048 deletions

47
libwc/ambwidth_map.awk Normal file
View File

@@ -0,0 +1,47 @@
BEGIN {
FS = "[; ]";
i = 0;
}
$2 == "A" {
code = sprintf("0x%s", $1);
if (strtonum(code) < 0x10000) {
map[i] = code
i++;
}
}
END {
n = 0;
start = map[0]
prev = strtonum(map[0]);
for (j = 1; j < i; j++) {
cur = strtonum(map[j]);
if (match(map[j], "[.]+")) {
map2[n] = sprintf("%s, %s", start, map[j - 1]);
n++;
gsub("[.]+", ", 0x", map[j])
map2[n] = map[j];
n++;
start = map[j + 1];
cur = strtonum(start);
} else {
if (cur - prev > 2) {
map2[n] = sprintf("%s, %s", start, map[j - 1]);
start = map[j];
n++;
}
if (j == i - 1) {
map2[n] = sprintf("%s, %s", start, map[j]);
n++;
}
}
prev = cur;
}
printf("static wc_map ucs_ambwidth_map[] = {\n");
for (j = 0; j < n; j++) {
printf(" { %s },\n", map2[j]);
}
printf("};\n");
printf("#define N_ucs_ambwidth_map (sizeof(ucs_ambwidth_map) / sizeof(*ucs_ambwidth_map))\n");
}