aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/symbols/nbsp
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-07-13 07:48:55 +0000
committermarha <marha@users.sourceforge.net>2010-07-13 07:48:55 +0000
commitd8f81c980a46279ac619312a914b563144894512 (patch)
tree3d2dce1c24fa37edf81c47af2311dbaf56a763f6 /xorg-server/xkeyboard-config/symbols/nbsp
parent1812c17dc8e8f071d8731716849957e97bb2b974 (diff)
downloadvcxsrv-d8f81c980a46279ac619312a914b563144894512.tar.gz
vcxsrv-d8f81c980a46279ac619312a914b563144894512.tar.bz2
vcxsrv-d8f81c980a46279ac619312a914b563144894512.zip
Renamed xkbdata.src also on trunk since the current merging of subversion will loose all the changes in xkbdata.src when the directory is renamed on the source branch.
Diffstat (limited to 'xorg-server/xkeyboard-config/symbols/nbsp')
-rw-r--r--xorg-server/xkeyboard-config/symbols/nbsp197
1 files changed, 197 insertions, 0 deletions
diff --git a/xorg-server/xkeyboard-config/symbols/nbsp b/xorg-server/xkeyboard-config/symbols/nbsp
new file mode 100644
index 000000000..b3bc6a218
--- /dev/null
+++ b/xorg-server/xkeyboard-config/symbols/nbsp
@@ -0,0 +1,197 @@
+// $XKeyboardConfig$
+
+// Let Space key provide No-Break Space (NBSP), Narrow No-Break Space (NNBSP),
+// Zero-Width Non-Joiner (ZWNJ), and Zero-Width Joiner (ZWJ) for the desired
+// levels.
+
+
+////////////////////////////////////////
+// Only Space
+
+partial
+xkb_symbols "none" {
+ key <SPCE> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1]= [ space ]
+ };
+};
+
+
+////////////////////////////////////////
+// No-Break Space
+
+partial
+xkb_symbols "level2" {
+ key <SPCE> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1]= [ space, nobreakspace ]
+ };
+};
+
+
+// level3 & level3ns provide no-breaking spaces starting from level3
+// This is good for typographers but experience shows many users accidently
+// type no-breaking spaces on the CLI (resulting in errors)
+// Used by fr(latin9)
+partial
+xkb_symbols "level3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace ]
+ };
+};
+
+// level3s kills fourth level
+// Used by ca(multix)
+partial
+xkb_symbols "level3s" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
+ };
+};
+
+// for this reason pushing no-breaking spaces to level4 is the safe default nowadays
+partial
+xkb_symbols "level4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace ]
+ };
+};
+
+
+////////////////////////////////////////
+// Narrow No-Break Space
+
+// level3n provides narrow no-breaking space in addition to the normal one
+partial
+xkb_symbols "level3n" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, 0x100202F ]
+ };
+};
+
+// level4n provides narrow no-breaking space in addition to the normal one
+partial
+xkb_symbols "level4n" {
+ key <SPCE> {
+ type[Group1]="EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
+ };
+};
+
+// level4nl provides narrow no-breaking space in addition to the normal one
+// without forcing the use of level5 for mostly four-level layouts
+// Used by fr(oss), be(oss)…
+partial
+xkb_symbols "level4nl" {
+ key <SPCE> {
+ type[Group1]="LOCAL_EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
+ };
+};
+
+
+////////////////////////////////////////
+// Zero-Width Non-Joiner & Zero-Width Joiner
+// Author: Behnam Esfahbod <behnam@esfahbod.info>
+
+// ZWNJ and ZWJ are widely used in Persian, Kurdinsh, Pashto, Uzbek and other
+// languages that use PersoArabic script.
+
+
+// ZWNJ on level 2
+partial
+xkb_symbols "zwnj2" {
+ key <SPCE> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1]= [ space, 0x100200c ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+partial
+xkb_symbols "zwnj2zwj3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, 0x100200d ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+// NBSP on level 4
+partial
+xkb_symbols "zwnj2zwj3nb4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, 0x100200d, nobreakspace ]
+ };
+};
+
+// ZWNJ on level 2
+// NBSP on level 3
+// Used by ir(ku_ara), af(basic), af(ps), af(uz), af(olpc-fa), af(olpc-ps), af(olpc-uz)
+partial
+xkb_symbols "zwnj2nb3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+// NBSP on level 4
+// Used by lk(sin_phonetic)
+partial
+xkb_symbols "zwnj2nb3s" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, NoSymbol ]
+ };
+};
+
+
+// ZWNJ on level 2
+// NBSP on level 3
+// ZWJ on level 4
+partial
+xkb_symbols "zwnj2nb3zwj4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100200d ]
+ };
+};
+
+
+// ZWNJ on level 2
+// NBSP on level 3
+// NNBSP on level 4
+// Used by ir(pes)
+partial
+xkb_symbols "zwnj2nb3nnb4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100202F ]
+ };
+};
+
+
+// ZWNJ on level 3
+// ZWJ on level 4
+// Used by in(deva), in(olpc)
+partial
+xkb_symbols "zwnj3zwj4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, 0x100200c, 0x100200d ]
+ };
+};
+