unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#58111: [PATCH] Add support for the Adlam script
@ 2022-09-27 11:19 समीर सिंह Sameer Singh
  2022-09-27 11:22 ` समीर सिंह Sameer Singh
  0 siblings, 1 reply; 11+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-09-27 11:19 UTC (permalink / raw)
  To: 58111

[-- Attachment #1: Type: text/plain, Size: 116 bytes --]

Adlam script is added to Emacs this time.

Please review the patch (which will be attached in the next mail)
Thanks

[-- Attachment #2: Type: text/html, Size: 186 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 11:19 bug#58111: [PATCH] Add support for the Adlam script समीर सिंह Sameer Singh
@ 2022-09-27 11:22 ` समीर सिंह Sameer Singh
  2022-09-27 13:05   ` Robert Pluim
  2022-09-27 13:15   ` Eli Zaretskii
  0 siblings, 2 replies; 11+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-09-27 11:22 UTC (permalink / raw)
  To: 58111


[-- Attachment #1.1: Type: text/plain, Size: 237 bytes --]

On Tue, Sep 27, 2022 at 4:49 PM समीर सिंह Sameer Singh <
lumarzeli30@gmail.com> wrote:

> Adlam script is added to Emacs this time.
>
> Please review the patch (which will be attached in the next mail)
> Thanks
>

[-- Attachment #1.2: Type: text/html, Size: 577 bytes --]

[-- Attachment #2: 0001-Add-support-for-the-Adlam-script-bug-58111.patch --]
[-- Type: text/x-patch, Size: 5915 bytes --]

From 4ebba7b238f050efeee3f8197991f3a58919f4e3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=20=E0=A4=B8=E0=A4=BF?=
 =?UTF-8?q?=E0=A4=82=E0=A4=B9=20Sameer=20Singh?= <lumarzeli30@gmail.com>
Date: Tue, 27 Sep 2022 16:44:28 +0530
Subject: [PATCH] Add support for the Adlam script (bug#58111)

* lisp/language/misc-lang.el ("Adlam"): New language environment.
Add composition rules for Adlam. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars):
Support Adlam.
* lisp/leim/quail/misc-lang.el ("adlam"): New input method.

* etc/HELLO: Add Adlam greeting.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  8 +--
 lisp/international/fontset.el |  2 +-
 lisp/language/misc-lang.el    | 22 ++++++++
 lisp/leim/quail/misc-lang.el  | 97 +++++++++++++++++++++++++++++++++++
 5 files changed, 125 insertions(+), 5 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index d73465318c..18c5ee5e54 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -24,6 +24,7 @@ Non-ASCII examples:
 
 LANGUAGE (NATIVE NAME)	HELLO
 ----------------------	-----
+Adlam (𞤀𞤣𞤤𞤢𞤥)	𞤅𞤢𞤤𞤢𞥄𞤥
 Amharic (አማርኛ)	ሠላም
 Arabic (العربيّة)	السّلام عليكم
 Armenian (հայերեն)	Բարև ձեզ
diff --git a/etc/NEWS b/etc/NEWS
index 99243481a0..10d5fc13c5 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1229,10 +1229,9 @@ to edit such sequences by allowing point to "enter" the sequence.
 *** Support for many old scripts and writing systems.
 Emacs now supports and has language-environments and input methods for
 several dozens of old scripts that were used in the past for various
-languages in South and South-East Asia.  For each such script Emacs
-now has font-selection and character composition rules, a language
-environment, and an input method.  The newly-added scripts and the
-corresponding language environments are:
+languages.  For each such script Emacs now has font-selection and character
+composition rules, a language environment, and an input method.  The newly-added
+scripts and the corresponding language environments are:
 
 Tai Tham script and the Northern Thai language environment
 Brahmi script and language environment
@@ -1259,6 +1258,7 @@ Grantha script and language environment
 Kharoshthi script and language environment
 Lepcha script and language environment
 Meetei Mayek script and language environment
+Adlam script and language environment
 
 ---
 *** The "Oriya" language environment was renamed to "Odia".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 99c7848704..65bc1b4024 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -295,7 +295,7 @@ font-encoding-charset-alist
 	(wancho #x1e2c0)
         (nag-mundari #x1E4D0 #x1E4EB #x1E4F0)
 	(mende-kikakui #x1E810)
-	(adlam #x1E900)
+	(adlam #x1E900 #x1E943)
 	(indic-siyaq-number #x1ec71)
 	(ottoman-siyaq-number #x1ed01)
 	(mahjong-tile #x1F000)
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index 3d5b68f84b..7d2f577aa2 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -269,6 +269,28 @@ egyptian-shape-grouping
                                   modifier "*")
                           1 'font-shape-gstring))))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Adlam
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(set-language-info-alist
+ "Adlam" '((charset unicode)
+           (coding-system utf-8)
+           (coding-priority utf-8)
+           (input-method . "adlam")
+           (sample-text . "Adlam (𞤀𞤣𞤤𞤢𞤥)	𞤅𞤢𞤤𞤢𞥄𞤥")
+           (documentation . "\
+Fulani language and its script Adlam are supported
+in this language environment.")))
+
+;; Adlam composition rules
+(set-char-table-range
+ composition-function-table
+ '(#x1E900 . #x1E95F)
+ (list (vector
+        "[\x1E900-\x1E95F]+"
+        1 'font-shape-gstring)))
+
 (provide 'misc-lang)
 
 ;;; misc-lang.el ends here
diff --git a/lisp/leim/quail/misc-lang.el b/lisp/leim/quail/misc-lang.el
index 0c4a0d4ce4..6bafa6b5fb 100644
--- a/lisp/leim/quail/misc-lang.el
+++ b/lisp/leim/quail/misc-lang.el
@@ -1180,5 +1180,102 @@
  (".||" ?𐩗)
  (".=" ?𐩘))
 
+(quail-define-package
+ "adlam" "Adlam" "𞤀" t "Adlam input method.
+
+ `\\=`' is used to switch levels instead of Alt-Gr.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("1"  ?𞥑)
+ ("`!" ?𞥞)
+ ("2"  ?𞥒)
+ ("3"  ?𞥓)
+ ("4"  ?𞥔)
+ ("5"  ?𞥕)
+ ("6"  ?𞥖)
+ ("7"  ?𞥗)
+ ("8"  ?𞥘)
+ ("9"  ?𞥙)
+ ("0"  ?𞥐)
+ ("q"  ?𞤹)
+ ("Q"  ?𞤗)
+ ("`q" ?𞥆)
+ ("w"  ?𞤱)
+ ("W"  ?𞤏)
+ ("`w" ?𞥈)
+ ("`W" ?𞥉)
+ ("e"  ?𞤫)
+ ("E"  ?𞤉)
+ ("`e" ?𞥅)
+ ("r"  ?𞤪)
+ ("R"  ?𞤈)
+ ("t"  ?𞤼)
+ ("T"  ?𞤚)
+ ("y"  ?𞤴)
+ ("Y"  ?𞤒)
+ ("`y" ?𞤰)
+ ("`Y" ?𞤎)
+ ("u"  ?𞤵)
+ ("U"  ?𞤓)
+ ("i"  ?𞤭)
+ ("I"  ?𞤋)
+ ("o"  ?𞤮)
+ ("O"  ?𞤌)
+ ("p"  ?𞤨)
+ ("P"  ?𞤆)
+ ("a"  ?𞤢)
+ ("A"  ?𞤀)
+ ("`a" ?𞥄)
+ ("s"  ?𞤧)
+ ("S"  ?𞤅)
+ ("`s" ?𞥃)
+ ("`S" ?𞤡)
+ ("d"  ?𞤣)
+ ("D"  ?𞤁)
+ ("`d" ?𞤯)
+ ("`D" ?𞤍)
+ ("f"  ?𞤬)
+ ("F"  ?𞤊)
+ ("g"  ?𞤺)
+ ("G"  ?𞤘)
+ ("`g" ?𞥀)
+ ("`G" ?𞤞)
+ ("h"  ?𞤸)
+ ("H"  ?𞤖)
+ ("`h" ?𞥇)
+ ("j"  ?𞤶)
+ ("J"  ?𞤔)
+ ("k"  ?𞤳)
+ ("K"  ?𞤑)
+ ("`k" ?𞤿)
+ ("`K" ?𞤝)
+ ("l"  ?𞤤)
+ ("L"  ?𞤂)
+ ("z"  ?𞥁)
+ ("Z"  ?𞤟)
+ ("`z" ?𞥂)
+ ("`Z" ?𞤠)
+ ("x"  ?𞤽)
+ ("X"  ?𞤛)
+ ("c"  ?𞤷)
+ ("C"  ?𞤕)
+ ("`c" #x200C) ; ZWNJ
+ ("v"  ?𞤾)
+ ("V"  ?𞤜)
+ ("`v" ?𞥊)
+ ("b"  ?𞤦)
+ ("B"  ?𞤄)
+ ("`b" ?𞤩)
+ ("`B" ?𞤇)
+ ("n"  ?𞤲)
+ ("N"  ?𞤐)
+ ("`n" ?𞤻)
+ ("`N" ?𞤙)
+ ("m"  ?𞤥)
+ ("M"  ?𞤃)
+ ("`m" ?𞥋)
+ ("`/" ?𞥟))
+
 (provide 'misc-lang)
 ;;; misc-lang.el ends here
-- 
2.37.3


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 11:22 ` समीर सिंह Sameer Singh
@ 2022-09-27 13:05   ` Robert Pluim
  2022-09-27 15:42     ` समीर सिंह Sameer Singh
  2022-09-27 13:15   ` Eli Zaretskii
  1 sibling, 1 reply; 11+ messages in thread
From: Robert Pluim @ 2022-09-27 13:05 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 58111

>>>>> On Tue, 27 Sep 2022 16:52:22 +0530, समीर सिंह Sameer Singh <lumarzeli30@gmail.com> said:


    समीर> * lisp/language/misc-lang.el ("Adlam"): New language environment.
    समीर> Add composition rules for Adlam. Add sample text and input method.

Two spaces after full stop.

    समीर> @@ -1229,10 +1229,9 @@ to edit such sequences by allowing point to "enter" the sequence.
    समीर>  *** Support for many old scripts and writing systems.
    समीर>  Emacs now supports and has language-environments and input methods for
    समीर>  several dozens of old scripts that were used in the past for various
    समीर> -languages in South and South-East Asia.  For each such script Emacs
    समीर> -now has font-selection and character composition rules, a language
    समीर> -environment, and an input method.  The newly-added scripts and the
    समीर> -corresponding language environments are:
    समीर> +languages.  For each such script Emacs now has font-selection and character
    समीर> +composition rules, a language environment, and an input method.  The newly-added
    समीर> +scripts and the corresponding language environments are:

I think this text should be re-wrapped ('M-q')

    समीर> +(quail-define-package
    समीर> + "adlam" "Adlam" "𞤀" t "Adlam input method.
    समीर> +
    समीर> + `\\=`' is used to switch levels instead of Alt-Gr.

Are the `' necessary around the "\\=" ?

The rest looks good to a limited Latin-1 person such as myself :-)

Thanks for doing this.

Robert
-- 





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 11:22 ` समीर सिंह Sameer Singh
  2022-09-27 13:05   ` Robert Pluim
@ 2022-09-27 13:15   ` Eli Zaretskii
  2022-09-27 15:53     ` समीर सिंह Sameer Singh
  1 sibling, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2022-09-27 13:15 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 58111

> From: समीर सिंह Sameer Singh
>  <lumarzeli30@gmail.com>
> Date: Tue, 27 Sep 2022 16:52:22 +0530
> 
> --- a/etc/NEWS
> +++ b/etc/NEWS
> @@ -1229,10 +1229,9 @@ to edit such sequences by allowing point to "enter" the sequence.
>  *** Support for many old scripts and writing systems.
>  Emacs now supports and has language-environments and input methods for
>  several dozens of old scripts that were used in the past for various
> -languages in South and South-East Asia.  For each such script Emacs
> -now has font-selection and character composition rules, a language
> -environment, and an input method.  The newly-added scripts and the
> -corresponding language environments are:
> +languages.  For each such script Emacs now has font-selection and character
> +composition rules, a language environment, and an input method.  The newly-added
> +scripts and the corresponding language environments are:

The new text needs to be re-filled.

> +;; Adlam composition rules
> +(set-char-table-range
> + composition-function-table
> + '(#x1E900 . #x1E95F)
> + (list (vector
> +        "[\x1E900-\x1E95F]+"
> +        1 'font-shape-gstring)))

This doesn't look right: why 1 and not 0?





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 13:05   ` Robert Pluim
@ 2022-09-27 15:42     ` समीर सिंह Sameer Singh
  2022-09-27 16:10       ` Robert Pluim
  0 siblings, 1 reply; 11+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-09-27 15:42 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 58111, Eli Zaretskii

[-- Attachment #1: Type: text/plain, Size: 2216 bytes --]

>
> I think this text should be re-wrapped ('M-q')


Will do, thanks

Are the `' necessary around the "\\=" ?
>

Not really, but there is also no harm letting them be there. They are also
in the other input methods which I have added.
See in indian.el, philippine.el, indonesian.el etc
This was copied from the brahmi input method written by Eli.

On Tue, Sep 27, 2022 at 6:35 PM Robert Pluim <rpluim@gmail.com> wrote:

> >>>>> On Tue, 27 Sep 2022 16:52:22 +0530, समीर सिंह Sameer Singh <
> lumarzeli30@gmail.com> said:
>
>
>     समीर> * lisp/language/misc-lang.el ("Adlam"): New language environment.
>     समीर> Add composition rules for Adlam. Add sample text and input
> method.
>
> Two spaces after full stop.
>
>     समीर> @@ -1229,10 +1229,9 @@ to edit such sequences by allowing point
> to "enter" the sequence.
>     समीर>  *** Support for many old scripts and writing systems.
>     समीर>  Emacs now supports and has language-environments and input
> methods for
>     समीर>  several dozens of old scripts that were used in the past for
> various
>     समीर> -languages in South and South-East Asia.  For each such script
> Emacs
>     समीर> -now has font-selection and character composition rules, a
> language
>     समीर> -environment, and an input method.  The newly-added scripts and
> the
>     समीर> -corresponding language environments are:
>     समीर> +languages.  For each such script Emacs now has font-selection
> and character
>     समीर> +composition rules, a language environment, and an input
> method.  The newly-added
>     समीर> +scripts and the corresponding language environments are:
>
> I think this text should be re-wrapped ('M-q')
>
>     समीर> +(quail-define-package
>     समीर> + "adlam" "Adlam" "𞤀" t "Adlam input method.
>     समीर> +
>     समीर> + `\\=`' is used to switch levels instead of Alt-Gr.
>
> Are the `' necessary around the "\\=" ?
>
> The rest looks good to a limited Latin-1 person such as myself :-)
>
> Thanks for doing this.
>
> Robert
> --
>

[-- Attachment #2: Type: text/html, Size: 3164 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 13:15   ` Eli Zaretskii
@ 2022-09-27 15:53     ` समीर सिंह Sameer Singh
  2022-09-27 16:36       ` Eli Zaretskii
  0 siblings, 1 reply; 11+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-09-27 15:53 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 58111


[-- Attachment #1.1: Type: text/plain, Size: 1626 bytes --]

>
> This doesn't look right: why 1 and not 0?


I copied this from my hanifi-rohingya composition rules, where I do not
remember
why I added 0 instead of 1. Even though they were working as intended I
have replaced it with 0
there just to be safe.

On Tue, Sep 27, 2022 at 6:46 PM Eli Zaretskii <eliz@gnu.org> wrote:

> > From: समीर सिंह Sameer Singh
> >  <lumarzeli30@gmail.com>
> > Date: Tue, 27 Sep 2022 16:52:22 +0530
> >
> > --- a/etc/NEWS
> > +++ b/etc/NEWS
> > @@ -1229,10 +1229,9 @@ to edit such sequences by allowing point to
> "enter" the sequence.
> >  *** Support for many old scripts and writing systems.
> >  Emacs now supports and has language-environments and input methods for
> >  several dozens of old scripts that were used in the past for various
> > -languages in South and South-East Asia.  For each such script Emacs
> > -now has font-selection and character composition rules, a language
> > -environment, and an input method.  The newly-added scripts and the
> > -corresponding language environments are:
> > +languages.  For each such script Emacs now has font-selection and
> character
> > +composition rules, a language environment, and an input method.  The
> newly-added
> > +scripts and the corresponding language environments are:
>
> The new text needs to be re-filled.
>
> > +;; Adlam composition rules
> > +(set-char-table-range
> > + composition-function-table
> > + '(#x1E900 . #x1E95F)
> > + (list (vector
> > +        "[\x1E900-\x1E95F]+"
> > +        1 'font-shape-gstring)))
>
> This doesn't look right: why 1 and not 0?
>

[-- Attachment #1.2: Type: text/html, Size: 2305 bytes --]

[-- Attachment #2: 0001-Add-support-for-the-Adlam-script-bug-58111.patch --]
[-- Type: text/x-patch, Size: 6167 bytes --]

From bfa1e6f86d442e220f2208e7fb08d222ab0733ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=20=E0=A4=B8=E0=A4=BF?=
 =?UTF-8?q?=E0=A4=82=E0=A4=B9=20Sameer=20Singh?= <lumarzeli30@gmail.com>
Date: Tue, 27 Sep 2022 16:44:28 +0530
Subject: [PATCH] Add support for the Adlam script (bug#58111)

* lisp/language/misc-lang.el ("Adlam"): New language environment.
Add composition rules for Adlam. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars):
Support Adlam.
* lisp/leim/quail/misc-lang.el ("adlam"): New input method.

* etc/HELLO: Add Adlam greeting.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  9 ++--
 lisp/international/fontset.el |  2 +-
 lisp/language/misc-lang.el    | 24 ++++++++-
 lisp/leim/quail/misc-lang.el  | 97 +++++++++++++++++++++++++++++++++++
 5 files changed, 127 insertions(+), 6 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index d73465318c..18c5ee5e54 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -24,6 +24,7 @@ Non-ASCII examples:
 
 LANGUAGE (NATIVE NAME)	HELLO
 ----------------------	-----
+Adlam (𞤀𞤣𞤤𞤢𞤥)	𞤅𞤢𞤤𞤢𞥄𞤥
 Amharic (አማርኛ)	ሠላም
 Arabic (العربيّة)	السّلام عليكم
 Armenian (հայերեն)	Բարև ձեզ
diff --git a/etc/NEWS b/etc/NEWS
index 99243481a0..99027744c6 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1229,10 +1229,10 @@ to edit such sequences by allowing point to "enter" the sequence.
 *** Support for many old scripts and writing systems.
 Emacs now supports and has language-environments and input methods for
 several dozens of old scripts that were used in the past for various
-languages in South and South-East Asia.  For each such script Emacs
-now has font-selection and character composition rules, a language
-environment, and an input method.  The newly-added scripts and the
-corresponding language environments are:
+languages.  For each such script Emacs now has font-selection and
+character composition rules, a language environment, and an input
+method.  The newly-added scripts and the corresponding language
+environments are:
 
 Tai Tham script and the Northern Thai language environment
 Brahmi script and language environment
@@ -1259,6 +1259,7 @@ Grantha script and language environment
 Kharoshthi script and language environment
 Lepcha script and language environment
 Meetei Mayek script and language environment
+Adlam script and language environment
 
 ---
 *** The "Oriya" language environment was renamed to "Odia".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 99c7848704..65bc1b4024 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -295,7 +295,7 @@ font-encoding-charset-alist
 	(wancho #x1e2c0)
         (nag-mundari #x1E4D0 #x1E4EB #x1E4F0)
 	(mende-kikakui #x1E810)
-	(adlam #x1E900)
+	(adlam #x1E900 #x1E943)
 	(indic-siyaq-number #x1ec71)
 	(ottoman-siyaq-number #x1ed01)
 	(mahjong-tile #x1F000)
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index 3d5b68f84b..8482a64cd1 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -236,7 +236,7 @@ egyptian-shape-grouping
  '(#x10D1D . #x10D27)
  (list (vector
         "[\x10D00-\x10D27]+"
-        1 'font-shape-gstring)))
+        0 'font-shape-gstring)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; Kharoṣṭhī
@@ -269,6 +269,28 @@ egyptian-shape-grouping
                                   modifier "*")
                           1 'font-shape-gstring))))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Adlam
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(set-language-info-alist
+ "Adlam" '((charset unicode)
+           (coding-system utf-8)
+           (coding-priority utf-8)
+           (input-method . "adlam")
+           (sample-text . "Adlam (𞤀𞤣𞤤𞤢𞤥)	𞤅𞤢𞤤𞤢𞥄𞤥")
+           (documentation . "\
+Fulani language and its script Adlam are supported
+in this language environment.")))
+
+;; Adlam composition rules
+(set-char-table-range
+ composition-function-table
+ '(#x1E900 . #x1E95F)
+ (list (vector
+        "[\x1E900-\x1E95F]+"
+        0 'font-shape-gstring)))
+
 (provide 'misc-lang)
 
 ;;; misc-lang.el ends here
diff --git a/lisp/leim/quail/misc-lang.el b/lisp/leim/quail/misc-lang.el
index 0c4a0d4ce4..6bafa6b5fb 100644
--- a/lisp/leim/quail/misc-lang.el
+++ b/lisp/leim/quail/misc-lang.el
@@ -1180,5 +1180,102 @@
  (".||" ?𐩗)
  (".=" ?𐩘))
 
+(quail-define-package
+ "adlam" "Adlam" "𞤀" t "Adlam input method.
+
+ `\\=`' is used to switch levels instead of Alt-Gr.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("1"  ?𞥑)
+ ("`!" ?𞥞)
+ ("2"  ?𞥒)
+ ("3"  ?𞥓)
+ ("4"  ?𞥔)
+ ("5"  ?𞥕)
+ ("6"  ?𞥖)
+ ("7"  ?𞥗)
+ ("8"  ?𞥘)
+ ("9"  ?𞥙)
+ ("0"  ?𞥐)
+ ("q"  ?𞤹)
+ ("Q"  ?𞤗)
+ ("`q" ?𞥆)
+ ("w"  ?𞤱)
+ ("W"  ?𞤏)
+ ("`w" ?𞥈)
+ ("`W" ?𞥉)
+ ("e"  ?𞤫)
+ ("E"  ?𞤉)
+ ("`e" ?𞥅)
+ ("r"  ?𞤪)
+ ("R"  ?𞤈)
+ ("t"  ?𞤼)
+ ("T"  ?𞤚)
+ ("y"  ?𞤴)
+ ("Y"  ?𞤒)
+ ("`y" ?𞤰)
+ ("`Y" ?𞤎)
+ ("u"  ?𞤵)
+ ("U"  ?𞤓)
+ ("i"  ?𞤭)
+ ("I"  ?𞤋)
+ ("o"  ?𞤮)
+ ("O"  ?𞤌)
+ ("p"  ?𞤨)
+ ("P"  ?𞤆)
+ ("a"  ?𞤢)
+ ("A"  ?𞤀)
+ ("`a" ?𞥄)
+ ("s"  ?𞤧)
+ ("S"  ?𞤅)
+ ("`s" ?𞥃)
+ ("`S" ?𞤡)
+ ("d"  ?𞤣)
+ ("D"  ?𞤁)
+ ("`d" ?𞤯)
+ ("`D" ?𞤍)
+ ("f"  ?𞤬)
+ ("F"  ?𞤊)
+ ("g"  ?𞤺)
+ ("G"  ?𞤘)
+ ("`g" ?𞥀)
+ ("`G" ?𞤞)
+ ("h"  ?𞤸)
+ ("H"  ?𞤖)
+ ("`h" ?𞥇)
+ ("j"  ?𞤶)
+ ("J"  ?𞤔)
+ ("k"  ?𞤳)
+ ("K"  ?𞤑)
+ ("`k" ?𞤿)
+ ("`K" ?𞤝)
+ ("l"  ?𞤤)
+ ("L"  ?𞤂)
+ ("z"  ?𞥁)
+ ("Z"  ?𞤟)
+ ("`z" ?𞥂)
+ ("`Z" ?𞤠)
+ ("x"  ?𞤽)
+ ("X"  ?𞤛)
+ ("c"  ?𞤷)
+ ("C"  ?𞤕)
+ ("`c" #x200C) ; ZWNJ
+ ("v"  ?𞤾)
+ ("V"  ?𞤜)
+ ("`v" ?𞥊)
+ ("b"  ?𞤦)
+ ("B"  ?𞤄)
+ ("`b" ?𞤩)
+ ("`B" ?𞤇)
+ ("n"  ?𞤲)
+ ("N"  ?𞤐)
+ ("`n" ?𞤻)
+ ("`N" ?𞤙)
+ ("m"  ?𞤥)
+ ("M"  ?𞤃)
+ ("`m" ?𞥋)
+ ("`/" ?𞥟))
+
 (provide 'misc-lang)
 ;;; misc-lang.el ends here
-- 
2.37.3


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 15:42     ` समीर सिंह Sameer Singh
@ 2022-09-27 16:10       ` Robert Pluim
  0 siblings, 0 replies; 11+ messages in thread
From: Robert Pluim @ 2022-09-27 16:10 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 58111, Eli Zaretskii

>>>>> On Tue, 27 Sep 2022 21:12:30 +0530, समीर सिंह Sameer Singh <lumarzeli30@gmail.com> said:

    समीर> Are the `' necessary around the "\\=" ?
    >> 

    समीर> Not really, but there is also no harm letting them be there. They are also
    समीर> in the other input methods which I have added.
    समीर> See in indian.el, philippine.el, indonesian.el etc
    समीर> This was copied from the brahmi input method written by Eli.

Youʼre right, I misread the quoting, it does help to make backquote
stand out.

Robert
-- 





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 15:53     ` समीर सिंह Sameer Singh
@ 2022-09-27 16:36       ` Eli Zaretskii
  2022-09-28  6:25         ` समीर सिंह Sameer Singh
  0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2022-09-27 16:36 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 58111

> From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
> Date: Tue, 27 Sep 2022 21:23:40 +0530
> Cc: 58111@debbugs.gnu.org
> 
>  This doesn't look right: why 1 and not 0?
> 
> I copied this from my hanifi-rohingya composition rules, where I do not remember
> why I added 0 instead of 1. Even though they were working as intended I have replaced it with 0
> there just to be safe. 

In hanifi-rohingya, the codepoints that triggered composition were
between #x10D1D and #x10D27, whereas the regexp was
"[\x10D00-\x10D27]+", which matches many more characters.  With 1 as
the 2nd element of the rule vector, this means the sequence of
characters U+10D00 U+10D00 will not cause composition, but the
sequence U+10D00 U+10D1D will.  By contrast, in Adlam case, the
characters that trigger composition and the regexp are identical, so I
see no reason to trigger the composition only on the second character
of a sequence.

I see that you have now changed the hanifi-rohingya as well, but I'm
not sure that does what you want.  Please consider the effect I
described above, and decide whether you want 0 or 1 there.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-27 16:36       ` Eli Zaretskii
@ 2022-09-28  6:25         ` समीर सिंह Sameer Singh
  2022-09-28 12:44           ` Eli Zaretskii
  0 siblings, 1 reply; 11+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-09-28  6:25 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 58111


[-- Attachment #1.1: Type: text/plain, Size: 1585 bytes --]

>
> I see that you have now changed the hanifi-rohingya as well, but I'm
> not sure that does what you want.  Please consider the effect I
> described above, and decide whether you want 0 or 1 there.


You are right, adding 0 there results in incorrect composition, I have now
reverted my change.
Thanks

On Tue, Sep 27, 2022 at 10:06 PM Eli Zaretskii <eliz@gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
> > Date: Tue, 27 Sep 2022 21:23:40 +0530
> > Cc: 58111@debbugs.gnu.org
> >
> >  This doesn't look right: why 1 and not 0?
> >
> > I copied this from my hanifi-rohingya composition rules, where I do not
> remember
> > why I added 0 instead of 1. Even though they were working as intended I
> have replaced it with 0
> > there just to be safe.
>
> In hanifi-rohingya, the codepoints that triggered composition were
> between #x10D1D and #x10D27, whereas the regexp was
> "[\x10D00-\x10D27]+", which matches many more characters.  With 1 as
> the 2nd element of the rule vector, this means the sequence of
> characters U+10D00 U+10D00 will not cause composition, but the
> sequence U+10D00 U+10D1D will.  By contrast, in Adlam case, the
> characters that trigger composition and the regexp are identical, so I
> see no reason to trigger the composition only on the second character
> of a sequence.
>
> I see that you have now changed the hanifi-rohingya as well, but I'm
> not sure that does what you want.  Please consider the effect I
> described above, and decide whether you want 0 or 1 there.
>

[-- Attachment #1.2: Type: text/html, Size: 2239 bytes --]

[-- Attachment #2: 0001-Add-support-for-the-Adlam-script-bug-58111.patch --]
[-- Type: text/x-patch, Size: 5918 bytes --]

From 73597b95e54f7b4bbc3065c18556d2677230a5ea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0=20=E0=A4=B8=E0=A4=BF?=
 =?UTF-8?q?=E0=A4=82=E0=A4=B9=20Sameer=20Singh?= <lumarzeli30@gmail.com>
Date: Tue, 27 Sep 2022 16:44:28 +0530
Subject: [PATCH] Add support for the Adlam script (bug#58111)

* lisp/language/misc-lang.el ("Adlam"): New language environment.
Add composition rules for Adlam. Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars):
Support Adlam.
* lisp/leim/quail/misc-lang.el ("adlam"): New input method.

* etc/HELLO: Add Adlam greeting.
* etc/NEWS: Announce the new language environment.
---
 etc/HELLO                     |  1 +
 etc/NEWS                      |  9 ++--
 lisp/international/fontset.el |  2 +-
 lisp/language/misc-lang.el    | 22 ++++++++
 lisp/leim/quail/misc-lang.el  | 97 +++++++++++++++++++++++++++++++++++
 5 files changed, 126 insertions(+), 5 deletions(-)

diff --git a/etc/HELLO b/etc/HELLO
index d73465318c..18c5ee5e54 100644
--- a/etc/HELLO
+++ b/etc/HELLO
@@ -24,6 +24,7 @@ Non-ASCII examples:
 
 LANGUAGE (NATIVE NAME)	HELLO
 ----------------------	-----
+Adlam (𞤀𞤣𞤤𞤢𞤥)	𞤅𞤢𞤤𞤢𞥄𞤥
 Amharic (አማርኛ)	ሠላም
 Arabic (العربيّة)	السّلام عليكم
 Armenian (հայերեն)	Բարև ձեզ
diff --git a/etc/NEWS b/etc/NEWS
index 99243481a0..99027744c6 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1229,10 +1229,10 @@ to edit such sequences by allowing point to "enter" the sequence.
 *** Support for many old scripts and writing systems.
 Emacs now supports and has language-environments and input methods for
 several dozens of old scripts that were used in the past for various
-languages in South and South-East Asia.  For each such script Emacs
-now has font-selection and character composition rules, a language
-environment, and an input method.  The newly-added scripts and the
-corresponding language environments are:
+languages.  For each such script Emacs now has font-selection and
+character composition rules, a language environment, and an input
+method.  The newly-added scripts and the corresponding language
+environments are:
 
 Tai Tham script and the Northern Thai language environment
 Brahmi script and language environment
@@ -1259,6 +1259,7 @@ Grantha script and language environment
 Kharoshthi script and language environment
 Lepcha script and language environment
 Meetei Mayek script and language environment
+Adlam script and language environment
 
 ---
 *** The "Oriya" language environment was renamed to "Odia".
diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 99c7848704..65bc1b4024 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -295,7 +295,7 @@ font-encoding-charset-alist
 	(wancho #x1e2c0)
         (nag-mundari #x1E4D0 #x1E4EB #x1E4F0)
 	(mende-kikakui #x1E810)
-	(adlam #x1E900)
+	(adlam #x1E900 #x1E943)
 	(indic-siyaq-number #x1ec71)
 	(ottoman-siyaq-number #x1ed01)
 	(mahjong-tile #x1F000)
diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el
index 3d5b68f84b..bd1edb9185 100644
--- a/lisp/language/misc-lang.el
+++ b/lisp/language/misc-lang.el
@@ -269,6 +269,28 @@ egyptian-shape-grouping
                                   modifier "*")
                           1 'font-shape-gstring))))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Adlam
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(set-language-info-alist
+ "Adlam" '((charset unicode)
+           (coding-system utf-8)
+           (coding-priority utf-8)
+           (input-method . "adlam")
+           (sample-text . "Adlam (𞤀𞤣𞤤𞤢𞤥)	𞤅𞤢𞤤𞤢𞥄𞤥")
+           (documentation . "\
+Fulani language and its script Adlam are supported
+in this language environment.")))
+
+;; Adlam composition rules
+(set-char-table-range
+ composition-function-table
+ '(#x1E900 . #x1E95F)
+ (list (vector
+        "[\x1E900-\x1E95F]+"
+        0 'font-shape-gstring)))
+
 (provide 'misc-lang)
 
 ;;; misc-lang.el ends here
diff --git a/lisp/leim/quail/misc-lang.el b/lisp/leim/quail/misc-lang.el
index 0c4a0d4ce4..6bafa6b5fb 100644
--- a/lisp/leim/quail/misc-lang.el
+++ b/lisp/leim/quail/misc-lang.el
@@ -1180,5 +1180,102 @@
  (".||" ?𐩗)
  (".=" ?𐩘))
 
+(quail-define-package
+ "adlam" "Adlam" "𞤀" t "Adlam input method.
+
+ `\\=`' is used to switch levels instead of Alt-Gr.
+" nil t t t t nil nil nil nil nil t)
+
+(quail-define-rules
+ ("1"  ?𞥑)
+ ("`!" ?𞥞)
+ ("2"  ?𞥒)
+ ("3"  ?𞥓)
+ ("4"  ?𞥔)
+ ("5"  ?𞥕)
+ ("6"  ?𞥖)
+ ("7"  ?𞥗)
+ ("8"  ?𞥘)
+ ("9"  ?𞥙)
+ ("0"  ?𞥐)
+ ("q"  ?𞤹)
+ ("Q"  ?𞤗)
+ ("`q" ?𞥆)
+ ("w"  ?𞤱)
+ ("W"  ?𞤏)
+ ("`w" ?𞥈)
+ ("`W" ?𞥉)
+ ("e"  ?𞤫)
+ ("E"  ?𞤉)
+ ("`e" ?𞥅)
+ ("r"  ?𞤪)
+ ("R"  ?𞤈)
+ ("t"  ?𞤼)
+ ("T"  ?𞤚)
+ ("y"  ?𞤴)
+ ("Y"  ?𞤒)
+ ("`y" ?𞤰)
+ ("`Y" ?𞤎)
+ ("u"  ?𞤵)
+ ("U"  ?𞤓)
+ ("i"  ?𞤭)
+ ("I"  ?𞤋)
+ ("o"  ?𞤮)
+ ("O"  ?𞤌)
+ ("p"  ?𞤨)
+ ("P"  ?𞤆)
+ ("a"  ?𞤢)
+ ("A"  ?𞤀)
+ ("`a" ?𞥄)
+ ("s"  ?𞤧)
+ ("S"  ?𞤅)
+ ("`s" ?𞥃)
+ ("`S" ?𞤡)
+ ("d"  ?𞤣)
+ ("D"  ?𞤁)
+ ("`d" ?𞤯)
+ ("`D" ?𞤍)
+ ("f"  ?𞤬)
+ ("F"  ?𞤊)
+ ("g"  ?𞤺)
+ ("G"  ?𞤘)
+ ("`g" ?𞥀)
+ ("`G" ?𞤞)
+ ("h"  ?𞤸)
+ ("H"  ?𞤖)
+ ("`h" ?𞥇)
+ ("j"  ?𞤶)
+ ("J"  ?𞤔)
+ ("k"  ?𞤳)
+ ("K"  ?𞤑)
+ ("`k" ?𞤿)
+ ("`K" ?𞤝)
+ ("l"  ?𞤤)
+ ("L"  ?𞤂)
+ ("z"  ?𞥁)
+ ("Z"  ?𞤟)
+ ("`z" ?𞥂)
+ ("`Z" ?𞤠)
+ ("x"  ?𞤽)
+ ("X"  ?𞤛)
+ ("c"  ?𞤷)
+ ("C"  ?𞤕)
+ ("`c" #x200C) ; ZWNJ
+ ("v"  ?𞤾)
+ ("V"  ?𞤜)
+ ("`v" ?𞥊)
+ ("b"  ?𞤦)
+ ("B"  ?𞤄)
+ ("`b" ?𞤩)
+ ("`B" ?𞤇)
+ ("n"  ?𞤲)
+ ("N"  ?𞤐)
+ ("`n" ?𞤻)
+ ("`N" ?𞤙)
+ ("m"  ?𞤥)
+ ("M"  ?𞤃)
+ ("`m" ?𞥋)
+ ("`/" ?𞥟))
+
 (provide 'misc-lang)
 ;;; misc-lang.el ends here
-- 
2.37.3


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-28  6:25         ` समीर सिंह Sameer Singh
@ 2022-09-28 12:44           ` Eli Zaretskii
  2022-09-28 12:56             ` समीर सिंह Sameer Singh
  0 siblings, 1 reply; 11+ messages in thread
From: Eli Zaretskii @ 2022-09-28 12:44 UTC (permalink / raw)
  To: समीर सिंह Sameer Singh
  Cc: 58111-done

> From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
> Date: Wed, 28 Sep 2022 11:55:10 +0530
> Cc: 58111@debbugs.gnu.org
> 
>  I see that you have now changed the hanifi-rohingya as well, but I'm
>  not sure that does what you want.  Please consider the effect I
>  described above, and decide whether you want 0 or 1 there.
> 
> You are right, adding 0 there results in incorrect composition, I have now reverted my change.

Thanks, installed.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#58111: [PATCH] Add support for the Adlam script
  2022-09-28 12:44           ` Eli Zaretskii
@ 2022-09-28 12:56             ` समीर सिंह Sameer Singh
  0 siblings, 0 replies; 11+ messages in thread
From: समीर सिंह Sameer Singh @ 2022-09-28 12:56 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 58111-done

[-- Attachment #1: Type: text/plain, Size: 581 bytes --]

Thanks!

On Wed, Sep 28, 2022 at 6:15 PM Eli Zaretskii <eliz@gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30@gmail.com>
> > Date: Wed, 28 Sep 2022 11:55:10 +0530
> > Cc: 58111@debbugs.gnu.org
> >
> >  I see that you have now changed the hanifi-rohingya as well, but I'm
> >  not sure that does what you want.  Please consider the effect I
> >  described above, and decide whether you want 0 or 1 there.
> >
> > You are right, adding 0 there results in incorrect composition, I have
> now reverted my change.
>
> Thanks, installed.
>

[-- Attachment #2: Type: text/html, Size: 1031 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-09-28 12:56 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-27 11:19 bug#58111: [PATCH] Add support for the Adlam script समीर सिंह Sameer Singh
2022-09-27 11:22 ` समीर सिंह Sameer Singh
2022-09-27 13:05   ` Robert Pluim
2022-09-27 15:42     ` समीर सिंह Sameer Singh
2022-09-27 16:10       ` Robert Pluim
2022-09-27 13:15   ` Eli Zaretskii
2022-09-27 15:53     ` समीर सिंह Sameer Singh
2022-09-27 16:36       ` Eli Zaretskii
2022-09-28  6:25         ` समीर सिंह Sameer Singh
2022-09-28 12:44           ` Eli Zaretskii
2022-09-28 12:56             ` समीर सिंह Sameer Singh

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).