summaryrefslogtreecommitdiffstats
path: root/2021/talks/bidi.md
diff options
context:
space:
mode:
authorBlaine Mooers <bmooers1@gmail.com>2021-10-30 22:33:24 -0500
committerBlaine Mooers <bmooers1@gmail.com>2021-10-30 22:33:24 -0500
commit8117b7594b3ae37800234d85f3127fe5df9183d8 (patch)
treef5d8186452435210648bfe6cb37fb32d24888cea /2021/talks/bidi.md
parentd87baf350f1ed4384ecb4b71151460f0a800de05 (diff)
parent03d04ed81b6861e429178d2ef62ed73ac60e430a (diff)
downloademacsconf-wiki-8117b7594b3ae37800234d85f3127fe5df9183d8.tar.xz
emacsconf-wiki-8117b7594b3ae37800234d85f3127fe5df9183d8.zip
Edits.
Diffstat (limited to '2021/talks/bidi.md')
-rw-r--r--2021/talks/bidi.md100
1 files changed, 64 insertions, 36 deletions
diff --git a/2021/talks/bidi.md b/2021/talks/bidi.md
index 2bfd13d7..7bff4e8f 100644
--- a/2021/talks/bidi.md
+++ b/2021/talks/bidi.md
@@ -1,17 +1,16 @@
-[[!meta title="Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware"]]
+[[!meta title="Perso-Arabic Input Methods And BIDI Aware Apps"]]
[[!meta copyright="Copyright &copy; 2021 Mohsen BANAN"]]
[[!inline pages="internal(2021/info/bidi-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
-# Perso-Arabic Input Methods And Making More Emacs Apps BIDI Aware
-Mohsen BANAN
-
-
-# Table of Contents
-
+# Perso-Arabic Input Methods And BIDI Aware Apps
+Mohsen BANAN -- محسن بنان
+Emacs is a multilingual user environment. A true multilingual editor must
+support bidirectionality and shaping of characters. Perso-Arabic scripts require
+both of these features.
Starting with Emacs 24, full native bidi
(bidirectional) support became available. For
@@ -21,57 +20,86 @@ open-source shaping libraries were also available.
With these in place at around 2012, I developed
two Persian input methods for emacs. These input
-methods or variations of them can also be used
-Arabic and other persoarabic scripts.
+methods or variations of them can also be used for
+Arabic and other Perso-Arabic scripts.
With all of these in place, Emacs has now become
-the ne plus ultra Halaal/Convivial usage
-environment for persoarabic users.
+the ne plus ultra Libre-Halaal and Convivial usage
+environment for Perso-Arabic users.
Since emacs comes loaded with everything (Gnus
for email, Bbdb for address books, XeLaTeX modes
for typesetting, org-mode for organization, spell
-checkers, completions, calendar, etc.), all basic
-computing and communication needs of persoarabic
+checkers, completion systems, calendar, etc.), all basic
+computing and communication needs of Perso-Arabic
users can be addressed in one place and
cohesively.
In this talk I will demonstrate what a wonderful
environment that can be.
-
-- 40 minutes: (brief description/outline)
- My talk will be in two parts.
+My talk will be in two parts.
+
+In Part 1, I cover Persian input methods. With an emphasis on "Banan
+Multi-Character (Reverse) Transliteration Persian Input Method". The
+software is part of base emacs distribution. Full documentation is available
+at:
- In Part 1, I cover persian input methods. With an
- emphasis on &lsquo ;Banan Multi-Character (Reverse)
- Transliteration Persian Input Method&rsquo;. The
- software is part of base emacs distribution.
- Full documentation is available at:
Persian Input Methods
For Emacs And More Broadly Speaking
شیوه‌هایِ درج به فارسی‌
<http://mohsen.1.banan.byname.net/PLPC/120036>
- In Part 2, I will cover the ramifications of bidi
- on existing emacs applications, including:
+In Part 2, I'll demonstrate that Emacs is far more than an editor. Emacs can be
+a complete Perso-Arabic usage environment. I will also cover the ramifications
+of bidi on existing emacs applications, including:
- - Gnus:
- - Persoarabic rich email sending in HTML.
- - Ramifications of bidi on from, to and
- subject lines.
+- Spell Checking, Dictionaries And Completion Frameworks:
+ - Existing emacs facilities can be extended to cover Perso-Arabic.
- - Bbdb: Ramifications of bidi on display and
- completion.
+- Gnus:
+ - Perso-Arabic rich email sending in HTML.
+ - Ramifications of bidi on from:, to: and subject: lines.
- - Calendar:
- - Ramifications of bidi on display.
- - Use of persian text for Persian (solar) calendar.
- - Use of arabic text for Muslem (lunar) calendar.
+- Bbdb: Ramifications of bidi on display and completion.
- - AUCTeX: Persian typesetting with XeLaTeX
-
-
+- Calendar:
+ - Ramifications of bidi on display.
+ - Use of Persian text for Persian (solar) calendar.
+ - Use of Arabic text for Muslem (lunar) calendar.
+
+- AUCTeX: Persian typesetting with XeLaTeX
+ - Option of having right-to-left Perso-Arabic aliases for all latex commands.
+
+References:
+
+ - Persian Input Methods:
+ <http://mohsen.1.banan.byname.net/PLPC/120036>
+ <http://www.persoarabic.org/PLPC/120036> -- Persian Input Methods Access Page
+ <http://www.persoarabic.org> -- Various Perso-Arabic resources
+ <http://www.freeprotocols.org/Repub/fpf-isiri-6219> -- Re-Publication Of
+ Persian Information Interchange and Display Mechanism, using Unicode
+ <https://github.com/bx-blee/persian-input-method> -- Git repo for
+ persian.el -- Quail package for inputting Persian/Farsi keyboards
+
+ - BIDI:
+ <http://www.unicode.org/reports/tr9/> -- Annex #9 of the Unicode standard
+ <https://www.gnu.org/software/emacs/manual/html_node/elisp/Bidirectional-Display.html>
+ Emacs Bidirectional Display
+
+ - Blee and Persian-Blee:
+ <https://github.com/bx-blee/env2> -- Very messy work-in-progress git repo for:
+ Blee: By* Libre-Halaal Emacs Environment
+ <http://www.by-star.net> -- A Moral Alternative To The Proprietary American Digital Ecosystem
+ <http://mohsen.1.banan.byname.net/PLPC/120033> --
+ Nature of Polyexistentials:
+ Basis for Abolishment of The Western Intellectual Property Rights Regime
+ <http://mohsen.1.banan.byname.net/PLPC/120039> -- Defining The Libre-Halaal Label
+
+ - Mohsen BANAN -- محسن بنان:
+ <http://mohsen.1.banan.byname.net/> -- Globish
+ <http://mohsen.1.banan.byname.net/persian> -- Farsi
+ <http://mohsen.1.banan.byname.net/french> -- French
[[!inline pages="internal(2021/info/bidi-schedule)" raw="yes"]]