From d6c5dbc925e63bebc048356c4a54a1ad6b364014 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 1 Nov 2020 17:00:45 +0100 Subject: Explain design decisions Fixes #10. --- lulua/data/report/index.html | 77 +++++++++++++++++++++++++++++++++++++++++--- lulua/data/report/style.css | 8 ++++- 2 files changed, 79 insertions(+), 6 deletions(-) (limited to 'lulua/data') diff --git a/lulua/data/report/index.html b/lulua/data/report/index.html index a18dcb7..cae6024 100644 --- a/lulua/data/report/index.html +++ b/lulua/data/report/index.html @@ -268,13 +268,18 @@ $$a = \frac{b_{left}}{b_{total}} - \frac{b_{right}}{b_{total}}$$

- The layout proposed uses four layers and assumes a 102/105 key ISO - keyboard common in Europe to accomodate the shift keys necessary. + The layout proposed uses four shift layers in a way inspired by Neo2. + + Thus it assumes a 102/105 + key ISO keyboard common in Europe – but also available in Arab + countries – to accommodate for the necessary shift keys. These are in order: Shift on the left and right, caps lock on the left and the rightmost key in the middle row, the - key right of the left shift key and the key labeled Alt Gr to + key right to the left shift key and the key labeled Alt Gr to the right of the spacebar. Symbols are assigned to the four layers by their function: punctuation, diacritics, other.

+
+ +

Apple, for instance, provides an Arabic + hardware keyboard with this physical layout. But both variants, + 101/104 key and 102/105 key devices, seem to exist in the Arab + world.

+
+

The first layer was optimized using an extended reimplementation of carpalx. @@ -299,10 +313,10 @@

-

(This is This is a common way of arranging brackets, because most algorithms ignore - human desire for symmetry.)

+ human desire for symmetry.

@@ -317,6 +331,59 @@ typing load, but naturally the left middle finger is used more frequently due to its assignment to the letter alif.

+ +

+ The layout targets Quaranic and Modern Standard Arabic (MSA), also called Fusha + (الفصحى), only. + + Dialectical Arabic (العامية) is mainly a spoken + language, although with the rise of social media sites like Twitter and + Facebook this is changing. + + For now however it’s not an optimization target due to the lack of a + good, representative corpus. +

+ +

+ Designing the layout to be compose-based has both benefits and + disadvantages. + + Compose-based mainly means the hamza ء + is treated like an optional diacritic for Alef, Waw and Yah instead of + viewing Alef-Hamza, Waw-Hamza and Yah-Hamza as precombined, atomic + units. + + Although أ and ا are not the same, the hamza can be dropped if the + writer’s intention is unambigiously inferable from context. + + Thus it makes sense to provide hamza as a combining character on the + keyboard. + + Additionally it uses two keys less than precombining it with its stems, + allowing the entire alphabet plus hamza diacritic to fit on a single + keyboard layer. + + However, there is a cost to this approach: + All hamza variants account for {{ + '%.1f'|format(layoutstats['ar-osx'].hamzaImpact*100) }}% of button + combinations. + + Splitting hamza and from its stem means doubling the total number of + button combinations and thus button presses, decreasing scores like + words per minute (WPM) slightly. + + Splitting Alef and Alef-Hamza could also reduce pressure on left middle + finger and allow for more even distribution, since {{ + layoutstats['ar-osx'].hamzaOnAlef|fraction }}th of all Alef + uses are with Hamza. +

+
+ +

See for example section 3.3 of Buckwalter’s Issues in Arabic Morphological Analysis. +

+
diff --git a/lulua/data/report/style.css b/lulua/data/report/style.css index f62fcef..ed0d32d 100644 --- a/lulua/data/report/style.css +++ b/lulua/data/report/style.css @@ -240,6 +240,12 @@ details[open].remarks { margin-bottom: 1em; } details.remarks summary { - list-style-type: "+"; + list-style-type: "↳ Remarks"; cursor: pointer; + opacity: 0.4; } + +details.remarks p { + margin-top: 0; +} + -- cgit v1.2.3