1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
|
<a name="transcript"></a>
# Transcript
[[!template new="1" text="Greetings. Salaam. This is Mohsen Banan." start="00:00:02.960" video="mainVideo" id=subtitle]]
[[!template text="I am an Iranian software and internet engineer." start="00:00:10.240" video="mainVideo" id=subtitle]]
[[!template text="I converted to Emacs in 1986." start="00:00:14.080" video="mainVideo" id=subtitle]]
[[!template text="It was Emacs version 17 then." start="00:00:17.199" video="mainVideo" id=subtitle]]
[[!template text="By around 1988, when Emacs version 18" start="00:00:20.480" video="mainVideo" id=subtitle]]
[[!template text="was well in place," start="00:00:23.920" video="mainVideo" id=subtitle]]
[[!template text="I started living inside of Emacs." start="00:00:25.680" video="mainVideo" id=subtitle]]
[[!template text="My primary digital environment" start="00:00:28.960" video="mainVideo" id=subtitle]]
[[!template text="has been Emacs ever since." start="00:00:31.119" video="mainVideo" id=subtitle]]
[[!template text="It has been a good life." start="00:00:33.680" video="mainVideo" id=subtitle]]
[[!template text="I'm a native Farsi speaker and writer." start="00:00:36.559" video="mainVideo" id=subtitle]]
[[!template text="I'm not a linguist," start="00:00:40.000" video="mainVideo" id=subtitle]]
[[!template text="and I do not specialize in" start="00:00:41.520" video="mainVideo" id=subtitle]]
[[!template text="multilingualization, internationalization," start="00:00:43.800" video="mainVideo" id=subtitle]]
[[!template text="and localization." start="00:00:46.719" video="mainVideo" id=subtitle]]
[[!template text="My favorite programming language is Lisp," start="00:00:48.879" video="mainVideo" id=subtitle]]
[[!template text="and I am a bit of an Emacs developer." start="00:00:52.239" video="mainVideo" id=subtitle]]
[[!template new="1" text="This presentation is about use of" start="00:00:58.320" video="mainVideo" id=subtitle]]
[[!template text="Perso-Arabic Scripts with Emacs." start="00:01:00.719" video="mainVideo" id=subtitle]]
[[!template text="It's an overview presentation." start="00:01:04.000" video="mainVideo" id=subtitle]]
[[!template text="I won't be digging deep" start="00:01:06.720" video="mainVideo" id=subtitle]]
[[!template text="in many of the mentioned topics." start="00:01:08.320" video="mainVideo" id=subtitle]]
[[!template text="My goal is to make you aware" start="00:01:11.360" video="mainVideo" id=subtitle]]
[[!template text="of what can be done with Emacs today," start="00:01:13.119" video="mainVideo" id=subtitle]]
[[!template text="and the potentials that Emacs presents" start="00:01:16.159" video="mainVideo" id=subtitle]]
[[!template text="for Perso-Arabic writers." start="00:01:19.280" video="mainVideo" id=subtitle]]
[[!template text="The main topics that i'll cover are:" start="00:01:22.640" video="mainVideo" id=subtitle]]
[[!template text="- a brief introduction to Perso-Arabic scripts" start="00:01:25.759" video="mainVideo" id=subtitle]]
[[!template text="- two existing Emacs Persian input methods" start="00:01:30.320" video="mainVideo" id=subtitle]]
[[!template text="- the challenges involved with" start="00:01:35.119" video="mainVideo" id=subtitle]]
[[!template text="making Emacs applications bidirectional-aware" start="00:01:36.960" video="mainVideo" id=subtitle]]
[[!template text="- the ultimate goal of creating" start="00:01:42.960" video="mainVideo" id=subtitle]]
[[!template text="a complete digital environment" start="00:01:45.280" video="mainVideo" id=subtitle]]
[[!template text="for Perso-Arabic writers" start="00:01:47.759" video="mainVideo" id=subtitle]]
[[!template text="I'll also be including various pointers." start="00:01:51.200" video="mainVideo" id=subtitle]]
[[!template new="1" text="So first, let's make sure" start="00:01:57.680" video="mainVideo" id=subtitle]]
[[!template text="that what I'm presenting" start="00:02:00.320" video="mainVideo" id=subtitle]]
[[!template text="is of interest to you." start="00:02:02.079" video="mainVideo" id=subtitle]]
[[!template text="if you are a Perso-Arabic writer" start="00:02:04.560" video="mainVideo" id=subtitle]]
[[!template text="and if you use Emacs," start="00:02:07.040" video="mainVideo" id=subtitle]]
[[!template text="you're definitely my intended audience." start="00:02:08.879" video="mainVideo" id=subtitle]]
[[!template text="If you're an Emacs developer" start="00:02:12.720" video="mainVideo" id=subtitle]]
[[!template text="who wishes to make her Emacs apps" start="00:02:15.120" video="mainVideo" id=subtitle]]
[[!template text="multilingual and bidi-aware," start="00:02:19.120" video="mainVideo" id=subtitle]]
[[!template text="you're also my intended audience." start="00:02:22.000" video="mainVideo" id=subtitle]]
[[!template new="1" text="For the purposes of this presentation," start="00:02:27.360" video="mainVideo" id=subtitle]]
[[!template text="in this slide, I'm categorizing scripts" start="00:02:30.480" video="mainVideo" id=subtitle]]
[[!template text="based on directionality and shaping." start="00:02:34.160" video="mainVideo" id=subtitle]]
[[!template text="Latin letters are not shaped." start="00:02:39.040" video="mainVideo" id=subtitle]]
[[!template text="Generally speaking," start="00:02:41.280" video="mainVideo" id=subtitle]]
[[!template text="the shape of a Latin letter" start="00:02:43.120" video="mainVideo" id=subtitle]]
[[!template text="is independent of its position in a word." start="00:02:44.800" video="mainVideo" id=subtitle]]
[[!template text="Perso-Arabic letters are subject to shaping." start="00:02:49.599" video="mainVideo" id=subtitle]]
[[!template text="For example the letter mim--" start="00:02:53.280" video="mainVideo" id=subtitle]]
[[!template text="sounding similar to M--" start="00:02:56.319" video="mainVideo" id=subtitle]]
[[!template text="takes three shapes depending on whether" start="00:02:58.800" video="mainVideo" id=subtitle]]
[[!template text="it is in the beginning of a word," start="00:03:01.840" video="mainVideo" id=subtitle]]
[[!template text="in the middle of a word," start="00:03:04.720" video="mainVideo" id=subtitle]]
[[!template text="or at the end of a word." start="00:03:06.480" video="mainVideo" id=subtitle]]
[[!template text="I'll be showing more of how shaping works" start="00:03:09.200" video="mainVideo" id=subtitle]]
[[!template text="in an Emacs session screencast later." start="00:03:12.159" video="mainVideo" id=subtitle]]
[[!template text="Shaping has ramifications" start="00:03:16.400" video="mainVideo" id=subtitle]]
[[!template text="for Emacs application developers." start="00:03:18.159" video="mainVideo" id=subtitle]]
[[!template text="For example, if you are combining" start="00:03:21.040" video="mainVideo" id=subtitle]]
[[!template text="initial letters to create a label," start="00:03:23.760" video="mainVideo" id=subtitle]]
[[!template text="those letters can be shaped together--" start="00:03:26.720" video="mainVideo" id=subtitle]]
[[!template text="which is not what you want." start="00:03:29.680" video="mainVideo" id=subtitle]]
[[!template text="In such cases, you would need to" start="00:03:31.760" video="mainVideo" id=subtitle]]
[[!template text="explicitly keep them separate." start="00:03:34.000" video="mainVideo" id=subtitle]]
[[!template text="Latin-based scripts are always" start="00:03:37.840" video="mainVideo" id=subtitle]]
[[!template text="left-to-right." start="00:03:40.799" video="mainVideo" id=subtitle]]
[[!template text="Perso-Arabic scripts are right-to-left" start="00:03:42.560" video="mainVideo" id=subtitle]]
[[!template text="with letters, but numbers are left-to-right." start="00:03:46.560" video="mainVideo" id=subtitle]]
[[!template text="So, Perso-Arabic scripts" start="00:03:51.040" video="mainVideo" id=subtitle]]
[[!template text="are bi-directional (BIDI)." start="00:03:53.040" video="mainVideo" id=subtitle]]
[[!template text="Hebrew is also bi-directional," start="00:03:56.319" video="mainVideo" id=subtitle]]
[[!template text="but Hebrew is not shaped." start="00:03:58.879" video="mainVideo" id=subtitle]]
[[!template text="More recently, it has become very common" start="00:04:02.159" video="mainVideo" id=subtitle]]
[[!template text="to mix Perso-Arabic and Latin text." start="00:04:05.680" video="mainVideo" id=subtitle]]
[[!template text="This can become very confusing" start="00:04:10.400" video="mainVideo" id=subtitle]]
[[!template text="if paragraph directionality" start="00:04:12.560" video="mainVideo" id=subtitle]]
[[!template text="is not properly observed." start="00:04:14.959" video="mainVideo" id=subtitle]]
[[!template text="I'll be providing some examples" start="00:04:17.759" video="mainVideo" id=subtitle]]
[[!template text="as screencasts." start="00:04:20.000" video="mainVideo" id=subtitle]]
[[!template text="The Emacs display engine" start="00:04:23.120" video="mainVideo" id=subtitle]]
[[!template text="now fully and well supports" start="00:04:24.880" video="mainVideo" id=subtitle]]
[[!template text="both shaping and BIDI." start="00:04:27.280" video="mainVideo" id=subtitle]]
[[!template new="1" text="Since 2012, starting with Emacs version 24," start="00:04:32.080" video="mainVideo" id=subtitle]]
[[!template text="we can say that Emacs" start="00:04:37.120" video="mainVideo" id=subtitle]]
[[!template text="is a truly multilingual-capable environment." start="00:04:38.639" video="mainVideo" id=subtitle]]
[[!template text="Like everything else," start="00:04:43.600" video="mainVideo" id=subtitle]]
[[!template text="multilingual support for Emacs" start="00:04:45.040" video="mainVideo" id=subtitle]]
[[!template text="was added gradually." start="00:04:46.880" video="mainVideo" id=subtitle]]
[[!template text="Unicode support was added early on." start="00:04:49.280" video="mainVideo" id=subtitle]]
[[!template text="The framework for input methods evolved" start="00:04:52.560" video="mainVideo" id=subtitle]]
[[!template text="in the 1990s. But it was not till version 24" start="00:04:55.520" video="mainVideo" id=subtitle]]
[[!template text="in 2012 that the display engine" start="00:05:00.320" video="mainVideo" id=subtitle]]
[[!template text="could fully support BIDI." start="00:05:03.360" video="mainVideo" id=subtitle]]
[[!template text="Hats off to Eli Zaretskii" start="00:05:06.240" video="mainVideo" id=subtitle]]
[[!template text="for his work on Emacs BIDI." start="00:05:08.800" video="mainVideo" id=subtitle]]
[[!template text="Once full BIDI support was in place" start="00:05:12.960" video="mainVideo" id=subtitle]]
[[!template text="in 2012, I went ahead and added" start="00:05:15.600" video="mainVideo" id=subtitle]]
[[!template text="two Persian input methods to Emacs 24." start="00:05:19.199" video="mainVideo" id=subtitle]]
[[!template text="So now Emacs fully supports" start="00:05:24.000" video="mainVideo" id=subtitle]]
[[!template text="Perso-Arabic scripts." start="00:05:26.400" video="mainVideo" id=subtitle]]
[[!template new="1" text="By Perso-Arabic script, we're referring to" start="00:05:30.639" video="mainVideo" id=subtitle]]
[[!template text="the Arabic writing system" start="00:05:34.080" video="mainVideo" id=subtitle]]
[[!template text="with various extensions" start="00:05:36.320" video="mainVideo" id=subtitle]]
[[!template text="used by a large number of languages." start="00:05:38.160" video="mainVideo" id=subtitle]]
[[!template text="Perso-Arabic is the second most" start="00:05:42.240" video="mainVideo" id=subtitle]]
[[!template text="widely used writing system in the world" start="00:05:44.479" video="mainVideo" id=subtitle]]
[[!template text="by the number of countries." start="00:05:47.520" video="mainVideo" id=subtitle]]
[[!template text="It is the third by the number of users" start="00:05:50.479" video="mainVideo" id=subtitle]]
[[!template text="after the Latin and Chinese scripts." start="00:05:54.000" video="mainVideo" id=subtitle]]
[[!template text="So, by well supporting Perso-Arabic," start="00:05:59.039" video="mainVideo" id=subtitle]]
[[!template text="Emacs's potential user base" start="00:06:02.160" video="mainVideo" id=subtitle]]
[[!template text="can be greatly enhanced." start="00:06:04.720" video="mainVideo" id=subtitle]]
[[!template new="1" text="Before focusing on the Persian input methods," start="00:06:09.919" video="mainVideo" id=subtitle]]
[[!template text="let me quickly summarize" start="00:06:12.960" video="mainVideo" id=subtitle]]
[[!template text="Emacs's input methods model." start="00:06:14.960" video="mainVideo" id=subtitle]]
[[!template text="Input methods allow you to enter characters" start="00:06:18.319" video="mainVideo" id=subtitle]]
[[!template text="that are not supported by your keyboard." start="00:06:21.360" video="mainVideo" id=subtitle]]
[[!template text="With Quail maps, we can map ASCII key strings" start="00:06:25.120" video="mainVideo" id=subtitle]]
[[!template text="to multilingual characters." start="00:06:29.280" video="mainVideo" id=subtitle]]
[[!template text="So we can input any text" start="00:06:31.919" video="mainVideo" id=subtitle]]
[[!template text="from an ASCII keyboard." start="00:06:34.080" video="mainVideo" id=subtitle]]
[[!template text="You select an input method" start="00:06:36.960" video="mainVideo" id=subtitle]]
[[!template text="with C-x RET C-\ ." start="00:06:38.960" video="mainVideo" id=subtitle]]
[[!template text="We'll try that in a screencast shortly." start="00:06:44.400" video="mainVideo" id=subtitle]]
[[!template new="1" text="Since version 24, Emacs comes loaded with" start="00:06:49.919" video="mainVideo" id=subtitle]]
[[!template text="two Persian input methods:" start="00:06:53.919" video="mainVideo" id=subtitle]]
[[!template text="farsi-isiri-9147 is the standard" start="00:06:56.880" video="mainVideo" id=subtitle]]
[[!template text="traditional Iranian keyboard." start="00:07:01.520" video="mainVideo" id=subtitle]]
[[!template text="farsi-transliterate-banan is an intuitive" start="00:07:04.960" video="mainVideo" id=subtitle]]
[[!template text="transliteration keyboard for Farsi" start="00:07:09.199" video="mainVideo" id=subtitle]]
[[!template text="which requires near-zero training for use." start="00:07:12.319" video="mainVideo" id=subtitle]]
[[!template text="I'll be mostly focused on" start="00:07:16.960" video="mainVideo" id=subtitle]]
[[!template text="farsi-transliterate-banan" start="00:07:18.960" video="mainVideo" id=subtitle]]
[[!template text="in this presentation." start="00:07:21.520" video="mainVideo" id=subtitle]]
[[!template text="So let's try this out." start="00:07:23.919" video="mainVideo" id=subtitle]]
[[!template new="1" text="In this gif-cast, we're going to select" start="00:07:27.840" video="mainVideo" id=subtitle]]
[[!template text="a Persian input method" start="00:07:30.319" video="mainVideo" id=subtitle]]
[[!template text="and write a few simple sentences." start="00:07:32.240" video="mainVideo" id=subtitle]]
[[!template text="With no training and no documentation," start="00:07:35.280" video="mainVideo" id=subtitle]]
[[!template text="any Farsi writer familiar with Emacs" start="00:07:38.160" video="mainVideo" id=subtitle]]
[[!template text="can write these, as farsi-transliterate-banan" start="00:07:41.360" video="mainVideo" id=subtitle]]
[[!template text="input method is intuitive." start="00:07:45.440" video="mainVideo" id=subtitle]]
[[!template text="I'll be using keycast" start="00:07:48.560" video="mainVideo" id=subtitle]]
[[!template text="to show you keys as they are used." start="00:07:50.400" video="mainVideo" id=subtitle]]
[[!template text="Let me first describe as to what we have" start="00:07:54.160" video="mainVideo" id=subtitle]]
[[!template text="on the screen." start="00:07:56.560" video="mainVideo" id=subtitle]]
[[!template text="There are three windows in one frame." start="00:07:58.720" video="mainVideo" id=subtitle]]
[[!template text="Keycast will show commands and keys" start="00:08:01.520" video="mainVideo" id=subtitle]]
[[!template text="on the mode line." start="00:08:04.639" video="mainVideo" id=subtitle]]
[[!template text="The leftmost window is showing" start="00:08:06.319" video="mainVideo" id=subtitle]]
[[!template text="logs of keycast." start="00:08:08.639" video="mainVideo" id=subtitle]]
[[!template text="Transformed individual unshaped letters" start="00:08:10.879" video="mainVideo" id=subtitle]]
[[!template text="will appear here." start="00:08:14.639" video="mainVideo" id=subtitle]]
[[!template text="The middle window is running a tail -f" start="00:08:17.360" video="mainVideo" id=subtitle]]
[[!template text="on the dribble file piped to fold -w1." start="00:08:21.120" video="mainVideo" id=subtitle]]
[[!template text="This lets you see the raw ASCII characters" start="00:08:27.440" video="mainVideo" id=subtitle]]
[[!template text="as I type them." start="00:08:30.720" video="mainVideo" id=subtitle]]
[[!template text="The right window is the empty buffer" start="00:08:34.479" video="mainVideo" id=subtitle]]
[[!template text="on the ex.fa file." start="00:08:37.839" video="mainVideo" id=subtitle]]
[[!template text="Anything that I described here" start="00:08:41.680" video="mainVideo" id=subtitle]]
[[!template text="can be done with virgin Emacs distribution" start="00:08:44.560" video="mainVideo" id=subtitle]]
[[!template text="with nothing added," start="00:08:49.040" video="mainVideo" id=subtitle]]
[[!template text="but I'm using Blee" start="00:08:51.360" video="mainVideo" id=subtitle]]
[[!template text="(By* Libre-Halaal Emacs Environment)" start="00:08:53.760" video="mainVideo" id=subtitle]]
[[!template text="to show things. You don't need to have blee" start="00:08:57.120" video="mainVideo" id=subtitle]]
[[!template text="for writing the equivalent of the text" start="00:09:02.720" video="mainVideo" id=subtitle]]
[[!template text="in this gif-cast." start="00:09:07.600" video="mainVideo" id=subtitle]]
[[!template text="First, I'm going to select" start="00:09:10.800" video="mainVideo" id=subtitle]]
[[!template text="the farsi-transliterate-banan." start="00:09:13.440" video="mainVideo" id=subtitle]]
[[!template text="I'm entering C-x RET C-\ ." start="00:09:16.800" video="mainVideo" id=subtitle]]
[[!template text="Notice the mode -ine" start="00:09:22.080" video="mainVideo" id=subtitle]]
[[!template text="and the prompt at mini-buffer." start="00:09:23.839" video="mainVideo" id=subtitle]]
[[!template text="With completion, I'm going to select" start="00:09:27.040" video="mainVideo" id=subtitle]]
[[!template text="farsi-transliterate-banan." start="00:09:30.399" video="mainVideo" id=subtitle]]
[[!template text="Notice that farsi-isiri-9147" start="00:09:34.000" video="mainVideo" id=subtitle]]
[[!template text="was also provided as a choice." start="00:09:38.560" video="mainVideo" id=subtitle]]
[[!template text="Also notice that the letter 'b' appears" start="00:09:43.360" video="mainVideo" id=subtitle]]
[[!template text="in the left of the mode line of ex.fa." start="00:09:47.440" video="mainVideo" id=subtitle]]
[[!template text="This indicates which input method" start="00:09:51.760" video="mainVideo" id=subtitle]]
[[!template text="has been selected." start="00:09:54.000" video="mainVideo" id=subtitle]]
[[!template text="Also notice that cursor is on" start="00:09:56.320" video="mainVideo" id=subtitle]]
[[!template text="the top left corner of ex.fa." start="00:09:58.560" video="mainVideo" id=subtitle]]
[[!template text="Next, I'm going to enter the 's' character." start="00:10:04.399" video="mainVideo" id=subtitle]]
[[!template text="Notice the cursor moved to the right," start="00:10:08.800" video="mainVideo" id=subtitle]]
[[!template text="and unshaped ’seen’ appeared" start="00:10:12.000" video="mainVideo" id=subtitle]]
[[!template text="in the ex.fa buffer, on the mode-line," start="00:10:15.120" video="mainVideo" id=subtitle]]
[[!template text="and in the keycast log buffer." start="00:10:20.079" video="mainVideo" id=subtitle]]
[[!template text="Next, I'm going to enter 'l'." start="00:10:23.760" video="mainVideo" id=subtitle]]
[[!template text="Notice ل in the mode-line," start="00:10:28.000" video="mainVideo" id=subtitle]]
[[!template text="and notice how س was subjected to shaping." start="00:10:32.800" video="mainVideo" id=subtitle]]
[[!template text="Next I'm going to write the letter" start="00:10:39.920" video="mainVideo" id=subtitle]]
[[!template text="to write the following:" start="00:10:42.640" video="mainVideo" id=subtitle]]
[[!template text=" سلام –حال شما چه طوره؟ –با ایمکس همه کار میشه کرد" start="00:10:44.640" video="mainVideo" id=subtitle]]
[[!template text=""Hello, how are you?"" start="00:10:50.560" video="mainVideo" id=subtitle]]
[[!template text="You can do everything with Emacs." start="00:10:52.480" video="mainVideo" id=subtitle]]
[[!template text="Generally, same-sounding Latin characters" start="00:10:56.720" video="mainVideo" id=subtitle]]
[[!template text="are used. As usual, vowels are ignored" start="00:11:00.000" video="mainVideo" id=subtitle]]
[[!template text="unless called for." start="00:11:03.920" video="mainVideo" id=subtitle]]
[[!template text="Notice that in order to get ح," start="00:11:06.720" video="mainVideo" id=subtitle]]
[[!template text="i repeated 'h' twice." start="00:11:10.800" video="mainVideo" id=subtitle]]
[[!template text="ش" start="00:11:14.560" video="mainVideo" id=subtitle]]
[[!template text="is the obvious 'sh'." start="00:11:15.440" video="mainVideo" id=subtitle]]
[[!template text="چ" start="00:11:18.560" video="mainVideo" id=subtitle]]
[[!template text="is the obvious 'ch'." start="00:11:19.519" video="mainVideo" id=subtitle]]
[[!template text="t, that's the ط is upper case T." start="00:11:22.480" video="mainVideo" id=subtitle]]
[[!template text=" ت" start="00:11:28.640" video="mainVideo" id=subtitle]]
[[!template text="is lowercase t." start="00:11:29.439" video="mainVideo" id=subtitle]]
[[!template text="That's it. We managed to write in Farsi" start="00:11:31.839" video="mainVideo" id=subtitle]]
[[!template text="with a QWERTY keyboard, intuitively." start="00:11:34.880" video="mainVideo" id=subtitle]]
[[!template text="Next, we are going to switch back to" start="00:11:38.640" video="mainVideo" id=subtitle]]
[[!template text="globish and write "back to globish"." start="00:11:40.959" video="mainVideo" id=subtitle]]
[[!template text="Notice that the globish sentence" start="00:11:45.680" video="mainVideo" id=subtitle]]
[[!template text="started from the left side." start="00:11:47.920" video="mainVideo" id=subtitle]]
[[!template text="This is due to proper detection" start="00:11:50.959" video="mainVideo" id=subtitle]]
[[!template text="of paragraph directionality by Emacs." start="00:11:53.279" video="mainVideo" id=subtitle]]
[[!template new="1" text="For the most part, Emacs is self-documenting." start="00:12:00.160" video="mainVideo" id=subtitle]]
[[!template text="Here we are pointing you to some" start="00:12:05.600" video="mainVideo" id=subtitle]]
[[!template text="relevant self-contained Emacs resources." start="00:12:07.920" video="mainVideo" id=subtitle]]
[[!template text="The BIDI documentation applies to" start="00:12:12.880" video="mainVideo" id=subtitle]]
[[!template text="all BIDI scripts," start="00:12:15.680" video="mainVideo" id=subtitle]]
[[!template text="not just Perso-Arabic scripts." start="00:12:18.000" video="mainVideo" id=subtitle]]
[[!template text="Referring to the code" start="00:12:22.079" video="mainVideo" id=subtitle]]
[[!template text="can also be useful for some." start="00:12:23.279" video="mainVideo" id=subtitle]]
[[!template new="1" text="Here are some pointers." start="00:12:28.000" video="mainVideo" id=subtitle]]
[[!template text="The Quail translation code" start="00:12:30.079" video="mainVideo" id=subtitle]]
[[!template text="for Persian input methods:" start="00:12:32.399" video="mainVideo" id=subtitle]]
[[!template text="the persian.el file has full details" start="00:12:35.519" video="mainVideo" id=subtitle]]
[[!template text="of the mapping and some documentation." start="00:12:39.120" video="mainVideo" id=subtitle]]
[[!template new="1" text="Next, we'll show the keyboard layouts" start="00:12:44.000" video="mainVideo" id=subtitle]]
[[!template text="as a gif-cast. You can get" start="00:12:46.639" video="mainVideo" id=subtitle]]
[[!template text="relevant documentation for any input method" start="00:12:51.519" video="mainVideo" id=subtitle]]
[[!template text="with the describe-input-method command." start="00:12:55.519" video="mainVideo" id=subtitle]]
[[!template text="So, let's try that for farsi-transliterate-banan." start="00:13:00.320" video="mainVideo" id=subtitle]]
[[!template text="We are back in the ex.fa buffer" start="00:13:05.920" video="mainVideo" id=subtitle]]
[[!template text="as one window." start="00:13:09.360" video="mainVideo" id=subtitle]]
[[!template text="We don't need the keycast logging" start="00:13:11.279" video="mainVideo" id=subtitle]]
[[!template text="and the dribble windows any more." start="00:13:13.839" video="mainVideo" id=subtitle]]
[[!template text="With the C-\, I reactivate" start="00:13:17.040" video="mainVideo" id=subtitle]]
[[!template text="the farsi input method." start="00:13:20.320" video="mainVideo" id=subtitle]]
[[!template text="Notice that keycast is still active" start="00:13:23.360" video="mainVideo" id=subtitle]]
[[!template text="on the mode line." start="00:13:26.399" video="mainVideo" id=subtitle]]
[[!template text="Next, with the C-h C-\ ," start="00:13:29.360" video="mainVideo" id=subtitle]]
[[!template text="I get the input methods documentation." start="00:13:34.240" video="mainVideo" id=subtitle]]
[[!template text="I then delete other windows" start="00:13:38.560" video="mainVideo" id=subtitle]]
[[!template text="and keep the help buffer visible." start="00:13:40.639" video="mainVideo" id=subtitle]]
[[!template text="Notice that beh" start="00:13:45.440" video="mainVideo" id=subtitle]]
[[!template text="in this input methods identifier." start="00:13:47.279" video="mainVideo" id=subtitle]]
[[!template text="Here is the URL for full documentation" start="00:13:52.720" video="mainVideo" id=subtitle]]
[[!template text="on the web. The keyboard layout itself" start="00:13:55.920" video="mainVideo" id=subtitle]]
[[!template text="is a one-to-one mapping, but towards" start="00:14:00.639" video="mainVideo" id=subtitle]]
[[!template text="making transliteration intuitive." start="00:14:03.760" video="mainVideo" id=subtitle]]
[[!template text="Multiple keys are sometimes mapped to" start="00:14:07.360" video="mainVideo" id=subtitle]]
[[!template text="the same letter." start="00:14:10.240" video="mainVideo" id=subtitle]]
[[!template text="For example, both 'i' and 'y' produce yeh." start="00:14:12.079" video="mainVideo" id=subtitle]]
[[!template text="The usual two letter transliterations" start="00:14:19.760" video="mainVideo" id=subtitle]]
[[!template text="ending with 'h' -- zh, ch, sh, and kh" start="00:14:22.959" video="mainVideo" id=subtitle]]
[[!template text="are provided. The ampersand prefix" start="00:14:29.600" video="mainVideo" id=subtitle]]
[[!template text="is used to support often invisible" start="00:14:34.160" video="mainVideo" id=subtitle]]
[[!template text="BIDI markings. In addition to this" start="00:14:37.440" video="mainVideo" id=subtitle]]
[[!template text="internal documentation," start="00:14:41.600" video="mainVideo" id=subtitle]]
[[!template text="full documentation is also available." start="00:14:43.920" video="mainVideo" id=subtitle]]
[[!template new="1" text="Complete documentation" start="00:14:48.959" video="mainVideo" id=subtitle]]
[[!template text="for Persian input methods" start="00:14:50.560" video="mainVideo" id=subtitle]]
[[!template text="is available as PLPC-120036." start="00:14:52.240" video="mainVideo" id=subtitle]]
[[!template text="Next, we'll take a quick look at this" start="00:14:58.560" video="mainVideo" id=subtitle]]
[[!template text="on the web." start="00:15:00.880" video="mainVideo" id=subtitle]]
[[!template text="You can click on links" start="00:15:03.600" video="mainVideo" id=subtitle]]
[[!template text="in the reveal web-based form" start="00:15:05.440" video="mainVideo" id=subtitle]]
[[!template text="of this presentation." start="00:15:07.440" video="mainVideo" id=subtitle]]
[[!template text="So let's visit PLPC-120036." start="00:15:09.839" video="mainVideo" id=subtitle]]
[[!template text="This document fully describes" start="00:15:15.440" video="mainVideo" id=subtitle]]
[[!template text="Persian input methods." start="00:15:17.600" video="mainVideo" id=subtitle]]
[[!template text="In addition to HTML," start="00:15:20.560" video="mainVideo" id=subtitle]]
[[!template text="you can also obtain it in PDF." start="00:15:22.320" video="mainVideo" id=subtitle]]
[[!template text="Let's do that. Of particular interest" start="00:15:26.079" video="mainVideo" id=subtitle]]
[[!template text="in this document are various tables" start="00:15:30.079" video="mainVideo" id=subtitle]]
[[!template text="that enumerate lists of letters" start="00:15:33.120" video="mainVideo" id=subtitle]]
[[!template text="with their association" start="00:15:35.839" video="mainVideo" id=subtitle]]
[[!template text="to both Persian input methods." start="00:15:37.120" video="mainVideo" id=subtitle]]
[[!template text="Let's take a look at a few of these." start="00:15:41.839" video="mainVideo" id=subtitle]]
[[!template text="Table 3, mapping of isiri-6219" start="00:15:46.240" video="mainVideo" id=subtitle]]
[[!template text="(the Farsi character set)" start="00:15:51.360" video="mainVideo" id=subtitle]]
[[!template text="to Emacs version input methods" start="00:15:53.680" video="mainVideo" id=subtitle]]
[[!template text="could be of interest to you," start="00:15:55.680" video="mainVideo" id=subtitle]]
[[!template text="as well as table 8" start="00:15:58.720" video="mainVideo" id=subtitle]]
[[!template text="for BIDI-related control markups," start="00:16:01.040" video="mainVideo" id=subtitle]]
[[!template text="and table 9, for vowels and other signs." start="00:16:04.720" video="mainVideo" id=subtitle]]
[[!template new="1" text="Having covered input methods," start="00:16:17.519" video="mainVideo" id=subtitle]]
[[!template text="let's turn our attention" start="00:16:19.759" video="mainVideo" id=subtitle]]
[[!template text="to ramifications of BIDI and Perso-Arabic" start="00:16:21.279" video="mainVideo" id=subtitle]]
[[!template text="on various Emacs applications." start="00:16:25.199" video="mainVideo" id=subtitle]]
[[!template text="Since 2012, I have been using Persian text" start="00:16:28.480" video="mainVideo" id=subtitle]]
[[!template text="in various Emacs applications." start="00:16:32.160" video="mainVideo" id=subtitle]]
[[!template text="In short, my experience has been" start="00:16:35.839" video="mainVideo" id=subtitle]]
[[!template text="that most Emacs apps are usable," start="00:16:38.079" video="mainVideo" id=subtitle]]
[[!template text="but they all have glitches" start="00:16:42.399" video="mainVideo" id=subtitle]]
[[!template text="that could at a minimum" start="00:16:44.880" video="mainVideo" id=subtitle]]
[[!template text="annoy Perso-Arabic users." start="00:16:47.279" video="mainVideo" id=subtitle]]
[[!template text="In this slide, I'm presenting a summary." start="00:16:51.279" video="mainVideo" id=subtitle]]
[[!template text="The glitches with Gnus" start="00:16:54.639" video="mainVideo" id=subtitle]]
[[!template text="are not all that significant for me." start="00:16:56.399" video="mainVideo" id=subtitle]]
[[!template text="BBDB glitches can easily be fixed." start="00:17:00.079" video="mainVideo" id=subtitle]]
[[!template text="For Calendar, I have customized my own setup" start="00:17:04.240" video="mainVideo" id=subtitle]]
[[!template text="to support Persian and Islamic dates" start="00:17:07.679" video="mainVideo" id=subtitle]]
[[!template text="in Perso-Arabic. Perhaps they should be" start="00:17:10.799" video="mainVideo" id=subtitle]]
[[!template text="merged upstream, instead of" start="00:17:14.079" video="mainVideo" id=subtitle]]
[[!template text="dealing with apps one at a time." start="00:17:17.039" video="mainVideo" id=subtitle]]
[[!template text="I think it's more reasonable" start="00:17:19.679" video="mainVideo" id=subtitle]]
[[!template text="to consider them collectively." start="00:17:21.439" video="mainVideo" id=subtitle]]
[[!template new="1" text="The glitches that I mentioned" start="00:17:25.280" video="mainVideo" id=subtitle]]
[[!template text="in the previous slide" start="00:17:26.880" video="mainVideo" id=subtitle]]
[[!template text="have two routes:" start="00:17:28.799" video="mainVideo" id=subtitle]]
[[!template text="some are BIDI-specific" start="00:17:30.480" video="mainVideo" id=subtitle]]
[[!template text="and some are Perso-Arabic-specific." start="00:17:32.480" video="mainVideo" id=subtitle]]
[[!template text="In this slide," start="00:17:35.919" video="mainVideo" id=subtitle]]
[[!template text="I have classified them as such" start="00:17:36.720" video="mainVideo" id=subtitle]]
[[!template text="and have made some general suggestions," start="00:17:39.280" video="mainVideo" id=subtitle]]
[[!template text="but all of these at best amount to" start="00:17:42.960" video="mainVideo" id=subtitle]]
[[!template text="tactical approaches." start="00:17:45.679" video="mainVideo" id=subtitle]]
[[!template text="I think a more strategic approach" start="00:17:47.679" video="mainVideo" id=subtitle]]
[[!template text="is called for." start="00:17:50.160" video="mainVideo" id=subtitle]]
[[!template new="1" text="The right way to address BIDI-awareness" start="00:17:53.520" video="mainVideo" id=subtitle]]
[[!template text="and other awarenesses" start="00:17:56.240" video="mainVideo" id=subtitle]]
[[!template text="is to build them in frameworks" start="00:17:58.559" video="mainVideo" id=subtitle]]
[[!template text="that Emacs apps can then use." start="00:18:00.559" video="mainVideo" id=subtitle]]
[[!template text="So, I'm proposing that we first create ENML," start="00:18:04.160" video="mainVideo" id=subtitle]]
[[!template text="the Emacs Native Markup Language," start="00:18:08.480" video="mainVideo" id=subtitle]]
[[!template text="as a Lisp-ish (perhaps even not fully secure)" start="00:18:11.520" video="mainVideo" id=subtitle]]
[[!template text="super-set of HTML5." start="00:18:16.880" video="mainVideo" id=subtitle]]
[[!template text="With that in place, we can then build on" start="00:18:20.320" video="mainVideo" id=subtitle]]
[[!template text="the two decades of experience" start="00:18:22.960" video="mainVideo" id=subtitle]]
[[!template text="that have produced various" start="00:18:25.360" video="mainVideo" id=subtitle]]
[[!template text="web application development frameworks" start="00:18:27.600" video="mainVideo" id=subtitle]]
[[!template text="by mimicking one of them." start="00:18:31.039" video="mainVideo" id=subtitle]]
[[!template text="I don't have any running code" start="00:18:33.919" video="mainVideo" id=subtitle]]
[[!template text="for any of these, but discussing strategy" start="00:18:35.679" video="mainVideo" id=subtitle]]
[[!template text="need not always be futile." start="00:18:39.440" video="mainVideo" id=subtitle]]
[[!template new="1" text="Emacs has immense potentials," start="00:18:44.640" video="mainVideo" id=subtitle]]
[[!template text="but those potentials cannot be realized" start="00:18:47.679" video="mainVideo" id=subtitle]]
[[!template text="unless we integrate Emacs in the totality" start="00:18:51.120" video="mainVideo" id=subtitle]]
[[!template text="of a specific complete digital ecosystem." start="00:18:54.640" video="mainVideo" id=subtitle]]
[[!template text="Over the past two decades, I've been" start="00:18:59.840" video="mainVideo" id=subtitle]]
[[!template text="building the contours" start="00:19:02.000" video="mainVideo" id=subtitle]]
[[!template text="of The Libre-Halaal By* (ByStar)" start="00:19:03.440" video="mainVideo" id=subtitle]]
[[!template text="digital ecosystem." start="00:19:06.240" video="mainVideo" id=subtitle]]
[[!template text="Emacs can then be fully integrated into" start="00:19:10.240" video="mainVideo" id=subtitle]]
[[!template text="ByStar. It's through such integration" start="00:19:13.039" video="mainVideo" id=subtitle]]
[[!template text="that full conviviality of Emacs" start="00:19:16.799" video="mainVideo" id=subtitle]]
[[!template text="can be experienced." start="00:19:19.679" video="mainVideo" id=subtitle]]
[[!template new="1" text="Blee, the ByStar Libre-Halaal" start="00:19:24.240" video="mainVideo" id=subtitle]]
[[!template text="Emacs environment is Emacs" start="00:19:26.640" video="mainVideo" id=subtitle]]
[[!template text="plus a whole lot of Emacs apps" start="00:19:30.000" video="mainVideo" id=subtitle]]
[[!template text="integrated with Debian," start="00:19:32.720" video="mainVideo" id=subtitle]]
[[!template text="With ByStar services and with BISOS," start="00:19:34.880" video="mainVideo" id=subtitle]]
[[!template text="the ByStar Internet Services OS." start="00:19:38.320" video="mainVideo" id=subtitle]]
[[!template text="Perhaps this could be" start="00:19:42.480" video="mainVideo" id=subtitle]]
[[!template text="the topic of a presentation" start="00:19:43.600" video="mainVideo" id=subtitle]]
[[!template text="captions by Mohsen Banan" start="00:19:46.840" video="mainVideo" id=subtitle]]
|