Skip to content

Instantly share code, notes, and snippets.

@hasufell
Last active February 20, 2021 12:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hasufell/ed410cc6160c97db815817cee6dca368 to your computer and use it in GitHub Desktop.
Save hasufell/ed410cc6160c97db815817cee6dca368 to your computer and use it in GitHub Desktop.
Dvorak custom
# The baseline effort is based on the distance required
# to reach each key position. Assumed here is a standard 101-key
# layout and conventional finger placement. These distances are
# combined with other typing effort model parameters, such as
# key-finger assignment, finger penalties, hand penalties,
# and path stroke.
#
# The units of distance are arbitrary, but their relative values
# should correspond to actual key distances.
#
# These specific values are key distances in cm on my benq x120 keyboard.
# Distances are approximate and measured the centers of the key.
# 1 2 3 4 5 6 7 8 9 0 -
<row 1>
effort = 4 4 4 4 4 4.5 4 4 4 4 4.5
</row>
# ` ; , . p y f g c r l \
<row 2>
effort = 3.5 2 1.5 1 2 3 3 2 1 1.5 2 2.5
</row>
# = a o e u i d h t n s '
<row 3>
effort = 0 0 0 0 0 3 3 0 0 0 0 2
</row>
# / q j k x b m w v z
<row 4>
effort = 2 1.5 1 1 2.5 2.5 1 1 1.5 2
</row>
<penalties>
# default penalty is added to the cost of each key
# shift penalty is added to the effort of an shifted
# key - for example if effort(a)=1 and shift_effort=4
# then effort(A)=1+4=5
shift = 0
default = 0
path_offset = 0
# Weights were chosen so that row effort and finger effort
# were identical for QWERTY. The sum penalty effort is then
# weighted by kp (see k/01.conf)
<weight>
hand = 1
row = 1.3088
finger = 2.5948
</weight>
# row penalties
<row>
0 = 1.5
1 = 1
2 = 0
3 = 0.5
</row>
# hand penalties - set this to a positive value to disadvantage a hand or
# negative values to favour a hand. The penalty value will be added to the
# effort of each key (thus negative values reduce effort and favour the hand)
<hand>
left = 0
right = -1
</hand>
# finger penalties - a positive value indicates additional effort
# in using that finger (e.g. due to injury)
# fingers are indexed 0..9 starting with pinky of left hand (0)
# to pinky of right hand (9)
#
# 01234 56789
# :|||/ \|||:
# left right
<finger>
left = 1 0.5 0 2 0
right = 0 0 0 0.5 1
</finger>
</penalties>
<keyboard>
<row 1>
keys = 1! 2@ 3\# 4$ 5% 6^ 7& 8* 9( 0) -_
fingers = 1 1 2 3 3 3 6 7 7 8 9
</row>
<row 2>
keys = `~ ;: ,< .> p y f g c r l \|
fingers = 1 0 1 2 3 3 6 6 7 8 9 9
</row>
<row 3>
keys = =+ a o e u i d h t n s '"
fingers = 0 0 1 2 3 3 6 6 7 8 9 9
</row>
<row 4>
keys = /? q j k x b m w v z
fingers = 0 1 2 3 3 6 6 7 8 9
</row>
</keyboard>
# All letter keys are subject to optimization. Punctuation and digits remain stationary.
# 1 2 3 4 5 6 7 8 9 0 -
<mask_row 1>
mask = 0 0 0 0 0 0 0 0 0 0 0
</mask_row>
# ` ; , . p y f g c r l \
<mask_row 2>
mask = 0 0 0 0 1 1 1 1 0 1 1 0
</mask_row>
# = a o e u i d h t n s '
<mask_row 3>
mask = 0 0 0 0 1 1 1 0 0 0 0 0
</mask_row>
# / q j k x b m w v z
<mask_row 4>
mask = 0 1 1 1 1 1 1 1 1 1
</mask_row>
Keyboard effort
------------------------------------------------------------
k1 0.602 82.5 82.5
k1,k2 0.716 15.7 98.2
k1,k2,k3 0.729 1.8 100.0
b 0.314 20.6 20.6
p 0.415 27.2 175.8
ph -0.319 -76.9 -76.9
pr 0.200 48.2 -28.7
pf 0.732 176.4 147.7
s 0.795 52.2 100.0
all 1.524 100.0 100.0
#data effort_k1=>[0.602,82.534,82.534],
#data effort_k12=>[0.716,15.654,98.188],
#data effort_k123=>[0.729,1.812,100.000],
#data effort_base=>[0.314,20.633,20.633],
#data effort_penalty=>[0.415,27.217,175.807],
#data effort_penalty_hand=>[-0.319,-76.860,-76.860],
#data effort_penalty_row=>[0.200,48.180,-28.680],
#data effort_penalty_finger=>[0.732,176.418,147.737],
#data effort_path=>[0.795,52.150,100.000],
#data effort_all=>[1.524,100.000,100.000],
keyboard row frequency
------------------------------------------------------------
1 17048 9.0 9.0
2 124071 65.6 74.7
3 47904 25.3 100.0
#data row_data=>[qw(1 2 3)],
#data row_frequency=>[0.090,0.656,0.253],
#data row_cumulative=>[0.090,0.747,1.000],
keyboard hand frequency
------------------------------------------------------------
0 77517 41.0 41.0
1 111506 59.0 100.0
#data hand_data=>[qw(0 1)],
#data hand_frequency=>[0.410,0.590],
#data hand_cumulative=>[0.410,1.000],
keyboard finger frequency
------------------------------------------------------------
0 15928 8.4 8.4
1 18964 10.0 18.5
2 37484 19.8 38.3
3 5141 2.7 41.0
6 45450 24.0 65.1
7 30730 16.3 81.3
8 18242 9.7 91.0
9 17084 9.0 100.0
#data finger_data=>[qw(0 1 2 3 6 7 8 9)],
#data finger_frequency=>[0.084,0.100,0.198,0.027,0.240,0.163,0.097,0.090],
#data finger_cumulative=>[0.084,0.185,0.383,0.410,0.651,0.813,0.910,1.000],
keyboard left hand run length
------------------------------------------------------------
1 49128 76.3 76.3
2 11372 17.7 93.9
3 3051 4.7 98.7
4 666 1.0 99.7
5 128 0.2 99.9
6 54 0.1 100.0
7 5 0.0 100.0
8 4 0.0 100.0
#data left_hand_run_data=>[qw(1 2 3 4 5 6 7 8)],
#data left_hand_run_frequency=>[0.763,0.177,0.047,0.010,0.002,0.001,0.000,0.000],
#data left_hand_run_cumulative=>[0.763,0.939,0.987,0.997,0.999,1.000,1.000,1.000],
keyboard right hand run length
------------------------------------------------------------
1 27528 42.7 42.7
2 21368 33.2 75.9
3 10354 16.1 92.0
4 3689 5.7 97.7
5 915 1.4 99.1
6 342 0.5 99.7
7 158 0.2 99.9
8 31 0.0 100.0
9 12 0.0 100.0
10 7 0.0 100.0
11 2 0.0 100.0
#data right_hand_run_data=>[qw(1 2 3 4 5 6 7 8 9 10 11)],
#data right_hand_run_frequency=>[0.427,0.332,0.161,0.057,0.014,0.005,0.002,0.000,0.000,0.000,0.000],
#data right_hand_run_cumulative=>[0.427,0.759,0.920,0.977,0.991,0.997,0.999,1.000,1.000,1.000,1.000],
keyboard hand run length
------------------------------------------------------------
1 76656 59.5 59.5
2 32740 25.4 84.9
3 13405 10.4 95.3
4 4355 3.4 98.7
5 1043 0.8 99.5
6 396 0.3 99.8
7 163 0.1 100.0
8 35 0.0 100.0
9 12 0.0 100.0
10 7 0.0 100.0
11 2 0.0 100.0
#data all_hand_run_data=>[qw(1 2 3 4 5 6 7 8 9 10 11)],
#data all_hand_run_frequency=>[0.595,0.254,0.104,0.034,0.008,0.003,0.001,0.000,0.000,0.000,0.000],
#data all_hand_run_cumulative=>[0.595,0.849,0.953,0.987,0.995,0.998,1.000,1.000,1.000,1.000,1.000],
keyboard top row run length
------------------------------------------------------------
1 17678 93.8 93.8
2 1149 6.1 99.9
3 16 0.1 100.0
#data t_row_run_data=>[qw(1 2 3)],
#data t_row_run_frequency=>[0.938,0.061,0.001],
#data t_row_run_cumulative=>[0.938,0.999,1.000],
keyboard home row run length
------------------------------------------------------------
1 17622 36.0 36.0
2 11107 22.7 58.7
3 7455 15.2 73.9
4 4608 9.4 83.3
5 3041 6.2 89.5
6 1978 4.0 93.6
7 1203 2.5 96.0
8 754 1.5 97.6
9 475 1.0 98.5
10 260 0.5 99.1
11 186 0.4 99.4
12 110 0.2 99.7
13 61 0.1 99.8
14 35 0.1 99.9
15 23 0.0 99.9
16 20 0.0 100.0
17 9 0.0 100.0
18 8 0.0 100.0
19 1 0.0 100.0
20 2 0.0 100.0
21 3 0.0 100.0
22 1 0.0 100.0
#data h_row_run_data=>[qw(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22)],
#data h_row_run_frequency=>[0.360,0.227,0.152,0.094,0.062,0.040,0.025,0.015,0.010,0.005,0.004,0.002,0.001,0.001,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000],
#data h_row_run_cumulative=>[0.360,0.587,0.739,0.833,0.895,0.936,0.960,0.976,0.985,0.991,0.994,0.997,0.998,0.999,0.999,1.000,1.000,1.000,1.000,1.000,1.000,1.000],
keyboard bottom row run length
------------------------------------------------------------
1 28832 72.9 72.9
2 7811 19.8 92.7
3 2100 5.3 98.0
4 596 1.5 99.5
5 129 0.3 99.8
6 41 0.1 100.0
7 14 0.0 100.0
8 3 0.0 100.0
9 1 0.0 100.0
10 1 0.0 100.0
#data b_row_run_data=>[qw(1 2 3 4 5 6 7 8 9 10)],
#data b_row_run_frequency=>[0.729,0.198,0.053,0.015,0.003,0.001,0.000,0.000,0.000,0.000],
#data b_row_run_cumulative=>[0.729,0.927,0.980,0.995,0.998,1.000,1.000,1.000,1.000,1.000],
keyboard row run length
------------------------------------------------------------
1 64132 59.8 59.8
2 20067 18.7 78.4
3 9571 8.9 87.4
4 5204 4.8 92.2
5 3170 3.0 95.2
6 2019 1.9 97.0
7 1217 1.1 98.2
8 757 0.7 98.9
9 476 0.4 99.3
10 261 0.2 99.6
11 186 0.2 99.7
12 110 0.1 99.8
13 61 0.1 99.9
14 35 0.0 99.9
15 23 0.0 100.0
16 20 0.0 100.0
17 9 0.0 100.0
18 8 0.0 100.0
19 1 0.0 100.0
20 2 0.0 100.0
21 3 0.0 100.0
22 1 0.0 100.0
#data all_row_run_data=>[qw(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22)],
#data all_row_run_frequency=>[0.598,0.187,0.089,0.048,0.030,0.019,0.011,0.007,0.004,0.002,0.002,0.001,0.001,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000],
#data all_row_run_cumulative=>[0.598,0.784,0.874,0.922,0.952,0.970,0.982,0.989,0.993,0.996,0.997,0.998,0.999,0.999,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000],
keyboard finger run length
------------------------------------------------------------
1 173296 90.9 90.9
2 16221 8.5 99.5
3 944 0.5 100.0
4 78 0.0 100.0
5 2 0.0 100.0
6 14 0.0 100.0
7 1 0.0 100.0
#data finger_run_data=>[qw(1 2 3 4 5 6 7)],
#data finger_run_frequency=>[0.909,0.085,0.005,0.000,0.000,0.000,0.000],
#data finger_run_cumulative=>[0.909,0.995,1.000,1.000,1.000,1.000,1.000],
keyboard same-hand row jump length
------------------------------------------------------------
1 135607 80.8 80.8
2 22936 13.7 94.5
3 6511 3.9 98.4
4 1896 1.1 99.5
5 487 0.3 99.8
6 201 0.1 99.9
7 74 0.0 100.0
8 37 0.0 100.0
9 11 0.0 100.0
10 3 0.0 100.0
11 3 0.0 100.0
#data row_jump_data=>[qw(1 2 3 4 5 6 7 8 9 10 11)],
#data row_jump_frequency=>[0.808,0.137,0.039,0.011,0.003,0.001,0.000,0.000,0.000,0.000,0.000],
#data row_jump_cumulative=>[0.808,0.945,0.984,0.995,0.998,0.999,1.000,1.000,1.000,1.000,1.000],
corpus character frequency
------------------------------------------------------------
e 25812 12.4 12.4
t 19690 9.4 21.8
a 16964 8.1 29.9
o 16205 7.8 37.6
i 14889 7.1 44.8
n 13500 6.5 51.2
h 13416 6.4 57.6
s 12767 6.1 63.8
r 11661 5.6 69.3
d 9199 4.4 73.7
l 9127 4.4 78.1
u 6662 3.2 81.3
w 5037 2.4 83.7
y 4988 2.4 86.1
m 4818 2.3 88.4
g 4608 2.2 90.6
c 4593 2.2 92.8
f 4100 2.0 94.8
p 3131 1.5 96.3
b 2937 1.4 97.7
k 1955 0.9 98.6
v 1837 0.9 99.5
x 373 0.2 99.7
q 326 0.2 99.8
j 271 0.1 99.9
z 117 0.1 100.0
#data character_frequency_data=>[qw(e t a o i n h s r d l u w y m g c f p b k v x q j z)],
#data character_frequency_frequency=>[0.124,0.094,0.081,0.078,0.071,0.065,0.064,0.061,0.056,0.044,0.044,0.032,0.024,0.024,0.023,0.022,0.022,0.020,0.015,0.014,0.009,0.009,0.002,0.002,0.001,0.001],
#data character_frequency_cumulative=>[0.124,0.218,0.299,0.376,0.448,0.512,0.576,0.638,0.693,0.737,0.781,0.813,0.837,0.861,0.884,0.906,0.928,0.948,0.963,0.977,0.986,0.995,0.997,0.998,0.999,1.000],
corpus character pair frequency
------------------------------------------------------------
th 6581 3.1 3.1
he 6324 3.0 6.2
in 3802 1.8 8.0
er 3704 1.8 9.8
an 3162 1.5 11.3
ou 2922 1.4 12.7
ha 2652 1.3 13.9
re 2557 1.2 15.2
it 2397 1.1 16.3
at 2360 1.1 17.4
to 2334 1.1 18.6
nd 2327 1.1 19.7
ea 2297 1.1 20.8
ed 2269 1.1 21.9
es 2268 1.1 22.9
en 2165 1.0 24.0
on 2153 1.0 25.0
ng 2103 1.0 26.0
nt 2036 1.0 27.0
st 1962 0.9 27.9
et 1909 0.9 28.8
as 1849 0.9 29.7
hi 1820 0.9 30.6
or 1746 0.8 31.4
al 1727 0.8 32.3
ti 1721 0.8 33.1
te 1698 0.8 33.9
is 1694 0.8 34.7
ar 1599 0.8 35.5
sa 1578 0.8 36.2
se 1558 0.7 37.0
li 1516 0.7 37.7
sh 1509 0.7 38.4
ve 1460 0.7 39.1
me 1386 0.7 39.8
of 1364 0.7 40.4
tt 1360 0.7 41.1
le 1357 0.6 41.7
ll 1339 0.6 42.4
yo 1287 0.6 43.0
dt 1263 0.6 43.6
el 1231 0.6 44.2
ne 1221 0.6 44.8
ta 1197 0.6 45.3
wa 1183 0.6 45.9
no 1166 0.6 46.5
so 1158 0.6 47.0
ot 1127 0.5 47.6
ri 1119 0.5 48.1
ai 1112 0.5 48.6
ut 1102 0.5 49.2
ra 1101 0.5 49.7
id 1094 0.5 50.2
do 1092 0.5 50.7
ce 1090 0.5 51.3
si 1088 0.5 51.8
ho 1084 0.5 52.3
ew 1076 0.5 52.8
ow 1060 0.5 53.3
ur 1038 0.5 53.8
be 999 0.5 54.3
de 996 0.5 54.8
ee 982 0.5 55.2
ic 974 0.5 55.7
ro 968 0.5 56.2
wh 966 0.5 56.6
em 955 0.5 57.1
di 942 0.5 57.5
ad 941 0.5 58.0
da 897 0.4 58.4
om 894 0.4 58.8
us 888 0.4 59.3
ei 887 0.4 59.7
ts 885 0.4 60.1
ly 879 0.4 60.5
ss 876 0.4 61.0
rt 873 0.4 61.4
ec 872 0.4 61.8
lo 871 0.4 62.2
rs 861 0.4 62.6
oo 843 0.4 63.0
ry 829 0.4 63.4
ma 815 0.4 63.8
ch 792 0.4 64.2
na 790 0.4 64.6
wi 787 0.4 64.9
eo 760 0.4 65.3
la 746 0.4 65.7
co 730 0.3 66.0
il 724 0.3 66.4
fo 700 0.3 66.7
ul 694 0.3 67.0
im 688 0.3 67.4
gh 681 0.3 67.7
ke 662 0.3 68.0
we 661 0.3 68.3
ni 651 0.3 68.6
mo 651 0.3 68.9
ld 647 0.3 69.2
eh 630 0.3 69.5
ga 622 0.3 69.8
ns 620 0.3 70.1
tw 619 0.3 70.4
ca 610 0.3 70.7
ay 610 0.3 71.0
os 606 0.3 71.3
ep 596 0.3 71.6
wo 587 0.3 71.9
ds 586 0.3 72.2
pe 585 0.3 72.4
ht 585 0.3 72.7
ey 579 0.3 73.0
ge 579 0.3 73.3
ft 558 0.3 73.5
tl 553 0.3 73.8
rd 548 0.3 74.1
am 527 0.3 74.3
go 513 0.2 74.6
ef 499 0.2 74.8
un 492 0.2 75.0
ev 485 0.2 75.3
tr 484 0.2 75.5
dh 483 0.2 75.7
yt 474 0.2 76.0
io 472 0.2 76.2
ac 469 0.2 76.4
eg 465 0.2 76.6
nc 459 0.2 76.9
ol 455 0.2 77.1
av 453 0.2 77.3
gr 446 0.2 77.5
ab 442 0.2 77.7
ir 442 0.2 77.9
tu 437 0.2 78.1
fa 435 0.2 78.3
pa 431 0.2 78.5
ie 430 0.2 78.8
eb 429 0.2 79.0
fi 427 0.2 79.2
ys 424 0.2 79.4
mi 420 0.2 79.6
ya 415 0.2 79.8
if 405 0.2 80.0
fe 401 0.2 80.1
ig 391 0.2 80.3
bo 388 0.2 80.5
bu 387 0.2 80.7
su 381 0.2 80.9
ag 377 0.2 81.1
pl 373 0.2 81.2
ok 372 0.2 81.4
sw 366 0.2 81.6
ty 361 0.2 81.8
po 359 0.2 81.9
ki 359 0.2 82.1
ug 356 0.2 82.3
yi 353 0.2 82.5
gi 350 0.2 82.6
uc 350 0.2 82.8
gt 348 0.2 83.0
od 346 0.2 83.1
lt 335 0.2 83.3
db 331 0.2 83.4
ia 327 0.2 83.6
qu 325 0.2 83.8
up 320 0.2 83.9
rr 318 0.2 84.1
pr 317 0.2 84.2
oi 317 0.2 84.4
ap 312 0.1 84.5
op 305 0.1 84.7
ct 304 0.1 84.8
rm 301 0.1 84.9
oh 296 0.1 85.1
ex 295 0.1 85.2
dl 293 0.1 85.4
ye 286 0.1 85.5
mu 284 0.1 85.6
ny 284 0.1 85.8
sp 279 0.1 85.9
dw 278 0.1 86.0
sc 277 0.1 86.2
ue 276 0.1 86.3
lf 272 0.1 86.4
fr 269 0.1 86.6
yw 263 0.1 86.7
bl 263 0.1 86.8
pi 261 0.1 86.9
dn 259 0.1 87.1
rh 258 0.1 87.2
dr 257 0.1 87.3
kn 249 0.1 87.4
nl 249 0.1 87.6
ck 247 0.1 87.7
sm 246 0.1 87.8
wn 245 0.1 87.9
gs 243 0.1 88.0
sn 242 0.1 88.1
nh 240 0.1 88.3
rn 240 0.1 88.4
ls 240 0.1 88.5
au 238 0.1 88.6
tb 236 0.1 88.7
oa 236 0.1 88.8
ov 234 0.1 88.9
dy 233 0.1 89.0
tm 232 0.1 89.2
iv 232 0.1 89.3
ik 231 0.1 89.4
cr 231 0.1 89.5
fu 231 0.1 89.6
rl 228 0.1 89.7
sl 226 0.1 89.8
ak 225 0.1 89.9
nw 225 0.1 90.0
oc 221 0.1 90.1
dd 220 0.1 90.2
my 217 0.1 90.3
tc 208 0.1 90.4
rg 207 0.1 90.5
ba 206 0.1 90.6
ob 206 0.1 90.7
aw 204 0.1 90.8
nk 201 0.1 90.9
ui 199 0.1 91.0
ff 198 0.1 91.1
du 196 0.1 91.2
af 195 0.1 91.3
pp 194 0.1 91.4
df 193 0.1 91.5
rw 193 0.1 91.6
by 188 0.1 91.7
sf 184 0.1 91.8
rc 184 0.1 91.9
um 183 0.1 91.9
sb 180 0.1 92.0
ru 180 0.1 92.1
dm 177 0.1 92.2
rp 177 0.1 92.3
mp 176 0.1 92.4
ud 175 0.1 92.5
rf 174 0.1 92.5
tf 174 0.1 92.6
td 168 0.1 92.7
vi 168 0.1 92.8
bi 167 0.1 92.9
ms 165 0.1 92.9
gl 163 0.1 93.0
cu 163 0.1 93.1
yh 162 0.1 93.2
ek 159 0.1 93.3
nr 159 0.1 93.3
og 156 0.1 93.4
ci 156 0.1 93.5
yd 155 0.1 93.6
lw 153 0.1 93.6
kt 151 0.1 93.7
hy 151 0.1 93.8
nn 150 0.1 93.8
br 149 0.1 93.9
pt 149 0.1 94.0
cl 148 0.1 94.1
ua 148 0.1 94.1
nf 148 0.1 94.2
fl 146 0.1 94.3
mt 146 0.1 94.3
yb 146 0.1 94.4
oy 145 0.1 94.5
ib 144 0.1 94.5
yl 144 0.1 94.6
pu 142 0.1 94.7
hr 142 0.1 94.7
dg 141 0.1 94.8
ym 140 0.1 94.9
sy 140 0.1 95.0
eq 139 0.1 95.0
fh 138 0.1 95.1
ju 138 0.1 95.1
yp 137 0.1 95.2
rk 135 0.1 95.3
mb 134 0.1 95.3
iw 133 0.1 95.4
xt 132 0.1 95.5
nb 131 0.1 95.5
gu 130 0.1 95.6
oe 126 0.1 95.7
hh 125 0.1 95.7
lu 124 0.1 95.8
tp 122 0.1 95.8
dc 120 0.1 95.9
ih 114 0.1 95.9
rb 113 0.1 96.0
yc 113 0.1 96.1
sk 111 0.1 96.1
ws 111 0.1 96.2
lk 109 0.1 96.2
ka 108 0.1 96.3
dp 108 0.1 96.3
sg 107 0.1 96.4
uw 106 0.1 96.4
ph 106 0.1 96.5
nu 105 0.1 96.5
tn 103 0.0 96.6
hs 102 0.0 96.6
yf 102 0.0 96.7
fy 102 0.0 96.7
hu 99 0.0 96.8
yr 98 0.0 96.8
ub 97 0.0 96.9
tg 96 0.0 96.9
va 95 0.0 96.9
wt 95 0.0 97.0
fs 93 0.0 97.0
nm 92 0.0 97.1
vo 92 0.0 97.1
sd 91 0.0 97.2
ps 88 0.0 97.2
ks 88 0.0 97.3
gw 85 0.0 97.3
fc 84 0.0 97.3
ip 82 0.0 97.4
lb 82 0.0 97.4
lm 81 0.0 97.4
je 81 0.0 97.5
lh 80 0.0 97.5
eu 75 0.0 97.6
ah 75 0.0 97.6
bb 73 0.0 97.6
sr 72 0.0 97.7
ww 72 0.0 97.7
lp 71 0.0 97.7
ej 71 0.0 97.8
wr 69 0.0 97.8
rv 69 0.0 97.8
yn 68 0.0 97.9
dv 68 0.0 97.9
uh 67 0.0 97.9
mm 67 0.0 98.0
ko 67 0.0 98.0
sv 66 0.0 98.0
mr 65 0.0 98.1
xp 65 0.0 98.1
uk 64 0.0 98.1
yg 63 0.0 98.2
yy 61 0.0 98.2
mh 60 0.0 98.2
lv 60 0.0 98.2
fm 59 0.0 98.3
wl 58 0.0 98.3
ze 58 0.0 98.3
hw 57 0.0 98.3
bs 57 0.0 98.4
fw 56 0.0 98.4
gb 54 0.0 98.4
gy 54 0.0 98.5
sq 52 0.0 98.5
nv 52 0.0 98.5
hm 51 0.0 98.5
gn 51 0.0 98.6
gf 51 0.0 98.6
gm 50 0.0 98.6
fp 48 0.0 98.6
gg 48 0.0 98.6
mn 47 0.0 98.7
lc 47 0.0 98.7
lr 46 0.0 98.7
gd 45 0.0 98.7
np 45 0.0 98.8
tk 44 0.0 98.8
py 44 0.0 98.8
cc 43 0.0 98.8
fb 43 0.0 98.8
kl 43 0.0 98.9
mw 42 0.0 98.9
wd 42 0.0 98.9
kh 42 0.0 98.9
iz 41 0.0 98.9
xc 41 0.0 99.0
ky 39 0.0 99.0
mf 36 0.0 99.0
fd 36 0.0 99.0
iu 36 0.0 99.0
gp 35 0.0 99.0
hd 35 0.0 99.1
xi 35 0.0 99.1
xe 34 0.0 99.1
yu 34 0.0 99.1
oj 34 0.0 99.1
wm 34 0.0 99.1
hl 33 0.0 99.2
hb 33 0.0 99.2
jo 32 0.0 99.2
hc 31 0.0 99.2
xa 31 0.0 99.2
ln 31 0.0 99.2
lg 31 0.0 99.3
tv 31 0.0 99.3
hf 30 0.0 99.3
kw 29 0.0 99.3
gc 29 0.0 99.3
md 29 0.0 99.3
hp 28 0.0 99.3
uo 27 0.0 99.4
wy 27 0.0 99.4
uf 26 0.0 99.4
pb 25 0.0 99.4
dj 25 0.0 99.4
fn 24 0.0 99.4
tq 24 0.0 99.4
bt 23 0.0 99.4
cs 23 0.0 99.4
yv 23 0.0 99.5
wc 23 0.0 99.5
mc 23 0.0 99.5
cy 23 0.0 99.5
ox 22 0.0 99.5
fg 22 0.0 99.5
dq 21 0.0 99.5
wf 21 0.0 99.5
ml 21 0.0 99.5
km 20 0.0 99.5
dk 20 0.0 99.6
aa 20 0.0 99.6
tj 19 0.0 99.6
ao 18 0.0 99.6
yk 18 0.0 99.6
nx 18 0.0 99.6
kb 18 0.0 99.6
ix 18 0.0 99.6
wp 17 0.0 99.6
oq 17 0.0 99.6
zi 17 0.0 99.6
aj 17 0.0 99.7
kf 17 0.0 99.7
uz 17 0.0 99.7
bj 17 0.0 99.7
sj 17 0.0 99.7
mg 16 0.0 99.7
zz 16 0.0 99.7
ja 16 0.0 99.7
gv 16 0.0 99.7
fv 16 0.0 99.7
az 15 0.0 99.7
zl 15 0.0 99.7
ez 15 0.0 99.7
ii 14 0.0 99.8
wb 14 0.0 99.8
nj 14 0.0 99.8
yj 14 0.0 99.8
hn 14 0.0 99.8
hg 13 0.0 99.8
nq 13 0.0 99.8
pm 12 0.0 99.8
rq 12 0.0 99.8
cd 11 0.0 99.8
ku 11 0.0 99.8
pw 11 0.0 99.8
uy 10 0.0 99.8
vy 10 0.0 99.8
kd 10 0.0 99.8
kp 10 0.0 99.8
kr 9 0.0 99.8
kc 9 0.0 99.8
wu 9 0.0 99.9
bc 9 0.0 99.9
xq 8 0.0 99.9
rj 8 0.0 99.9
pd 8 0.0 99.9
uv 8 0.0 99.9
xh 8 0.0 99.9
pg 8 0.0 99.9
vu 7 0.0 99.9
lj 7 0.0 99.9
za 7 0.0 99.9
gj 6 0.0 99.9
ux 6 0.0 99.9
fj 6 0.0 99.9
pc 6 0.0 99.9
mq 6 0.0 99.9
uu 6 0.0 99.9
mv 6 0.0 99.9
aq 6 0.0 99.9
uj 6 0.0 99.9
wv 6 0.0 99.9
fk 6 0.0 99.9
gq 6 0.0 99.9
ax 6 0.0 99.9
cb 5 0.0 99.9
kg 5 0.0 99.9
xw 5 0.0 99.9
yq 5 0.0 99.9
ae 5 0.0 99.9
hj 4 0.0 99.9
cp 4 0.0 99.9
rz 4 0.0 99.9
bm 4 0.0 99.9
kv 4 0.0 99.9
vm 4 0.0 99.9
pf 4 0.0 100.0
iq 4 0.0 100.0
rx 4 0.0 100.0
cq 4 0.0 100.0
pv 4 0.0 100.0
cw 4 0.0 100.0
xo 4 0.0 100.0
xf 3 0.0 100.0
ji 3 0.0 100.0
mk 3 0.0 100.0
tx 3 0.0 100.0
wq 3 0.0 100.0
cf 3 0.0 100.0
mj 3 0.0 100.0
yz 3 0.0 100.0
wg 3 0.0 100.0
xu 2 0.0 100.0
zo 2 0.0 100.0
kk 2 0.0 100.0
lq 2 0.0 100.0
bh 2 0.0 100.0
pk 2 0.0 100.0
kj 2 0.0 100.0
wk 2 0.0 100.0
zy 2 0.0 100.0
fq 2 0.0 100.0
pn 2 0.0 100.0
gk 2 0.0 100.0
oz 2 0.0 100.0
hv 2 0.0 100.0
bv 1 0.0 100.0
xr 1 0.0 100.0
wz 1 0.0 100.0
vt 1 0.0 100.0
bk 1 0.0 100.0
bf 1 0.0 100.0
wj 1 0.0 100.0
gz 1 0.0 100.0
bx 1 0.0 100.0
uq 1 0.0 100.0
nz 1 0.0 100.0
jc 1 0.0 100.0
kq 1 0.0 100.0
xm 1 0.0 100.0
xl 1 0.0 100.0
bd 1 0.0 100.0
cv 1 0.0 100.0
xb 1 0.0 100.0
xd 1 0.0 100.0
lz 1 0.0 100.0
hk 1 0.0 100.0
qh 1 0.0 100.0
cn 1 0.0 100.0
#data character_pair_frequency_data=>[qw(th he in er an ou ha re it at to nd ea ed es en on ng nt st et as hi or al ti te is ar sa se li sh ve me of tt le ll yo dt el ne ta wa no so ot ri ai ut ra id do ce si ho ew ow ur be de ee ic ro wh em di ad da om us ei ts ly ss rt ec lo rs oo ry ma ch na wi eo la co il fo ul im gh ke we ni mo ld eh ga ns tw ca ay os ep wo ds pe ht ey ge ft tl rd am go ef un ev tr dh yt io ac eg nc ol av gr ab ir tu fa pa ie eb fi ys mi ya if fe ig bo bu su ag pl ok sw ty po ki ug yi gi uc gt od lt db ia qu up rr pr oi ap op ct rm oh ex dl ye mu ny sp dw sc ue lf fr yw bl pi dn rh dr kn nl ck sm wn gs sn nh rn ls au tb oa ov dy tm iv ik cr fu rl sl ak nw oc dd my tc rg ba ob aw nk ui ff du af pp df rw by sf rc um sb ru dm rp mp ud rf tf td vi bi ms gl cu yh ek nr og ci yd lw kt hy nn br pt cl ua nf fl mt yb oy ib yl pu hr dg ym sy eq fh ju yp rk mb iw xt nb gu oe hh lu tp dc ih rb yc sk ws lk ka dp sg uw ph nu tn hs yf fy hu yr ub tg va wt fs nm vo sd ps ks gw fc ip lb lm je lh eu ah bb sr ww lp ej wr rv yn dv uh mm ko sv mr xp uk yg yy mh lv fm wl ze hw bs fw gb gy sq nv hm gn gf gm fp gg mn lc lr gd np tk py cc fb kl mw wd kh iz xc ky mf fd iu gp hd xi xe yu oj wm hl hb jo hc xa ln lg tv hf kw gc md hp uo wy uf pb dj fn tq bt cs yv wc mc cy ox fg dq wf ml km dk aa tj ao yk nx kb ix wp oq zi aj kf uz bj sj mg zz ja gv fv az zl ez ii wb nj yj hn hg nq pm rq cd ku pw uy vy kd kp kr kc wu bc xq rj pd uv xh pg vu lj za gj ux fj pc mq uu mv aq uj wv fk gq ax cb kg xw yq ae hj cp rz bm kv vm pf iq rx cq pv cw xo xf ji mk tx wq cf mj yz wg xu zo kk lq bh pk kj wk zy fq pn gk oz hv bv xr wz vt bk bf wj gz bx uq nz jc kq xm xl bd cv xb xd lz hk qh cn)],
#data character_pair_frequency_frequency=>[0.031,0.030,0.018,0.018,0.015,0.014,0.013,0.012,0.011,0.011,0.011,0.011,0.011,0.011,0.011,0.010,0.010,0.010,0.010,0.009,0.009,0.009,0.009,0.008,0.008,0.008,0.008,0.008,0.008,0.008,0.007,0.007,0.007,0.007,0.007,0.007,0.007,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.006,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.005,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.004,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.003,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.002,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.001,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000],
#data character_pair_frequency_cumulative=>[0.031,0.062,0.080,0.098,0.113,0.127,0.139,0.152,0.163,0.174,0.186,0.197,0.208,0.219,0.229,0.240,0.250,0.260,0.270,0.279,0.288,0.297,0.306,0.314,0.323,0.331,0.339,0.347,0.355,0.362,0.370,0.377,0.384,0.391,0.398,0.404,0.411,0.417,0.424,0.430,0.436,0.442,0.448,0.453,0.459,0.465,0.470,0.476,0.481,0.486,0.492,0.497,0.502,0.507,0.513,0.518,0.523,0.528,0.533,0.538,0.543,0.548,0.552,0.557,0.562,0.566,0.571,0.575,0.580,0.584,0.588,0.593,0.597,0.601,0.605,0.610,0.614,0.618,0.622,0.626,0.630,0.634,0.638,0.642,0.646,0.649,0.653,0.657,0.660,0.664,0.667,0.670,0.674,0.677,0.680,0.683,0.686,0.689,0.692,0.695,0.698,0.701,0.704,0.707,0.710,0.713,0.716,0.719,0.722,0.724,0.727,0.730,0.733,0.735,0.738,0.741,0.743,0.746,0.748,0.750,0.753,0.755,0.757,0.760,0.762,0.764,0.766,0.769,0.771,0.773,0.775,0.777,0.779,0.781,0.783,0.785,0.788,0.790,0.792,0.794,0.796,0.798,0.800,0.801,0.803,0.805,0.807,0.809,0.811,0.812,0.814,0.816,0.818,0.819,0.821,0.823,0.825,0.826,0.828,0.830,0.831,0.833,0.834,0.836,0.838,0.839,0.841,0.842,0.844,0.845,0.847,0.848,0.849,0.851,0.852,0.854,0.855,0.856,0.858,0.859,0.860,0.862,0.863,0.864,0.866,0.867,0.868,0.869,0.871,0.872,0.873,0.874,0.876,0.877,0.878,0.879,0.880,0.881,0.883,0.884,0.885,0.886,0.887,0.888,0.889,0.890,0.892,0.893,0.894,0.895,0.896,0.897,0.898,0.899,0.900,0.901,0.902,0.903,0.904,0.905,0.906,0.907,0.908,0.909,0.910,0.911,0.912,0.913,0.914,0.915,0.916,0.917,0.918,0.919,0.919,0.920,0.921,0.922,0.923,0.924,0.925,0.925,0.926,0.927,0.928,0.929,0.929,0.930,0.931,0.932,0.933,0.933,0.934,0.935,0.936,0.936,0.937,0.938,0.938,0.939,0.940,0.941,0.941,0.942,0.943,0.943,0.944,0.945,0.945,0.946,0.947,0.947,0.948,0.949,0.950,0.950,0.951,0.951,0.952,0.953,0.953,0.954,0.955,0.955,0.956,0.957,0.957,0.958,0.958,0.959,0.959,0.960,0.961,0.961,0.962,0.962,0.963,0.963,0.964,0.964,0.965,0.965,0.966,0.966,0.967,0.967,0.968,0.968,0.969,0.969,0.969,0.970,0.970,0.971,0.971,0.972,0.972,0.973,0.973,0.973,0.974,0.974,0.974,0.975,0.975,0.976,0.976,0.976,0.977,0.977,0.977,0.978,0.978,0.978,0.979,0.979,0.979,0.980,0.980,0.980,0.981,0.981,0.981,0.982,0.982,0.982,0.982,0.983,0.983,0.983,0.983,0.984,0.984,0.984,0.985,0.985,0.985,0.985,0.986,0.986,0.986,0.986,0.986,0.987,0.987,0.987,0.987,0.988,0.988,0.988,0.988,0.988,0.989,0.989,0.989,0.989,0.989,0.990,0.990,0.990,0.990,0.990,0.990,0.991,0.991,0.991,0.991,0.991,0.991,0.992,0.992,0.992,0.992,0.992,0.992,0.993,0.993,0.993,0.993,0.993,0.993,0.993,0.994,0.994,0.994,0.994,0.994,0.994,0.994,0.994,0.994,0.995,0.995,0.995,0.995,0.995,0.995,0.995,0.995,0.995,0.995,0.996,0.996,0.996,0.996,0.996,0.996,0.996,0.996,0.996,0.996,0.996,0.997,0.997,0.997,0.997,0.997,0.997,0.997,0.997,0.997,0.997,0.997,0.997,0.997,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.998,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,0.999,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000],
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment