UI-KeyboardLayout

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

			  (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 )