UI-KeyboardLayout
view release on metacpan or search on metacpan
(Without other changes, breaks latinized greek on AltGr-; .
Dialytica i/u put on "empty" slots j/v.
Define Russian, Russian_AltGr via layer_recipe.
Unify Russian AltGr map with Latin one as much as possible.
Switch to logical layout of accented letters on AltGr-layer.
Split AltGr-; into AltGr-; AltGr-, AltGr-"; swap ËË.
Remove © and ± faces.
Implement BlueKeys.
Pinyin without green keys (¨ on ü to insert Ç). (Any diaeresis+accent except á¹» ¯ü can be entered.)
Make AltGr-; insert hook above (as the last resort). Finishes Vietnamese input (but is it "logical"? ê is black and green...).
Add double-grave and dot-above to AltGr-;.
Currently Ƚɾá´á´á¶á¶á¸á¸á¹á¹ââ²â³â¿â â¦âââ§â«´ê½ê¿ missing w.r.t. EurKey++.
0.08 New charlist latin-derived (from http://en.wikipedia.org/wiki/Latin-derived_alphabet).
Work on manual-mutators lists.
Decrease font size in HTML tables to 10pt (to compensate for slash-column).
Add mutators for paleo-latin contractions and UM-ified contractions.
Rename toHEX() to fromHEX().
Allow omitting argument to print_decompositions; new subroutine print_compositions_ch().
Remove duplicates and trivial id entries from (de)composition mappings.
Two bugs in (un)chaining mutators: shallow copy + modify, and case of hex.
Penalize out-of-order modifiers.
Allow for multiple results of a mutator (to preserve backward compatibility, we need to calculate penalties
in a very convoluted way...) - STILL NOT WORKING SATISFACTORY...
Highlight vietnamese and doubleaccent entries in an HTML table; write line explaining highlights.
Store geometry information extracted from the visual representation of layers (with keyline_offsets set in a visual section
or an ancestor); propagate to faces via the first layer, or geometry_via_layer.
New mutators uc/lc/Empty.
New Mutate[] atoms uc/lc/ucfirst/lcfirst (which act only when they change letter, and the result is of length 1 - see U+1fa6, or rho with aspirations)
Fix caching of ancillary layers in for 'all_layers' mode.
Add manual-* maps for coptic script.
Start documenting the engine of layer recipes.
Add more fix-uc/lc pairs for v>5.1.
In HTML tables: highlight zero-width chars, soft-hyphen and whitespace; allow manual addition of paragraphs;
auto-generate the table header.
New root key of .kbdd: VERSION.
New charlists mes1, mes2, mes3b.
perl -C2 -wane "next unless /^[\da-f]{2}\s/i; my $p = (hex shift @F)<<8; for (@F) {print(chr($p + hex)), next unless /\W/; my @r = split /\W+/; for my $c (hex $r[0] .. hex $r[1]) {print chr($p+$c)}}" ! >o3b
http://web.archive.org/web/20000815100817/http://www.egt.ie/standards/iso10646/pdf/cwa13873.pdf
izKeys: Remove duplicates from comma/cedilla/ogonek map, and fuse with dot/ring.
Simplify greekize on comma/cedilla/ogonek.
Rename layers and faces to better reflect the semantic.
Micro-optimize layout (now compatible with all http://en.wikipedia.org/wiki/Latin-derived_alphabet).
Add retroflex hook on acute-on-top-of-acute, fishhook to hat, reversed to acute/grave, tilde-below
on breve-on-grave, Ã-smallcaps on AltGr-$ Ã.
Split macron into macron and slash maps (miss therefore and midline ellipsis). (All *letters* from EurKey++ accessible now.)
Add inverted breve to macron (to reach a/u, allow removing acute; manually slide ÈÈ to AltGr-less positions Kk).
Make AltGr-/ insert macron under diaeresis (so Ṻṻ appear).
Remove binding for TONOS and YPOGEGRAMMENI from `_ in the Greek face.
Fully implement polytonic Greek vowels; full Coptic alphabet support: the prefix keys working AFTER greek prefix:
[ and ] prefix keys for the corresponding aspiration; each vowels is entered via 4 keys on the
vowel's key's principal diagonal as: digit row: circumflex; QWERTY row: acute, ASDF row: plain,
ZXCV row: grave; add AltGr for diaresis or iotation. Ï is entered on `.
\ prefix key: the same without aspiration (but "plain without iotation" is replaced by vrachy=breve, and the
next neighbour ASDF-row letter gives macron); all letters are "upgraded", so acute is actually oxia (not tonos),
Ï
-diaeresis-acute gives Ï (on AltGr-u), and epsilon/rho are replaced by the corresponding symbols ϵ ϼ (on d
and `; rho is stroked).
("Standalone diacritics" are put on the place of non-existing omicron with dialytika: 9ol.-column with AltGr
[ heuristic: on AltGr-. ];
add Shift to get variants with dialytika. As exceptions, coronis is entered as psili with shift (on
] AltGr-L), and the "no-accents position" \ AltGr-l gives YPOGEGRAMMENI/PROSGEGRAMMENI (without/with Shift),
while \ 3 and \ # give lower/upper number signs. Standalone tonos is on \ AltGr-3; shift to add dialytika.)
` prefix key: Coptic analogues of greek letters, and j/J --> á¸aná¸ia, v/V --> fei, hyphen --> double-hyphen;
the letters without Greek analogue are on AltGr-letter where the "letter" is the first letter of the
name on Wikipedia page (or the first letter of Unicode name for DEI and KHEI [ti and xai]).
Additional "random" AltGr-letters: Bactrian sho on b/B; ½-H heta Ͱ/ͱ on i; yot ϳ on j; Pamphylian digamma Ͷ/ͷ
on g; san Ϻ/Ï» on m, Ï on Y, lunate sigmas ϲ/Ϲ on l, reversed lunate sigmas Í»/Ͻ on o, reversed epsilon ϶
on e, kai's Ï/Ï on q, (reversed) dotted lunate sigmas ͽ/Ï¿ ͼ/Ͼ on r and u, and archaic sampi Ͳ/ͳ on n.
On Greek face: add Ï as an AltGr-variant of Ϋ (this completes the coverage of greek ranges).
On 0483 Cyrillic: add Modifier-ᵸ and smallcaps ᴫ on Shifted positions;
on AltGr-positions: enter more obscure letters...
Have all letters used in current languages (including Enets with 70 speakers ;-), according to Wikipedia tables;
(old Komi scripts are on comma, and some zee's on zero ;-). But tables in ru.wikipedia mention also
0514 <Ô> CYRILLIC CAPITAL LETTER LHA [Cyrillic; Cyrillic Supplement; 5.1]
0520 <Ô > CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK [Cyrillic; Cyrillic Supplement; 5.1]
0522 <Ô¢> CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK [Cyrillic; Cyrillic Supplement; 5.1]
- anyway, what is missing is only 6 lc/uc-pairs (all with: from v5.1, for obsolete scripts, for non-Slavic lang):
ÔÔ¡Ô£ê£ê¥ê (3л, 1н and 2д; one binding slot - on Ñ - still unused).
Repeat greek number signs Shift-inverted on []-prefixes, and add digit subscripts to Coptic
(to enable access from CyrillicPhonetic - obscured by ÑЪÑÐ).
Set version to 0.01.
To access Ȧȧ, add on / (undoing `: on à ); for z-hook, put on ¨ z; etc - many small changes.
Add obsolete Zhuang tone marks to Coptic (!) AltGr-numbers.
Restore compatibility with Bépo, and micro-optimize comparing with M#S-1/2/3b.
-VEND -UM
print_nameslist.pl: Update to use non-beta Unicode files.
New option -hex.
0.09 Cache results of Unicode::UCD::charinfo --> 2.3x speedup of processing.
Cache results of <any-foo> - speeds up things another 2x, but behaves bad w.r.t. pairing of uc/lc letters.
Report resolution of mutator recipes if UI_KEYBOARDLAYOUT_REPORT_MUTATORS is set in environment;
bit 0x1 for concise report, bit 0x2 for verbose (to STDOUT!), bit 0x4 for details of sorting compositions,
bit 0x8 for composing, bit 0x10 for caching <any-*> compose, bit 0x20 for inhibiting cache-merging <any-*>.
Explicit penalization was applied to a Shift-pair of characters even if it is not an lc/uc-pair.
Allow partial penalization (via \ú).
Extra arguments $omit (not used yet) and $do_lc, $do_uc for shift_pop_composition().
Allow for fallbacks in prefix keys sharing a recipe in opposite direction (after the second ||||).
Penalize lists start anew in every ||||- (or top |||-) section.
New semantic of repetition on these sections: we do not extract a char already extracted in previous section,
but may extract a char mentioned there, but not extracted.
New variant of Mutate*(): Mutate32OK[].
+ starting Mutate[]'s directives means "primary recipe"; ||| etc are the same as |.
(Now can share the whole primary directives.)
Allow -recipe1+recipe2 in a mutator (including <any-foo> in recipe1 - need to switch off caching!).
Fix the UP/DOWN TACK mixup in Unicode names.
Add version numbers to the coverage report.
New coverage lists: IPA-obsolete-and-capital-small and UPA (Uralic PA).
Penalization via \á» was not working on double-occupation slots.
Add CÊ to phonetize.
Add uc/lc fixes for É and Ã.
Fix IPA-obsolete/etc coverage set (had 2 PUA from WikiPedia page; fix one of them both here and there).
izKeys.kbdd: Add `turned' to AltGr-'.
Tortoise parens supported (again!), 3 variants of 4, and bold braces.
Micro-optimize to the level of 0.01 - only much better.
Swap â /â¢; add symbols for special keys to Shift-Space; add images for special keys to Business;
with ⹠on Tab, ⤠on C-[, ⥠on C-];
NL and NUL considered as images (on C-Enter and C-\), and CR LF as symbols.
( run in 0.576 second using v1.01-cache-2.11-cpan-39bf76dae61 )