summaryrefslogtreecommitdiff
path: root/lulua
AgeCommit message (Collapse)AuthorFilesLines
2020-10-17report: Move remarks into <details> elementLars-Dominik Braun2-5/+21
Hide them by default
2020-09-13winkbd: Make Windows driver compileable with MingGWLars-Dominik Braun7-29/+2553
Automate the process via GitHub Actions as well. kbd.h can be simplified. Fixes #11.
2020-09-06report: Add b/w PDF for printoutsLars-Dominik Braun2-0/+62
Might come handy if you need a physical reference card.
2020-09-06report: Upgrade purecss and mathjaxLars-Dominik Braun1-3/+3
2020-08-22report: Fix swapped layers in layout propertiesLars-Dominik Braun1-2/+2
2020-08-22Add test for HTMLSerializerLars-Dominik Braun1-2/+12
2020-08-22text: Fix HTMLSerializer’s entity decodingLars-Dominik Braun1-1/+1
2020-08-22text: Fix broken circular importLars-Dominik Braun1-1/+2
2020-05-16report: Add simple sentence effort visualizationLars-Dominik Braun5-2/+105
Trying to give the reader a sense for how difficult carpalx thinks certain parts of a sentence are. Conclusions are only valid for a single layout and comparison between them is not possible.
2020-05-10report: Add translated source table, asymmetry definitionLars-Dominik Braun3-61/+138
Also fix the layout break point.
2020-05-10winkbd: Fix typoLars-Dominik Braun1-0/+0
2020-05-10layouts: Add missing symbols to ar-luluaLars-Dominik Braun2-18/+22
In particular: * - # and ٠. Recompute optimal layout for symbols and bump version to 0.4.
2020-04-25ar-lulua: Optimize layer two and threeLars-Dominik Braun2-54/+59
Take another stab at the symbol layers and call it v0.3.
2020-04-25render: Fix mirroring of bracketsLars-Dominik Braun1-1/+2
Apparently direction must be specified on parent <text> element to have an effect. This way brackets will be mirrored correctly when rendering.
2020-04-25optimize: Allow manual mutationsLars-Dominik Braun1-7/+25
In combination with `-n 0` this allows manual evaluation of changes without using `lulua-write` to re-evaluate the entire corpus.
2020-04-25Improve lulua-writeLars-Dominik Braun2-87/+219
Introduce composable filters, switch to brotli-compressed tarballs, which has good ratios and fast decompression, reducing I/O significantly.
2020-04-13layout: Add test for getText+__call__ identityLars-Dominik Braun1-1/+16
2020-03-28stats: Enumerate combinationsLars-Dominik Braun1-2/+4
2020-03-28report: Explain origin of Lam-Alif ligatureLars-Dominik Braun1-1/+3
2020-03-28Add analysis for ar-idlebi and ar-alramlyLars-Dominik Braun4-5/+259
2020-03-22optimize: Allow running without pinned keysLars-Dominik Braun1-1/+1
Set default value.
2020-03-21layouts: Fix al-Ramly layoutLars-Dominik Braun1-66/+15
Remove English layer, the paper talks about different “modes”.
2020-03-15text: Add actual text to debugging outputLars-Dominik Braun1-0/+2
2020-03-15text: Fix newlinesLars-Dominik Braun1-2/+3
Replace Windows-style newlines with Unix newlines. There were quite a few stray \r’s in the stats. This takes care of them.
2020-03-08report: Expand analysisLars-Dominik Braun2-91/+198
Expand explanation of proposed layout and criticism of other layouts.
2020-03-08writer: Fix bug in chooseCombinationLars-Dominik Braun2-15/+29
Some combinations had the same score and the “wrong” one was chosen as a result. This affects how key combinations are chosen and thus it significantly affects results (lowering ar-lulua’s asymmetry and increasing it for almost every other layout) and probably optimization of levels > 1.
2020-03-07report: Add OS X layoutLars-Dominik Braun1-0/+26
2020-03-07layouts: Add OSX’ Arabic layoutLars-Dominik Braun1-0/+115
Looks pretty similar to ASMO663.
2020-02-29Add missing license headersLars-Dominik Braun3-0/+60
2020-02-29Fix function approx and its testcaseLars-Dominik Braun3-15/+22
Function was moved and changed by commit 0f8643954fd9507aec85bab46046e71a497bfffe, but the testcase was not.
2020-02-29Upgrade IBM Plex to 4.0.2Lars-Dominik Braun4-10/+10
Arabic font was renamed.
2020-02-22plot: Fix format stringLars-Dominik Braun1-1/+1
2020-02-22doc: Switch to jinja2-based renderingLars-Dominik Braun5-59/+768
Pre-rendering HTML was not the best idea. Instead pre-process the data, cache it into data files and do the HTML rendering only as the final step. Also adds asymmetry to analysis and uses tabular numbers and spaces instead of ugly table hacks to align numbers.
2020-02-13Fix HTML5 validation errorsLars-Dominik Braun1-1/+1
2020-01-26render: Fix heatmap renderingLars-Dominik Braun2-92/+120
Button caps will not overlap heat map any more. Change heat map to circles, which seem more fitting.
2020-01-26render: Pre-compute button positionsLars-Dominik Braun1-34/+44
In preparation for fixing heapmap rendering.
2020-01-19Add Windows driverLars-Dominik Braun12-4/+794
Generate C header file based on layout description and create a source bundle that must be compiled on a Windows system and then moved back to the source tree. This sucks, but cross-compiling on Linux is a pain, since Windows’ development headers assume a case-insensitive filesystem. Also I’m using MSKLC because the latest driver development kit cannot compile these drivers correctly. Dear @microsoft, please fix your shit: https://github.com/microsoft/Windows-driver-samples/issues/433 A remaining concern right now is licensing. keyboard.{c,h,def,rc} have been copied from a project generated by MSKLC and are probably non-free, although pretty much identical files like https://github.com/microsoft/Windows-driver-samples/blob/master/input/layout/kbdus/kbdus.c are covered by MS-PL. Also binds backspace key to \b and adjusts xmodmap/svg rendering accordingly. See #7.
2019-11-17Add more testsLars-Dominik Braun5-22/+200
2019-11-16Add OpenStreetMap label corpusLars-Dominik Braun1-0/+5
Extract node labels (name:ar) from OpenStreetMap’s planet dump. Heavily leans towards a few common words (“street”, obviously), but we should be fine since the corpus is not that large.
2019-11-16doc: Auto-generate corpus tableLars-Dominik Braun2-1/+72
2019-11-08Add OpenSubtitles corpusLars-Dominik Braun1-0/+18
See issue #5.
2019-11-08Add United Nations Parallel Corpus v1.0Lars-Dominik Braun1-3/+7
See issue #5.
2019-11-06text: Add TEI.2 parserLars-Dominik Braun1-1/+27
2019-11-05layouts: Add missing return button to ar-phoneticLars-Dominik Braun1-0/+1
2019-11-03stats: Word stats+LatinIME rendererLars-Dominik Braun1-2/+69
Add word stats (well, tokens seperated by non-letter symbols really, but that’s alright) and dumping into an LatinIME-compatible dictionary file (for Android).
2019-11-03render: Add AnySoftKeyboard layout file rendererLars-Dominik Braun1-2/+74
2019-11-02render: Improve generated SVG compatibilityLars-Dominik Braun2-47/+72
Switch to proper SVG user coordinate rendering instead of font-dependent sizes. Embed WOFF2 fonts, so images have proper fonts when embedded. Remove font blobs and submodule IBM’s plex git repo.
2019-10-09Reorganize 2nd and 3rd layerLars-Dominik Braun1-66/+72
See issue #6. Temporarily drop most of the special characters and rearrange the remaining characters. Frequency is not the main concern here, it needs to “make sense” to humans (whatever this means).
2019-10-06stats: Use displayText in pretty stats as wellLars-Dominik Braun1-1/+2
2019-10-06render: Prepend RLI before characterLars-Dominik Braun1-1/+2
This helps Firefox flip brackets. Oddly, direction=rtl does not do that. Google Chrome does not support RLI/ALM in SVGs?