summaryrefslogblamecommitdiffstats
path: root/2021/captions/bidi.md
blob: 85969b31a33e2e95c62df09b479949d843892b9e (plain) (tree)













































































































































































































































































































































































                                                                                                                                                                   
<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="&quot;Hello, how are you?&quot;" 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 &quot;back to globish&quot;." 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]]