From 244197b5f8b1f4d73d4ab9ac838334860b55662c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 10 May 2020 10:48:38 +0200 Subject: report: Add translated source table, asymmetry definition Also fix the layout break point. --- lulua/data/report/index.html | 156 +++++++++++++++++++++++++++++-------------- lulua/data/report/style.css | 27 +++++--- lulua/report.py | 16 ++++- 3 files changed, 138 insertions(+), 61 deletions(-) (limited to 'lulua') diff --git a/lulua/data/report/index.html b/lulua/data/report/index.html index 0e4c779..cda1c9d 100644 --- a/lulua/data/report/index.html +++ b/lulua/data/report/index.html @@ -2,13 +2,15 @@ - لؤلؤة + لؤلؤة: لوحة مفاتيح عربية - + + + {# bokeh #} {% for f in bokehres.js_files -%} @@ -26,7 +28,7 @@

- +

لوحة مفاتيح عربية

Ergonomic Arabic Keyboard Layout

@@ -44,9 +46,9 @@
-
+
-
+

This is work in progress and contributions are welcome. Head over to GitHub to see where @@ -56,9 +58,9 @@

-
+
-
+

Goals

    @@ -77,9 +79,9 @@
-
+
-
+

Usage

@@ -99,9 +101,9 @@
-
+
-
+

Learn more

@@ -111,12 +113,12 @@
-
+

الأبجدية العربية

-
+

The Arabic alphabet

@@ -131,15 +133,56 @@ The novel corpus built for the following analysis consists of

+
+
+
+ +
+
+
+
+ + {% for c in corpus|sort(attribute='source.name.en') %} + + + {% set count = c.get ('count') %} + {% if count %} + {# use new style formatting, for some reason %7,d does not work #} + + {% else %} + + {% endif %} -
مصدركلامحروف
{{ c.source.name.ar }}{{ '{:7,d}'.format(count.num)|arabnum }} {{ count.kind.ar }}
- {% for c in corpus|sort(attribute='source.name') %} + {% set stats = c.get ('stats') %} + {% for k in ('words', 'characters') %} + {% set i = stats[k]|approx('ar') %} + + {% endfor %} + + {% endfor %} + + {% for k in ('words', 'characters') %} + {% set i = corpustotal[k]|approx('ar') %} + + {% endfor %} + +
SourceWordsCharacters
{{ '%5.1f'|format(i[0])|arabnum }} {{ i[1] }}
مجموع{{ '%5.1f'|format(i[0])|arabnum }} {{ i[1] }}
+
+
+
+
+
+
+
+
+ + {% for c in corpus|sort(attribute='source.name.en') %} - + {% set count = c.get ('count') %} {% if count %} {# use new style formatting, for some reason %7,d does not work #} - + {% else %} {% endif %} @@ -147,17 +190,28 @@ {% set stats = c.get ('stats') %} {% for k in ('words', 'characters') %} {% set i = stats[k]|approx %} - + {% endfor %} {% endfor %} {% for k in ('words', 'characters') %} {% set i = corpustotal[k]|approx %} - + {% endfor %}
SourceWordsCharacters
{{ c.source.name }}{{ c.source.name.en }}{{ '{:7,d}'.format(count[0])|numspace }} {{ count[1] }}{{ '{:7,d}'.format(count.num)|numspace }} {{ count.kind.en }}{{ '%5.1f'|format(i[0])|numspace }} {{ i[1] }}{{ '%5.1f'|format(i[0])|numspace }} {{ i[1] }}
Total{{ '%5.1f'|format(i[0])|numspace }} {{ i[1] }}{{ '%5.1f'|format(i[0])|numspace }} {{ i[1] }}
+
+

+ The chosen Quran representation does not include all quranic + diacritization symbols, like other datasets. + + This makes comparison fairer, since most keyboards presented below do + not include any of them. +

+
+

The plot below shows ا ل ي م و ن can be @@ -174,9 +228,9 @@

-
+
-
+

Arabic letter frequency distribution

@@ -187,9 +241,9 @@
-
+
-
+

Layout properties

@@ -206,7 +260,9 @@
cyan
thumb
-

Asymmetry is defined as the difference between left and right hand usage.

+

Asymmetry is defined as the difference between left and right hand button + usage \(b_{left/right}\) and includes the thumb:

+ $$a = \frac{b_{left}}{b_{total}} - \frac{b_{right}}{b_{total}}$$

The layout proposed uses four layers and assumes a 102/105 key ISO @@ -289,9 +345,9 @@