Изобретаю свою кодировку символов, решил начать с разбора уже созданного: CP1251.gz IBM866.gz ISO-8859-5.gz KOI-8.gz MAC-CYRILLIC.gz
Всего в них 348 символов, при этом только 225 встречаются сразу в 3 файлах и только 191 символ во всех пяти. Это что за избыток? Если бы оптимально подойти, так даже юникод бы был не нужен.
Взял википедию, распарсил (100 метров текста, без html), получил такую статистику:
7930095 — 32 ( )
3121686 — 1080 (и)
3047308 — 10 (newline)
2727631 — 1072 (а)
2660128 — 1077 (е)
2507843 — 1086 (о)
2016752 — 1090 (т)
1864330 — 1085 (н)
1801039 — 1089 (с)
1560947 — 1088 (р)
1243790 — 1074 (в)
1157556 — 1082 (к)
1087145 — 46 (.)
968049 — 1076 (д)
967860 — 111 (o)
918355 — 1083 (л)
907342 — 105 (i)
891229 — 101 (e)
831035 — 115 (s)
824269 — 1087 (п)
733941 — 97 (a)
702895 — 1103 (я)
685540 — 1084 (м)
673506 — 110 (n)
664169 — 1091 (у)
658174 — 49 (1)
582796 — 116 (t)
565215 — 47 (/)
548710 — 114 (r)
517877 — 1099 (ы)
504408 — 1073 (б)
454062 — 1079 (з)
452653 — 48 (0)
416049 — 1100 (ь)
407703 — 44 (,)
368651 — 50 (2)
366363 — 1075 (г)
352360 — 1081 (й)
325533 — 53 (5)
319754 — 1078 (ж)
318320 — 99 (c)
315863 — 1095 (ч)
315031 — 109 (m)
312899 — 108 (l)
282834 — 57 (9)
281910 — 107 (k)
266933 — 1094 (ц)
254630 — 117 (u)
253757 — 56 (8)
240258 — 112 (p)
228629 — 104 (h)
227408 — 1042 (В)
224604 — 51 (3)
215619 — 55 (7)
208874 — 73 (I)
201042 — 54 (6)
192741 — 100 (d)
189071 — 58 (:)
181948 — 0 ()
179733 — 52 (4)
169519 — 98 (b)
165862 — 41 ())
163832 — 40 (()
162130 — 103 (g)
160669 — 45 (-)
158650 — 8212 (—)
157646 — 1057 (С)
150448 — 69 (E)
149826 — 124 (|)
142652 — 34 (")
140720 — 1097 (щ)
134240 — 1055 (П)
129408 — 102 (f)
127147 — 119 (w)
124803 — 1054 (О)
120406 — 1096 (ш)
118526 — 83 (S)
117908 — 70 (F)
117333 — 1093 (х)
110915 — 120 (x)
108591 — 121 (y)
102798 — 183 (·)
102082 — 1048 (И)
102043 — 1102 (ю)
96918 — 59 (;)
95518 — 1092 (ф)
92157 — 42 (*)
91549 — 1101 (э)
91527 — 1053 (Н)
90432 — 65 (A)
86069 — 1059 (У)
84928 — 66 (B)
83979 — 1058 (Т)
80931 — 84 (T)
77966 — 118 (v)
74973 — 68 (D)
72832 — 82 (R)
72026 — 1050 (К)
71584 — 1056 (Р)
70031 — 77 (M)
68987 — 76 (L)
67174 — 64 (@)
62347 — 78 (N)
60582 — 80 (P)
60075 — 1040 (А)
57134 — 1052 (М)
55951 — 71 (G)
55103 — 86 (V)
54232 — 67 (C)
48727 — 8226 (•)
48016 — 1105 (ё)
46030 — 1060 (Ф)
44632 — 1069 (Э)
43205 — 85 (U)
38891 — 1047 (З)
37864 — 1041 (Б)
34758 — 160 ( )
33634 — 91 ([)
33556 — 1044 (Д)
33075 — 93 (])
28855 — 75 (K)
28664 — 1043 (Г)
28593 — 72 (H)
27359 — 87 (W)
26463 — 187 (»)
26459 — 79 (O)
26457 — 171 («)
26377 — 1071 (Я)
25550 — 1045 (Е)
24323 — 106 (j)
23610 — 122 (z)
23561 — 33 (!)
23520 — 88 (X)
19422 — 2494 (া)
19010 — 39 (')
17882 — 61 (=)
17810 — 231 (ç)
16799 — 123 ({)
16721 — 1051 (Л)
15952 — 2480 (র)
15028 — 2366 (ा)
14400 — 74 (J)
13446 — 125 (})
13122 — 8234 ( )
12975 — 8236 ( )
12562 — 215 (×)
11964 — 2495 (ি)
11930 — 269 (č)
10506 — 89 (Y)
10149 — 113 (q)
9994 — 95 (_)
9228 — 252 (ü)
9094 — 63 (?)
9028 — 1063 (Ч)
8366 — 126 (~)
8294 — 1061 (Х)
7309 — 1098 (ъ)
7213 — 1064 (Ш)
6998 — 353 (š)
6755 — 241 (ñ)
6705 — 60 (<)
6702 — 62 (>)
6558 — 2346 (प)
6157 — 224 (à)
5734 — 226 (â)
5723 — 2344 (न)
5523 — 234 (ê)
5305 — 4312 (ი)
5301 — 229 (å)
5296 — 4304 (ა)
5236 — 4325 (ქ)
5059 — 2349 (भ)
4995 — 1062 (Ц)
4794 — 8206 ( )
4636 — 233 (é)
4355 — 2352 (र)
4242 — 1111 (ї)
4012 — 235 (ë)
3903 — 90 (Z)
3857 — 957 (ν)
3850 — 953 (ι)
3839 — 940 (ά)
3839 — 951 (η)
3832 — 954 (κ)
3829 — 917 (Ε)
3804 — 3618 (ย)
3796 — 3607 (ท)
3795 — 3652 (ไ)
3670 — 43 (+)
3413 — 8209 (‑)
3386 — 7871 (ế)
3058 — 371 (ų)
2954 — 205 (Í)
2900 — 1070 (Ю)
2844 — 2350 (म)
2743 — 1110 (і)
2696 — 37 (%)
2588 — 7879 (ệ)
2586 — 232 (è)
2464 — 8220 (“)
2458 — 225 (á)
2412 — 1046 (Ж)
2349 — 8221 (”)
1842 — 242 (ò)
1839 — 601 (ə)
1477 — 1377 (ա)
1442 — 1408 (ր)
1419 — 1397 (յ)
1413 — 1344 (Հ)
1407 — 81 (Q)
1241 — 1049 (Й)
1171 — 8470 (№)
1093 — 38 (&)
1056 — 8211 (–)
966 — 8593 (↑)
849 — 8217 (’)
847 — 176 (°)
568 — 228 (ä)
521 — 3240 (ನ)
486 — 1067 (Ы)
458 — 35 (#)
452 — 237 (í)
418 — 9658 (►)
418 — 9668 (◄)
416 — 8594 (→)
402 — 8230 (…)
397 — 279 (ė)
396 — 381 (Ž)
388 — 1065 (Щ)
374 — 8592 (←)
361 — 248 (ø)
324 — 1179 (қ)
318 — 1178 (Қ)
284 — 244 (ô)
282 — 1460 (ִ)
278 — 243 (ó)
276 — 1025 (Ё)
268 — 3277 (್)
261 — 3221 (ಕ)
260 — 3233 (ಡ)
255 — 1068 (Ь)
251 — 227 (ã)
249 — 2879 (ି)
249 — 651 (ʋ)
249 — 2822 (ଆ)
249 — 2835 (ଓ)
249 — 2908 (ଡ଼)
245 — 177 (±)
231 — 245 (õ)
227 — 96 (`)
223 — 250 (ú)
203 — 8224 (†)
Тут есть все нужное, включая «ёлочки», длинные тире "—" и прочие нужные при оформлении текста символы. Даже ế, которое оказывается не такое уж малоиспользуемое. Вопрос: чем думали авторы CP1251 + IBM866 + ISO-8859-5 + KOI-8 + MAC-CYRILLIC? Ведь если бы подойти правильно к делу создания кодировки, то острой необходимости для юникода бы и небыло!
Особенно порадовали баги в i18n, где таблицы символов местами кривые:
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<U:> /x55 <U00DC> LATIN CAPITAL LETTER U WITH DIAERESIS
saransk
29.07.2011 07:49 AIP
Do you really want to delete ?
нехер засирать мой псто простынями
ну дык это же СТАТИСТИКА, там много буков нет