xref: /aosp_15_r20/external/libxkbcommon/test/data/symbols/nbsp (revision 2b949d0487e80d67f1fda82db69e101e761f8064)
1*2b949d04SAndroid Build Coastguard Worker// Let Space key provide No-Break Space (NBSP), Narrow No-Break Space (NNBSP),
2*2b949d04SAndroid Build Coastguard Worker// Zero-Width Non-Joiner (ZWNJ), and Zero-Width Joiner (ZWJ) for the desired
3*2b949d04SAndroid Build Coastguard Worker// levels.
4*2b949d04SAndroid Build Coastguard Worker
5*2b949d04SAndroid Build Coastguard Worker
6*2b949d04SAndroid Build Coastguard Worker////////////////////////////////////////
7*2b949d04SAndroid Build Coastguard Worker// Only Space
8*2b949d04SAndroid Build Coastguard Worker
9*2b949d04SAndroid Build Coastguard Workerpartial
10*2b949d04SAndroid Build Coastguard Workerxkb_symbols "none" {
11*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
12*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
13*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space ]
14*2b949d04SAndroid Build Coastguard Worker  };
15*2b949d04SAndroid Build Coastguard Worker};
16*2b949d04SAndroid Build Coastguard Worker
17*2b949d04SAndroid Build Coastguard Worker
18*2b949d04SAndroid Build Coastguard Worker////////////////////////////////////////
19*2b949d04SAndroid Build Coastguard Worker// No-Break Space
20*2b949d04SAndroid Build Coastguard Worker
21*2b949d04SAndroid Build Coastguard Workerpartial
22*2b949d04SAndroid Build Coastguard Workerxkb_symbols "level2" {
23*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
24*2b949d04SAndroid Build Coastguard Worker    type[Group1]="TWO_LEVEL",
25*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, nobreakspace ]
26*2b949d04SAndroid Build Coastguard Worker  };
27*2b949d04SAndroid Build Coastguard Worker};
28*2b949d04SAndroid Build Coastguard Worker
29*2b949d04SAndroid Build Coastguard Worker
30*2b949d04SAndroid Build Coastguard Worker// level3 & level3ns provide no-breaking spaces starting from level3
31*2b949d04SAndroid Build Coastguard Worker// This is good for typographers but experience shows many users accidently
32*2b949d04SAndroid Build Coastguard Worker// type no-breaking spaces on the CLI (resulting in errors)
33*2b949d04SAndroid Build Coastguard Worker// Used by fr(latin9) and lt(std)
34*2b949d04SAndroid Build Coastguard Workerpartial
35*2b949d04SAndroid Build Coastguard Workerxkb_symbols "level3" {
36*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
37*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
38*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, space, nobreakspace ]
39*2b949d04SAndroid Build Coastguard Worker  };
40*2b949d04SAndroid Build Coastguard Worker};
41*2b949d04SAndroid Build Coastguard Worker
42*2b949d04SAndroid Build Coastguard Worker// level3s kills fourth level
43*2b949d04SAndroid Build Coastguard Worker// Used by ca(multix)
44*2b949d04SAndroid Build Coastguard Workerpartial
45*2b949d04SAndroid Build Coastguard Workerxkb_symbols "level3s" {
46*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
47*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
48*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
49*2b949d04SAndroid Build Coastguard Worker  };
50*2b949d04SAndroid Build Coastguard Worker};
51*2b949d04SAndroid Build Coastguard Worker
52*2b949d04SAndroid Build Coastguard Worker// for this reason pushing no-breaking spaces to level4 is the safe default nowadays
53*2b949d04SAndroid Build Coastguard Workerpartial
54*2b949d04SAndroid Build Coastguard Workerxkb_symbols "level4" {
55*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
56*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
57*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, space, space, nobreakspace ]
58*2b949d04SAndroid Build Coastguard Worker  };
59*2b949d04SAndroid Build Coastguard Worker};
60*2b949d04SAndroid Build Coastguard Worker
61*2b949d04SAndroid Build Coastguard Worker
62*2b949d04SAndroid Build Coastguard Worker////////////////////////////////////////
63*2b949d04SAndroid Build Coastguard Worker// Narrow No-Break Space
64*2b949d04SAndroid Build Coastguard Worker
65*2b949d04SAndroid Build Coastguard Worker// level3n provides narrow no-breaking space in addition to the normal one
66*2b949d04SAndroid Build Coastguard Workerpartial
67*2b949d04SAndroid Build Coastguard Workerxkb_symbols "level3n" {
68*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
69*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
70*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, space, nobreakspace, 0x100202F ]
71*2b949d04SAndroid Build Coastguard Worker  };
72*2b949d04SAndroid Build Coastguard Worker};
73*2b949d04SAndroid Build Coastguard Worker
74*2b949d04SAndroid Build Coastguard Worker// level4n provides narrow no-breaking space in addition to the normal one
75*2b949d04SAndroid Build Coastguard Workerpartial
76*2b949d04SAndroid Build Coastguard Workerxkb_symbols "level4n" {
77*2b949d04SAndroid Build Coastguard Worker key <SPCE> {
78*2b949d04SAndroid Build Coastguard Worker   type[Group1]="EIGHT_LEVEL",
79*2b949d04SAndroid Build Coastguard Worker   symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
80*2b949d04SAndroid Build Coastguard Worker };
81*2b949d04SAndroid Build Coastguard Worker};
82*2b949d04SAndroid Build Coastguard Worker
83*2b949d04SAndroid Build Coastguard Worker// level4nl provides narrow no-breaking space in addition to the normal one
84*2b949d04SAndroid Build Coastguard Worker// without forcing the use of level5 for mostly four-level layouts
85*2b949d04SAndroid Build Coastguard Worker// Used by fr(oss), be(oss)…
86*2b949d04SAndroid Build Coastguard Workerpartial
87*2b949d04SAndroid Build Coastguard Workerxkb_symbols "level4nl" {
88*2b949d04SAndroid Build Coastguard Worker key <SPCE> {
89*2b949d04SAndroid Build Coastguard Worker   type[Group1]="LOCAL_EIGHT_LEVEL",
90*2b949d04SAndroid Build Coastguard Worker   symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
91*2b949d04SAndroid Build Coastguard Worker };
92*2b949d04SAndroid Build Coastguard Worker};
93*2b949d04SAndroid Build Coastguard Worker
94*2b949d04SAndroid Build Coastguard Worker
95*2b949d04SAndroid Build Coastguard Worker////////////////////////////////////////
96*2b949d04SAndroid Build Coastguard Worker// Zero-Width Non-Joiner & Zero-Width Joiner
97*2b949d04SAndroid Build Coastguard Worker// Author: Behnam Esfahbod <[email protected]>
98*2b949d04SAndroid Build Coastguard Worker
99*2b949d04SAndroid Build Coastguard Worker// ZWNJ and ZWJ are widely used in Persian, Kurdinsh, Pashto, Uzbek and other
100*2b949d04SAndroid Build Coastguard Worker// languages that use PersoArabic script.
101*2b949d04SAndroid Build Coastguard Worker
102*2b949d04SAndroid Build Coastguard Worker
103*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 2
104*2b949d04SAndroid Build Coastguard Workerpartial
105*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj2" {
106*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
107*2b949d04SAndroid Build Coastguard Worker    type[Group1]="TWO_LEVEL",
108*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, 0x100200c ]
109*2b949d04SAndroid Build Coastguard Worker  };
110*2b949d04SAndroid Build Coastguard Worker};
111*2b949d04SAndroid Build Coastguard Worker
112*2b949d04SAndroid Build Coastguard Worker
113*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 2
114*2b949d04SAndroid Build Coastguard Worker// ZWJ on level 3
115*2b949d04SAndroid Build Coastguard Workerpartial
116*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj2zwj3" {
117*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
118*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
119*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, 0x100200c, 0x100200d ]
120*2b949d04SAndroid Build Coastguard Worker  };
121*2b949d04SAndroid Build Coastguard Worker};
122*2b949d04SAndroid Build Coastguard Worker
123*2b949d04SAndroid Build Coastguard Worker
124*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 2
125*2b949d04SAndroid Build Coastguard Worker// ZWJ on level 3
126*2b949d04SAndroid Build Coastguard Worker// NBSP on level 4
127*2b949d04SAndroid Build Coastguard Workerpartial
128*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj2zwj3nb4" {
129*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
130*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
131*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, 0x100200c, 0x100200d, nobreakspace ]
132*2b949d04SAndroid Build Coastguard Worker  };
133*2b949d04SAndroid Build Coastguard Worker};
134*2b949d04SAndroid Build Coastguard Worker
135*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 2
136*2b949d04SAndroid Build Coastguard Worker// NBSP on level 3
137*2b949d04SAndroid Build Coastguard Worker// Used by ir(ku_ara), af(basic), af(ps), af(uz), af(olpc-fa), af(olpc-ps), af(olpc-uz)
138*2b949d04SAndroid Build Coastguard Workerpartial
139*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj2nb3" {
140*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
141*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
142*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, 0x100200c, nobreakspace ]
143*2b949d04SAndroid Build Coastguard Worker  };
144*2b949d04SAndroid Build Coastguard Worker};
145*2b949d04SAndroid Build Coastguard Worker
146*2b949d04SAndroid Build Coastguard Worker
147*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 2
148*2b949d04SAndroid Build Coastguard Worker// NBSP on level 3
149*2b949d04SAndroid Build Coastguard Workerpartial
150*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj2nb3s" {
151*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
152*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
153*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, 0x100200c, nobreakspace, NoSymbol ]
154*2b949d04SAndroid Build Coastguard Worker  };
155*2b949d04SAndroid Build Coastguard Worker};
156*2b949d04SAndroid Build Coastguard Worker
157*2b949d04SAndroid Build Coastguard Worker
158*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 2
159*2b949d04SAndroid Build Coastguard Worker// NBSP on level 3
160*2b949d04SAndroid Build Coastguard Worker// ZWJ on level 4
161*2b949d04SAndroid Build Coastguard Workerpartial
162*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj2nb3zwj4" {
163*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
164*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
165*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100200d ]
166*2b949d04SAndroid Build Coastguard Worker  };
167*2b949d04SAndroid Build Coastguard Worker};
168*2b949d04SAndroid Build Coastguard Worker
169*2b949d04SAndroid Build Coastguard Worker
170*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 2
171*2b949d04SAndroid Build Coastguard Worker// NBSP on level 3
172*2b949d04SAndroid Build Coastguard Worker// NNBSP on level 4
173*2b949d04SAndroid Build Coastguard Worker// Used by ir(pes)
174*2b949d04SAndroid Build Coastguard Workerpartial
175*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj2nb3nnb4" {
176*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
177*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
178*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100202F ]
179*2b949d04SAndroid Build Coastguard Worker  };
180*2b949d04SAndroid Build Coastguard Worker};
181*2b949d04SAndroid Build Coastguard Worker
182*2b949d04SAndroid Build Coastguard Worker
183*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 3
184*2b949d04SAndroid Build Coastguard Worker// ZWJ on level 4
185*2b949d04SAndroid Build Coastguard Worker// Used by in(deva), in(olpc)
186*2b949d04SAndroid Build Coastguard Workerpartial
187*2b949d04SAndroid Build Coastguard Workerxkb_symbols "zwnj3zwj4" {
188*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
189*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
190*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, space, 0x100200c, 0x100200d ]
191*2b949d04SAndroid Build Coastguard Worker  };
192*2b949d04SAndroid Build Coastguard Worker};
193*2b949d04SAndroid Build Coastguard Worker
194*2b949d04SAndroid Build Coastguard Worker
195*2b949d04SAndroid Build Coastguard Worker// NBSP on level 2
196*2b949d04SAndroid Build Coastguard Worker// ZWNJ on level 3
197*2b949d04SAndroid Build Coastguard Worker// Used by lk(sin_phonetic)
198*2b949d04SAndroid Build Coastguard Workerpartial
199*2b949d04SAndroid Build Coastguard Workerxkb_symbols "nb2zwnj3s" {
200*2b949d04SAndroid Build Coastguard Worker  key <SPCE> {
201*2b949d04SAndroid Build Coastguard Worker    type[Group1]="FOUR_LEVEL",
202*2b949d04SAndroid Build Coastguard Worker    symbols[Group1]= [ space, nobreakspace, 0x100200c, NoSymbol ]
203*2b949d04SAndroid Build Coastguard Worker  };
204*2b949d04SAndroid Build Coastguard Worker};
205