From unknown Fri Jun 20 07:18:18 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#54914 <54914@debbugs.gnu.org> To: bug#54914 <54914@debbugs.gnu.org> Subject: Status: 28.1.50; Unable to form Brahmi conjuncts in Emacs Reply-To: bug#54914 <54914@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:18:18 +0000 retitle 54914 28.1.50; Unable to form Brahmi conjuncts in Emacs reassign 54914 emacs submitter 54914 Sameer Singh severity 54914 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 13 11:30:56 2022 Received: (at submit) by debbugs.gnu.org; 13 Apr 2022 15:30:56 +0000 Received: from localhost ([127.0.0.1]:53661 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1neexL-0006UA-Vx for submit@debbugs.gnu.org; Wed, 13 Apr 2022 11:30:56 -0400 Received: from lists.gnu.org ([209.51.188.17]:37660) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1neafK-0008Ka-CO for submit@debbugs.gnu.org; Wed, 13 Apr 2022 06:56:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38410) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1neafI-0001nS-Gg for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2022 06:56:02 -0400 Received: from mail-qt1-x82a.google.com ([2607:f8b0:4864:20::82a]:39576) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1neafF-0003uT-VN for bug-gnu-emacs@gnu.org; Wed, 13 Apr 2022 06:56:00 -0400 Received: by mail-qt1-x82a.google.com with SMTP id z16so1052010qtq.6 for ; Wed, 13 Apr 2022 03:55:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=Q5wo7qOc9fEjqo1MSWcPVB1kiDHxTlkDAOUICQkQdxk=; b=lGSqnNXqjYlZ3a7ZThhnZ7FSmC5ro4hngYZxXrWptQVcQcT5cLi4B2IJ4EyNATgIAo v34kaiNSm8deEQ6fUlDEQxtQA8SsT9fMJkBA/9tHFUGTBjwU9E69rbmvT+0f4/ZCxnzR 12cbDoKSJfYYyY4NJjw7ox+bzWHNzcvyWK7l0D0jtDJG/2g3FLfs1R+OE2dmsmG9QHx5 o0F2/HoZTHXLDfRqp68VOuPlPucrkSMRRqbh83CSDv2ZouJXofCa+sy2yrDVfj42ACpD eDkBCrVS4yYl9VodQ8ezTWRvwrLun5NdiUCLwRkfMZgLf7OnfKaAMpMkyZ83FI9WpTyT Tkjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Q5wo7qOc9fEjqo1MSWcPVB1kiDHxTlkDAOUICQkQdxk=; b=5zMSe8DDGiqbtn/P0aT9ffl9iWPR5JWzCc3M11OaCH9995nkQNgZ+DIAA+qi6RjSmN u/8M91we361ai2uvpCWHnsaM6+3BFgz2/FZsGyUFbuxcpcDikcqn2nPgczPk6CG1b3CC 3fAStp+oox/Ex0yOch8TcGrAGmaILzHrb9MFP4+Wq1yCNza/RaTmpLuywtQDbBY/M9J2 gp1NHUI8rdUf4O7w08DBXFc8ZcH0j0ULy4FHPen7IjUeFiXUVkVllMGUqW6gqWaamYzV DWxH/YExccsc+nl0fkfMPvItbhCc4g3eXDAX9bpLvDooFPkEhjXF2TL2o+uWSbKDov5j /N5w== X-Gm-Message-State: AOAM533wY6AMhfPQN0+efxtPccONKIrlw4NncFFFhqMehSRTqDz30o3f InNSeBnmFgHp1via6E/z2t3Y1UpEJZGQvJqdGyaW0EPgZlkBzw== X-Google-Smtp-Source: ABdhPJwAx8ngKsbXV9AN/+ivTAAsqZJPxn4CgkBb0/nVBBZvn1AE9TnaHRREi0Bm7EosG/WHblKLut3Fl0xhXOY92v8= X-Received: by 2002:a05:622a:302:b0:2e0:7aed:d653 with SMTP id q2-20020a05622a030200b002e07aedd653mr6715191qtw.492.1649847353899; Wed, 13 Apr 2022 03:55:53 -0700 (PDT) MIME-Version: 1.0 From: Sameer Singh Date: Wed, 13 Apr 2022 16:25:41 +0530 Message-ID: Subject: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: bug-gnu-emacs@gnu.org Content-Type: multipart/mixed; boundary="00000000000077946d05dc870512" Received-SPF: pass client-ip=2607:f8b0:4864:20::82a; envelope-from=lumarzeli30@gmail.com; helo=mail-qt1-x82a.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Wed, 13 Apr 2022 11:30:54 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --00000000000077946d05dc870512 Content-Type: multipart/alternative; boundary="00000000000077946c05dc870510" --00000000000077946c05dc870510 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Brahmi just like any other Indic script also has the ability to form conjuncts, but despite using "Segoe UI Historic" font which supports Brahmi Conjuncts, Emacs is not able to display them. Steps to Reproduce: 1. Add "(set-fontset-font t 'brahmi (font-spec :family "Segoe UI Historic"))" to init.el 2. In the scratch buffer type any combination of brahmi consonant+virama+consonant. e.g. =F0=91=80=93=F0=91=81=86=F0=91=80=AF =F0= =91=80=9C=F0=91=81=86=F0=91=80=9A =F0=91=80=9D=F0=91=81=86=F0=91=80=9E =F0= =91=80=AD=F0=91=81=86=F0=91=80=93=F0=91=81=86=F0=91=80=AD=F0=91=81=86=F0=91= =80=A2 =F0=91=80=B3=F0=91=81=86=F0=91=80=AE =F0=91=80=97=F0=91=81=86=F0=91=80=93=F0=91=81=86=F0=91=80=A2 3. Instead of forming a conjunct they appear separately. It is as if devanagari =E0=A4=B8=E0=A5=8D=E0=A4=AE is displayed as =E0=A4= =B8=E0=A5=8D=E2=80=8C=E0=A4=AE I have attached the correct render from "hb-view" in the file "hb-brahmi.png" and the incorrect render from emacs in the file "emacs-brahmi.png" Note: "Noto Sans Brahmi" has negligible amount of brahmi conjuncts so it will be preferable to use "Segoe UI Historic" In GNU Emacs 28.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.17.6) of 2022-04-12 built on a0567577fe19 Repository revision: 322091604b73bf6ef8ca2458a97df41de600dc42 Repository branch: pgtk-nativecomp Windowing system distributor 'System Description: Arch Linux Configured using: 'configure --prefix=3D/usr --sysconfdir=3D/etc --libexecdir=3D/usr/lib --localstatedir=3D/var --mandir=3D/usr/share/man --with-gameuser=3D:games --with-sound=3Dalsa --with-modules --with-x-toolkit=3Dgtk3 --with-cairo --with-xwidgets --with-native-compilation --with-pgtk --without-compress-install --without-gconf --without-gsettings --without-m17n-flt --enable-autodepend --enable-link-time-optimization 'CFLAGS=3D-march=3Dx86-64 -mtune=3Dgeneric -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3D2 -Wformat -Werror=3Dformat-security -fstack-clash-protection -fcf-protection -g -flto' LDFLAGS=3D-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS XIM XWIDGETS GTK3 ZLIB Important settings: value of $LANG: hi_IN.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: text-scale-mode: t tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date subr-x cl-loaddefs cl-lib face-remap iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads xwidget-internal dbusbind inotify dynamic-setting font-render-setting cairo move-toolbar gtk x-toolkit pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 71882 7789) (symbols 48 6679 0) (strings 32 19692 1760) (string-bytes 1 653683) (vectors 16 14235) (vector-slots 8 304684 17309) (floats 8 28 45) (intervals 56 397 0) (buffers 992 12)) --00000000000077946c05dc870510 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Brahmi just like any other Indic script also has the = ability to form conjuncts, but despite using "Segoe UI Historic" = font which supports Brahmi Conjuncts, Emacs is not able to display them.
Steps to Reproduce:
1. Add "(set-fontset-font t '= ;brahmi (font-spec :family "Segoe UI Historic"))" to init.el=

2. In the scratch buffer type any combination of = brahmi consonant+virama+consonant. e.g. =F0=91=80=93=F0=91=81=86=F0=91=80= =AF =F0=91=80=9C=F0=91=81=86=F0=91=80=9A =F0=91=80=9D=F0=91=81=86=F0=91=80= =9E =F0=91=80=AD=F0=91=81=86=F0=91=80=93=F0=91=81=86=F0=91=80=AD=F0=91=81= =86=F0=91=80=A2 =F0=91=80=B3=F0=91=81=86=F0=91=80=AE =F0=91=80=97=F0=91=81= =86=F0=91=80=93=F0=91=81=86=F0=91=80=A2

3. Instead= of forming a conjunct they appear separately.
It is as if devana= gari =E0=A4=B8=E0=A5=8D=E0=A4=AE is displayed as =E0=A4=B8=E0=A5=8D=E2=80= =8C=E0=A4=AE

I have attached the correct render fr= om "hb-view" in the file "hb-brahmi.png" and the incorr= ect render from emacs in the file "emacs-brahmi.png"
No= te: "Noto Sans Brahmi" has negligible amount of brahmi conjuncts = so it will be preferable to use "Segoe UI Historic"

In GNU Emacs 28.1.50 (build 1, x86_64-pc-linux-gnu, GTK+ Ve= rsion 3.24.33, cairo version 1.17.6)
=C2=A0of 2022-04-12 built on a056= 7577fe19
Repository revision: 322091604b73bf6ef8ca2458a97df41de600dc42Repository branch: pgtk-nativecomp
Windowing system distributor 'S= ystem Description: Arch Linux

Configured using:
=C2=A0'config= ure --prefix=3D/usr --sysconfdir=3D/etc --libexecdir=3D/usr/lib
=C2=A0--= localstatedir=3D/var --mandir=3D/usr/share/man --with-gameuser=3D:games
= =C2=A0--with-sound=3Dalsa --with-modules --with-x-toolkit=3Dgtk3 --with-cai= ro
=C2=A0--with-xwidgets --with-native-compilation --with-pgtk
=C2=A0= --without-compress-install --without-gconf --without-gsettings
=C2=A0--w= ithout-m17n-flt --enable-autodepend --enable-link-time-optimization
=C2= =A0'CFLAGS=3D-march=3Dx86-64 -mtune=3Dgeneric -O2 -pipe -fno-plt -fexce= ptions
=C2=A0-Wp,-D_FORTIFY_SOURCE=3D2 -Wformat -Werror=3Dformat-securit= y
=C2=A0-fstack-clash-protection -fcf-protection -g -flto'
=C2=A0= LDFLAGS=3D-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Con= figured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBU= ZZ JPEG JSON LCMS2
LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY = INOTIFY PDUMPER
PGTK PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_= BARS XIM
XWIDGETS GTK3 ZLIB

Important settings:
=C2=A0 value o= f $LANG: hi_IN.UTF-8
=C2=A0 value of $XMODIFIERS: @im=3Dibus
=C2=A0 l= ocale-coding-system: utf-8-unix

Major mode: Lisp Interaction

= Minor modes in effect:
=C2=A0 text-scale-mode: t
=C2=A0 tooltip-mode:= t
=C2=A0 global-eldoc-mode: t
=C2=A0 eldoc-mode: t
=C2=A0 show-pa= ren-mode: t
=C2=A0 electric-indent-mode: t
=C2=A0 mouse-wheel-mode: t=
=C2=A0 tool-bar-mode: t
=C2=A0 menu-bar-mode: t
=C2=A0 file-name-= shadow-mode: t
=C2=A0 global-font-lock-mode: t
=C2=A0 font-lock-mode:= t
=C2=A0 blink-cursor-mode: t
=C2=A0 auto-composition-mode: t
=C2= =A0 auto-encryption-mode: t
=C2=A0 auto-compression-mode: t
=C2=A0 li= ne-number-mode: t
=C2=A0 indent-tabs-mode: t
=C2=A0 transient-mark-mo= de: t

Load-path shadows:
None found.

Features:
(shadow = sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml= mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
rmail-loadde= fs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-c= ache json map text-property-search seq byte-opt
gv bytecomp byte-compile= cconv mm-decode mm-bodies mm-encode mail-parse
rfc2231 mailabbrev gmm-u= tils mailheader sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr m= ail-utils time-date subr-x cl-loaddefs
cl-lib face-remap iso-transl tool= tip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type el= isp-mode mwheel term/pgtk-win
pgtk-win term/common-win tool-bar dnd font= set image regexp-opt fringe
tabulated-list replace newcomment text-mode = lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch e= asymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-cor= e term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang m= isc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms c= p51932
hebrew greek romanian slovak czech european ethiopic indian cyril= lic
chinese composite emoji-zwj charscript charprop case-table epa-hook<= br>jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
= loaddefs faces cus-face macroexp files window text-properties overlay
sh= a1 md5 base64 format env code-pages mule custom widget
hashtable-print-r= eadable backquote threads xwidget-internal dbusbind
inotify dynamic-sett= ing font-render-setting cairo move-toolbar gtk
x-toolkit pgtk lcms2 mult= i-tty make-network-process native-compile
emacs)

Memory informati= on:
((conses 16 71882 7789)
=C2=A0(symbols 48 6679 0)
=C2=A0(strin= gs 32 19692 1760)
=C2=A0(string-bytes 1 653683)
=C2=A0(vectors 16 142= 35)
=C2=A0(vector-slots 8 304684 17309)
=C2=A0(floats 8 28 45)
=C2= =A0(intervals 56 397 0)
=C2=A0(buffers 992 12))
--00000000000077946c05dc870510-- --00000000000077946d05dc870512 Content-Type: image/png; name="hb-brahmi.png" Content-Disposition: attachment; filename="hb-brahmi.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l1xg2kkx0 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 --00000000000077946d05dc870512 Content-Type: image/png; name="emacs-brahmi.png" Content-Disposition: attachment; filename="emacs-brahmi.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l1xg3pv31 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 rkJggg== --00000000000077946d05dc870512-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 13 12:03:36 2022 Received: (at 54914) by debbugs.gnu.org; 13 Apr 2022 16:03:36 +0000 Received: from localhost ([127.0.0.1]:53793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nefSy-0007V5-DW for submit@debbugs.gnu.org; Wed, 13 Apr 2022 12:03:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:58180) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nefSw-0007Ut-UT for 54914@debbugs.gnu.org; Wed, 13 Apr 2022 12:03:35 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36868) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nefSr-0006Cs-MW; Wed, 13 Apr 2022 12:03:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=3h1wenWKEPR8LqlskTxCKhJTjHrblyM0N1t6zj8pRfQ=; b=Q2NmtZ+GglGL jEN0js18p9fth/A6kLwBm7/RdXr4rpdQcsjiOhb2Q43j+zG1S70zWUINKmqNAkdIj9MDXs41UkYHX pcqBnzILjPkw1yAmbWlJIB3boZU6DnY1KJSsLRbnjFni4OXRxOSowBXul+LJMltsmk+nChNmudBtS dLk3dPFmJOGobmNfyfrpx/JeP68lFtU4X3MWbkfeG4ccd5yS3CHl8CNHT/WqgbpgXpNxf/ZURkgtX 7+Mv6NP8mknBR30YAV5IIDWNi6B+Mjr23IBnzwRKHS4beQU3tjH8RrZObjoeD0+qOpAl9wv/1DkqI TyTCDZKhqd4vd4GtWdO+DQ==; Received: from [87.69.77.57] (port=3585 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nefSr-0002Nr-62; Wed, 13 Apr 2022 12:03:29 -0400 Date: Wed, 13 Apr 2022 19:03:36 +0300 Message-Id: <837d7t3r8n.fsf@gnu.org> From: Eli Zaretskii To: Sameer Singh In-Reply-To: (message from Sameer Singh on Wed, 13 Apr 2022 16:25:41 +0530) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Sameer Singh > Date: Wed, 13 Apr 2022 16:25:41 +0530 > > Brahmi just like any other Indic script also has the ability to form conjuncts, but despite using "Segoe UI > Historic" font which supports Brahmi Conjuncts, Emacs is not able to display them. This is a missing feature: we don't have composition rules for the Brahmi script, and more generally don't have any support for that script. Patches to add that are welcome. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 13 12:56:36 2022 Received: (at 54914) by debbugs.gnu.org; 13 Apr 2022 16:56:36 +0000 Received: from localhost ([127.0.0.1]:53848 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1negIB-0000VJ-Ao for submit@debbugs.gnu.org; Wed, 13 Apr 2022 12:56:36 -0400 Received: from mail-wr1-f54.google.com ([209.85.221.54]:35567) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1negI9-0000V3-3r for 54914@debbugs.gnu.org; Wed, 13 Apr 2022 12:56:29 -0400 Received: by mail-wr1-f54.google.com with SMTP id k22so3533460wrd.2 for <54914@debbugs.gnu.org>; Wed, 13 Apr 2022 09:56:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=CZzRn08UF6TCqOJZg7ljaMaz6K2ZzM+zGcnjejZzLx0=; b=a1pwAyvsOSbXOYOhtG/aauHlu1DhxP3cJbYXUJXpZdUYxVIrnhCRkm0GzlgHR8O3Z5 woUArG66on/LekSr/AsWmwxH5X+Gs7OU+jO5M+HLiBaivR8mfNYZz+mIyuctSpfiNNYp UopiXv+k7SSFldU+0g7mfzjS+tG0NvPTc1LnCWa54zfcCZ4Ug6Ci310ivm97MWye40NW 9XQIU5KWKeZsG8UcqHZXeCne/FnMW+hbZDa+D6sBXx7vuaJV3wdOj+/Nom0AZzrO6cjZ jNQO0tIQrb0Verk1oxkDyZ7q9Z6DXds/GvDCMpSKnPGGfNTOY8+iLRzpVa7LAOO8ZMbX y7Xw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=CZzRn08UF6TCqOJZg7ljaMaz6K2ZzM+zGcnjejZzLx0=; b=jPno+sBpIOSYx6WrWcKXLFm/+N1kY0afaKhgP/8P+pp/ndLDvSebbOp0C3WkGmyryf Evjmmt7A42JwPL83o9rrqdk5XRpwu5Iyengu/5TSH/XDydkXBKy/6QaaI0SHbuFAhxso sH8qc6bNgjzxwtK/YRUQEMx7yh4WEpK0jPoasg11XrClyQNbvpC0T6gdicbdJpKEnRii kXvdR9RLj1BLNm11tQ3/+lMXaROqrNKgDfTUFV8miUXfOtdywq+bI6IfyS9TeV4eeHRx nb0q5fG7BmaGyX6KjE91/WyK17MRb3+IpNprPy3SzKGnmy4uQ89xALE0cICnLQfekzgN jFYg== X-Gm-Message-State: AOAM530pXDbtBw2L7NcmiMDRXHCrwfIodHPk0YXR7uHaJkC1tcE7HF9b HjfiSoxQYvtYAF0IblANPlwXwZ/wINk= X-Google-Smtp-Source: ABdhPJzjQWnM1rgiEu5tVaNxvsq8vu87MCb5hTJ7BVDq2IujBmEpBvDOlz2Z4aQ6asUcYfNElhuGzg== X-Received: by 2002:a5d:48c7:0:b0:207:9112:3fd3 with SMTP id p7-20020a5d48c7000000b0020791123fd3mr22816992wrs.113.1649868982812; Wed, 13 Apr 2022 09:56:22 -0700 (PDT) Received: from rltb ([2a01:e0a:3f3:fb50:7d70:6b02:5599:209d]) by smtp.gmail.com with ESMTPSA id k9-20020adfd849000000b00207b8b1cb0dsm1662375wrl.112.2022.04.13.09.56.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Apr 2022 09:56:22 -0700 (PDT) From: Robert Pluim To: Sameer Singh Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> Date: Wed, 13 Apr 2022 18:56:21 +0200 In-Reply-To: <837d7t3r8n.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 13 Apr 2022 19:03:36 +0300") Message-ID: <87tuaw53d6.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Wed, 13 Apr 2022 19:03:36 +0300, Eli Zaretskii said: >> From: Sameer Singh >> Date: Wed, 13 Apr 2022 16:25:41 +0530 >>=20 >> Brahmi just like any other Indic script also has the ability to form= conjuncts, but despite using "Segoe UI >> Historic" font which supports Brahmi Conjuncts, Emacs is not able to= display them. Eli> This is a missing feature: we don't have composition rules for the Eli> Brahmi script, and more generally don't have any support for that Eli> script. Patches to add that are welcome. A brute-force example of what Eli's talking about would be: (set-char-table-range composition-function-table '(#x11000 . #x1107F) (list (vector "[\x11000-\x1107F]+" 0 #'font-shape-gstring))) which essentially means "hand off any sequence of Brahmi codepoints to harfbuzz", which might end up being slow. From your example, you=CA=BCre requesting more something like "consonant, virami, consonant", which is also possible, but we'll need your guidance to tell us when the results are acceptable. (If anyone is interested, there=CA=BCs section 14.1 of the Unicode 14 standard that describes how they think Brahmi should be handled, but I=CA=BCve not tried to understand it yet). Robert --=20 From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 13 14:09:47 2022 Received: (at 54914) by debbugs.gnu.org; 13 Apr 2022 18:09:47 +0000 Received: from localhost ([127.0.0.1]:53936 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nehR4-0002XW-T1 for submit@debbugs.gnu.org; Wed, 13 Apr 2022 14:09:47 -0400 Received: from mail-qt1-f178.google.com ([209.85.160.178]:38673) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nehNj-0002Rt-2i for 54914@debbugs.gnu.org; Wed, 13 Apr 2022 14:06:19 -0400 Received: by mail-qt1-f178.google.com with SMTP id z14so1949855qto.5 for <54914@debbugs.gnu.org>; Wed, 13 Apr 2022 11:06:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wXDuc+jrR0PG4FQgsJd+5Fn9ZttPEBL/PcLnvWXzhSk=; b=qG1p8NdNB8JoqQYVMxBCBxoC8Lb275eaBUO3ciCisygpiy3kxFI2WfrJE0Cd49qZLu 9h51KPgZ5fDkvHt1ATCZLL9DH99rOsyt66wT0gZ3mvc5pF8M9vn2ncum9GKJycPEVl2c 6SyEgUS9gmH1Bk7NJcAIEHtOUs0CAJIGCOQfoCZLxD3MiMztDb2hNhV3c23T4q1cO6uT UiTwdwGdiY7ns8w1gOCptQP3VsJFoMNkNsfzPKm6YN1dBZh7+EiadXQqdtdByJYL6VCC sfxDmEvw+M2a6YXTr9B3RG+qC29QipBw/nG+c8rVqWK0tepP334tUVh+G1yogegwhKh9 bb+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wXDuc+jrR0PG4FQgsJd+5Fn9ZttPEBL/PcLnvWXzhSk=; b=oJtCCx40UW3sb08l5uUyfsIAKnCnrW5VtIpwRwe7hG4udxVrZ03wToEODpgG9idg/1 V7nr2PREba1PORwKaFBIJjyxUuYXhAQlULl9NyU36kFUfsIUsIMETVil1PbGiEzR5kvR ifwGLQlMibQyNx7kZ6h9HK/nEj/4iWlCDSWHhIJiQwmD+L4bsNIDCfmf7IJSFnCvQ5rb Ow3bqu1qhc7pnLwFNKXzq5oS3tyUXC+ZsYe4cCw/DuZbBofp7Ww4IqrHpMa3ImNHl872 0ia1htB7u3J2+i1TzZEtWlhR6hdq2ibgneKJDH/1Jinlnu+v63dilI3YD5SplDaK2M/K jQxw== X-Gm-Message-State: AOAM533hTsXkClUD9uDyoRs9e0ngTZ2vRADkzhq4B97DUDAk+sxaXPvZ 7VX8dPap0sd2wvT6XY3RoJoPjYN4O+sbNo8WIpk= X-Google-Smtp-Source: ABdhPJyJx/iCucBc+q6WMB5Vi/RLrVjOjTg6xJ68+aqGwtNMHpIJb0zD2+E6QySFOkId+lhesjgxEuuQmM/3gfQXgiE= X-Received: by 2002:ac8:5b88:0:b0:2f1:c68c:bec7 with SMTP id a8-20020ac85b88000000b002f1c68cbec7mr3625313qta.180.1649873173366; Wed, 13 Apr 2022 11:06:13 -0700 (PDT) MIME-Version: 1.0 References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> In-Reply-To: <87tuaw53d6.fsf@gmail.com> From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Date: Wed, 13 Apr 2022 23:36:02 +0530 Message-ID: Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: Robert Pluim Content-Type: multipart/alternative; boundary="0000000000006c4d2605dc8d084f" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 54914 X-Mailman-Approved-At: Wed, 13 Apr 2022 14:09:46 -0400 Cc: 54914@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --0000000000006c4d2605dc8d084f Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I am not capable enough to write my own patch for it, but will be more than happy to provide help in implementing it, by validating results. On Wed, Apr 13, 2022 at 10:26 PM Robert Pluim wrote: > >>>>> On Wed, 13 Apr 2022 19:03:36 +0300, Eli Zaretskii > said: > > >> From: Sameer Singh > >> Date: Wed, 13 Apr 2022 16:25:41 +0530 > >> > >> Brahmi just like any other Indic script also has the ability to > form conjuncts, but despite using "Segoe UI > >> Historic" font which supports Brahmi Conjuncts, Emacs is not able > to display them. > > Eli> This is a missing feature: we don't have composition rules for t= he > Eli> Brahmi script, and more generally don't have any support for tha= t > Eli> script. Patches to add that are welcome. > > A brute-force example of what Eli's talking about would be: > > (set-char-table-range composition-function-table > '(#x11000 . #x1107F) > (list (vector "[\x11000-\x1107F]+" 0 > #'font-shape-gstring))) > > which essentially means "hand off any sequence of Brahmi codepoints to > harfbuzz", which might end up being slow. From your example, you=CA=BCre > requesting more something like "consonant, virami, consonant", which > is also possible, but we'll need your guidance to tell us when the > results are acceptable. (If anyone is interested, there=CA=BCs section 14= .1 > of the Unicode 14 standard that describes how they think Brahmi should > be handled, but I=CA=BCve not tried to understand it yet). > > Robert > -- > --0000000000006c4d2605dc8d084f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I am not capable enough to write my own patch for it, but = will be more than happy to provide help in implementing it, by validating r= esults.

On Wed, Apr 13, 2022 at 10:26 PM Robert Pluim <rpluim@gmail.com> wrote:
>>>>> On Wed, 13 Apr 2= 022 19:03:36 +0300, Eli Zaretskii <eliz@gnu.org> said:

=C2=A0 =C2=A0 >> From: Sameer Singh <lumarzeli30@gmail.com>
=C2=A0 =C2=A0 >> Date: Wed, 13 Apr 2022 16:25:41 +0530
=C2=A0 =C2=A0 >>
=C2=A0 =C2=A0 >> Brahmi just like any other Indic script also has the= ability to form conjuncts, but despite using "Segoe UI
=C2=A0 =C2=A0 >> Historic" font which supports Brahmi Conjuncts,= Emacs is not able to display them.

=C2=A0 =C2=A0 Eli> This is a missing feature: we don't have composit= ion rules for the
=C2=A0 =C2=A0 Eli> Brahmi script, and more generally don't have any = support for that
=C2=A0 =C2=A0 Eli> script.=C2=A0 Patches to add that are welcome.

A brute-force example of what Eli's talking about would be:

(set-char-table-range composition-function-table
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 '(#x11000 . #x1107F)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 (list (vector "[\x11000-\x1107F]+" 0 #'font-shape-gstring= )))

which essentially means "hand off any sequence of Brahmi codepoints to=
harfbuzz", which might end up being slow. From your example, you=CA=BC= re
requesting more something like "consonant, virami, consonant", wh= ich
is also possible, but we'll need your guidance to tell us when the
results are acceptable. (If anyone is interested, there=CA=BCs section 14.1=
of the Unicode 14 standard that describes how they think Brahmi should
be handled, but I=CA=BCve not tried to understand it yet).

Robert
--
--0000000000006c4d2605dc8d084f-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 13 14:26:57 2022 Received: (at 54914) by debbugs.gnu.org; 13 Apr 2022 18:26:57 +0000 Received: from localhost ([127.0.0.1]:53970 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nehhh-00031O-AM for submit@debbugs.gnu.org; Wed, 13 Apr 2022 14:26:57 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38202) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nehhd-000318-AJ for 54914@debbugs.gnu.org; Wed, 13 Apr 2022 14:26:55 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40572) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nehhY-00053p-3A; Wed, 13 Apr 2022 14:26:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=q+gCyXy4vbLJFiM0t9FCWD9UPeGWtMkLt06KBtA/0eQ=; b=GhRhT6q7H70l u/L+ItYUuPdpxt7zhNTq7aQ03bpHfp3EqScPbIN5M2xjU1JM/h6YvGQh113aEvgm7KM323WkS+LPc vIGKpJR3ECOTYTZnAiHIviajZd1Ki+ER4sE2GyllQT8JRh3b7P1Qzgcijy6jVn6FE/0CRaOCq6oIU 2u3z7c9tjyCl1ZtLOfKXvza+JPzkMkLrsJvoB+A4JMLLcYPI50/5ehCME8nUTZ3Lt/ghegy65hvPn PbRGAwI/7/O+qimOGmm1inLG5+JNLaqM8CHKqS0OXi6AB23Y3N02qsoIRex3cdizEeO5ckexK1Uyz pQ+BPVWfmWYPU/Ai4ZnkzQ==; Received: from [87.69.77.57] (port=4662 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nehhX-0004Pa-Jq; Wed, 13 Apr 2022 14:26:47 -0400 Date: Wed, 13 Apr 2022 21:26:55 +0300 Message-Id: <835ync4z68.fsf@gnu.org> From: Eli Zaretskii To: Robert Pluim In-Reply-To: <87tuaw53d6.fsf@gmail.com> (message from Robert Pluim on Wed, 13 Apr 2022 18:56:21 +0200) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, lumarzeli30@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Robert Pluim > Cc: Eli Zaretskii , 54914@debbugs.gnu.org > Date: Wed, 13 Apr 2022 18:56:21 +0200 > > A brute-force example of what Eli's talking about would be: > > (set-char-table-range composition-function-table > '(#x11000 . #x1107F) > (list (vector "[\x11000-\x1107F]+" 0 #'font-shape-gstring))) Does that really work? I'm not sure it will catch the "consonant, virama, consonant" rule (because the virama is a nonspacing mark, and we have a default rule for those in composite.el). From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 14 05:07:34 2022 Received: (at 54914) by debbugs.gnu.org; 14 Apr 2022 09:07:34 +0000 Received: from localhost ([127.0.0.1]:55159 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nevRt-00025A-Rz for submit@debbugs.gnu.org; Thu, 14 Apr 2022 05:07:34 -0400 Received: from mail-wr1-f45.google.com ([209.85.221.45]:37389) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nevRr-00024w-QT for 54914@debbugs.gnu.org; Thu, 14 Apr 2022 05:07:32 -0400 Received: by mail-wr1-f45.google.com with SMTP id t1so6012155wra.4 for <54914@debbugs.gnu.org>; Thu, 14 Apr 2022 02:07:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=xNTlYfF9b+ewTftNnZYNn+odd6NZjpiU/HxeyD20Rt4=; b=UYsoqPcvGDJ5ZEjA3GKmjjLT810H38SG5wAmWWaidUqtcfd9m6Zf7Fs+Y4P5KeS9Q2 fD4Ll6Wk0prgvEY9c50cTutmtZNgz5da8mhbfudW9L6VXVisBgfrl/GeEMMqqijp/Npl gzLf/cRFMAr0PXeMrwt+olhwl9yTy0iRtUMeqU3ymD/+R+WDF7j6RBrR3qE4lMi5MQph s9nkQJchkbduLuWNbyRY17+FJtukoKp2BObBw6YtuGMCLjTYw5QQBtNUVwducmoE+IB2 jDT6VwUZ3OjhcM4G7m19UVpk2tz8IyIixmfRIlnBqFKepjfJzREbxyKMlNiFU/PDz2TE Ngbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=xNTlYfF9b+ewTftNnZYNn+odd6NZjpiU/HxeyD20Rt4=; b=ArqD1r316b4Eoo5u/GV7K8mfLI9Z81a1/jUG/A7ad1JvJ4M9RIMP6odrZEUoY5l/kK X4OgMsBYjEKhzVGPjUIqZzR1VeZz46OUboGvBx2xp2CDaV/bXefJjaIEXqVSsxce82mP WBuhLq0baQxL1iw5CgjUNdK4su/zTd+m/rQjt4pEsOH7fIfxP7+KI7tfbl+/j6SYaa3H gsoSlPbc+dMu1Y8/yKkHhfJ6Gx93T4qXrxgG8EKwmXgqRr78yYQAydZml/MVoBGOk5On 1CXBiBYWVIvbQEI8NYG6FIOOEZfY2O8fxwoiERTKRydP/cwDQiPVwjxY9zF26Yy0Spxx QsFQ== X-Gm-Message-State: AOAM531ZadnhYImqRhkpxKojKSHoho/8lr9ldEbp5vMCHkpVxGz6YuPX fDhWktRKWy2herq3OTQt3wQ= X-Google-Smtp-Source: ABdhPJyghfKYfvNDaUJf65EARFoEYXKV98XazYHKpnMB8MDgN7mfccXc/EI6UGrwUoN8xdIaZwOnrg== X-Received: by 2002:a05:6000:1566:b0:207:b690:acb5 with SMTP id 6-20020a056000156600b00207b690acb5mr1314451wrz.104.1649927245701; Thu, 14 Apr 2022 02:07:25 -0700 (PDT) Received: from rltb ([2a01:e0a:3f3:fb50:7d70:6b02:5599:209d]) by smtp.gmail.com with ESMTPSA id t4-20020adfe104000000b00205b50f04f0sm1269217wrz.86.2022.04.14.02.07.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Apr 2022 02:07:25 -0700 (PDT) From: Robert Pluim To: Eli Zaretskii Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> Date: Thu, 14 Apr 2022 11:07:23 +0200 In-Reply-To: <835ync4z68.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 13 Apr 2022 21:26:55 +0300") Message-ID: <87pmlk3ues.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, lumarzeli30@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Wed, 13 Apr 2022 21:26:55 +0300, Eli Zaretskii said: >> From: Robert Pluim >> Cc: Eli Zaretskii , 54914@debbugs.gnu.org >> Date: Wed, 13 Apr 2022 18:56:21 +0200 >>=20 >> A brute-force example of what Eli's talking about would be: >>=20 >> (set-char-table-range composition-function-table >> '(#x11000 . #x1107F) >> (list (vector "[\x11000-\x1107F]+" 0 #'font-shape-gstring))) Eli> Does that really work? I'm not sure it will catch the "consonant, Eli> virama, consonant" rule (because the virama is a nonspacing mark, = and Eli> we have a default rule for those in composite.el). We do indeed. The following handles only Ka through Lla in combination with Virama, and seems to do the right thing here with Segoe UI Historic (which I don=CA=BCt think we can set as default for the Brahmi script, since it=CA=BCs non-free). ;; , or , where the ;; latter indicates a vowelless consonant. (set-char-table-range composition-function-table '(#x11013 . #x11034) (list (vector "[\x11013-\x11034]\x11046[\x11013-\x11034]?" 0 #'font-shape-gstring))) Robert --=20 From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 16 06:22:01 2022 Received: (at 54914) by debbugs.gnu.org; 16 Apr 2022 10:22:01 +0000 Received: from localhost ([127.0.0.1]:60760 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nffZ3-00074g-Bj for submit@debbugs.gnu.org; Sat, 16 Apr 2022 06:22:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nffZ0-00074T-So for 54914@debbugs.gnu.org; Sat, 16 Apr 2022 06:21:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58658) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nffYv-0005Jq-LU; Sat, 16 Apr 2022 06:21:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=bYb0moZQTkl2149eecifejpNjPjmo5OXlAvP1Ggtc/k=; b=W2TgUnv8W+riByhfy121 z/dz59zQNBsBIISE8+8tT+Lbg1mrJJld5l8BfGFjkKaaPZa0zV/V8LBEvmJ62yXHLnZiUzIklQ+Cy NijMJYTX9P05UK/yl0WQSV7ChSEeNJGcmONQlMA4OFIRf7MK/nQWVnIZe4aclem6slv4SjfRzuVGr y/aRUAM9chTLVr4pEj8fsCNHd90MljEoLfE5ph4xRnxLSK3psIJUQJ6vbpBOWJvw8nwZ+RI7Wfk8m EEqvt8pCVJ5L0L2CjryVJEhehKEdCetumP4HZ8J2p8bQvfHS9hSw7pa47ekq/nGqjspd48PBt/Ldx QpWO0Td7lI1FwA==; Received: from [87.69.77.57] (port=1459 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nffYv-0007af-4B; Sat, 16 Apr 2022 06:21:53 -0400 Date: Sat, 16 Apr 2022 13:22:07 +0300 Message-Id: <83bkx11g6o.fsf@gnu.org> From: Eli Zaretskii To: Robert Pluim In-Reply-To: <87pmlk3ues.fsf@gmail.com> (message from Robert Pluim on Thu, 14 Apr 2022 11:07:23 +0200) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, lumarzeli30@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Robert Pluim > Cc: 54914@debbugs.gnu.org, lumarzeli30@gmail.com > Date: Thu, 14 Apr 2022 11:07:23 +0200 > > >>>>> On Wed, 13 Apr 2022 21:26:55 +0300, Eli Zaretskii said: > > >> From: Robert Pluim > >> Cc: Eli Zaretskii , 54914@debbugs.gnu.org > >> Date: Wed, 13 Apr 2022 18:56:21 +0200 > >> > >> A brute-force example of what Eli's talking about would be: > >> > >> (set-char-table-range composition-function-table > >> '(#x11000 . #x1107F) > >> (list (vector "[\x11000-\x1107F]+" 0 #'font-shape-gstring))) > > Eli> Does that really work? I'm not sure it will catch the "consonant, > Eli> virama, consonant" rule (because the virama is a nonspacing mark, and > Eli> we have a default rule for those in composite.el). > > We do indeed. The following handles only Ka through Lla in combination > with Virama, and seems to do the right thing here with Segoe UI > Historic (which I donʼt think we can set as default for the Brahmi > script, since itʼs non-free). > > ;; , or , where the > ;; latter indicates a vowelless consonant. > (set-char-table-range composition-function-table > '(#x11013 . #x11034) > (list (vector "[\x11013-\x11034]\x11046[\x11013-\x11034]?" > 0 #'font-shape-gstring))) I've now added support for the Brahmi script to the master branch; please test and report any problems you find. (We cannot advertise Segoe UI Historic, unfortunately, since it is not a free font, AFAICT.) From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 16 08:26:15 2022 Received: (at 54914) by debbugs.gnu.org; 16 Apr 2022 12:26:16 +0000 Received: from localhost ([127.0.0.1]:60922 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfhVH-000467-O5 for submit@debbugs.gnu.org; Sat, 16 Apr 2022 08:26:15 -0400 Received: from eggs.gnu.org ([209.51.188.92]:35512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfhVG-00045r-3m for 54914@debbugs.gnu.org; Sat, 16 Apr 2022 08:26:14 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60480) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nfhVA-0000p5-Ot; Sat, 16 Apr 2022 08:26:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=LW7RVnRYLOJUFmKl7QU7N951DqPlznmV0pjE+uuyzfw=; b=HkvrDwsMcTC90nCidt2M qKvkuTFFv+awOsQakUUGlkV3/HFnHzooQcQ0sKTBiTfshSAOMx5bS0ocZap7Licis/rDwUJ4hpQlK A0Dae3nrZlNJ2o6egy5kCTHyJpUzPywKQ4GuqBBxT6vITEQQI9S0VPZazjC6LPicfkrNDXqW0TiW1 UnLQuD8uE6Cjj47Gx+zquCYCFdcIJouMMmOEcXJiBMjoD1YzIDmjSdyUCg+YypSOvmycj220H1zAk 5vEg3ItChDe+HAghfDZt9nqlNdkYZYRCwT5I2sjFi7I1bn/eyS1sk0p6Eb197B+IB21BbLoAg07t3 a07o2Ouna+FrKw==; Received: from [87.69.77.57] (port=1870 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nfhVA-0005BV-8A; Sat, 16 Apr 2022 08:26:08 -0400 Date: Sat, 16 Apr 2022 15:26:23 +0300 Message-Id: <8335id1afk.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= In-Reply-To: (message from =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuQ==?= Sameer Singh on Sat, 16 Apr 2022 17:43:49 +0530) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, rpluim@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: समीर सिंह Sameer Singh > Date: Sat, 16 Apr 2022 17:43:49 +0530 > Cc: Robert Pluim , 54914@debbugs.gnu.org > > I can notice two problems > 1. Vowel signs are not attached properly to conjuncts. > Correct output=hb-conjuncts-maatra.png Incorrect Output=emacs-conjuncts-maatra.png > > 2. Conjuncts with more than two consonants are not supported. > Correct output=hb-tri-conjuncts.png Incorrect Output=emacs-tri-conjuncts.png Thanks, but please always show the codepoints themselves that are or should be involved, because it's impossible to glean that from the images. Also, where do you see the shaping rules that support those combinations? I didn't find them in the Unicode Standard or anywhere else I've read about Brahmi. What are your sources? That hb-view does something doesn't yet mean it's correct, since HarfBuzz is just another piece of software, and can have bugs. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 16 11:14:40 2022 Received: (at 54914) by debbugs.gnu.org; 16 Apr 2022 15:14:40 +0000 Received: from localhost ([127.0.0.1]:34077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfk8G-0004ed-8g for submit@debbugs.gnu.org; Sat, 16 Apr 2022 11:14:40 -0400 Received: from mail-qv1-f53.google.com ([209.85.219.53]:42524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfhJY-0003ng-3k for 54914@debbugs.gnu.org; Sat, 16 Apr 2022 08:14:08 -0400 Received: by mail-qv1-f53.google.com with SMTP id e22so8000046qvf.9 for <54914@debbugs.gnu.org>; Sat, 16 Apr 2022 05:14:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=f6vPFQtza2NH8z+ZXkcX7faH5zVFHLjA1saU4EMy5lk=; b=qJmB/29HmoasZzp/daQsFPUOHqqHNMqMkxN+Ud3Dx2MGrwlsLz1c1LZCvUVpzV9yz5 BXh3psF37OgaKAsw4+TNw0/rxemsU+YxCGoFcUhF3ZibmH//zKaAzR9pYt37xeLBaG/s Wx0s7ZY2Tf/x8AGGJ5DXZdcE021hkz2aYIOnx5JAZGgaA/Q4PHwUPCnGmtIzvXikE2G5 uhSzPG+pIZzTCa/iAl3/ssf8jF5Ap9GMDIxCML8IShiNBdsOl/et7YkqhK24BiV5WN7D eRtQGNcpn77m7Ukp42G2G+7AiDwnEWNVMC0b8EOVHltZP5qQkZQ2zHACdi+eMveBNTrQ 7Zlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=f6vPFQtza2NH8z+ZXkcX7faH5zVFHLjA1saU4EMy5lk=; b=ehuAW05m0SUt+RkQZW3FT5dYbfjQ+RGrO96bVLMtnfWJgcU0h6W7S4j2c1J9TbcYYT GQNFG5hj/a18GFgmjruSs83TyJ2tFKN8nlFPxqVhU+JS/c7c1hTM13ldEAtIDBp7/StA YHLVgvv46TknHSUdW0F3RoTWvBAYzNpw3V/bn8ZClDNDheS77sNCJezGanQsfHbq+o6M 5dM8uE44+4Il0QCepYYgrbxV6ht37e9oGXxccoPO1WSGLbuozDS8rNFxiH8dIsoROrM0 7o7eTHiHHKXiYCx+ygYQ9nzMPGiDRxjptnVIgdWA2pILJczqOuxG8LrW4NRMHHVakj/y tDTQ== X-Gm-Message-State: AOAM53142c+1yPr+da9jKkzfiB6BK7+7h2ehJdEG7rISVBHAfsGdV2J8 Id35LyVe68oSPcjlC5wZYnhHp2U1jLjWRNO5tenLJqfg5TtIvA== X-Google-Smtp-Source: ABdhPJzzwZEx3vMg6qvbmcu+wbLTBbCSgPevUlICekBGtpcSQMOr8POb+8qagCeZBqIBDlGVXRHXJCW1pg8YU4QlhtQ= X-Received: by 2002:a05:6214:1c06:b0:444:bfb:79ad with SMTP id u6-20020a0562141c0600b004440bfb79admr2420984qvc.108.1650111242182; Sat, 16 Apr 2022 05:14:02 -0700 (PDT) MIME-Version: 1.0 References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> In-Reply-To: <83bkx11g6o.fsf@gnu.org> From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Date: Sat, 16 Apr 2022 17:43:49 +0530 Message-ID: Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: Eli Zaretskii Content-Type: multipart/mixed; boundary="0000000000006e4ee305dcc4764b" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 54914 X-Mailman-Approved-At: Sat, 16 Apr 2022 11:14:38 -0400 Cc: 54914@debbugs.gnu.org, Robert Pluim X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --0000000000006e4ee305dcc4764b Content-Type: multipart/alternative; boundary="0000000000006e4ee105dcc47649" --0000000000006e4ee105dcc47649 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thank you very much for adding support for Brahmi! I can notice two problems 1. Vowel signs are not attached properly to conjuncts. Correct output=3Dhb-conjuncts-maatra.png Incorrect Output=3Demacs-conjuncts-maatra.png 2. Conjuncts with more than two consonants are not supported. Correct output=3Dhb-tri-conjuncts.png Incorrect Output=3Demacs-tri-conjuncts.png On Sat, Apr 16, 2022 at 3:51 PM Eli Zaretskii wrote: > > From: Robert Pluim > > Cc: 54914@debbugs.gnu.org, lumarzeli30@gmail.com > > Date: Thu, 14 Apr 2022 11:07:23 +0200 > > > > >>>>> On Wed, 13 Apr 2022 21:26:55 +0300, Eli Zaretskii > said: > > > > >> From: Robert Pluim > > >> Cc: Eli Zaretskii , 54914@debbugs.gnu.org > > >> Date: Wed, 13 Apr 2022 18:56:21 +0200 > > >> > > >> A brute-force example of what Eli's talking about would be: > > >> > > >> (set-char-table-range composition-function-table > > >> '(#x11000 . #x1107F) > > >> (list (vector "[\x11000-\x1107F]+" 0 #'font-shape-gstring))) > > > > Eli> Does that really work? I'm not sure it will catch the > "consonant, > > Eli> virama, consonant" rule (because the virama is a nonspacing > mark, and > > Eli> we have a default rule for those in composite.el). > > > > We do indeed. The following handles only Ka through Lla in combination > > with Virama, and seems to do the right thing here with Segoe UI > > Historic (which I don=CA=BCt think we can set as default for the Brahmi > > script, since it=CA=BCs non-free). > > > > ;; , or , where the > > ;; latter indicates a vowelless consonant. > > (set-char-table-range composition-function-table > > '(#x11013 . #x11034) > > (list (vector > "[\x11013-\x11034]\x11046[\x11013-\x11034]?" > > 0 #'font-shape-gstring))) > > I've now added support for the Brahmi script to the master branch; > please test and report any problems you find. > > (We cannot advertise Segoe UI Historic, unfortunately, since it is not > a free font, AFAICT.) > --0000000000006e4ee105dcc47649 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thank you very much for adding suppo= rt for Brahmi!

I can notice two problems
1. Vowel signs are not attached properly to conjuncts.
=C2=A0=C2= =A0=C2=A0 Correct output=3Dhb-conjuncts-maatra.png=C2=A0=C2=A0 Incorrect Ou= tput=3Demacs-conjuncts-maatra.png

2. Conjuncts wit= h more than two consonants are not supported.
=C2=A0=C2=A0=C2=A0 = Correct output=3Dhb-tri-conjuncts.png=C2=A0=C2=A0 Incorrect Output=3Demacs-= tri-conjuncts.png

On Sat, Apr 16, 2022 at 3:51 PM Eli Zaretskii &l= t;eliz@gnu.org> wrote:
> From: Robert Pluim <<= a href=3D"mailto:rpluim@gmail.com" target=3D"_blank">rpluim@gmail.com&g= t;
> Cc: 54914@d= ebbugs.gnu.org,=C2=A0 lumarzeli30@gmail.com
> Date: Thu, 14 Apr 2022 11:07:23 +0200
>
> >>>>> On Wed, 13 Apr 2022 21:26:55 +0300, Eli Zaretskii= <eliz@gnu.org>= said:
>
>=C2=A0 =C2=A0 =C2=A0>> From: Robert Pluim <rpluim@gmail.com>
>=C2=A0 =C2=A0 =C2=A0>> Cc: Eli Zaretskii <eliz@gnu.org>,=C2=A0 54914@debbugs.gnu.org
>=C2=A0 =C2=A0 =C2=A0>> Date: Wed, 13 Apr 2022 18:56:21 +0200
>=C2=A0 =C2=A0 =C2=A0>>
>=C2=A0 =C2=A0 =C2=A0>> A brute-force example of what Eli's ta= lking about would be:
>=C2=A0 =C2=A0 =C2=A0>>
>=C2=A0 =C2=A0 =C2=A0>> (set-char-table-range composition-function= -table
>=C2=A0 =C2=A0 =C2=A0>> '(#x11000 . #x1107F)
>=C2=A0 =C2=A0 =C2=A0>> (list (vector "[\x11000-\x1107F]+&quo= t; 0 #'font-shape-gstring)))
>
>=C2=A0 =C2=A0 =C2=A0Eli> Does that really work?=C2=A0 I'm not su= re it will catch the "consonant,
>=C2=A0 =C2=A0 =C2=A0Eli> virama, consonant" rule (because the v= irama is a nonspacing mark, and
>=C2=A0 =C2=A0 =C2=A0Eli> we have a default rule for those in composi= te.el).
>
> We do indeed. The following handles only Ka through Lla in combination=
> with Virama, and seems to do the right thing here with Segoe UI
> Historic (which I don=CA=BCt think we can set as default for the Brahm= i
> script, since it=CA=BCs non-free).
>
> ;; <Consonant, Virama, Consonant>, or <Consonant, Virama>,= where the
> ;; latter indicates a vowelless consonant.
> (set-char-table-range composition-function-table
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0'(#x11013 . #x11034)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0(list (vector "[\x11013-\x11034]\x11046[\x11013-\x11034]?"<= br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A00 #'font-= shape-gstring)))

I've now added support for the Brahmi script to the master branch;
please test and report any problems you find.

(We cannot advertise Segoe UI Historic, unfortunately, since it is not
a free font, AFAICT.)
--0000000000006e4ee105dcc47649-- --0000000000006e4ee305dcc4764b Content-Type: image/png; name="emacs-conjuncts-maatra.png" Content-Disposition: attachment; filename="emacs-conjuncts-maatra.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l21tj8ii1 iVBORw0KGgoAAAANSUhEUgAAAZ4AAAI3CAIAAAAk5arjAAAACXBIWXMAAA+IAAAPiAEWyKWGAAAg AElEQVR4nO3daXgUZbqA4ep0dggkIQn7GgghECFsCoqAiDiAo+JyBM6MsjjMEXA5iqLjCCKMMiOC bI6yiaw6gCh72IQBYYAQCEvYA2FNyEbWTtKdnB96cRRDdXdSXd315rl/zUV/+er1GnzsSldVm6Jj uioAIIuXuwcAAO2RNgACkTYAApE2AAKRNgACkTYAApE2AAKRNgACkTYAApE2AAKRNgACkTYAApE2 AAKRNgACkTYAApE2AAKRNgACkTYAApE2AAKRNgACkTYAApE2AAKRNgACkTYAApE2AAKRNgACkTYA ApE2AAKRNgACkTYAAnm7ewB4hMBA/8jI5ioLTp06V1paqts8dwgNCW7YqL4mW128mJqXV6DJVvBk pA2KoiiRkc2XLJ6lsqDfo4PT0m/qNs8d/Px9Fy2Y7u2twV/X0WPe3vvjwarvAw/HCSkM4Pr19PXr t7p7ChgJaYMxzF+w3GazuXsKGAZpgzFcuXp946bt7p4ChkHaYBjz5i+z2crcPQWMgbTBMFJTr26J /8HdU8AYSBuMZP78pWVlvHGDfaQNRnIhJXXrtt3ungIGQNpgMPPmLysvL3f3FPB0XLILgzl3LqVH z8dNpkr+V7mwsEjbeeCZSBuMJz+/0N0jwNNxQgpAINIGQCDSBkAg0gZAINIGQCDSBkAg0gZAINIG QCDSBkAg0gZAINIGQCDSBkAg0gZAINIGQCDSBkAg0gZAINIGQCDSBkAg0gZAINIGQCDSBkAg0gZA INIGQCDSBkAg0gZAINIGQCDSBkAgb3cPAKcFB9ceOmSQtnvWrRumvuD5558tKCjU9qArVnyblZ2j 7Z7AT0ib8YQE135x5FCdDzpk8JOa77kl/gfSBhfhhBSAQKQNgECkDYBApA2AQKQNgECkDYBApA2A QFzXZjxFFsuRo8e13TMwMDCqVQuVBcdPnLZaS7U9aFFRkbYbAreZomO6unsGuF9sbJsli2epLOj3 6OC09Ju6zQNUESekAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0A BCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAE Im0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm1wiJcXf1VgJPx9haIoir+/n/qC Ll066DMJoAnSBkAg0gZAINIGRVGUEydOqS/IybmlzySAJkgbAIFIGwCBSBsAgUgbAIFIGwCBSBsA gbzdPQAqLy4u9umnBt7t1dTUK59/sUTPeW7r+WC3Rx7pdbdXb9xInzV7gY7joDoibQbWoH7dAf37 3O3VM2cvuCttbdu2VhksKSlZz2FQPXFCamBFFovKq/XqRug2yR3q11c7dFFRoW6ToNoibQZWUKDW iFq1akZEhOk2zC+1atlc5dWcnFzdJkG1RdoM7ObNTPUFXTq74XEdtWvXioqKVFlwKfWqbsOg2iJt Bnb58jWbrUxlwaP9eus2zC8Pqv5wt0uXrug2DKot0mZgpaWlly+rvQPq3r1Li+ZNdJtHURSz2Tx0 yCD1NceO8zECXI60GVvC4SSVV81mr7FjRug2jKIoTz81sEmThioL0tLSUzkhheuRNmPbvz9BfUHv 3vd37HiPPsPUqhU0atQf1Nfs/fGgPsOgmiNtxrZn74GCgiL1NVM//EtoaIirJ/Hy8pr60buhIcHq y777Lt7VkwAKaTO6oiLL5i071NeEh9eZ9o/3vL1de3n22DHDu93XSX3NhQuXjiadcOkYwE9Im+Et X/FtWZna56SKosTFxc78dHJAgL+LZhj90rBhLzxnd9m8+UtdNABwB9JmeOfPX9ywcZvdZd27dZ73 xTS7J4zOMpvNEye88eLIoXZXnj59bvOWH7Q9OnA3pE2C2XO+zM+3f/dSu7atV62a3+/uN647q21M 1PJlc594/FG7K222sikfziwvL9fq0IA60iZBWlr61L/PdmRlaEjw1I/enf7JpMjIZlU5YlhYnXFv jP5q8ezWqjce3LZg4fKkpJNVOSLgFJ78IcS69fH33ddxQP+HHVncu1f33r2679ufsHTpqv3/OWyz 2Rw/UNuYqCGDB/Xr18vxzyX2709w1zNIUG2ZomO6unsGaMPHx2funA+dvW80L6/g4MHEhMSkca+/ pLJs2fJva9YM7N6tc3h4Haf2P33m/PARr9q9QgXQFmkTJSioxqyZUzq0b+fuQX6WnHx29Ji3s7Jz 3D0Iqh1zWLjabTEwlpKS0s1bdrZs2aJZs8bunkU5cDBx9Jjxubn57h4E1RFpk8ZqtW3dtktRlI5x sSaTyS0zlJeXL/py5YSJHxcXl7hlAIC0CVReXn7o0NGEhKROndrXqlVT56NfvXrjzfEfrF6zkUs9 4EakTaxr19NWr1lvtVpj27Vx9V1WP7FYLPMXLH/7nSk8kQ1ux8cI8oWGhgwdMujZZx4LCnLVO7jc 3PyVX69dsXJtNp8YwDOQtuqiRo2Ah/s8OKB/n86dO6g/BddxNptt3/6EjRu379i5x2Ip1mRPQBOk rdoJDQm+9964rl3iOna8p3HjBs5mzmq1pqRcPpyYdODAkQMHE/Py+AAUnoi0VWv+/n6RLZo2a9Yk IiIsLKxOndDggEB/P19fX1+f8vLy4pLS4uKSwsLCjIzsjIzM9PSMCymXUlIuW61Wdw8O2EHaAAjE 7fEABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQi bQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJt AAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0A BCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAE8nb3APAIgYH+kZHNVRacOnWutLRUt3nu EBoS3LBRfU22Skm5lJ9fqMlW8GSkDYqiKJGRzZcsnqWyoN+jg9PSb+o2zx369Onxl3deqfo+2dk5 vxswtOr7wPNxQopqZMnS1RZLsbungB5IG6qLW7fyvv5mrbungE5IG6qLZcvXFBQUuXsK6IS0oVrI yytYsXKNu6eAfkgbqoUVK9fk5RW4ewroh7RBvoKCoqXLeMtWvZA2yPf1N2tzc/PcPQV0RdognMVi WbJ0tbungN64ZBcGsPa7zZu37Kzcz9ps1sJCi7bzwPORNhhAaWmpG2/zghFxQgpAINIGQCDSBkAg 0gZAINIGQCDSBkAg0gZAIK5rgwFERjbr0rl95X42L79gw4Zt2s4Dz0faYAAd42LHvzW20j9+6dKV 48dPaTgPPB8npJBv1It/cPcI0Btpg3w9etzbpk1Ld08BXZE2VAt/Gskbt+qFtKFa6NWre6tWal+0 CmFIG6oFk8n04sj/dvcU0A9pQ3XxcJ8eLZo3cfcU0AlpQ3Xh5eU1kjdu1QbXtcEA8vPzL1+5VvV9 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 FWkDfqW8vHzaJ/909xSoKu5GAO50KOFoj56PK4razQlVVF7ONXSuRdqACuTlFbh7BFQJJ6QABCJt AAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0A BCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABPJ29wBwrdDQ kPbtY1pHRTZsWK9u3fAaNWoE+PspJlN+XkF+QUF29q1z51LOnDl/MvlsdnaOu4Zc/a/5VputpKS0 uLg4MzM7IyP7ZkbGxZTUc+cuXr12o7y83F2DwbhIm0z16kU8NrBv3749o1q1cGR9eXn50aQTW7ft jo/fdfNmpqvHu0OzZk3M5opPIAoLLYlHjh08dGTfvoTTp8/pPBiMyxQd09XdM0BLDRvW+/OoP/b/ XR+z2VyJHy8tLf1+XfzCRSuuXr1R4QKz2ZxwcIvKDuPenLR1226nDppwMP5uafulCympmzZt/3bt 5owMveMLw+F3bXKYTKbn//jM6n/Nf2zgI5XrmqIoPj4+Tw0a8P3axa+8PNLX11fbCauoRfMmo18a tnH9kvf++lrjxg3cPQ48GmkTIjDQf/onk157dZS/v3/VdzObzcNeeG750jmtW7es+m7a8vX1HfTk gDWrFowdM8Lf38/d48BDkTYJAgP9P//s4149u2m7bcuWzRcvmtGjx73abqsJHx+fEcMHr1m1sF27 aHfPAk9E2gzPbPaa8cmk2FiX/Bvu7+8/45NJTzz+qCs2r7oGDep+uXDGc//1uLsHgcchbYb351HP d+3a0XX7m83mCe+93u+RXq47RFV4e3uPf2vsmNHD3T0IPAsXfxhbu7bRI4YPdvanMjIyL1+5npOT W2wp9vP3C64d1LRpo9DQkLutN5lMk95/My0t48jR41Wb11VGjhji4+Mzfcbn7h4EnoK0Gdub417y 8nL0rffhw0nfr4vfty8hLf3mb1+tGxHerXvn3w/s27HjPb991c/Pd8b0959+9k+uuLL305nzAgL8 w8JCGzSoF906sk6d0Eps8vwfn0lNvbJ6zQbNx4MRcV2bgT3Y476Zn052ZGVy8tmpf5/j4Huu6OiW //vqnyo8yd2z58Arr/1V8+va7lC/fkSPHt0e6ftg507tnfpBm832wvBXjx1LrsrRIYM5LLyhu2dA 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 iyV6znNbzwe7PfJIr7u9euNG+qzZC3QcB56CtMEhDerXHdC/z91ePXP2grvS1rZta5XBkpKS9RwG noMTUjikyKL2oPB6dSN0m+QO9eurHbqoqFC3SeBRSBscUlCg1ohatWpW5VaqqmjVsrnKqzk5ubpN Ao9C2uAQu88O6tK5gz6T/FLt2rWioiJVFlxKvarbMPAopA0OuXz5mvoThB7t11u3YX55UC8vtb/D ly5d0W0YeBTSBoeUlpZevqz2Dqh79y4tmjfRbR5FUcxm89Ahg9TXHDvOxwjVFGmDoxIOJ6m8ajZ7 jR0zQrdhFEV5+qmBTZo0VFmQlpaeyglpdUXa4Ci73xXfu/f9HTveo88wtWoFjRr1B/U1e388qM8w 8ECkDY7as/dAQUGR+pqpH/4lNDTE1ZN4eXlN/ehdu9/W/N138a6eBB6LtMFRRUWWzVt2qK8JD68z 7R/veXu79lLwsWOGd7uvk/qaCxcuHU064dIx4MlIG5ywfMW3dr/PJS4uduankwMC/F00w+iXhg17 4Tm7y+bNX+qiAWAIpA1OOH/+4oaN2+wu696t87wvptk9YXSW2WyeOOGNF0cOtbvy9Olzm7f8oO3R YSykDc6ZPefL/Hz7dy+1a9t61ar5/e5+47qz2sZELV8294nHH7W70mYrm/LhTJ7TW82RNjgnLS19 6t9nO7IyNCR46kfvTv9kUmRks6ocMSyszrg3Rn+1eHZr1RsPbluwcHlS0smqHBEC8OQPOG3d+vj7 7us4oP/Djizu3at7717d9+1PWLp01f7/HLbZbI4fqG1M1JDBg/r16+X45xL79ye46xkk8Ch8oxUq w8fHZ+6cD529bzQvr+DgwcSExKRxr7+ksmzZ8m9r1gzs3q1zeHgdp/Y/feb88BGv2r1CBdUBaUMl BQXVmDVzSof27dw9yM+Sk8+OHvN2VnaOuweBRzCHhavdqgLcTUlJ6eYtO1u2bNGsWWN3z6IcOJg4 esz43Fy+Wx4/I22oPKvVtnXbLkVROsbFmkwmt8xQXl6+6MuVEyZ+XFxc4pYB4JlIG6qkvLz80KGj CQlJnTq1r1Wrps5Hv3r1xpvjP1i9ZiOXeuAOpA0auHY9bfWa9VarNbZdG1ffZfUTi8Uyf8Hyt9+Z whPZUCE+RoCWQkNDhg4Z9OwzjwUFueodXG5u/sqv165YuTabTwxwd6QN2qtRI+DhPg8O6N+nc+cO 6k/BdZzNZtu3P2Hjxu07du6xWIo12ROCkTa4UGhI8L33xnXtEtex4z2NGzdwNlDa8ukAAAFnSURB VHNWqzUl5fLhxKQDB44cOJiYl8cHoHAUaYNO/P39Ils0bdasSUREWFhYnTqhwQGB/n6+vr6+PuXl 5cUlpcXFJYWFhRkZ2RkZmenpGRdSLqWkXLZare4eHIZE2gAIxO3xAAQibQAEIm0ABCJtAAQibQAE Im0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQi bQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJt AAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0A BCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAEIm0ABCJtAAQibQAE Im0ABCJtAAQibQAE+j8rQZmVxobGMgAAAABJRU5ErkJggg== --0000000000006e4ee305dcc4764b Content-Type: image/png; name="hb-conjuncts-maatra.png" Content-Disposition: attachment; filename="hb-conjuncts-maatra.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l21tj8im3 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 vNLLPLWHLVRPUjSSykJSNOKdkJ2OJrpPf8zxpBORtBYSOWPO5Y4v9w8d9amXVw5pLSTNn5l/vsOr mJ+OWnCJnyuvpLaQyGF/n3Gq5Z08/s15l/h6x5niQiLHjP3yNvMza1oPm/1xf49X7jF5E1esLO/1 nati87MnmPwrNhr4jv2bVJXR9amnKicptnY6mzyW798dMz7O6VSF3U879QTvu3MsruCdhLLJM2bO DLnGmIiIHNit25G9nM910+RJIRERWTlzkXqhxTa/63ik/sG/D/lUSESGvqAMjhySzVWm+m9ZKrAQ wkIICyEshLAQwkIICyEshLAQwkJIgsd+rDhRGbza/2U+b9CO7FevdqFKsNAO7aJ/3/lfzxK3b2lO 8FmmftRndHmpeFy+qlQSLaReBUi/9KwTi6P6q0qw0L7a3vZvvK+mIv6vHFWChQq1S6Is9v4lr8u0 KwAafBSS5F977Wm23fZ8qVCztEH1qsy6JAupJ1lM8r2WCdqgwSlCSRZST3aBX1Nq6kNtME8KqZs5 3vN3ls9Xf/fnc6Et//C7Ev1rbvOkkHoVPRnldR3bX1GHo76zqIYkC+kX2J800+c6XlC/9btNnjyG WujnLd/vcRXl+mR98uT1kJyijr4Z+n2f5p7Xv2LE5PIxiRbSN7TyWm+flP8YcoKxyWXDEy10kr7v ZdrLvlZwu366/uH6xWp0iRZqFHL57uEr/Mz/XsilLaK+zTRDsnthh+jDP17s5cK5q4eGPF1/ZTJL soUGhRzv/FHk11DGtP3CkJ1NvcPO7VclW6hB2BcF3veU89zBFWEnPF5jNE/Cn3VcEfaDYc5XrLzz xZAftNO/TChMwoWODvuqhfLz7K89JCIid/w59Cdmn14k/XlZ6KVKtg14zWHayutDX5m3M7zMV9KF Tg+9wGb5hfdav3IsOefx0J/db3hV9qQLySOhWxD8YZDlBzkLe7wT+rMeRi+GJAWFjrks/Gevd51i MWPwRPfwnd11nzI9nyHxQvJQxOVelp10k/HD6KtTh0V828fthterFNPvJs+GyZFfUtP6paqXoxii 3WRklRuU3BL5a+aYWNegqSb5x5D0DLlM3E6rB3d9MfZ7kE2PHfpg1BdtNnzZ4sszXB8BHmxD5xJ2 fnrTrpsO0X48ctcPF98GLpBS+JbF1qWhULC6GP07NrpqckUQRBUqefVU+Hy4z2bjUlEoWBjjrJ6W V7yxNqzQV0+fWR/P8BurbUtHoWBarOuOF3RSd311Vb/xI8OgHVablpZzg94eqF6x3aOLRtpdCiIF f8tEROTsD4y+7sjcNS9aXisjLYWk99QDsjn9bU/a3tO0PMtEZMlpRt/3bKLOk/aXyUjNY0ikw8fZ +grl4ikO1xFJUSFp9vajrhd6UfWfZfY9ODV4/rPt6DOjneyx1H/UbZNSVigoGeb5CO9+XztuUdoK BcFCn19533aU8/akr1AQvOr4Zd57NLh7i/vWpOiv/V5bnn9YP2bDSNNrr3X9SmeRVL0eqqry3T86 fk9gu6t+6+dVekoLiQTjnxtj/d3JdU8b3N/XBflSW0hEyt558QObQ/S7D75Q/cJzO2kuJCKr//nh JKOv7Gjau0+/qCvBm0t5IRGpnDdhwoxY5/e07H5Sn27e3ySkv5CIiKyZN2/+54tCv1qxefsunTt3 MThZw0CeFNqpbPXq1avWbtlcXlpRIgVFUlTQuH6LA1u0ben89d8R8qpQItL03j6dWAhhIYSFEBZC WAhhIYSFEBZCWAhhIYSFEBZC/h/04irGC7ZcTgAAAABJRU5ErkJggg== --0000000000006e4ee305dcc4764b Content-Type: image/png; name="emacs-tri-conjuncts.png" Content-Disposition: attachment; filename="emacs-tri-conjuncts.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l21tj8ik2 iVBORw0KGgoAAAANSUhEUgAAAZkAAAJQCAIAAADTyI54AAAACXBIWXMAAA+IAAAPiAEWyKWGAAAg AElEQVR4nO3dZ3xU1f7H+ynpyYQEQhoJEEhIoYfeiXRQwQYqYEc9COix6zkiFhSwUxUV5QBSBBQp 0lF67yUhIYFAKhBII3Um94H/y+VqZmWSzN4zs/J5P/Kw1qz120f8vnZZe21tVExnDQA4OJ2tCwAA KyDLAMiALAMgA7IMgAzIMgAyIMsAyIAsAyADsgyADMgyADIgywDIgCwDIAOyDIAMyDIAMiDLAMiA LAMgA7IMgAzIMgAyIMsAyIAsAyADsgyADMgyADIgywDIgCwDIAOyDIAMyDIAMiDLAMiALAMgA7IM gAzIMgAyIMsAyIAsAyADsgyADMgyADIgywDIgCwDIAOyDIAMyDIAMiDLAMiALAMgA7IMgAzIMgAy IMsAyIAsAyADsgyADMgyADIgywDIgCwDIAOyDIAMyDIAMiDLAMiALAMgA7IMgAzIMgAyIMsAyIAs AyADsgyADMgyADJwsnUBqFxkZLhfA1/Vpjty9GRxcYlq0wFWR5bZqXHPjO7fr5dq0w29e3R6epZq 0wFWxzUmABmQZQBkQJYBkAFZBkAGZBkAGZBlAGRAlgGQAVkGQAbaqJjOtq4BldDpdFqtVrXpjEaj anMBSmDdv50ymUy2LgFwJFxjApABWQZABmQZABmQZQBkQJYBkAFZBkAGZBkAGZBlAGTAWlnH5uHh 1rx5mKBDfHxSWVmZavWoyd3dTfBmRGlpeXl5uYrlwMbIMsfWvHnYooWzBB0GDX4kK/uqavWo6ff1 P/n4eJtrnTZ91rLla9SsB7bFNSYAGZBlAGRAlgGQAVkGQAZkGQAZkGUAZECWAZABWQZABmQZABmQ ZQBkQJYBkAFZBkAGZBkAGZBlAGRAlgGQAVkGQAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBkQJYB kAFZBkAGZBkAGZBlAGRAlgGQAVkGQAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBkQJYBkAFZBkAG ZBkAGTjZuoA6xMen3uhH77fumAEBfuIOjz8+srDwlnUnXbr0l5wbN607JlBLZJl6fH3qjXtmtMqT PvrIfVYfc9PmP8gy2BuuMQHIgCwDIAOyDIAMyDIAMiDLAMiALAMgA7IMgAxYX6aeouLi4ydOW3dM Dw+PFhHNBB1On0koLy+z7qRFRUXWHbBaDAbPfv169+ndzWDwEnQbO+ah4ODAbdt2nzh5RrXaYEPa qJjOtq4BNde6dfSihbMEHQYNfiQr+6pq9SgqNDT46ScfGTz4Ljc3V8t/dfHi5UWLV/62dnNZmZUz HXaFa0w4AIPB6803Jvy6+scRI4ZUK8g0Gk3TpqHv/Pffv/26cED/3gqVB3tAlsHetWoZtXLF/IdH jdDra/7XNSjI/5MZk6d99B9PT3cr1gb7QZbBro0cOfyHBV8EBPhbZbTBg+N+WjwvIiLMKqPBrpBl sF8vTRr39psTnZ2drThmkyYhixbOat++tRXHhD0gy2Cnnn7qkSeeGKXEyG5ubrNnftSqZZQSg8NW yDLYoxEjhkyc8LRy43t6us+dM61586bKTQGVkWWwO40bN3rz9QkWdq6oqLh5M/fChYsnT55NTU0r KLB040lvb6+PP3rbuhewsCHWysK+6HS696a8VuXCC5PJtG377h079uzZeyg3N+/OpiZNQnr17DJo UFzrVlVcRbaIaPbcs2Nnz1lQ26JhB8gy2JcHH7ynfbtW4j7bt++ePWdBckpqpa2XLl25dOnK4iWr evXqMmnCM+Knlk8+8fC27TvPnUuqecWwD1xjwo7o9fqnnxTd7zcajdNnzH751SnmguxOu3YdGPv4 hA2/bxfOqHvmabU3LocSyDLYkYED+giWkplMppdfmbJ02a+WD1hcXPL2fz5avmKNoE9c3x6NGzeq RpWwS2QZ7MjYMQ8JWmfO/v7PnftqMOyMT+YeOnzcXKtOp3tsrGheOASyDPYirGnjmJgIc62nTsX/ +OPymo1sNBrfmTxD8G75oIF99Xp9zQaHnSDLYC969+4iaJ0567vaDJ6Zmb1y1XpzrQaDVyxvAjg4 sgz2ol1bs48vExNTBBeJFlqyZJWgtX37Kh6ews6RZbAXUVFmLzB37tpf+/GvpGUkJ18yO3tkeO2n gA2RZbALer3e39/PXOuBA0etMsu+/WbHaRQSZJUpYCtkGeyCr6+PYHsya22Nm5WVba7Jr4GvVaaA rZBlsAvuwpeWrl/Pscos166ZHcfNjT0aHRtZBrtQUVEhaNVqtVaZRaszO464ANg/sgx24dYt0bed 6te3zgWg4ELSth+XQu2RZbALuXn5RqPRXKu19sgWjJOTc8MqU8BWyDLYBaPRmJ6eZa61a5f2Vpml a9cO5poupaZZZQrYClkGe3E+8YK5pt69utZ+/NCQ4GZhjc21JiWl1H4K2BBZBntx+PAJc03h4WFd u8bWcvyxYx4QtB46VNv3CmBbZBnsxZ69hwStL04cV5unmSGNgu6/f5i51ry8glOn42s8OOwBWQZ7 kZqadvLkOXOt0dER/3r+sZqN7OLi8tHUt52czO6ivHHT9vLy8poNDjtBlsGOrFq9TtD67Lixw4b1 r+6YOp3u3ckvt2kTLeiz+pcN1R0W9oYsgx1Zv2Gb4GmmRqP58P03xv/rCZ3O0r+3BoPX7FkfDRsq SsBduw7Ex7Pfv8Mjy2BHysvL58z9QdBBq9U+O27MDwu+iI1tIx5Kr9ePGD545Yr53bt1FHQzGk2z hTPCUfAdJtiX9Ru2jhgxuFPHdoI+bdu0XPDd58eOn/7jjz279xxKTU27vWesh4dbdHRkrx6d+w/o HdKo6q0vli1fk5DASZkMtFExnW1dA2qudevoRQtnCToMGvyItTaZUE1QkP/ypfO9vb0s/0l+fkFh YaGPTz03NzfLf5Wckjp6zPiiouLq1wi7wzUm7E5GRvY7k6ebTCbLf2IweAUGBlQryAoLi157/X2C TBpkGezRnzv3fTxNdL5ZS6WlpS/9+50LFy4qNwVURpbBTv28cu3H02ZV6+zMQkVFxf9++d3af0AA doUsc2zu7qItDDUajUN/Km35ijWvvf5BYaE1d+PJysp+ZtzL4ncM4IjIMsfWrFlTcQdPTw9VClHK tu27Hn70udNnEqwy2vbtux8a9dyZs+etMhrsCmsyYO8uX05/7PGJDz54z/jnH/fx8a7ZIKmpaZ9+ Ns8q33OCfSLL4ABMJtOKFWvWrt300IP3PDxqRHBwgOW/PXcucdHilZs27zAarX/rDfaDLHNsKSmp 4g5Xr11XpxIVFBUV/2/Rz4sWr+wQ2yYurmenTm3Dmzet9H2m0tLSM2cSDhw8tmXrTh5W1hFkGRxM RUXF4SMnDh85odFoXF1dQkMbBQY09PT0cHJ2KikuyS8oTE/LTM/I5CysriHL4MBKSkqTklLYEhYa nmMCkANZBkAGXGOqp0mTkGU/fV3dX/XsfS+3foAqkWXq0Wl17u7VePn5/2WdT3YDcuMaE4AMyDIA MiDLHJuuqs+sGY1GdSoBbIssc2xOzlXc8by9eTQgN7LMsbm5VrHnT2kpWYY6gSxzbB4e7oLW4uJi JfYyBOwQWebYDAbRBz5ycnJVqwSwLdaXqSf76tXXXn//r392d3efNPEpP78Glfa8eTN32/bdiYnJ ubl54hOrxo0bCVqvX79R42oBx0KWqaewsGjL1p0ajSYw0H/unGnmgmzlqnWfff61hd8HaiLMsrS0 jBrUCTgiskxtWq32ww/eaBbWuNLWVavXfzj1SwuHcnV1ad26paBDysUqdjcDpMH9MrUNHdqvY4e2 lTaVlpZ++dW3lg/VvXsnDw/RS1FsQ4i6gyxT27Ch/c01JSQk5+cXWGWovxw7fsby0QCHRpapysPD rVPHyk/KNBrN9Zxq3KqPjAzvd1dPQYfLl9OvX8+pRnGAIyPLVBUYGODs7GyutV49g4XjuLm5vj/l Va3wBaYdf+ypXnGAIyPLVFXf10fQ2qZ1TLNmTaocxMnJ6eOpb0dGhou7bdr0R7VqAxwaWaYq8Zd3 9Xrd559OCWkUJOgTEOA/b+60uLge4onOnUs8c9Y638cFHAJrMlR17VoVN7CaNg1dsfzbFSvWbNy8 4/z55NsLZQ0Gz+ioFgMG9L572ABLNnRcuGi5FcoFHIc2KqazrWuoQ+rV896xbWWln3T8p9LS0ry8 /PLyck9PT/G7Sn9z6lT8409O4k1M1ClcY6oqNzfv8OHjFnZ2cXHx82sQGBhQrSArKyv78KMvCTLU NWSZ2pavWKvo+FM/npmQkKToFIAdIsvUtm37rq3bdik0+Jy5P/z66+8KDQ7YM71fQ9HLyVDC/gNH O3eO9W9Y+bvlNVNWVjZ9xpxFi1dacUzAgZBlNlBSUrpx47aoqIjGodb5Pz85+dJL/57M4ljUZWSZ bZSVlf/++/b09Kzw8DDLl/v/U2Zm1tx5C99979OsrKtWLA9wOKzJsDGdTte+feu7+vaIjW3dokUz vV5vya9yc/P37D20ZeufO3fu50tLgIYssyvOzs5NmoSENAr092/o41PPy8vDzc3V2clJp9eXlpYW FRVfv56Tnp6VmJRy8eJlWxcL2BeyDIAMWJMBQAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBkQJYB kAFZBkAGZBkAGZBlAGRAlgGQAVkGQAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBkQJYBkAFZBkAG ZBkAGZBlAGRAlgGQAVkGQAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBk4GTrAiQUGRnu18BXtemO HD1ZXFyi2nSAfSLLrG/cM6P79+ul2nRD7x6dnp6l2nSAfeIaE4AMyDIAMiDLAMiALAMgA7IMgAzI MgAyIMsAyIAsAyADbVRMZ1vXIBudTqfValWbzmg0qjYXYLdY9299JpPJ1iUAdQ7XmABkQJYBkAFZ BkAGZBkAGZBlAGRAlgGQAVkGQAZkGQAZsFbWrrm7uwneICgtLS8vL1exHKuR9bhgQ2SZXft9/U8+ Pt7mWqdNn7Vs+Ro167EWWY8LNsQ1JgAZkGUAZECWAZABWQZABmQZABmQZQBkQJYBkAFZBkAGZBkA GZBlAGRAlgGQAVkGQAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBkQJYBkAFZBkAGZBkAGZBlAGRA lgGQAVkGQAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBkQJYBkAFZBkAGZBkAGZBlAGRAlgGQAVkG QAZkGQAZkGUAZECWAZABWQZABmQZABmQZQBkQJYBkAFZBkAGZBkAGZBlAGSg92vYyNY14O8MBs+h Q/s/9+xjLSKa6XRac93CwpoEBja8das4K+uqmuXVmKzHBXugjYrpbOsa8P8JDQ1++slHBg++y83N 1fJfXbx4edHilb+t3VxWVqZcbbUh63HBfpBl9sJg8Hph/BMPPXivXl/DC/+MjOzPv/h6y9ad1i2s lmQ9LtgbrjHtQquWUd9/+2nXLh0EV15VMhg8Bw7o07RJ6L79h8vKyq1YXo3JelywQ2SZ7Y0cOXzG 9P96e3tbZbTw8LD+/XofOXoiJ+emVQasMVmPC/aJLLOxlyaNmzjhKb1eb8UxfXy8771n4JGjpzIz s604bLXIelywW2SZLT391CPPPTtWiZGdnJwG9O9z8OCx7KvXlBhfTNbjgj1jfZnNjBgxZOKEp5Ub 39PTfe6cac2bN1VuikrJelywc5yX2Ubjxo2++uIDJycnSzpXVFTk5ualpWVeuZJeUlKq1zu5uDhb 8kNXV5f27Vv9umajyWSqXb2WkvW4YP8s+jsH69LpdO9Nea3KlVYmk2nb9t07duzZs/dQbm7enU1N moT06tll0KC41q2ixIO0iGj23LNjZ89ZUNuiLSDrccEhsL7MBkaOHP72mxPFfbZv3z17zoLklFRx t169ukya8ExERJigj9FoGvPY+HPnkqpdaDXJelxwCFxjqk2v13/2yTteXp7mOhiNxk8+nfvZ51/f uJlb5WipqWlr120ODg4S/Gev02l9fett3vxnDSu2jKzHBUdBlqlt8KC44cMHm2s1mUwvvzJl3fqt lg9YXm7ctn2Xr2+9Vi3NXpc1bRL6+8btubn51au1OmQ9LjgKnmOqbeyYhwStM2d//+fOfTUYdsYn cw8dPm6uVafTPTZWNG/tyXpccBRkmarCmjaOiYkw13rqVPyPPy6v2chGo/GdyTME72APGtjXuitX 7yTrccGBkGWq6t27i6B15qzvajN4Zmb2ylXrzbUaDF6x7VvXZnwBWY8LDoQsU1W7tq3MNSUmpggu piy0ZMkqQWv79mZnryVZjwsOhCxTVVSU2Quxnbv21378K2kZycmXzM4eGV77KSofWdLjggMhy9Sj 1+v9/f3MtR44cNQqs+zbb3acRiFBVpnib2Q9LjgWskw9vr4+gv0Is7Ktsx90VpbZPST8GvhaZYq/ kfW44FjIMvW4C1/uuX49xyqzXLtmdhw3N3erTPE3sh4XHAtZpp6KigpBq1Zb851X/3/jmN/BVVxA jcl6XHAsZJl6bt0qErTWr2+dCyXBBVdRkaiAGpP1uOBYyDL15OblG41Gc60BAf5WmUUwTk7ODatM 8TeyHhccC1mmHqPRmJ6eZa61a5f2Vpmla9cO5poupaZZZYq/kfW44FjIMlWdT7xgrql3r661Hz80 JLhZWGNzrUlJKbWfolKyHhccCFmmqsOHT5hrCg8P69o1tpbjjx3zgKD10KHarr83R9bjggMhy1S1 Z+8hQeuLE8fV5qlfSKOg++8fZq41L6/g1On4Gg8uJutxwYGQZapKTU07efKcudbo6Ih/Pf9YzUZ2 cXH5aOrbgo32N27aXl6u1IdyZT0uOBCyTG2rVq8TtD47buywYf2rO6ZOp3t38stt2kQL+qz+ZUN1 h60WWY8LjoJ9ZdV24cKlu4cNMBi8zHW4K66HXq8/cvSkhUtADQavLz5/r99dPQV9du06sGjxymrX Wh2yHhccBVmmNpPJdPNmnuA/Ua1W26FDm65dY1NT0zMyzK510Gg0er1++L2DPpn+32jz21RoNBqj 0fTGW1Ot9S6RObIeFxwF32GyjW/nf9qpY7squx07fvqPP/bs3nMoNTXt9t6qHh5u0dGRvXp07j+g d0ijqreIWPLTL598Oqe2FVtG1uOC/SPLbCMoyH/50vne3mavyP4pP7+gsLDQx6eem5ub5b9KTkkd PWZ8UVFx9WusCVmPC/aPa0zbKCgoTE6+NGhgX8sXK7i6unh5eVn4SfC/FBYWjX/hzezsazWqsSZk PS7YP7LMZi5dupKTc9Mqy+IrVVpaOunF/54+o/baK1mPC3aOLLOls2fP37iR26N7J2ttjHNbUVHx K69O2W+lPV2rS9bjgj0jy2zszJmEpKSLPXt0cXFxttaYWVnZL0x468jRU9YasAZkPS7YLbLM9lJS Urds/bNNmxjBrvmW27599wsT375yJaP2Q9WSrMcF+8RzTHuh0+kefPCe8c8/7uPjXbMRUlPTPv1s nlW+e2RFsh4X7A1ZZl/c3d0eevCeh0eNCA4OsPxX584lLlq8ctPmHUajSbnaakPW44L9IMvskVar 7RDbZuDAPiMfulfQLTn54uYtO7ds3XnhwkW1SquVv44rLq5np05tw5s31ekqeR24tLT0zJmEAweP OdBxwR6QZfbLw8Nt727RC9uTXvyv4155ubq6hIY2Cgxo6Onp4eTsVFJckl9QmJ6WmZ6RyVkYaqAa CxQBKyopKU1KSmFLWFgLe/4AkAFZBkAGZBkAGZBlAGTAvX8ra9++9YMP3G2uNTX1yjfzF6lZz219 encbOLCvudbMzOxZs79XsRzAysgyKwsOChg2tJ+51vOJybbKspYtIwWFCb48AjgErjGtrKhYtDtg YIC/apX8TVCQaOqioluqVQIogSyzssJCUSh4e3tZ5UXrGogIDxO03ryZp1olgBLIMiu7evW6uIMl 2+FbXb163i1aNBd0uJSaploxgBLIMiu7fDld/ArO4EFxqhVz56SVvvx426VLV1QrBlACWWZlZWVl ly+LznG6d+/ULKyxavVoNBq9Xj/60fvFfU6d5t4/HBtZZn1Hjp4UtOr1uokTnlatGI1G8+ADdzdu LNpxMysrO5VrTDg4ssz69u8/Iu4QF9cjNraNOsV4exuee26suM+evYfUKQZQDllmfbv3HCwsLBL3 mf7xf+rX91W6Ep1ON33af+v7+oi7rVmzWelKAKWRZdZXVFS8cdN2cZ+GDRt89snkan0UsgYmTniq W9cO4j7JyZdOnDyjaBmACsgyRfy09BeTqYoNBdu3bz3zqw/d3avxse5qeWH8k08+8XCV3b79brFC BQBqIssUceHCxfUbtlbZrXu3jt/O/6zKa8Dq0uv1U959ddwzo6vsmZCQtHHTH9adHbAJskwps+f8 WFBQ9YtBrVpGrlz53SDzb31XV8uYFj8tmTti+OAqexqNpqkfz6yoqLDW1IANkWVKycrKnj5jtiU9 6/v6TJ/23y8+f79586a1mdHPr8Frr77wv4WzI4VL/G/7fsFPJ0+erc2MgP1gnwwFrV23uWvX2GFD +1vSOa5v97i+3fftP7J48cr9B44ajUbLJ2oZ0+LRR+4fNKiv5Q8T9u8/YqsdOwAl8B0mZTk7O8+d 83F138HMzy88dOjYkWMnX3tlvKDbkp9+8fLy6N6tY8OGDao1fsL5C089/VKVC0cAB0KWKc5g8Jw1 c2q7tq1sXcj/OXcu8YUJb+XcuGnrQgBr0vs1FL3dgtorLS3buGlHeHizpk1DbV2L5uChYy9MeDMv r8DWhQBWRpapobzcuGXrnxqNJrZ9a61Wa5MaKioqfvhx2btTPi0pKbVJAYCiyDKVVFRUHD584siR kx06tPX29lJ59rS0zNff/GDV6g2swICsyDJVpWdkrVq9rry8vHWraKVfYPpLcXHxd9//9NbbU9mh DHLj3r9t1K/vO/rR+0c+dI/BoNQ5Wl5ewbLlvy5d9usNbvOjDiDLbMnT071/v97Dhvbr2LGdeN9X yxmNxn37j2zYsG37jt3FxSVWGROwf2SZXajv69OlS/vOndrHxrYJDQ2ubq6Vl5enpFw+euzkwYPH Dx46lp/PY0rUOWSZ3XFzc23erEnTpo39/f38/Bo0qO/j7uHm6uLi4uJcUVFRUlpWUlJ669ata9du XLt2PTv7WnLKpZSUy+Xl5bYuHLAlsgyADHi3HIAMyDIAMiDLAMiALAMgA7IMgAzIMgAyIMsAyIAs AyADsgyADMgyADIgywDIgCwDIAOyDIAMyDIAMiDLAMiALAMgA7IMgAzIMgAyIMsAyIAsAyADsgyA DMgyADIgywDIgCwDIAOyDIAMyDIAMiDLAMiALAMgA7IMgAzIMgAyIMsAyMDJ1gXg/0RGhvs18FVt uiNHTxYXl6g2HaA0ssxejHtmdP9+vVSbbujdo9PTs1SbDlAa15gAZECWAZABWQZABmQZABmQZQBk QJYBkAFZBkAGZBkAGWijYjrbugZoNBqNTqfTarWqTWc0GlWbC1AB6/7thclksnUJgAPjGhOADMgy ADIgywDIgCwDIAOyDIAMyDIAMiDLAMiA9WU2MHLk8F49zC5RrtBUfPb515cuXVGhkr59uj1w/92C Dgt+WHrs+GkVKgFqiSxTm7+/38svjXNzczPX4be1m9QJMo1Gc+jw8Xcnv+Lr62Oug3c9r8efeFHR Gvz9/QICGpprLSkuOZ+YrGgBkANZprannnxYEGR5eQWffDpXtWIKC4v+t2jli5OeMdehbZuWrVtH nzp1TrkaPvt0SutWUeZaf1y44vxX85WbHdLgfpmqnJ2dhwzuJ+iwbPkv+fmFqtWj0WjW/LZJ/G7m 4IFxys3erWsHQZCVlJT+b9HPys0OmZBlquraNbZePYO5VpPJtGzZGjXr0Wg0OTk3Dhw8JujQvUdH 5WYfNWqEoHXr1p05OTeUmx0yIctU1bpVtKD1zNnzOTduqlbMbYcPnxC0Nmkc4ubmqsS8BoNX924d BB3Wb9iqxLyQElmmqpjoFoLWg8LzI+UcP3FG0KrT6Zo0DlFi3s6d2ru4uJhrLSoqFp8wAnciy1Tl 5yf6MvmVtAzVKrlTWlqmuIOXwUuJeQV3yjQazalTZ9lkDZYjy1Tl7e0taL2afU21Su507do18e5p Hh5mH7zWRuPGjQStF5JTlZgUsiLLVKXXq7dzbLXodKK/CUW3ipWY1MdHlOy5uXlKTApZkWWqEq+3 aNBAdAWqnPr1q5g3P79AiXlLS8sErd7eZh/4Av9ElqkqS3gVGRMjejKgnMjI5oJWo9F0KVWR9xAy MrIErUFBAUpMClmRZaqKj08StPbt003Nz5fc1qtnF0FrcvKl4uISJeYVR2QT4d004G/IMlUdPnxc 0BoQ4D+gf2/VivmLp6f70CGiVxH+3LlPoakvJF8StDZu3Eiv1ys0NeRDlqnq4KHjN4SrYV+cNM7T 0121ejQazVNPPmoQLrnYuGmHQlMnJaUIWp2cnDg1g+XIMlUZjcafV64TdGjUKPC9Ka+LnypaUYcO bZ94fKSgw85d+8WJUxsZGdnihyEREc0UmhryIcvUtmjxyrw80WPB/v16ffjBm87OzkpX0qpl1Bef vSe4jjMajXPm/KBoDUlJov18wsPDFJ0dMiHL1JafXzB9xmxxn6FD7lrw/RdNm4YqV8awof2/nf+p t7fo6nL+t4sTzl9QrgaNRhOfIBpf/IAVuJPeryG3JNSWmJgcGhLcooXoAirA3+++EUMbNPBNSkwp LLxlxdmjo8OnTH71ySdGOTuLdq/bt//Ih1O/rKiosOLU/+TXwDeubw9zrW7urosXr1K0AEiDLLON nbv2t24dHRoSLOjj5KRv3Srq4VHDg4L88/IKrl69VptkcXJy6ty53b9fevbVV7jiqgcAABGzSURB VMY3aVLFu+KnzyRMnPSWeC2rVWi12gcfMLtJt5en5/IVvxUXK/LWASSjjYoxu/E8FOXm5vrx1Lfj 4syelfzNzZt5e/Ye2rf/8IULKRcvXikqqvq/cDc312bNGjdvFta1a4fevbqIn1fetnff4ddef6+w sMjCwmrDyclp3561gpuD/xr/xr79R1SoBI6OLLMlnU434YUnn3h8VHUfXFZUVGRlZV++klFQcOvW raKioqJbt4qMRqOrq6u3wcvTy9Ng8Azwb9ioUWC1Rq6oqFi8ZNWXX32r5gYVPy2eFxMTYa515qzv F/ywVLVi4LjY79+WTCbTzFnf79l7+IP3Xg8OrsYrO1qtNjAwIDDQmm/5pKVlvvf+ZwcPqb1l2Ln4 84Isi4422wTcieeYtnfkyIn7H3zq2++WlJSU2qSA3Nz8z7/45r4HnlI/yDQazdmz5wWt4t0rgdvI MrtQXFwyZ+4Pw+4Z+8svG1Se+vKV9IdGjfvfop9LS22TpGfPJQhaGzUKZMMMWIIssxdubq53390/ Lq6nyvOGhgSvWDb/qScfcXU1u121opKSLpWViR6YCq5AgdvIMtvT6XQjRw5fv3bRS5PGibcnVIiP j/ekiU//suqHnua/pq6csrKyxMSLgg4x0ZFq1QIHxvoyGwsODvjy8/dHPnSvh4eqr5T/k8HgNWTI XQaD18FDx8VbZltdTEwLwX2xvPyCLVv+VLMeOCLOy2ypU8d2y5d+ExvbxtaF/B+tVjtm9AMzv/rQ 3V2RDf7NEW/rxu1/WII1GTYzaFDc1A/ecHKq9r+C9PSs+PjE+ISklJTUvPyCgvzC/IKCkuJSTy8P Ly9Pg5enj0+9iPCwqKjwqKhwH5961R2/e7eO8+ZOe+7511V7rip+lNmoUaDB4KXQPt2QBllmG127 xlYryIxG46FDxzdt+XPHjj03b+ZW3im7kj8LDQ0eOKDPwAF9IiPDLS+vXdtW77372ptvT7X8J7WR dCHFaDTp9WavEqIiww8Jt7EEuF9mA0FB/t/N/9zCj4Hn5RV89/2SN96aunLVuvj4xOpuV52Xl3/s 2OmVq9Zt+H2bq6tLREQzC98ECA8Py8y6Kr76sxaj0ThoYJ/69X3MdUhMTD558qwKlcBxcb9MbVqt 9oP33/Dy8qiyZ1FR8TfzFw27Z/S33y0xey5msdTUtPc/+GL4fU+sXbfZwnfUX/n3c76+ZvPFusSb /0RFVeOkEnUTWaa2u+J6duzQtspuJ0+efWjkuHlfLxTvvFpdaWmZ70ye8dzzr2db8F1hg8Fr9KP3 W3F2gcREUZa1iGAjM1SBLFPbs8+OqbLP+g1bnx73ypW0DIVqOHjo2KNjXjh3LrHKnqNG3uviosYa 2qSki4LWsLDQGjwkQZ1ClqkqOjo8skUVpxjr1299Z/IM8VL42rt27fqzz79W5baxBoNX587tFK3k L4nCLHNycqpyzzXUcWSZqvr36yPucPpMwpT3P1NnqWp+fsG/X54s/viARqNR52WA7Oyr4j0Xm4U1 VqEMOC6yTFWx7VsJWo1G03vvf6r0Gdmd0tOzvvzqW3Gfai3mqLGKior0dNFnzBuFBKlQBhwXWaaq 8HDRHv/btu9KTFTqA27mrPnt98xMUYiENVXphEgc4q6q3LaD4yLL1OPl5WEweAo6/L5xu2rF3GY0 mjZuEr3t6O3tpdVqVaikYcMGglbxWRtAlqnH07OK7fZPn45Xp5J/zHtO0KrT6Sxc1lsbDRs2qF/f V9Dh2LFTStcAh0aWqcdF+A03jUZz40ZtF8TWTE5V86qwTWPnTu0FrckpqcqtUIEcyDL1FFT1mUt3 d8VPfyqfV3jaVVBwy2hU/LnqiBGDBa1r1vyudAFwdGSZevLy8sS3t8PCmqhWzJ2aN28qaL2UekXp AmJiIjp1NLuK7dat4l9+3ah0DXB0ZJl6jEaTeHX7Xea/4K0o8Tc64+Orfj2glsb/60lB68pVa/Py 8pWuAY6OLFPV0WOnBa0PPDCsvlrvct/WqWO79u1Eq9527z6gaAFdusQKluMWF5f8uHCFogVADmSZ qjZv/kPQajB4vf/e64JtvKzO19fnvSmvCTrk5xfu2XtY0RomvPCUoHX5it9ycm4oWgDkQJap6uSp s+cTkwUdevbsPOXdV/V6vQrF+Pr6zJn1sfgbw0uXrVb0IWbPHp1bt4oy13rrVvGPC5crNztkQpap qqKiYt7XC8V97rl74DdfzwgI8Fe0krZtWi5ZNEf8ubabN/MWLV6laBljxzwgaF23btONGzcVLQDS IMvUtmPHnj937hP36dih7eqV3497ZrT4PYGaCQrynzL5lR8WfCE+I9NoNFM/+lLRXfYD/Bt2Ei4r 2/D7DuVmh2S0UTE2+CRiHVff12f5sm/Er+z8pbi4eMvWnatXbzh2XPTQwBLOzs59ene9776h3bp2 sGSb7BU///bRxzNrOanYqJHD33pzornWvLyCPnH3WbgFLsD+djaQc+Pm+AlvLvjuC4Ohirea3Nzc 7rl74D13D7xx4+aRo6eOHDlx4uSZy5fTLdxstkGD+mFNQ2Nj23SIbdW2bUs3N0u/FLd9++7pM2Zb 2LnG2rZtKWiNT0gkyGA5ssw2EhNTnv/X67NmThW/hHibr69P/369+vfr9df/zM3NT0vLzL567dat opLi4ltFJWVlZW5uLu7u7m6uLp5ensFBAcHBAZaH153Wrdsy5f3PVFjrHxoSLGjlZXJUC1lmM2fO nh/z2IQvPn+/yp1m/6lePUO9eoYYjejOfQ0Yjca58378fsFS6w5rjviV9cLCInXKgBy4929L6elZ Y8ZO+HHhCnU2khVLuZj62OOTVAsyjUZz/XqOoFXwiTngn8gyGysrK/vyq/mPPPqvg4eO2aqGvLyC Tz+b99DIZ8+cTVBz3tTLaYLWEDaSRXVwjWkXEs5fePa517p2jX38sVHdunZQbd6rV68vXfbrzyvX Krr2wpzk5EuCVtX2s4UcyDI7sn//0f37jzZv3vSeYQOGDIlTbrlsaWnp7t0H12/YtnPXfjU/L/A3 Fy6IsszLyyMw0D8zM1u1euDQWF9mp7RabUx0RLduHbt0iW0ZE+XhUZMnkncymUwpKalHjpzYt//I wUPH7OHOer163n/uWC3oMPHF/+zapeyb7ZAG52V2qqKi4szZ82fOnv/u+590Ol3TJiGRkeFNmoSE hgQHBwdERUU4Ozube22zpKT02vXrN27kZmVdvXIl48qV9KSkiwnnk4qKRB9tU19ubt7Vq9cFa4Zb RDQjy2AhsswBmEym5JTU5JTU23/yx/bV7u5mz9S+/OqbZcvXqFJabSWcvyDKsuqvVkGdxXNM2FJ8 fJKgNUqVT3NCDmQZbEm8aW1oaHDtbxSijiDLYEvi8zKdTtciglMzWIQsgy1dScvIyxMtbYuOJstg EbIMNhYff17QGh1t5XdOISuyDDZ29qzolll0VAvVKoFDI8tgY2fPic7LmjVrIt5OA/gLWQYbO3tW lGV6vS4ioplqxcBxkWWwsStpGbm5ok/5RkdzmYmqkWWwPfHt/xhu/8MCZBls7+w58e1/lmWgamQZ bE+8YrZ586bOzs6qFQMHRZbB9sS3/52cnJo3b6JaMXBQZBls70paRkHBLUGHGnzeBXUNWQbbq6io SExKFnRo0YJbZqgCWQa7cP78BUFrZCRLzFAFsgx2ISFBdF4W3jxMtUrgoMgy2AXxN5l8fLwt/MA7 6iyyDHbhQvJFcYdmYXxiDiJkGexCfn7BzZu5gg6NG4eoVgwcEVkGe5GeLvoUZlCQUl8LhRz4DhOs KTQk+PnnHxd0mDZ9lrlvpJeUlgh+6OnpUavKIDuyDNbk41tv2NB+gg5fzfzWXJYF+DcU/DAriw+Y Q4RrTAdVYesCKqfTVvE3qqysvNI/b9iwQXBwgOCHR46eqnlZqAPIModkNBoFrS4uLqpV8jeuVe0B W1JS+bfTe/bsIvhVTs4N8TubAFnmkIqLSwWtLi4221XC1bWKqUtKKq98xPBBgl/9tnaLyWSqeVmo A8gyh1RSKsoyNzebfR/X4OUlaC0rKzMaK4mkiIiwtm1amvuVyWRa/ct6KxQHqZFlDqmoqPIrtb/4 NbDZEnl//waC1uvXcyr982fHjRX8avPmP1NT02pVFuoAsswh5Vy/IWitb7ssa+jnJ2jNyr72zz+M bNG8f79e5n5iMpm+mb/ICpVBdqzJcEjZVysJhduCg0QPBBXVNCxU0JqZUcm6ioTzF9p3GKBYRagr OC9zSNmVneDc1qRJiF5vm3+zLYTff0tLz1StEtQ1ZJlDEt8/cnZ2bhxqg7cXGzSo37Ch6H6ZeF9/ oDbIMod0PlG025dGo2nbzuxjQeV06dxe3IE1YlAOWeaQLl68bG6h1l86dWirWjG3devWQdCal1dw JS1DtWJQ15BlDsloNJ4/Lzo16969o8q3zFxdXfr26SHosP/AEdWKQR1EljmqffsPC1p9fX06dmyn WjEajaZvn+4Gg6egw65dB1QrBnUQWeao9u4VZZlGoxl+72B1KvnL6EcfELSaTKbdew6qVgzqILLM UZ06fTY3N1/QYdDAPuJddKyoU8d2bdpECzrsP3D0xo2b6hSDuoksc1RGo+n3jdsEHfR6/dNPP6JC JXq97pWXnxP3+XnlWhUqQV1GljmwX9dsFHd44P67w8MV/xrbw6OGR0VFCDpkZ1/buXOf0mWgjiPL HFh8fNLpMwmCDnq9bsq7rzo5KfimWlRU+KSJ48R9fvhxWaXbYwBWpPdr2MjWNaDmrl3LGTLkLkEH f38/Dw/3vfuqeFBQM/V9febNm17f10fQ50paxuR3P2H3MSiN8zLHtnPXfvGpmUajGTP6gdGP3mf1 qb29DV9/PSOkUZC425w5C8rLK98XG7AizsscXkpK6vB7B2m1WkGf7t06FRUVnzh51lqTNmoU+M28 GRFV3Yz7c+e+WbMXWGtSQIAsc3iZmdkNGvi2bBkp6KPVart16xgUFHDw4FFzXw+xXFzf7jO/+jA4 OFDc7ebN3PEvvCXeNhKwFrJMBkePnRwyuJ/BINqfWqPRREWGDx3SPz0j89KlKzWbKDQk+D9vTXrh haeq3IbbaDS9/uYHCQkXajYRUF3aqJjOtq4BVhDZovmPP3zl7m7RTv8JCUk/Lf1l2/ZdBQW3LOmv 1WpjY9vcP2LI4MFxer3ekp98NG3WihVrLOkJWAVZJo8B/XvPmP6O+MbZnYqLS44cPXns2Klz5xIv X0nPyrp6e+8NvV7n4+MTGhIc1qxxh/atO3VuV61XCBb8sHTmrO+rfQBALZBlUhkxYsi777xseZz9 jdFoKi4ucXbW1+YLm/O+XsgO/VAf98ukEh+flJGR3adPt5rFmU6ndXFxtvAq8p+MRuO06bP/t+jn mv0cqA2yTDYJ5y8cP3GmV8/OKn8lMysre+Kkd7Zt36XmpMBtZJmE0tIyft/4R6tWkUGB/urMuHHj jkkvvXMptYaPR4HaI8vkVFhY+NtvmzIzs9u1a6noCVp8fOJrb3y4eMlK8Z7dgNK49y85g8Hr0Ufu e3jUcF/hW5M1cOzYqUVLVv3xx17etYQ9IMvqBFdXlyFD+g0dHNehQ7tafgcgIyN72/Zd6zdsOXeO D8TBjpBldYuvr0/PHp3bt2/ZpnVMs2ZNdDqLci0rK/vEyXOnT8cfOnyMCIN9IsvqLldXl+CgwODg gMBAfy8vDzc3N1dXF41GU1JSWlxcfOtWcVbW1YzMrPT0zMLCIlsXC1SBLAMgA/YvAyADsgyADMgy ADIgywDIgCwDIAOyDIAMyDIAMiDLAMiALAMgA7IMgAzIMgAyIMsAyIAsAyADsgyADMgyADIgywDI gCwDIAOyDIAMyDIAMiDLAMiALAMgA7IMgAzIMgAyIMsAyIAsAyADsgyADMgyADIgywDIgCwDIAOy DIAMyDIAMiDLAMiALAMgA7IMgAzIMgAyIMsAyIAsAyADsgyADMgyADIgywDIgCwDIAOyDIAMyDIA MiDLAMiALAMgA7IMgAzIMgAyIMsAyOD/ASyWuP4QzmDJAAAAAElFTkSuQmCC --0000000000006e4ee305dcc4764b Content-Type: image/png; name="hb-tri-conjuncts.png" Content-Disposition: attachment; filename="hb-tri-conjuncts.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l21tj8io4 iVBORw0KGgoAAAANSUhEUgAAAN8AAAQeCAAAAAB9abDyAAAAAmJLR0QA/4ePzL8AACAASURBVHic 7Z15fBVFtoDrJiQhyBK2gOw7CCIoiAKDICKIKKKAgk9A5ymjT406zoj6nGG256ijI+igg44KqOyo IAgiiuy7CAQQEAz7EpawhYQs/f5gSdJ9qrvPqeq+t/I73z9Kpbuqvtt9+3ZX1zkVsUSpJi7aHQgY 9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb 9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb 9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9jMb9tNARgSg QRgt8/EzHPYzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/Yz G/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/YzG/Yz G/Yzm9LuVwaz8fQztEaOQoVnxtEqE+UHIDaOWIiNG+zG9iUI6mcgNi7t5yf7mQ37mQ37mQ37mQ37 mQ37mQ37mQ37mQ1qfOLpLFojWaOBwkpP0yoTKZiNUeMTVDIaAoWoYQYypf38ZD+zYT+zYT+zYT+z YT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+z YT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYT+zYb+g2J0RRit8/MyG/cyG/TRQ M4xGYELxK9sgjFZA+Pw0G/YzG/YzG/YzG1T+wc0HPTdpV5nclUBA+b0+znOThd2IHQmI0n5+sp/Z sJ/ZsJ/ZhOOXCxUmhNFyOH7noMKkMFpmPw0UnodKS49fDpRkO1J6vn/g6ZkYCaPp6PlVCqPlKPql htFyOH7ZUGH1MFoOx+8wVBjOSwnU83vXxIv/89Ni4K+RWg1T46+E9jsAFYZz/FB+Dz4ohBCi8PUJ jj/F9R7WTdrjX6DCGpiWyaD8LpD/yDhHWeMPb3LZYz1U2ATfMgULS2F/ZyWPZrvuUhdq+Ed0yxTw fn8D9Nz32AHpxbl/JLpA+6U7z+hmue67vA35NaT2GAf69+H3+Y6iPycC2xXjS6iwBbZhGli/TXMd RdXudd9l/7dQaXtkw0Swfv9xFnXyqGNCAVTaBdkwEazfdGeRx5l2Dvz6lemIbJgI0m8bcCvi8Ubl XfClzHXlcQ1TQfotA8oquu5x6GWwOKTTE338gDLw63WZR4+Bxf1w7ZJB+u0Eyta47fCvmWBxnU64 dskg/aDv0pen5NvPlCyiNjCscWVkO2eBsqy/Szefe7/k5L0P16wCuNudplAV8dMlW38gezppXah8 4+UTpF9zsLtJ70Lbnn5UOkI2QUfXfYH0k91V9XE87Rx/C3yUF0IIUfe8ru57gvTrI+typM+MM5e3 Kvx5ykC30el/apZwAbl+44jX5H+Lv6pelSrJ50+dOpB+0rWSRunJqEZVQI5PtHP5W0F6ur9K3g5P D7v+5snqecpN3jNDuQr/IH//Kt2i3GJVaDHVwMDeRzyl2mD8J3VUq8CA9et1vWKDb9ymWAES7AV3 jdqd42+C+BFwAd3b9i+o6D3xrsreFNCfSH4vemMjAjhC7uD9rNOdiXZJY/T33wuCn3WK9iPRcI32 3ntDuVpUmPcEfqfIkHUhDXmWhPaxzGmAbKbtEr3HxS9EP+v0XzHvz5v/J19rr/1D9bOs7H939nly d5tVoLHHOJTWt9/32bdLj7tvEunQfwC0un1YKPkJIQo3r96avnUP+LfEa2+84abaavWroup3gfeH A4Wdv/N4bxYGesYhwalkTWNAj+fvGo4Wv2PQayWxdbuOulVR/4nZ8VBZuOpIj+/Va1dE2e/ocLch uFs26+ikAqp+n1Z1Pz0SXgxvrBpCze/sUO8vQIddmrpKQun3/UA/13ebF6k6o6tCG4qo+P3cfa+v 7ZKm30FvRBEFvx3dwHmdAInT+pJbUYTud7QTOG8OpOwC6piNKmS/vG7LEVtXXwfOkQwe8v3Lixg9 kTlI/b0MCarfojdw2y9/ldiQIsTzM6cN9uYyaQP87j5giMfvXzK96rJJ5rnP0VpShHb8shoDwy7l e991U80EkXdw8ay5Z4CdlvyK0pQqpLueV5z1JA4/UvT34yOAV9B3aLrlQkHyy3O+orwuo+Qmv1zr 2CRum44OIyF9/xbss5cMXFK/ZEGDpQPt2xSOo7SlCuVDGWKv5DZgeNr5Hq1eaLOyiqBcXwpSbVeX q1ZAwXxZN9gvsuvb4htThHJ+rrZfPN8DYxVT3rOXzCc0pgjFb6nt3wMlF/6u9qkE9h1DgOJnD5f6 g2xD+6t6MM4qWCh+m0v+s0Vr2YadbTcz+7IIralB8bM9td8j3TD+dvc9Q4Dgd+5EyX9fI9/0atu/ /T7w64PgZ7+3dHkDZp/iCt2WBgvBL8f2b5dAWvufwEDxQCH42V97uVw07H8KJeVECQh+9sghly+V PVwipKCjYhD8ysWX/DcU03IRe+C0e6hSEBD8IrZHBTgCRwghxFe2fzfAt6YI5fevWcl/LpeeoFts I6RX1CK0pgbF76qS/ywEAxiFEGKMfcdQUqKUgOJnj90blQFvt/19W4FbDoCAoPh1s+2U82QhtFlh mn1MtxuhMVUoD8U32it5AdpqhH2rsifVnsUpkPzs3ysRecu50WjHl+1e1c4SIPkdc96HDLe9hs5L c54qc3R0GAlt/BN4LX3td8U3+M45PCga52npMQ6a31bostR78ukLfz09uTfwZ/G+xm77hvh+ZdAU qDS5fd0a4vDeNfYnDCGEEPW3R2M+GtFvT0soEteV6UDemOAhvj+q9zx2j1ujokd+P53beR1q+5Qf ojOLl/r+NmkKLv/cO1GapEx+/974I8yuvx1MbUcV+qX33/4bGRS1CfQq88/gzCAAd3gkaAoQpfl1 H/mLTh4axSmEavMHv6zibRf/tyi89ruMYnzAnkErPLaoPTEKT7VFKM6/rrd0vOsE17ghG6Kqp2H+ 9cHfyEdte/+g4RRTQsP8cmvv02CKqcT+0QhotKEnPidn1sSFJbP4JNw4cHA1HVUrosdPCJG/dvm2 7XuzzuZXqJTarHn7LldoqlcRbX4xCsfnmA37mQ37mQ37mQ37mQ37mQ37mQ37mQ37mQ37mQ37mQ37 mQ37mQ37mQ37mQ37mU1p9yOs3+jCV5uAwtul8bkhoNdv2jigsEY0/Ur7+cl+ZsN+ZsN+ZsN+ZsN+ ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ZsN+ ZsN+ZsN+ZsN+ZlPa/XTmxzw8bxVUPK1q9+gtVqltfcoD42f8IKur7E33D4iWopZVWAtn3hHv3kzF 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 --0000000000006e4ee305dcc4764b-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 16 11:14:44 2022 Received: (at 54914) by debbugs.gnu.org; 16 Apr 2022 15:14:44 +0000 Received: from localhost ([127.0.0.1]:34079 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfk8G-0004eg-NF for submit@debbugs.gnu.org; Sat, 16 Apr 2022 11:14:44 -0400 Received: from mail-qt1-f178.google.com ([209.85.160.178]:38486) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nfiZM-0005pM-42 for 54914@debbugs.gnu.org; Sat, 16 Apr 2022 09:34:32 -0400 Received: by mail-qt1-f178.google.com with SMTP id t2so5490559qta.5 for <54914@debbugs.gnu.org>; Sat, 16 Apr 2022 06:34:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/LSrkaPcDoHTcZiZleTAtL/74jAJ9KoGNj95PEKlovQ=; b=kg//EvbM2R8C6dNn/q5YjFmatj9I6agJWWHU7jtPm+ZSRL6Pv8dW7RLTuJLZ1bfd98 JCuzk9aWYKwLX/0l/Pp8dgdgAxbnoCbI/sTsiLWIOR4QZ0GquDdACX3hTbwM3PtuNd+i AA6U1hrQrtcOFGUKdLqIcb/PWnr8EvHtzhVkYFHUT5GtYV2Yaj4qDzK3bhnwqiP/gWfB GEcv3Ra8qEBYsayBJ75WRo5SQVfK5wBnFt6Tm5lps1TY89/j9WUEinhld9i0gMhRYL6y A7AGBGd4oEIYFKzr53hlSmfNh5zWyRSUWmCVEKAHk/5VO2t1g6kDEQy/SG5sUvZIv0hK p9iA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/LSrkaPcDoHTcZiZleTAtL/74jAJ9KoGNj95PEKlovQ=; b=YkrJI2xVIMLvquIv3Mk0f2OIOV2umngW+6rnxTdZ2JBq6PggJY4G2EKDpIZWaKOkY4 ow89Q/WVUc91W43Fea8pWVzrECxbFX/QPo1I9FQmzljD9f+GHOn0ScEZeN5lgy9EUdio aH1Tx/lAaKVIbygApQfqU97UCsbfEszlnjVLLChTDwraXOCpEafo2btDZFyh0GAixkQT Ed6Ca0oYHxWRCIzM/GheBlcNWmgNY2pJEpylwrzNKSqVW4hqqETokmFDChq4qG2Jtd/N Yqa0DyMIRX6+inh3T90sk1VWY18UIy/MOyDNdZw0LQtJvf30N5yss97yHvlZiL3dVnIL +fZw== X-Gm-Message-State: AOAM5327kB7S7zuB05DY3TP7875DFAds5IqivJ4XrFDRCdroFQa8rZCh 2gfeoNP+K9VR1FuFFJIGwx4MgU82pM5IG8OQWtaXhUm2J7S+tDTJ X-Google-Smtp-Source: ABdhPJyyzrixTFw1aKXW8aFbSSWXQ7gyJoRZEAX46BrGS3cRrsTz0tZvHewiZZxDtcW7drpUjlGkN7VKOTtAph+lQ2Q= X-Received: by 2002:ac8:5b88:0:b0:2f1:c68c:bec7 with SMTP id a8-20020ac85b88000000b002f1c68cbec7mr2235564qta.180.1650116066246; Sat, 16 Apr 2022 06:34:26 -0700 (PDT) MIME-Version: 1.0 References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> In-Reply-To: <8335id1afk.fsf@gnu.org> From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Date: Sat, 16 Apr 2022 19:04:15 +0530 Message-ID: Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: Eli Zaretskii Content-Type: multipart/mixed; boundary="000000000000f806c905dcc5950d" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 54914 X-Mailman-Approved-At: Sat, 16 Apr 2022 11:14:38 -0400 Cc: 54914@debbugs.gnu.org, Robert Pluim X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --000000000000f806c905dcc5950d Content-Type: multipart/alternative; boundary="000000000000f806c705dcc5950b" --000000000000f806c705dcc5950b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > > Thanks, but please always show the codepoints themselves that are or > should be involved, because it's impossible to glean that from the > images. > Sorry for not including the codepoints, here they are: hb-conjuncts-maatra.png & emacs-conjuncts-maatra.png from top to bottom 1. \011013 \011046 \01102C \011038(=F0=91=80=93=F0=91=81=86=F0=91=80=AC=F0= =91=80=B8) 2. \011013 \011046 \01102E \011043 (=F0=91=80=93=F0=91=81=86=F0=91=80=AE=F0= =91=81=83) 3. \011032 \011046 \01102C \01103B(=F0=91=80=B2=F0=91=81=86=F0=91=80=AC=F0= =91=80=BB) hb-tri-conjuncts.png & emacs-tri-conjuncts.png from top to bottom 1. \011013 \011046 \01102E \011046 \01102F (=F0=91=80=93=F0=91=81=86=F0=91= =80=AE=F0=91=81=86=F0=91=80=AF) 2. \01102F \011046 \01102C \011046 \01102F (=F0=91=80=AF=F0=91=81=86=F0=91= =80=AC=F0=91=81=86=F0=91=80=AF) 3. \01102B \011046 \011027 \011046 \01102D (=F0=91=80=AB=F0=91=81=86=F0=91= =80=A7=F0=91=81=86=F0=91=80=AD) Also, where do you see the shaping rules that support those > combinations? I didn't find them in the Unicode Standard or anywhere > else I've read about Brahmi. What are your sources? > Languages like Sanskrit has three or more than three conjuncts. They are supported in scripts like devanagari ( https://en.wikipedia.org/wiki/Devanagari_conjuncts#Tri-_and_tetra-consonant= al_conjuncts ) So brahmi should be able to support them too. I could find one example in the "Proposal to include Brahmi in Unicode" document (https://www.unicode.org/L2/L2003/03249r-brahmi-proposal.pdf) (Page 5, 1st image, 3rd character) On Sat, Apr 16, 2022 at 5:56 PM Eli Zaretskii wrote: > > From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82= =E0=A4=B9 Sameer Singh > > Date: Sat, 16 Apr 2022 17:43:49 +0530 > > Cc: Robert Pluim , 54914@debbugs.gnu.org > > > > I can notice two problems > > 1. Vowel signs are not attached properly to conjuncts. > > Correct output=3Dhb-conjuncts-maatra.png Incorrect > Output=3Demacs-conjuncts-maatra.png > > > > 2. Conjuncts with more than two consonants are not supported. > > Correct output=3Dhb-tri-conjuncts.png Incorrect > Output=3Demacs-tri-conjuncts.png > > Thanks, but please always show the codepoints themselves that are or > should be involved, because it's impossible to glean that from the > images. > > Also, where do you see the shaping rules that support those > combinations? I didn't find them in the Unicode Standard or anywhere > else I've read about Brahmi. What are your sources? That hb-view > does something doesn't yet mean it's correct, since HarfBuzz is just > another piece of software, and can have bugs. > --000000000000f806c705dcc5950b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Tha= nks, but please always show the codepoints themselves that are or
should be involved, because it's impossible to glean that from the
images.
=C2=A0
Sorry for not including the= codepoints, here they are:
hb-conjuncts-maatra.png & em= acs-conjuncts-maatra.png from top to bottom
1. \011013 = \011046 \01102C \011038(=F0=91=80=93=F0=91=81=86=F0=91=80=AC=F0=91=80=B8)
2. \011013 \011046 \01102E \011043 (=F0=91=80=93=F0=91=81=86=F0=91= =80=AE=F0=91=81=83)
3. \011032 \011046 \01102C \01103B(=F0=91=80= =B2=F0=91=81=86=F0=91=80=AC=F0=91=80=BB)

hb-tri-co= njuncts.png & emacs-tri-conjuncts.png from top to bottom
= 1. \011013 \011046 \01102E \011046 \01102F (=F0=91=80=93=F0=91=81=86=F0=91= =80=AE=F0=91=81=86=F0=91=80=AF)
2. \01102F \011046 \01102C \0= 11046 \01102F (=F0=91=80=AF=F0=91=81=86=F0=91=80=AC=F0=91=81=86=F0=91=80=AF= )
3. \01102B \011046 \011027 \011046 \01102D=C2=A0(=F0=91=80= =AB=F0=91=81=86=F0=91=80=A7=F0=91=81=86=F0=91=80=AD)

Also, where do you see= the shaping rules that support those
combinations?=C2=A0 I didn't find them in the Unicode Standard or anywh= ere
else I've read about Brahmi.=C2=A0 What are your sources?
=C2=A0
Languages like Sanskrit has three or more t= han three conjuncts. They are supported in scripts like devanagari (https://en.wikipedia.org/wiki/Devanagari_conjuncts#Tri-_a= nd_tetra-consonantal_conjuncts)
So brahmi should be able to s= upport them too.
I could find one example in the "Proposal t= o include Brahmi in Unicode" document (https://www.unicode.org/L2/L2003/0= 3249r-brahmi-proposal.pdf) (Page 5, 1st image, 3rd character)

On S= at, Apr 16, 2022 at 5:56 PM Eli Zaretskii <eliz@gnu.org> wrote:
> From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0= =A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@gmail.com>
> Date: Sat, 16 Apr 2022 17:43:49 +0530
> Cc: Robert Pluim <rpluim@gmail.com>, 54914@debbugs.gnu.org
>
> I can notice two problems
> 1. Vowel signs are not attached properly to conjuncts.
>=C2=A0 =C2=A0 =C2=A0Correct output=3Dhb-conjuncts-maatra.png=C2=A0 =C2= =A0Incorrect Output=3Demacs-conjuncts-maatra.png
>
> 2. Conjuncts with more than two consonants are not supported.
>=C2=A0 =C2=A0 =C2=A0Correct output=3Dhb-tri-conjuncts.png=C2=A0 =C2=A0I= ncorrect Output=3Demacs-tri-conjuncts.png

Thanks, but please always show the codepoints themselves that are or
should be involved, because it's impossible to glean that from the
images.

Also, where do you see the shaping rules that support those
combinations?=C2=A0 I didn't find them in the Unicode Standard or anywh= ere
else I've read about Brahmi.=C2=A0 What are your sources?=C2=A0 That hb= -view
does something doesn't yet mean it's correct, since HarfBuzz is jus= t
another piece of software, and can have bugs.
--000000000000f806c705dcc5950b-- --000000000000f806c905dcc5950d Content-Type: image/png; name="brahmi-tri-conjunct.png" Content-Disposition: attachment; filename="brahmi-tri-conjunct.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l21w9zyt0 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 --000000000000f806c905dcc5950d-- From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 16 12:29:49 2022 Received: (at 54914) by debbugs.gnu.org; 16 Apr 2022 16:29:49 +0000 Received: from localhost ([127.0.0.1]:34202 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nflIz-0000M6-2q for submit@debbugs.gnu.org; Sat, 16 Apr 2022 12:29:49 -0400 Received: from eggs.gnu.org ([209.51.188.92]:45260) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nflIx-0000Lt-2J for 54914@debbugs.gnu.org; Sat, 16 Apr 2022 12:29:47 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:35354) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nflIr-0003ZW-Qm; Sat, 16 Apr 2022 12:29:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=k5mfJY1ty0Iz+D4Tgl4nxDNz9XoC5GqWzG6FolGA/Uo=; b=dDRjd8nMsQp94oLR83+1 nO4sT/uGbbz3HckY+M8OsLzab5dfiKBN2NlhkKVJgKz6uvR+Rm3KuuikwZw215cJJFhu6rC4mo+ML MrCLclOEkZOaXXfUwsljbfIedpaQ+tR+O7MM6n4ILCwbDHlEwz+klAZLKHCcndilfodYsW3TNelgO 5as12Dzm1KwCL/5nZh4DBhHCY/la8HHPMz5zQEs0B98jdKuEwjiGGiYe8b6FTFdEhTCKlHDmAEdOh kxgGl5f46c50v6J3LRrVYfGPneGiuZx0tByEh6bjr+AmIWqgbae8/0NgZzn5JSMcEO1hn93WiE5s2 I2UE2OqjyBXSzw==; Received: from [87.69.77.57] (port=1579 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nflIq-0007dM-Cl; Sat, 16 Apr 2022 12:29:41 -0400 Date: Sat, 16 Apr 2022 19:29:36 +0300 Message-Id: <83tuatyosv.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= In-Reply-To: (message from =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuQ==?= Sameer Singh on Sat, 16 Apr 2022 19:04:15 +0530) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, rpluim@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: समीर सिंह Sameer Singh > Date: Sat, 16 Apr 2022 19:04:15 +0530 > Cc: Robert Pluim , 54914@debbugs.gnu.org > > Sorry for not including the codepoints, here they are: > hb-conjuncts-maatra.png & emacs-conjuncts-maatra.png from top to bottom > 1. \011013 \011046 \01102C \011038(𑀓𑁆𑀬𑀸) > 2. \011013 \011046 \01102E \011043 (𑀓𑁆𑀮𑁃) > 3. \011032 \011046 \01102C \01103B(𑀲𑁆𑀬𑀻) > > hb-tri-conjuncts.png & emacs-tri-conjuncts.png from top to bottom > 1. \011013 \011046 \01102E \011046 \01102F (𑀓𑁆𑀮𑁆𑀯) > 2. \01102F \011046 \01102C \011046 \01102F (𑀯𑁆𑀬𑁆𑀯) > 3. \01102B \011046 \011027 \011046 \01102D (𑀫𑁆𑀧𑁆𑀭) > > Also, where do you see the shaping rules that support those > combinations? I didn't find them in the Unicode Standard or anywhere > else I've read about Brahmi. What are your sources? > > > Languages like Sanskrit has three or more than three conjuncts. They are supported in scripts like > devanagari (https://en.wikipedia.org/wiki/Devanagari_conjuncts#Tri-_and_tetra-consonantal_conjuncts) > So brahmi should be able to support them too. > I could find one example in the "Proposal to include Brahmi in Unicode" document > (https://www.unicode.org/L2/L2003/03249r-brahmi-proposal.pdf) (Page 5, 1st image, 3rd character) I've attempted to enhance the composition rules, please try the latest master. They don't always work on my system, but I think that's because of the font I use and perhaps also the relatively old version of HarfBuzz I have here. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 08:50:07 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 12:50:07 +0000 Received: from localhost ([127.0.0.1]:35220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng4Lv-00058W-96 for submit@debbugs.gnu.org; Sun, 17 Apr 2022 08:50:07 -0400 Received: from mail-qv1-f45.google.com ([209.85.219.45]:42833) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng4Lu-00057q-C4 for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 08:50:06 -0400 Received: by mail-qv1-f45.google.com with SMTP id e22so9358888qvf.9 for <54914@debbugs.gnu.org>; Sun, 17 Apr 2022 05:50:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=C5IFzq0Y0SM+RdulMIkeb+s/lpstLN3f9kMfJWYTfgI=; b=UU1M9KqRc/0NE+8Nk8iUwu4uO4Vo85KjzUVhb1X6l3WICuyMaqvt0CzIkEEdQqRmqx bBS2OHeA41VWYwyklJvJwvJX4FrPj2BSVq79wdqE/4lUmuDd0l0QbrXD/mgl7537UmUZ 06w4o7PoMg5tmndv3Yho32WHHNL65fChyyMvgub5CDsSdYUVJzI90HxR28sd6lASq/q2 kmueVwO+Un0yBo5YNgzkVUC1Yz5wqtpPRdjW2Sx0oVYqb0z7i89AEqDRGWjzpA57qPN8 7sJ6u7Blh7w4sV75wfUoD/0gYOGJrWhVjadUjRdFU/G+3EXrYd7K28+JEQCMnt7T2HQf zzpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=C5IFzq0Y0SM+RdulMIkeb+s/lpstLN3f9kMfJWYTfgI=; b=feI8FsCBwzybyXloV3UtetF7/DdJ12atd/WzWLwFsta21eOA2muhkub0970GgZOjRt 9C6IFrD3fuZjsm0bJoANOCNPStgi8v1eV3tF9Nxqi/AyK/h2hfNEY9s4DeG/RbQP5PNE zvH/MsGwc4mbIH2LyjpsxAzLBbcwCEUDhp8GhH/BPeKFMZvYkIgst2fS3iNpMrf2iKn2 5g4ks4A4VJ6RxwnPzp+PsbtHlGDVSLidSsyRrBgQCbipOOOT40/g3iqI8qfGfGIzNmmw AwMtdiQZ5enPeUd0FsHLjZzfJo9qQdWcNdP/KLEIeaWhimRkacW4bjXzTX6j4Jv308xl XY1g== X-Gm-Message-State: AOAM531s/E3+x1NF42jJ8xveiwBBIxAgyjXl1scO0JO1wx7HzHoa9Xau 0Fakdbwoskg4kv/OPr3RBh96lvn86Uz/33iBFOU= X-Google-Smtp-Source: ABdhPJyF+wj527W+m7rPzNCHIAGovmikMBaX2CmBw3grOc79gkR+JU6l2pdMrUePlSwMEGhQoBAeS9iGUBXi8QNfx6M= X-Received: by 2002:ad4:5ced:0:b0:446:1f78:2f4d with SMTP id iv13-20020ad45ced000000b004461f782f4dmr4899745qvb.79.1650199800380; Sun, 17 Apr 2022 05:50:00 -0700 (PDT) MIME-Version: 1.0 References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> In-Reply-To: <83tuatyosv.fsf@gnu.org> From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Date: Sun, 17 Apr 2022 18:19:47 +0530 Message-ID: Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: Eli Zaretskii Content-Type: multipart/mixed; boundary="000000000000e92a4d05dcd91430" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, Robert Pluim X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --000000000000e92a4d05dcd91430 Content-Type: multipart/alternative; boundary="000000000000e92a4a05dcd9142e" --000000000000e92a4a05dcd9142e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Vowel signs U+1103E U+1103F U+11040 and U+11041 are not connected properly to conjuncts. Here are the codepoints of the text I entered: 11013 11046 11032 1103E (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BE) 11013 11046 11032 1103F (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BF) 11013 11046 11032 11040 (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=80) 11013 11046 11032 11041 (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=81) On Sat, Apr 16, 2022 at 9:59 PM Eli Zaretskii wrote: > > From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82= =E0=A4=B9 Sameer Singh > > Date: Sat, 16 Apr 2022 19:04:15 +0530 > > Cc: Robert Pluim , 54914@debbugs.gnu.org > > > > Sorry for not including the codepoints, here they are: > > hb-conjuncts-maatra.png & emacs-conjuncts-maatra.png from top to bottom > > 1. \011013 \011046 \01102C \011038(=F0=91=80=93=F0=91=81=86=F0=91=80=AC= =F0=91=80=B8) > > 2. \011013 \011046 \01102E \011043 (=F0=91=80=93=F0=91=81=86=F0=91=80= =AE=F0=91=81=83) > > 3. \011032 \011046 \01102C \01103B(=F0=91=80=B2=F0=91=81=86=F0=91=80=AC= =F0=91=80=BB) > > > > hb-tri-conjuncts.png & emacs-tri-conjuncts.png from top to bottom > > 1. \011013 \011046 \01102E \011046 \01102F (=F0=91=80=93=F0=91=81=86=F0= =91=80=AE=F0=91=81=86=F0=91=80=AF) > > 2. \01102F \011046 \01102C \011046 \01102F (=F0=91=80=AF=F0=91=81=86=F0= =91=80=AC=F0=91=81=86=F0=91=80=AF) > > 3. \01102B \011046 \011027 \011046 \01102D (=F0=91=80=AB=F0=91=81=86=F0= =91=80=A7=F0=91=81=86=F0=91=80=AD) > > > > Also, where do you see the shaping rules that support those > > combinations? I didn't find them in the Unicode Standard or anywhere > > else I've read about Brahmi. What are your sources? > > > > > > Languages like Sanskrit has three or more than three conjuncts. They ar= e > supported in scripts like > > devanagari ( > https://en.wikipedia.org/wiki/Devanagari_conjuncts#Tri-_and_tetra-consona= ntal_conjuncts > ) > > So brahmi should be able to support them too. > > I could find one example in the "Proposal to include Brahmi in Unicode" > document > > (https://www.unicode.org/L2/L2003/03249r-brahmi-proposal.pdf) (Page 5, > 1st image, 3rd character) > > I've attempted to enhance the composition rules, please try the latest > master. They don't always work on my system, but I think that's > because of the font I use and perhaps also the relatively old version > of HarfBuzz I have here. > --000000000000e92a4a05dcd9142e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Vowel signs U+1103E U+1103F U+11040 and U+11041 are n= ot connected properly to conjuncts.

Here are the c= odepoints of the text I entered:
11013 11046 11032 1103E (=F0= =91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BE)
11013 11046 11032 = 1103F (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BF)
11013 11= 046 11032 11040 (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=80)
11013 11046 11032 11041 (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=81= )

On Sat, Apr 16, 2022 at 9:59 PM Eli Zaretskii <eliz@gnu.org> wrote:
> From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 = =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@gmail.com>
> Date: Sat, 16 Apr 2022 19:04:15 +0530
> Cc: Robert Pluim <rpluim@gmail.com>, 54914@debbugs.gnu.org
>
> Sorry for not including the codepoints, here they are:
> hb-conjuncts-maatra.png & emacs-conjuncts-maatra.png from top to b= ottom
> 1. \011013 \011046 \01102C \011038(=F0=91=80=93=F0=91=81=86=F0=91=80= =AC=F0=91=80=B8)
> 2. \011013 \011046 \01102E \011043 (=F0=91=80=93=F0=91=81=86=F0=91=80= =AE=F0=91=81=83)
> 3. \011032 \011046 \01102C \01103B(=F0=91=80=B2=F0=91=81=86=F0=91=80= =AC=F0=91=80=BB)
>
> hb-tri-conjuncts.png & emacs-tri-conjuncts.png from top to bottom<= br> > 1. \011013 \011046 \01102E \011046 \01102F (=F0=91=80=93=F0=91=81=86= =F0=91=80=AE=F0=91=81=86=F0=91=80=AF)
> 2. \01102F \011046 \01102C \011046 \01102F (=F0=91=80=AF=F0=91=81=86= =F0=91=80=AC=F0=91=81=86=F0=91=80=AF)
> 3. \01102B \011046 \011027 \011046 \01102D (=F0=91=80=AB=F0=91=81=86= =F0=91=80=A7=F0=91=81=86=F0=91=80=AD)
>
>=C2=A0 Also, where do you see the shaping rules that support those
>=C2=A0 combinations?=C2=A0 I didn't find them in the Unicode Standa= rd or anywhere
>=C2=A0 else I've read about Brahmi.=C2=A0 What are your sources? >
>=C2=A0
> Languages like Sanskrit has three or more than three conjuncts. They a= re supported in scripts like
> devanagari (https://en.wikipedia.org/wiki/Devanagari_conjuncts#Tri-_and_tetra-conso= nantal_conjuncts)
> So brahmi should be able to support them too.
> I could find one example in the "Proposal to include Brahmi in Un= icode" document
> (https://www.unicode.org/L2/L2003/03= 249r-brahmi-proposal.pdf) (Page 5, 1st image, 3rd character)

I've attempted to enhance the composition rules, please try the latest<= br> master.=C2=A0 They don't always work on my system, but I think that'= ;s
because of the font I use and perhaps also the relatively old version
of HarfBuzz I have here.
--000000000000e92a4a05dcd9142e-- --000000000000e92a4d05dcd91430 Content-Type: image/png; name="emacs-rl.png" Content-Disposition: attachment; filename="emacs-rl.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l23aasni0 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 --000000000000e92a4d05dcd91430 Content-Type: image/png; name="hb-rl.png" Content-Disposition: attachment; filename="hb-rl.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l23aaso61 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 --000000000000e92a4d05dcd91430-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 10:01:12 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 14:01:12 +0000 Received: from localhost ([127.0.0.1]:36810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng5Sh-0008U3-Lv for submit@debbugs.gnu.org; Sun, 17 Apr 2022 10:01:12 -0400 Received: from mail-wm1-f54.google.com ([209.85.128.54]:45797) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng5Sf-0008MM-Cl for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 10:01:09 -0400 Received: by mail-wm1-f54.google.com with SMTP id 123-20020a1c1981000000b0038b3616a71aso7534514wmz.4 for <54914@debbugs.gnu.org>; Sun, 17 Apr 2022 07:01:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :mime-version:content-transfer-encoding; bh=32woHLxFHWiaW7X5TMccdGl3S6GfW6OwJIeRr+DaHUM=; b=H28OH/mweDhCMoK3ivS/++TqFT6kz0NRsJTiSn0ZNjU+blsARs1+CndGGjLAy34nux ISiVh392gqKEi0lVzQZ1XBklJZqJJgn5hfMc3s+wT1y8bnlpZ5GfzlndunT1ak0K25GT H6g2foHuokRXnyLna6AN5IblbZPZafg2EN2yAnifF7ezS9YAIQ7ecUj/RoEaZyi4TcqW NMhrN4NthKs4mjBI0OEgH6h9oyltyJEuzz1judPrlNbzkqqPwzTFBe8M+RZ1ZAQnwwZ1 f8LmeqpCDJqf2q02qC6jbf0xd7lqTU1qN5i9XyWsV9uxpqfIVmTm/JzMVBFiYxZ28Mce 6c9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=32woHLxFHWiaW7X5TMccdGl3S6GfW6OwJIeRr+DaHUM=; b=eUfzAXu2JsauPTSxH8Kg9TwbnlezIA7dq4e+KFervH6FCUDO+NXRLihZtjWZCVyzwl wWnOyHunP2wjB/rAJGdcOWoKPu0544eO5Qxt5CDsJl6i44wJ2hkVRnCYgQQqw9yZw+9h 80TQYtdRFc6FkE9Iaf+C/EwQrnLsvzM+flD0VOkMaetJF0orNbBGeczlQ/3qQCQyqlcV wIPESU9bf7uv86i1Yusr/QlMdM6CkuKPFm7Ul34Qzl04DG4y1AYk9FFL45J10YMqZ4u+ 7ZVK4L3niRWuu8XdUfJxRu4lbExVRmSC3/1aZUoMQlLQ54afmGrq+ymGYIciR3N2u69f rQeQ== X-Gm-Message-State: AOAM5339d8QGQxa3eGjm7ctJYEf/oHdhfunBoLxn6lsz+uDpzDjHBXuP VgYgoZI0yWPd9FAz7xrdg0i45+miHGg= X-Google-Smtp-Source: ABdhPJyU71On0cM7eU1SeJNl1x3UJPFn5JTsv9X0IMZisqonYUgmBVtgcz9gW/Sy6dAUA6avrwfjXA== X-Received: by 2002:a1c:5401:0:b0:38e:bf1c:d25c with SMTP id i1-20020a1c5401000000b0038ebf1cd25cmr7203601wmb.119.1650204063277; Sun, 17 Apr 2022 07:01:03 -0700 (PDT) Received: from rltb ([2a01:e0a:3f3:fb50:bd22:e5b0:cb93:3147]) by smtp.gmail.com with ESMTPSA id b14-20020a7bc24e000000b003899c8053e1sm11755424wmj.41.2022.04.17.07.01.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 Apr 2022 07:01:02 -0700 (PDT) From: Robert Pluim To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> Date: Sun, 17 Apr 2022 16:01:01 +0200 In-Reply-To: (=?utf-8?B?IuCkuOCkruClgOCksCDgpLjgpL/gpILgpLk=?= Sameer Singh"'s message of "Sun, 17 Apr 2022 18:19:47 +0530") Message-ID: <87h76r3j36.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >>>>> On Sun, 17 Apr 2022 18:19:47 +0530, =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4= =B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh said: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> Vowel signs U+1103E U+1103F U+110= 40 and U+11041 are not connected properly =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> to conjuncts. =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> Here are the codepoints of the te= xt I entered: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 1103E (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BE) =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 1103F (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BF) =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11040 (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=80) =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11041 (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=81) How about this? diff --git a/lisp/language/indian.el b/lisp/language/indian.el index 0a50dd999f..ef095ddc3b 100644 --- a/lisp/language/indian.el +++ b/lisp/language/indian.el @@ -397,7 +397,7 @@ malayalam-composable-pattern ;; Brahmi composition rules (let ((consonant "[\U00011013-\U00011034]") (non-consonant "[^\U00011013-\U00011034\U00011046\U0001107F]") - (vowel "[\U00011038-\U0001103D\U00011042-\U00011045]") + (vowel "[\U00011038-\U00011045]") (numeral "[\U00011052-\U00011065]") (multiplier "[\U00011064\U00011065]") (virama "\U00011046") Robert --=20 From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 10:25:55 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 14:25:55 +0000 Received: from localhost ([127.0.0.1]:36841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng5qd-0001fP-6U for submit@debbugs.gnu.org; Sun, 17 Apr 2022 10:25:55 -0400 Received: from mail-qt1-f181.google.com ([209.85.160.181]:33607) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng5qb-0001fA-J8 for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 10:25:53 -0400 Received: by mail-qt1-f181.google.com with SMTP id hf18so8197372qtb.0 for <54914@debbugs.gnu.org>; Sun, 17 Apr 2022 07:25:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=012MPu6FlWoSx95SY8JOfTDwGikB0LAkdHA6i0r1bYA=; b=MAVkFv3Y54BwuN0lCmbiHqNvxL4yhYSbNigk3Z/s7je+i656jzK8CJQ6QHc2tYJQvj xWYB0qiTD+S0GAnrXR/McjUoBen+lP/TYylc3MmLLX0r3FvvvUdPbXzJTmrIbi42MyZI HsNbshnVRCzhMdgJf7TEs+AANDHfeADA3YcTiDUQDnwrbxKHbQz4zremwXhDKQ6If7M7 cF1NEnbHLdmcFdSQLxeJr6IY6/dpWXp1w1XELMDKXIncnXKlbgTenf4jWPc4hIZxVOwB QLDXTjGkBfjtvU8QUx7TAKeEz+RJ7dLzHjRKpUBJQbsUzP0lokoKlGGmoqCtCNneL7Rn h9aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=012MPu6FlWoSx95SY8JOfTDwGikB0LAkdHA6i0r1bYA=; b=B8HKEKzge2As8BUadrZcWWxbA/3kJLQ60+9WFlhuUAR8bLymwn/MQpYWrfRvOqOr+L 2z6OKL4pKSTXUZk6GNodnph1UATpNtU6MEML4CG3WZUL9EGZDR3rRabgAdc9CofQct/Y Qvl0fl9R0xsLhPUxjbx+40XaZj4wPx5WIAhcn9X+TTQbMiZeVLZlUjwYOxV2pnG86dr8 sdMXLz3Qt/YxrLEh6W3g1GlEx0N6qoNjQwoWZdXL5orYgGLZJGZH5Y05sF3MmMmbjIno ON9bve1PDn/bzQsm7T9BreQQq9JNz6faTxfHO1qjtVJB8A56+5iB4eUgsApZyG3emxQR 5Ltw== X-Gm-Message-State: AOAM533idnjfVgePcCrJLPFlLBRktXJqm5jYBCHj+VfWaW4DH0LKs5LS Azk00Qquwog/rbF+bKWDht0uHOJSl9ET0SQvnHk= X-Google-Smtp-Source: ABdhPJw8KsPoBkgJBXeZwXnr4G0O2pfEOrn3OKKg4u0k+HlPV3tjp1Ja+NWAz+QLMtOdemPe3EmLYl1q1CUgKTSuZPA= X-Received: by 2002:a05:622a:58f:b0:2f2:58:578a with SMTP id c15-20020a05622a058f00b002f20058578amr239494qtb.180.1650205548014; Sun, 17 Apr 2022 07:25:48 -0700 (PDT) MIME-Version: 1.0 References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> <87h76r3j36.fsf@gmail.com> In-Reply-To: <87h76r3j36.fsf@gmail.com> From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Date: Sun, 17 Apr 2022 19:55:36 +0530 Message-ID: Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: Robert Pluim Content-Type: multipart/mixed; boundary="0000000000007f253005dcda6b39" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, Eli Zaretskii X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --0000000000007f253005dcda6b39 Content-Type: multipart/alternative; boundary="0000000000007f252e05dcda6b37" --0000000000007f252e05dcda6b37 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Everything seems to be working fine now. Thank you Eli and Robert for your hardwork. Here is "Welcome to Emacs" in Sanskrit in the Brahmi script rendered correctly in Emacs! =F0=91=80=88=F0=91=80=AB=F0=91=81=83=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0= =91=81=82 =F0=91=80=B2=F0=91=81=86=F0=91=80=AF=F0=91=80=B8=F0=91=80=95=F0= =91=80=A2=F0=91=80=AB=F0=91=81=86 (=E0=A4=88=E0=A4=AE=E0=A5=88=E0=A4=95=E0= =A5=8D=E0=A4=B8=E0=A5=87 =E0=A4=B8=E0=A5=8D=E0=A4=B5=E0=A4=BE=E0=A4=97=E0= =A4=A4=E0=A4=AE=E0=A5=8D =C4=ABmaiks=C4=93 sv=C4=81gatam) On Sun, Apr 17, 2022 at 7:31 PM Robert Pluim wrote: > >>>>> On Sun, 17 Apr 2022 18:19:47 +0530, =E0=A4=B8=E0=A4=AE=E0=A5=80=E0= =A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh < > lumarzeli30@gmail.com> said: > > =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> Vowel signs U+1103E U+1103F U+1= 1040 and U+11041 are not > connected properly > =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> to conjuncts. > > =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> Here are the codepoints of the = text I entered: > =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 1103E (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BE) > =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 1103F (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BF) > =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11040 (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=80) > =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11041 (=F0=91= =80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=81) > > How about this? > > diff --git a/lisp/language/indian.el b/lisp/language/indian.el > index 0a50dd999f..ef095ddc3b 100644 > --- a/lisp/language/indian.el > +++ b/lisp/language/indian.el > @@ -397,7 +397,7 @@ malayalam-composable-pattern > ;; Brahmi composition rules > (let ((consonant "[\U00011013-\U00011034]") > (non-consonant "[^\U00011013-\U00011034\U00011046\U0001107F]") > - (vowel "[\U00011038-\U0001103D\U00011042-\U00011045]") > + (vowel "[\U00011038-\U00011045]") > (numeral "[\U00011052-\U00011065]") > (multiplier "[\U00011064\U00011065]") > (virama "\U00011046") > > Robert > -- > --0000000000007f252e05dcda6b37 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Everything seems to be working fine now.
Th= ank you Eli and Robert for your hardwork.

Here is = "Welcome to Emacs" in Sanskrit in the Brahmi script rendered corr= ectly in Emacs!
=F0=91=80=88=F0=91=80=AB=F0=91=81=83=F0=91=80=93= =F0=91=81=86=F0=91=80=B2=F0=91=81=82 =F0=91=80=B2=F0=91=81=86=F0=91=80=AF= =F0=91=80=B8=F0=91=80=95=F0=91=80=A2=F0=91=80=AB=F0=91=81=86 (=E0=A4=88=E0= =A4=AE=E0=A5=88=E0=A4=95=E0=A5=8D=E0=A4=B8=E0=A5=87 =E0=A4=B8=E0=A5=8D=E0= =A4=B5=E0=A4=BE=E0=A4=97=E0=A4=A4=E0=A4=AE=E0=A5=8D =C4=ABmaiks=C4=93 sv=C4= =81gatam)

On Sun, Apr 17, 2022 at 7:31 PM Robert Pluim <rpluim@gmail.com> wrote:
>>>>> On Sun, 17 A= pr 2022 18:19:47 +0530, =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0= =A4=BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@gmail.com> said:

=C2=A0 =C2=A0 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> Vowel signs U+1103E = U+1103F U+11040 and U+11041 are not connected properly
=C2=A0 =C2=A0 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> to conjuncts.

=C2=A0 =C2=A0 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> Here are the codepoi= nts of the text I entered:
=C2=A0 =C2=A0 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11= 03E (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BE)
=C2=A0 =C2=A0 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11= 03F (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=80=BF)
=C2=A0 =C2=A0 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11= 040 (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=80)
=C2=A0 =C2=A0 =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0> 11013 11046 11032 11= 041 (=F0=91=80=93=F0=91=81=86=F0=91=80=B2=F0=91=81=81)

How about this?

diff --git a/lisp/language/indian.el b/lisp/language/indian.el
index 0a50dd999f..ef095ddc3b 100644
--- a/lisp/language/indian.el
+++ b/lisp/language/indian.el
@@ -397,7 +397,7 @@ malayalam-composable-pattern
=C2=A0;; Brahmi composition rules
=C2=A0(let ((consonant=C2=A0 =C2=A0 =C2=A0"[\U00011013-\U00011034]&quo= t;)
=C2=A0 =C2=A0 =C2=A0 =C2=A0(non-consonant "[^\U00011013-\U00011034\U00= 011046\U0001107F]")
-=C2=A0 =C2=A0 =C2=A0 (vowel=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"[\U0001= 1038-\U0001103D\U00011042-\U00011045]")
+=C2=A0 =C2=A0 =C2=A0 (vowel=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0"[\U0001= 1038-\U00011045]")
=C2=A0 =C2=A0 =C2=A0 =C2=A0(numeral=C2=A0 =C2=A0 =C2=A0 =C2=A0"[\U0001= 1052-\U00011065]")
=C2=A0 =C2=A0 =C2=A0 =C2=A0(multiplier=C2=A0 =C2=A0 "[\U00011064\U0001= 1065]")
=C2=A0 =C2=A0 =C2=A0 =C2=A0(virama=C2=A0 =C2=A0 =C2=A0 =C2=A0 "\U00011= 046")

Robert
--
--0000000000007f252e05dcda6b37-- --0000000000007f253005dcda6b39 Content-Type: image/png; name="emacs.png" Content-Disposition: attachment; filename="emacs.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l23dph1c0 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 H+q888ctv7gI9f12PT+/+9+t+opIQHLowI6ftuyObyVXysiRw48dcUbTi5046UZyGw00iOTl5T9B MhSQFxMT/+lTMZvd1Nvo4GBFvnfCxtqcWEiXk9O0IVyLvH2Df9z0PX5sPcf89JkLraVaaE16etZO 58NHjp03nKirra05Um1Y//4y0jJSnAZORUXFp+KStLSMp89Snz5NFvbK4gViX3s1NDTExSXExSW0 XbV1Guoj1UerEUX/gLBTp1tY9hD9IO6H1Vs9PU6pqiqTvDKHw42NTYiNTXBwsPptx2biF8zUdKqB wfiOyrnUSerq6vbtP/W76yE8rYuMjLS72zFvn6Dbd3xTUtLweeZ9+vTR1h5rZzPL2tocHVPy9Q3x JzdJRVa2Pzorxc8/VLS9KTgcjq/f/W+WzseLZqZTD8tINd8FrUV8C+kE1PT1Ddm4fhU+9C8rKzNz xuTAoHARWltWVh5yP0qoNem9DDzz9gi6yDMsl8s9fabVTBuv0jNFy+B2757/jp1fbPxmazNLhOt0 sUePEvbuO0kEIwaD7mBveeXSudgYn8CA66EhN2NjfC56nHRwsPoi8Pnd3+VytJVL8rP5cjayTzse 8dDVFywW08rSTEBlgpbWGHQlnOCFdAUFRXGPE4lih6wgpiaIfT3CGA1ep/XTp8noGqnmfHyD015l iPAuQcER6Hxdk7a6z3qI/7wC16xz4utXlZSUVFIcyGbL82X6q6ioctlzfOdvh8hvr2OHJIx6+TJd tPUkuFfpmegmyCT74xyR+JWUlNpm9mkvL96IxyRDPWHXLAMcxL4eAU2Nhc6SbVFjY+NtJJ+lUNCZ CgoK7Bb3VOoMjY2NHA4X/0JTQpAUF5dg77j8nKungP2A3r3/cOash7Xt0nv/BZC/Mt9oqS+J5AWC eSEjHuM01dGujBaxWEyL2byFdK2NcqDwHTLxYxFSGwAcbYymePzx793+8jxFLGZy2Xvi3j1/wfWV lBQD/Xk74/z08+6wsAdk3qhfP1ZMtA9RtLZdimaREgtqasNmzpyycf1K4pXfdh1+8iSJWPYPABlw 39cjSDJ5919VlfyzUprLy8tHl9axmGTzmHO5X8wrbmgQv31XMzPf5L7/gL7y/n0eBD4gLIh9PQIN 482DJTmrFl3kMGgQ2WFfNJdMY2NjUZFw6Ve7HZMpeeb0PnRNIYZhf3me2uX8k7D5/gDFwcdFXL15 +544nmRINqMRmlQ9KzuH5PS3nuPQgR3TW0rJN9fRetuv65u/DkBrIPaJq+hoXkYjQ0N9DY22N34b MkRl8SJ7ohgiapKo7jJxgq6p6VT82M8/9IfVWzdu3knMrFww33bE8KGtnw3AFyD2iauo6EfEtA8a jXZg3zbBm4QpKg743fUwMbBbXV0j8mBxd5k/v2n3ooCAsB07D8Y9ToyKerR2/XZ8xg+dTp83T9Bq aABQEPvEVW1t3cnTvF1WR40a8ffFMy3uO8xg0K0sTW/8646mV3BzvyR4FmEPNPrzfJE7d3lRm8Ph EAtO1Ue3a68MQCmwpk2M+fgET9DXIWb2jxo14vrVPx49SngYG//xY0Ftba2cnOzYsaNNphqpqCih J9667XP5yq3uaHL7fE5+xflyzRmHI2a9lqAngNgn3vYdOMVt5M51bHrWo9FoRkYGRkYGrdXncLgX /7r++x+kEkf3NFnZb/GNa+1sZxMrkel0uuXnpWMZmW1vLQQADmKfeONwuHv3nYqPT/px8/eKim3s G/30WfLx427JKS+7pm0dLjAw3MzUBMMwezuL2tra23f8+vSRWLXyK+3PGxL5B4R2awOBOIHY1yNk v8lhSDT1vZZXkMr8gfLzvx8cEmlpMXP6dGMDfW00N19dXd3Ll68TEpP9A0LRpabiKDgk8smTZwYG 4zEMW7jAjsjAjgsICBOQ+gkAPrCmrRdisZiysrIMBq28vKKiokocH29bIycne/b0fmJnDEJ0dNwv v+4RNtkyoDKIfUDMMBiMuY5zbG1mjRgxrLGx8WVa+t27fgGB4b0pxIMuALEPAEBFML8PAEBFEPsA AFQEsQ8AQEUQ+wAAVASxDwBARRD7AABUBLEPAEBFEPsAAFQEsQ8AQEUQ+wAAVASxDwBARRD7AABU BLEPAEBFEPsAAFQEsQ8AQEUQ+wAAVASxDwBARRD7AABUBLEPAEBFEPsAAFQEsQ8AQEUQ+wAAVASx DwBARRD7AABUBLEPAEBFEPsAAFQEsQ8AQEUQ+wAAVASxDwBARRD7AABUBLEPAEBFEPsAAFQEsQ8A QEUQ+wAAVASxDwBARRD7AABUBLEPAEBFEPsAAFQEsQ8AQEUQ+wAAVASxDwBARRD7AABUBLEPAEBF EPsAAFQEsQ8AQEX/B1CuIy+/ya1lAAAAAElFTkSuQmCC --0000000000007f253005dcda6b39-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 10:49:40 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 14:49:40 +0000 Received: from localhost ([127.0.0.1]:36876 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng6Dc-0002JF-9J for submit@debbugs.gnu.org; Sun, 17 Apr 2022 10:49:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50102) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng6Da-0002J0-1O for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 10:49:39 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50256) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng6DU-0003Oa-OS; Sun, 17 Apr 2022 10:49:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=+V1hktICoY56SZ6OjDk9nJtYGqj7G6LoeF/4Ysig1q0=; b=mpP5MR1rGHxdgX22JUPL 7+LnCBcuGnTOXzk0nLbsjpKO/BF6swANtuHo02AdDDExJy0htng3qdusMECKtNsOdPPjNdVOTqk3q nbvCXCqKjB0/dLyZIuW2P9l5F9h0W7fbLyz4OwNGnvzY09KvENxJfXnNAsv21l9X2FR0OqBgN+UoO ImVv2GkFhu+FMZc6YIWDYXm65NBjQzdFUYWMslySj7IvJiqVfglbu1qgN5im/Q7LMXbatorRUmqpT Fyj0e1eIvcCaRU8OdkMC7QK7fyfE/vADLTPAboc7VEkY1Yozqg3aOy6AmQVkYfJNnEcU1/9eUyiN4 /ey6/6vCptfSWw==; Received: from [87.69.77.57] (port=1656 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng6DU-0002Vr-7u; Sun, 17 Apr 2022 10:49:32 -0400 Date: Sun, 17 Apr 2022 17:49:18 +0300 Message-Id: <83pmlfydch.fsf@gnu.org> From: Eli Zaretskii To: Robert Pluim In-Reply-To: <87h76r3j36.fsf@gmail.com> (message from Robert Pluim on Sun, 17 Apr 2022 16:01:01 +0200) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> <87h76r3j36.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, lumarzeli30@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Robert Pluim > Cc: Eli Zaretskii , 54914@debbugs.gnu.org > Date: Sun, 17 Apr 2022 16:01:01 +0200 > > >>>>> On Sun, 17 Apr 2022 18:19:47 +0530, समीर सिंह Sameer Singh said: > > समीर> Vowel signs U+1103E U+1103F U+11040 and U+11041 are not connected properly > समीर> to conjuncts. > > समीर> Here are the codepoints of the text I entered: > समीर> 11013 11046 11032 1103E (𑀓𑁆𑀲𑀾) > समीर> 11013 11046 11032 1103F (𑀓𑁆𑀲𑀿) > समीर> 11013 11046 11032 11040 (𑀓𑁆𑀲𑁀) > समीर> 11013 11046 11032 11041 (𑀓𑁆𑀲𑁁) > > How about this? Thanks, installed. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 10:57:50 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 14:57:50 +0000 Received: from localhost ([127.0.0.1]:36917 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng6LW-0002WT-2V for submit@debbugs.gnu.org; Sun, 17 Apr 2022 10:57:50 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52162) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng6LT-0002WF-QF for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 10:57:48 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50340) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng6LO-0004mH-GF; Sun, 17 Apr 2022 10:57:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=xf0Av0BVSwhPAYRs8FlSPv+yHkH94yLmzVpGtMXIHHM=; b=ht/2TTtAnCVOZD5ev6b1 KnUxwGy6oeEOV1ylNKhhMMq1v87JCCyeNJCsEt4CcxO/4opaWAI4nuPF7NeGLy/UEUW+HmzmiQZo2 3jExMF+ZYQQ1ab+x3dkEkUWCYE40pb22nmktnLzHm0o2F/2I6mnkyDhusBWgTVU+roAGspROOj2y5 Ct2AbTyK0Fys0eFeX2yBWqxCwJ9Vg6DTDrAeEu2Nws15NSp8xe8xeRMf+MXQ9IPAm5Bdtc0bJgJmo DEeg1ATxof6I4k+flYAeDSvw+1xQYZqz+nCG9CIjTfPw546naKuby/Zitk4NxXQoKGN1iarOE31em FxEhP+TwT9lB+Q==; Received: from [87.69.77.57] (port=2158 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng6LN-0005fJ-Gb; Sun, 17 Apr 2022 10:57:41 -0400 Date: Sun, 17 Apr 2022 17:57:24 +0300 Message-Id: <83o80zycyz.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= In-Reply-To: (message from =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuQ==?= Sameer Singh on Sun, 17 Apr 2022 19:55:36 +0530) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> <87h76r3j36.fsf@gmail.com> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, rpluim@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: समीर सिंह Sameer Singh > Date: Sun, 17 Apr 2022 19:55:36 +0530 > Cc: Eli Zaretskii , 54914@debbugs.gnu.org > > Everything seems to be working fine now. > Thank you Eli and Robert for your hardwork. Thanks for testing. > Here is "Welcome to Emacs" in Sanskrit in the Brahmi script rendered correctly in Emacs! > 𑀈𑀫𑁃𑀓𑁆𑀲𑁂 𑀲𑁆𑀯𑀸𑀕𑀢𑀫𑁆 (ईमैक्से स्वागतम् īmaiksē svāgatam) Thanks, but we are not done yet. First, we need to have a "hello" greeting in Brahmi script for the etc/HELLO file. Can you show such a greeting? It is okay to have two or even 3 if there's no single phrase for that. We also need to know how to write "Brahmi" in Brahmi script, but I think I found the answer for that: "𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻", right? If that is incorrect, please tell how to write this correctly. Last, but not least, we should have an input method for Brahmi. I looked around, but found only one description of a keyboard map for Brahmi, which is here: https://github.com/kaamanita/brahmi Can you look and tell whether the keyboard layout shown there is reasonable? If not, can you point me to a better one, or maybe suggest such a layout yourself? All I need to know is which key on a standard QWERTY keyboard should produce what Brahmi character(s), and then I can write the input method myself. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 11:51:18 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 15:51:18 +0000 Received: from localhost ([127.0.0.1]:36983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng7B6-0008Eq-JU for submit@debbugs.gnu.org; Sun, 17 Apr 2022 11:51:18 -0400 Received: from mail-qv1-f42.google.com ([209.85.219.42]:45999) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng7B5-0008EL-28 for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 11:51:07 -0400 Received: by mail-qv1-f42.google.com with SMTP id b17so9504289qvf.12 for <54914@debbugs.gnu.org>; Sun, 17 Apr 2022 08:51:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=YJaApaAfxh+56A83XNxb1Dko3CiU9mogzVvjZChhdzQ=; b=ZBSNn7fuX0diAALJwmDB4WiYeJzl3yQX4m/PQxzNXHcHNjWPu0Yy7EIoTw2CX25RCw oPFMtmp8b6MXmcmIB2YmVZVwpAEw7whIsUtky0FMMkhLgLjr05e/xIhAtba026mZmnz4 yUKyOWyWte7aE7eqVhUNASNFRyw6wJqwvEYG47kYWlPs7cllCe6wMo/lPnxFAFsCcEyT k9P5Z40kzfgK6whTAmuYikU7xbKOtHkEs1aLxM+EOJfRczf/DRXh06O6VuV/nnHSDs/n NTmHe887LkLBArCaHQl141ehu/OPwU+7mlbqfRj6BfkAttv3bZfpE7+x0uFSNeessI+6 7pwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=YJaApaAfxh+56A83XNxb1Dko3CiU9mogzVvjZChhdzQ=; b=pX4+hDDNIa06sGBI9iddRw26M2EU7nxswpaVL0I3NqxztbJxCDcF7r/65awRB+b063 /41ft8GCmwLJhQ2rit34ai5i1JMTKh27ZI+eU1QwTUVd36Dyo/sYvlNIHMgnjdfLr6j9 jQltGhQxqTcYjyCfXO4BM2WeheUdIZJ4rsBtgF53BpY0cQYp6pKgJZrCf7r7kbqLWQ0S hWOsyYBOzT4w2shiOCbQ/szB/VSS1ddRhdH52W0+YwZpbnV5zA1BEsl5ExQF9hw+778Y c06RbLaIg5gHtWxRDeSEDWfJDm5khxCYH0th1MPFzxBtc19uyVh7KTcwKo0kUMQJrUfK fN+A== X-Gm-Message-State: AOAM531C5FC9E0dExAAwVxGQTZpgg1hqzxch3l3ebw6BR6SfMUDwW8N1 3pKtSsi6cyjXNQEWu0UKrHXpPFdov36O2Ozljlo= X-Google-Smtp-Source: ABdhPJyEPRFok3TlH5HFDw2113iOipdEd53YuEmiDe9ggkEHWilAFqsa42ne2YRaDC8bmVYsveI8Gynkc9doUnFe4GI= X-Received: by 2002:a0c:ed46:0:b0:444:3e69:767b with SMTP id v6-20020a0ced46000000b004443e69767bmr5431854qvq.71.1650210661414; Sun, 17 Apr 2022 08:51:01 -0700 (PDT) MIME-Version: 1.0 References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> <87h76r3j36.fsf@gmail.com> <83o80zycyz.fsf@gnu.org> In-Reply-To: <83o80zycyz.fsf@gnu.org> From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Date: Sun, 17 Apr 2022 21:20:50 +0530 Message-ID: Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: Eli Zaretskii Content-Type: multipart/mixed; boundary="0000000000004793d305dcdb9c39" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, Robert Pluim X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --0000000000004793d305dcdb9c39 Content-Type: multipart/alternative; boundary="0000000000004793d105dcdb9c37" --0000000000004793d105dcdb9c37 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > > First, we need to have a "hello" greeting in Brahmi script for the > etc/HELLO file. Can you show such a greeting? > =F0=91=80=A6=F0=91=80=AB=F0=91=80=B2=F0=91=81=86=F0=91=80=A2=F0=91=81=82 (= =E0=A4=A8=E0=A4=AE=E0=A4=B8=E0=A5=8D=E0=A4=A4=E0=A5=87 namast=C4=93) (11026= 1102B 11032 11046 11022 11042) could work in Sanskrit We also need to know how to write "Brahmi" in Brahmi script, but I > think I found the answer for that: "=F0=91=80=A9=F0=91=81=86=F0=91=80=AD= =F0=91=80=B8=F0=91=80=B3=F0=91=81=86=F0=91=80=AB=F0=91=80=BB", right? If t= hat is > incorrect, please tell how to write this correctly. > Yes this is correct Can you look and tell whether the keyboard layout shown there is > reasonable? If not, can you point me to a better one, or maybe > suggest such a layout yourself? All I need to know is which key on a > standard QWERTY keyboard should produce what Brahmi character(s), and > then I can write the input method myself. > Here is a modified version of the layout which I use On Sun, Apr 17, 2022 at 8:27 PM Eli Zaretskii wrote: > > From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82= =E0=A4=B9 Sameer Singh > > Date: Sun, 17 Apr 2022 19:55:36 +0530 > > Cc: Eli Zaretskii , 54914@debbugs.gnu.org > > > > Everything seems to be working fine now. > > Thank you Eli and Robert for your hardwork. > > Thanks for testing. > > > Here is "Welcome to Emacs" in Sanskrit in the Brahmi script rendered > correctly in Emacs! > > =F0=91=80=88=F0=91=80=AB=F0=91=81=83=F0=91=80=93=F0=91=81=86=F0=91=80= =B2=F0=91=81=82 =F0=91=80=B2=F0=91=81=86=F0=91=80=AF=F0=91=80=B8=F0=91=80= =95=F0=91=80=A2=F0=91=80=AB=F0=91=81=86 (=E0=A4=88=E0=A4=AE=E0=A5=88=E0=A4= =95=E0=A5=8D=E0=A4=B8=E0=A5=87 =E0=A4=B8=E0=A5=8D=E0=A4=B5=E0=A4=BE=E0=A4= =97=E0=A4=A4=E0=A4=AE=E0=A5=8D =C4=ABmaiks=C4=93 sv=C4=81gatam) > > Thanks, but we are not done yet. > > First, we need to have a "hello" greeting in Brahmi script for the > etc/HELLO file. Can you show such a greeting? It is okay to have two > or even 3 if there's no single phrase for that. > > We also need to know how to write "Brahmi" in Brahmi script, but I > think I found the answer for that: "=F0=91=80=A9=F0=91=81=86=F0=91=80=AD= =F0=91=80=B8=F0=91=80=B3=F0=91=81=86=F0=91=80=AB=F0=91=80=BB", right? If t= hat is > incorrect, please tell how to write this correctly. > > Last, but not least, we should have an input method for Brahmi. I > looked around, but found only one description of a keyboard map for > Brahmi, which is here: > > https://github.com/kaamanita/brahmi > > Can you look and tell whether the keyboard layout shown there is > reasonable? If not, can you point me to a better one, or maybe > suggest such a layout yourself? All I need to know is which key on a > standard QWERTY keyboard should produce what Brahmi character(s), and > then I can write the input method myself. > > Thanks. > --0000000000004793d105dcdb9c37 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
First, w= e need to have a "hello" greeting in Brahmi script for the
etc/HELLO file.=C2=A0 Can you show such a greeting?
= =F0=91=80=A6=F0=91=80=AB=F0=91=80=B2=F0=91=81=86=F0=91=80=A2=F0=91=81=82 (<= span class=3D"gmail-devanagari" style=3D"font-size:120%">=E0=A4=A8=E0=A4=AE= =E0=A4=B8=E0=A5=8D=E0=A4=A4=E0=A5=87 namast=C4=93) (11026 1102B 11032 11046 11022 11042) could work= in Sanskrit
=
<= div>We also need to know how to write &= quot;Brahmi" in Brahmi script, but I
think I found the answer for that: "=F0=91=80=A9=F0=91=81=86=F0=91=80= =AD=F0=91=80=B8=F0=91=80=B3=F0=91=81=86=F0=91=80=AB=F0=91=80=BB", righ= t?=C2=A0 If that is
incorrect, please tell how to write this correctly.

Yes this is correct=C2=A0

=
Can you look and tel= l whether the keyboard layout shown there is
reasonable?=C2=A0 If not, can you point me to a better one, or maybe
suggest such a layout yourself?=C2=A0 All I need to know is which key on a<= br> standard QWERTY keyboard should produce what Brahmi character(s), and
then I can write the input method myself.

=
Here is a modified version of the layout which I use
<= br>
On Sun,= Apr 17, 2022 at 8:27 PM Eli Zaretskii <= eliz@gnu.org> wrote:
> From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4= =BF=E0=A4=82=E0=A4=B9 Sameer Singh <lumarzeli30@gmail.com>
> Date: Sun, 17 Apr 2022 19:55:36 +0530
> Cc: Eli Zaretskii <eliz@gnu.org>, 54914@debbugs.gnu.org
>
> Everything seems to be working fine now.
> Thank you Eli and Robert for your hardwork.

Thanks for testing.

> Here is "Welcome to Emacs" in Sanskrit in the Brahmi script = rendered correctly in Emacs!
> =F0=91=80=88=F0=91=80=AB=F0=91=81=83=F0=91=80=93=F0=91=81=86=F0=91=80= =B2=F0=91=81=82 =F0=91=80=B2=F0=91=81=86=F0=91=80=AF=F0=91=80=B8=F0=91=80= =95=F0=91=80=A2=F0=91=80=AB=F0=91=81=86 (=E0=A4=88=E0=A4=AE=E0=A5=88=E0=A4= =95=E0=A5=8D=E0=A4=B8=E0=A5=87 =E0=A4=B8=E0=A5=8D=E0=A4=B5=E0=A4=BE=E0=A4= =97=E0=A4=A4=E0=A4=AE=E0=A5=8D =C4=ABmaiks=C4=93 sv=C4=81gatam)

Thanks, but we are not done yet.

First, we need to have a "hello" greeting in Brahmi script for th= e
etc/HELLO file.=C2=A0 Can you show such a greeting?=C2=A0 It is okay to hav= e two
or even 3 if there's no single phrase for that.

We also need to know how to write "Brahmi" in Brahmi script, but = I
think I found the answer for that: "=F0=91=80=A9=F0=91=81=86=F0=91=80= =AD=F0=91=80=B8=F0=91=80=B3=F0=91=81=86=F0=91=80=AB=F0=91=80=BB", righ= t?=C2=A0 If that is
incorrect, please tell how to write this correctly.

Last, but not least, we should have an input method for Brahmi.=C2=A0 I
looked around, but found only one description of a keyboard map for
Brahmi, which is here:

=C2=A0 https://github.com/kaamanita/brahmi

Can you look and tell whether the keyboard layout shown there is
reasonable?=C2=A0 If not, can you point me to a better one, or maybe
suggest such a layout yourself?=C2=A0 All I need to know is which key on a<= br> standard QWERTY keyboard should produce what Brahmi character(s), and
then I can write the input method myself.

Thanks.
--0000000000004793d105dcdb9c37-- --0000000000004793d305dcdb9c39 Content-Type: application/octet-stream; name=brahmi2-kb Content-Disposition: attachment; filename=brahmi2-kb Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l23gsqlj0 Ly8gTmFtZTogICAgICAgIEJyYWhtaSBwaG9uZXRpYwovLyBEZXNjcmlwdGlvbjogQSBwaG9uZXRp YyBrZXlib2FyZCBsYXlvdXQgZm9yIHdyaXRpbmcgaW4gQnJhaG1pLgovLyBBdXRob3I6ICAgICAg 4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSAoU2FtZWVyIFNpbmdoKSA8bHVtYXJ6ZWxpMzBAZ21h aWwuY29tPgovLwpwYXJ0aWFsIGFscGhhbnVtZXJpY19rZXlzCnhrYl9zeW1ib2xzICJicmFobWki IHsKICAgICBuYW1lW0dyb3VwMV0gPSAiQnJhaG1pIChwaG9uZXRpYykiOwogICAgIGtleS50eXBl PSJGT1VSX0xFVkVMIjsKCiAgICAgLy8gUm9tYW4gZGlnaXRzCiAgICAga2V5IDxUTERFPiB7IFsg Z3JhdmUsICBhc2NpaXRpbGRlLCAgVTIwQjkgICAgICAgICAgICAgICAgIF0gfTsgLy8gVTIwQjk6 IE5ldyBJbmRpYW4gUnVwZWUgU2lnbgogICAgIGtleSA8QUUwMT4geyBbIFUxMTA2NywgZXhjbGFt LCAgICAgIDEsICAgICAgVTExMDUyICAgICAgICBdIH07IC8vIGRpZ2l0IG9uZSwgbnVtYmVyIG9u ZQogICAgIGtleSA8QUUwMj4geyBbIFUxMTA2OCwgYXQsICAgICAgICAgIDIsICAgICAgVTExMDUz ICAgICAgICBdIH07IC8vIGRpZ2l0IHR3bywgbnVtYmVyIHR3bwogICAgIGtleSA8QUUwMz4geyBb IFUxMTA2OSwgbnVtYmVyc2lnbiwgIDMsICAgICAgVTExMDU0ICAgICAgICBdIH07IC8vIGRpZ2l0 IHRocmVlLCBudW1iZXIgdGhyZWUKICAgICBrZXkgPEFFMDQ+IHsgWyBVMTEwNkEsIGRvbGxhciwg ICAgICA0LCAgICAgIFUxMTA1NSAgICAgICAgXSB9OyAvLyBkaWdpdCBmb3VyLCBudW1iZXIgZm91 cgogICAgIGtleSA8QUUwNT4geyBbIFUxMTA2QiwgcGVyY2VudCwgICAgIDUsICAgICAgVTExMDU2 ICAgICAgICBdIH07IC8vIGRpZ2l0IGZpdmUsIG51bWJlciBmaXZlCiAgICAga2V5IDxBRTA2PiB7 IFsgVTExMDZDLCBhc2NpaWNpcmN1bSwgNiwgICAgICBVMTEwNTcgXSB9OyAvLyBkaWdpdCBzaXgs IG51bWJlciBzaXgKICAgICBrZXkgPEFFMDc+IHsgWyBVMTEwNkQsIGFtcGVyc2FuZCwgICA3LCAg ICAgIFUxMTA1OCBdIH07IC8vIGRpZ2l0IHNldmVuLCBudW1iZXIgc2V2ZW4KICAgICBrZXkgPEFF MDg+IHsgWyBVMTEwNkUsIGFzdGVyaXNrLCAgICA4LCAgICAgIFUxMTA1OV0gfTsgLy8gZGlnaXQg ZWlnaHQsIG51bWJlciBlaWdodAogICAgIGtleSA8QUUwOT4geyBbIFUxMTA2RiwgcGFyZW5sZWZ0 LCAgIDksICAgICAgVTExMDVBICAgICAgICBdIH07IC8vIGRpZ2l0IG5pbmUsIG51bWJlciBuaW5l CiAgICAga2V5IDxBRTEwPiB7IFsgVTExMDY2LCBwYXJlbnJpZ2h0LCAgMCwgICAgICBVMTEwNUIg ICAgICAgIF0gfTsgLy8gZGlnaXQgemVybywgbnVtYmVyIHRlbgogICAgIGtleSA8QUUxMT4geyBb IG1pbnVzLCAgdW5kZXJzY29yZSwgIFUxMTA1QywgVTExMDVEICAgICAgICBdIH07IC8vIG51bWJl ciB0d2VudHksIG51bWJlciB0aGlydHkKICAgICBrZXkgPEFFMTI+IHsgWyBlcXVhbCwgIHBsdXMs ICAgICAgICBVMTEwNUUsIFUxMTA1RiAgICAgICAgXSB9OyAvLyBudW1iZXIgZm9ydHksIG51bWJl ciBmaWZ0eQogICAgIGtleSA8QktTTD4geyBbIFUwMDVDLCAgVTAwN0MsICAgICAgIFUxMTA0Nywg VTExMDQ4ICAgICAgICBdIH07IC8vIGJhY2tzbGFzaCwgcGlwZSwgZGFuZGEsIGRvdWJsZSBkYW5k YQoKICAgICAvLyBRIFJvdwogICAgIGtleSA8QUQwMT4geyBbIFUxMTAxRCwgICAgICAgVTExMDFF LCBVMTEwMDMsIFUxMTA2MCBdIH07IC8vIGxldHRlciBUVEEsIGxldHRlciBUVEhBLCBqaWh2YW11 bGl5YSwgbnVtYmVyIHNpeHR5CiAgICAga2V5IDxBRDAyPiB7IFsgVTExMDFGLCAgICAgICBVMTEw MjAsIFUxMTAwNCwgVTExMDYxIF0gfTsgLy8gbGV0dGVyIEREQSwgbGV0dGVyIERESEEsIHVwYWRo aW1hbml5YSwgbnVtYmVyIHNldmVudHkKICAgICBrZXkgPEFEMDM+IHsgWyBVMTEwNDIsICAgICAg IFUxMTA0MywgVTExMDBGLCBVMTEwMTAgXSB9OyAvLyB2b3dlbCBzaWduIEUsIHZvd2VsIHNpZ24g QUksIGxldHRlciBFLCBsZXR0ZXIgQUkKICAgICBrZXkgPEFEMDQ+IHsgWyBVMTEwMkQsICAgICAg IFUxMTAzRSwgVTExMDBCLCBVMTEwMzYgXSB9OyAvLyBsZXR0ZXIgUkEsIHZvd2VsIHNpZ24gdm9j YWxpYyBSLCB2b2NhbGljIFIsIGxldHRlciBvbGQgdGFtaWwgUlJBCiAgICAga2V5IDxBRDA1PiB7 IFsgVTExMDIyLCAgICAgICBVMTEwMjMsIFUxMTA2MiAgICAgICAgIF0gfTsgLy8gbGV0dGVyIFRB LCBsZXR0ZXIgVEhBLCBudW1iZXIgZWlnaHR5CiAgICAga2V5IDxBRDA2PiB7IFsgVTExMDJDLCAg ICAgICBVMTEwNjMsIFUxMTA2NCwgVTExMDY1IF0gfTsgLy8gbGF0dGVyIFlBLCBudW1iZXIgbmlu ZXR5LCBudW1iZXIgb25lIGh1bmRyZWQsIG51bWJlciBvbmUgdGhvdXNhbmQKICAgICBrZXkgPEFE MDc+IHsgWyBVMTEwM0MsICAgICAgIFUxMTAzRCwgVTExMDA5LCBVMTEwMEEgXSB9OyAvLyB2b3dl bCBzaWduIFUsIHZvd2VsIHNpZ24gVVUsIGxldHRlciBVLCBsZXR0ZXIgVVUKICAgICBrZXkgPEFE MDg+IHsgWyBVMTEwM0EsICAgICAgIFUxMTAzQiwgVTExMDA3LCBVMTEwMDggXSB9OyAvLyB2b3dl bCBzaWduIEksIHZvd2VsIHNpZ24gSUksIGxldHRlciBJLCBsZXR0ZXIgSUkKICAgICBrZXkgPEFE MDk+IHsgWyBVMTEwNDQsICAgICAgIFUxMTA0NSwgVTExMDExLCBVMTEwMTIgXSB9OyAvLyB2b3dl bCBzaWduIE8sIHZvd2VsIHNpZ24gQVUsIGxldHRlciBPLCBsZXR0ZXIgQVUKICAgICBrZXkgPEFE MTA+IHsgWyBVMTEwMjcsICAgICAgIFUxMTAyOCwgVTExMDczLCBVMTEwNzEgXSB9OyAvLyBsZXR0 ZXIgUEEsIGxldHRlciBQSEEsIHZvd2VsIHNpZ24gb2xkIHRhbWlsIHNob3J0IEUsIGxldHRlciBv bGQgdGFtaWwgc2hvcnQgRQogICAgIGtleSA8QUQxMT4geyBbIGJyYWNrZXRsZWZ0LCAgYnJhY2Vs ZWZ0LCBVMTEwNzQsIFUxMTA3MiBdIH07IC8vIHZvd2VsIHNpZ24gb2xkIHRhbWlsIHNob3J0IE8s IGxldHRlciBvbGQgdGFtaWwgc2hvcnQgTwogICAgIGtleSA8QUQxMj4geyBbIGJyYWNrZXRyaWdo dCwgYnJhY2VyaWdodCAgICAgICAgICAgICBdIH07CgogICAgIC8vIEEgUm93CiAgICAga2V5IDxB QzAxPiB7IFsgVTExMDM4LCAgICAgVTExMDA2LCBVMTEwMDUsIFUxMTAzOSBdIH07IC8vIHZvd2Vs IHNpZ24gQUEsIGxldHRlciBBQSwgbGV0dGVyIEEsIHZvd2VsIHNpZ24gYmhhdHRpcHJvbHUgQUEK ICAgICBrZXkgPEFDMDI+IHsgWyBVMTEwMzIsICAgICBVMTEwMzAsIFUxMTAzMSAgICAgICAgIF0g fTsgLy8gbGV0dGVyIFNBLCBsZXR0ZXIgU0hBLCBsZXR0ZXIgU1NBCiAgICAga2V5IDxBQzAzPiB7 IFsgVTExMDI0LCAgICAgVTExMDI1LCBVMTEwMzYgICAgICAgICBdIH07IC8vIGxldHRlciBEQSwg bGV0dGVyIERIQSwgb2xkIHRhbWlsIFJSQQogICAgIGtleSA8QUMwND4geyBbIFUxMTA0NiwgICAg IFUxMTAzRiwgVTExMDBDLCBVMTEwNzAgXSB9OyAvLyB2aXJhbWEsIHZvd2VsIHNpZ24gdm9jYWxp YyBSUiwgbGV0dGVyIHZvY2FsaWMgUlIsIG9sZCB0YW1pbCB2aXJhbWEKICAgICBrZXkgPEFDMDU+ IHsgWyBVMTEwMTUsICAgICBVMTEwMTYgICAgICAgICAgICAgICAgIF0gfTsgLy9sZXR0ZXIgR0Es IGxldHRlciBHSEEKICAgICBrZXkgPEFDMDY+IHsgWyBVMTEwMzMsICAgICBVMTEwMDIgICAgICAg ICAgICAgICAgIF0gfTsgLy8gbGV0dGVyIEhBLCB2aXNhcmdhCiAgICAga2V5IDxBQzA3PiB7IFsg VTExMDFBLCAgICAgVTExMDFCICAgICAgICAgICAgICAgICBdIH07IC8vIGxldHRlciBKQSwgbGV0 dGVyIEpIQQogICAgIGtleSA8QUMwOD4geyBbIFUxMTAxMywgICAgIFUxMTAxNCAgICAgICAgICAg ICAgICAgXSB9OyAvLyBsZXR0ZXIgS0EsIGxldHRlciBLSEEKICAgICBrZXkgPEFDMDk+IHsgWyBV MTEwMkUsICAgICBVMTEwMzQsIFUxMTAzNSwgVTExMDc1IF0gfTsgLy8gbGV0dGVyIExBLCBsZXR0 ZXIgTExBLCBvbGQgdGFtaWwgTExMQSwgb2xkIHRhbWlsIExMQQogICAgIGtleSA8QUMxMD4geyBb IHNlbWljb2xvbiwgIGNvbG9uICAgICAgICAgXSB9OwogICAgIGtleSA8QUMxMT4geyBbIGFwb3N0 cm9waGUsIHF1b3RlZGJsICAgICAgICAgICAgICAgXSB9OwoKICAgICAvLyBaIFJvdwogICAgIGtl eSA8QUIwMT4geyBbIFUxMTA0MCwgVTExMDBELCAgIFUxMTA0MSwgVTExMDBFICAgXSB9OyAvLyB2 b3dlbCBzaWduIHZvY2FsaWMgTCwgdm9jYWxpYyBMLCB2b3dlbCBzaWduIHZvY2FsaWMgTEwsIHZv Y2FsaWMgTEwKICAgICBrZXkgPEFCMDI+IHsgWyBVMTEwNDksIFUxMTA0QSwgICBVMTEwNEIsIFUx MTA0QyAgIF0gfTsgLy8gcHVuY3R1YXRpb24gZG90LCBwdW5jdHVhdGlvbiBkb3VibGUgZG90LCBw dW5jdHVhdGlvbiBsaW5lLCBwdW5jdHVhdGlvbiBjcmVzY2VudCBiYXIKICAgICBrZXkgPEFCMDM+ IHsgWyBVMTEwMTgsIFUxMTAxOSwgVTIwMEMsIFUyMDBEICAgICAgICAgICAgICAgICAgICBdIH07 IC8vIGxldHRlciBDQSwgbGV0dGVyIENIQSwgWldOSiwgWldKCiAgICAga2V5IDxBQjA0PiB7IFsg VTExMDJGLCBVMTEwMzcgICAgICAgICAgICAgICAgICAgICBdIH07IC8vIGxldHRlciBWQSwgb2xk IHRhbWlsIE5OTkEKICAgICBrZXkgPEFCMDU+IHsgWyBVMTEwMjksIFUxMTAyQSAgICAgICAgICAg ICAgICAgICAgIF0gfTsgLy8gbGV0dGVyIEJBLCBsZXR0ZXIgQkhBCiAgICAga2V5IDxBQjA2PiB7 IFsgVTExMDI2LCBVMTEwMjEsICAgVTExMDE3LCBVMTEwMUMgICBdIH07IC8vIGxldHRlciBOQSwg bGV0dGVyIE5OQSwgbGV0dGVyIE5ZQSwgbGV0dGVyIE5HQQogICAgIGtleSA8QUIwNz4geyBbIFUx MTAyQiwgVTExMDAxLCBVMTEwMDAgICAgICAgICAgICAgXSB9OyAvLyBsZXR0ZXIgTUEsIGFudXN2 YXJhLCBjYW5kcmFiaW5kdQogICAgIGtleSA8QUIwOD4geyBbIGNvbW1hLCAgVTExMDREICAgICAg ICAgICAgICAgICAgICAgXSB9OyAvLyBwdW5jdHVhdGlvbiBsb3R1cwogICAgIGtleSA8QUIxMD4g eyBbIHNsYXNoLCAgcXVlc3Rpb24sIFUxMTA3RiAgICAgICAgICAgXSB9OyAvLyBudW1iZXIgam9p bmVyCgogICAgaW5jbHVkZSAibGV2ZWwzKHJhbHRfc3dpdGNoKSIKfTs= --0000000000004793d305dcdb9c39-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 13:39:19 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 17:39:19 +0000 Received: from localhost ([127.0.0.1]:37075 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng8rn-0006wm-8S for submit@debbugs.gnu.org; Sun, 17 Apr 2022 13:39:19 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng8rl-0006wY-MN for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 13:39:18 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:54126) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng8rg-0002W0-Bj; Sun, 17 Apr 2022 13:39:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=/WqUKjDWLDHN+mwFpuUxoJ6ERnR6sAznMYGp4jJoVGQ=; b=b+L/HPGvabSZ9SZWz3J3 QSwUTU6vQVpy22rY7F0qdEa6kKff1jC6pyE3ZhqTN2gVq0tAVFR6uKzXtjmkr5zb0+Dbi2o+Uzz0+ YQes33e9L93M/VSkqYERyZYbG53inBai5XnsWPQIPeX68jsTuRaizKTIGdGPnYR9FE37ODTnBmUmz cwN7jCn5JXTpiUHOuOgvLxbmZpUKhqH3912GnP26ju+/oRkdBw0p9T+eTX6rAXBh5Cu5yNDt3UNdU kbL/D9FoZ2Z0MC56d294dhXyNYZYMz19WmH0BkQbWeLboIzE19LoZPIwdWvX8yULFpS7Mih2kxrsM 93/2JwAJFO+OAQ==; Received: from [87.69.77.57] (port=4232 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng8rf-0006YN-RS; Sun, 17 Apr 2022 13:39:12 -0400 Date: Sun, 17 Apr 2022 20:38:57 +0300 Message-Id: <83ee1vy5hq.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= In-Reply-To: (message from =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuQ==?= Sameer Singh on Sun, 17 Apr 2022 21:20:50 +0530) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> <87h76r3j36.fsf@gmail.com> <83o80zycyz.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, rpluim@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: समीर सिंह Sameer Singh > Date: Sun, 17 Apr 2022 21:20:50 +0530 > Cc: Robert Pluim , 54914@debbugs.gnu.org > > First, we need to have a "hello" greeting in Brahmi script for the > etc/HELLO file. Can you show such a greeting? > > 𑀦𑀫𑀲𑁆𑀢𑁂 (नमस्ते namastē) (11026 1102B 11032 11046 11022 11042) could work in Sanskrit > > We also need to know how to write "Brahmi" in Brahmi script, but I > think I found the answer for that: "𑀩𑁆𑀭𑀸𑀳𑁆𑀫𑀻", right? If that is > incorrect, please tell how to write this correctly. > > Yes this is correct > > Can you look and tell whether the keyboard layout shown there is > reasonable? If not, can you point me to a better one, or maybe > suggest such a layout yourself? All I need to know is which key on a > standard QWERTY keyboard should produce what Brahmi character(s), and > then I can write the input method myself. > > Here is a modified version of the layout which I use Thanks, I added the missing pieces, please see if I missed anything or made any mistakes. If not, I think we can close this bug. From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 13:52:18 2022 Received: (at 54914) by debbugs.gnu.org; 17 Apr 2022 17:52:18 +0000 Received: from localhost ([127.0.0.1]:37103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng94M-0007K2-6k for submit@debbugs.gnu.org; Sun, 17 Apr 2022 13:52:18 -0400 Received: from mail-qt1-f181.google.com ([209.85.160.181]:42710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng94K-0007Jp-Ci for 54914@debbugs.gnu.org; Sun, 17 Apr 2022 13:52:16 -0400 Received: by mail-qt1-f181.google.com with SMTP id t2so8879607qtw.9 for <54914@debbugs.gnu.org>; Sun, 17 Apr 2022 10:52:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=XgSLaA9X2xBSvcKj7u5dV13bXsMnqcRjihB1IJCkR6g=; b=OCay8ol1SSd9nWZPCY1iQ7bfv9+3tD/fpi4bd67aCtg3c1J9jmMPUKE0gz1/k1DROf mpRG9vu2LtIoHW4FePhgB51TxTHE/k7pMH2bhXEj8HAd3N28yN1F+NKVtuJqVH1XI+w9 bfmmdqQlOP534DlgS7fR7M1OEgKV/mDnU9vc3FSz9mwBQJtbLCG96KbUXMbE+9abaiJr BYeoXMqIRUra3d24xxvbYMi1EvC75JI521gtLJY272uS7e9Nr1Q9ID1ttePt/GxVv6jn +b5gDRswHdsyJe5Nble2N9h3y/sqllxhJKJkKXzWb3TDQgcF27TRpoVerm6lp5JL83oH HrxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=XgSLaA9X2xBSvcKj7u5dV13bXsMnqcRjihB1IJCkR6g=; b=Xkk5UcL+4F+sQgH/DlHBEcfYHiSJ4ZKyOEmDJ8HTd+LuxuUaBIDmpUPQABiv8t6Ys7 Qg2YzYwNwPYii1x1M2Gf6XytxqZzTnsIK/ZiyoPeRCnuXhza1REGPcpbcUGs3FGedlxZ Re7hHvpWdLJ1u80onpafL09hvLX3bFPR1zw0qUmrL91GlG3V1YGhodBhWKQ3Zk6KZcCa 5uG2BlE0hyjJd8IokBAvlj3XiN0+eWlmt/DS0S5CB+7lTNhUYpsJxsjBn/9h+sI2vb7Y VY0EqE/9wElrWJYeVyzQUrqe1yVhk3Vj19sW4ytjkuw8p9pjHV7zjawpleNq0x0ro5wZ xStA== X-Gm-Message-State: AOAM531YOHOthwRta6e5QvIgPSI4IDGGfztO2smrVV2fnmbHPfeaY48A 9bkCyHGTrf5jWo5zO+jxdQ2LXtp9paDGCtFL/AM= X-Google-Smtp-Source: ABdhPJxj4zXmZuFH7uR2thvihtTzetdie86KMYQ/rIp8krCaj4NrZzhycfKLH5WATnoeBSVJvtQk7fr2+viZY71Fr3U= X-Received: by 2002:a05:622a:302:b0:2e0:7aed:d653 with SMTP id q2-20020a05622a030200b002e07aedd653mr5095233qtw.492.1650217930612; Sun, 17 Apr 2022 10:52:10 -0700 (PDT) MIME-Version: 1.0 References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> <87h76r3j36.fsf@gmail.com> <83o80zycyz.fsf@gnu.org> <83ee1vy5hq.fsf@gnu.org> In-Reply-To: <83ee1vy5hq.fsf@gnu.org> From: =?UTF-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Date: Sun, 17 Apr 2022 23:21:59 +0530 Message-ID: Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs To: Eli Zaretskii Content-Type: multipart/alternative; boundary="0000000000008e641305dcdd4d31" X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 54914 Cc: 54914@debbugs.gnu.org, Robert Pluim X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) --0000000000008e641305dcdd4d31 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Looks good to me =F0=9F=91=8D Again, thank you for your hard work. On Sun, Apr 17, 2022 at 11:09 PM Eli Zaretskii wrote: > > From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82= =E0=A4=B9 Sameer Singh > > Date: Sun, 17 Apr 2022 21:20:50 +0530 > > Cc: Robert Pluim , 54914@debbugs.gnu.org > > > > First, we need to have a "hello" greeting in Brahmi script for the > > etc/HELLO file. Can you show such a greeting? > > > > =F0=91=80=A6=F0=91=80=AB=F0=91=80=B2=F0=91=81=86=F0=91=80=A2=F0=91=81= =82 (=E0=A4=A8=E0=A4=AE=E0=A4=B8=E0=A5=8D=E0=A4=A4=E0=A5=87 namast=C4=93) (= 11026 1102B 11032 11046 11022 11042) > could work in Sanskrit > > > > We also need to know how to write "Brahmi" in Brahmi script, but I > > think I found the answer for that: "=F0=91=80=A9=F0=91=81=86=F0=91=80= =AD=F0=91=80=B8=F0=91=80=B3=F0=91=81=86=F0=91=80=AB=F0=91=80=BB", right? I= f that > is > > incorrect, please tell how to write this correctly. > > > > Yes this is correct > > > > Can you look and tell whether the keyboard layout shown there is > > reasonable? If not, can you point me to a better one, or maybe > > suggest such a layout yourself? All I need to know is which key on a > > standard QWERTY keyboard should produce what Brahmi character(s), and > > then I can write the input method myself. > > > > Here is a modified version of the layout which I use > > Thanks, I added the missing pieces, please see if I missed anything or > made any mistakes. If not, I think we can close this bug. > --0000000000008e641305dcdd4d31 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Looks good to me =F0=9F=91=8D

Again, thank you for your hard work.


On Sun, Apr 17, 2022 at= 11:09 PM Eli Zaretskii <eliz@gnu.org> wrote:
>= ; From: =E0=A4=B8=E0=A4=AE=E0=A5=80=E0=A4=B0 =E0=A4=B8=E0=A4=BF=E0=A4=82=E0= =A4=B9 Sameer Singh <lumarzeli30@gmail.com>
> Date: Sun, 17 Apr 2022 21:20:50 +0530
> Cc: Robert Pluim <rpluim@gmail.com>, 54914@debbugs.gnu.org
>
>=C2=A0 First, we need to have a "hello" greeting in Brahmi sc= ript for the
>=C2=A0 etc/HELLO file.=C2=A0 Can you show such a greeting?
>
> =F0=91=80=A6=F0=91=80=AB=F0=91=80=B2=F0=91=81=86=F0=91=80=A2=F0=91=81= =82 (=E0=A4=A8=E0=A4=AE=E0=A4=B8=E0=A5=8D=E0=A4=A4=E0=A5=87 namast=C4=93) (= 11026 1102B 11032 11046 11022 11042) could work in Sanskrit
>
>=C2=A0 We also need to know how to write "Brahmi" in Brahmi s= cript, but I
>=C2=A0 think I found the answer for that: "=F0=91=80=A9=F0=91=81= =86=F0=91=80=AD=F0=91=80=B8=F0=91=80=B3=F0=91=81=86=F0=91=80=AB=F0=91=80=BB= ", right?=C2=A0 If that is
>=C2=A0 incorrect, please tell how to write this correctly.
>
> Yes this is correct
>
>=C2=A0 Can you look and tell whether the keyboard layout shown there is=
>=C2=A0 reasonable?=C2=A0 If not, can you point me to a better one, or m= aybe
>=C2=A0 suggest such a layout yourself?=C2=A0 All I need to know is whic= h key on a
>=C2=A0 standard QWERTY keyboard should produce what Brahmi character(s)= , and
>=C2=A0 then I can write the input method myself.
>
> Here is a modified version of the layout which I use

Thanks, I added the missing pieces, please see if I missed anything or
made any mistakes.=C2=A0 If not, I think we can close this bug.
--0000000000008e641305dcdd4d31-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 17 14:32:46 2022 Received: (at 54914-done) by debbugs.gnu.org; 17 Apr 2022 18:32:47 +0000 Received: from localhost ([127.0.0.1]:37165 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng9hW-0004JF-P2 for submit@debbugs.gnu.org; Sun, 17 Apr 2022 14:32:46 -0400 Received: from eggs.gnu.org ([209.51.188.92]:36720) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ng9hU-0004J1-HT for 54914-done@debbugs.gnu.org; Sun, 17 Apr 2022 14:32:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55276) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9hP-00029t-8U; Sun, 17 Apr 2022 14:32:39 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=F2oxw22T+0wRxA8EfLl3PKX51vuuFiu6BPtt0YTtfbA=; b=hxDOEQNKyZ39ypEa3ViF 72N6rVTFRBMe2qGCnLNA0lcxqbsVtSGpbx6pbYIBO4psxF4znrnuiyyS7iBevDzPdnFz4yfnU8OXZ /ubSz9klxX4sGYyoAWXoyLVLa4nflLEvbwttW0lfhs+kD+7RXuOAKp6DrujxU13ioS1TeSfR/8MbC oWelj7o0pO8BnvkIQ1Q4CfCqnAR7u0vikSKVL2B2hmySJg2aRq1l6kznqnRBnKe74LN/ZslzAXp97 emzdrpbll+mcd/aCzf9VuckvrygiFaaC25nIS+azyVJfmi83uanJA5+UnS2syXDpd9ny1cW3lHK8/ x9KPIEl0mK8+Ow==; Received: from [87.69.77.57] (port=3604 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ng9hO-0007U1-Lm; Sun, 17 Apr 2022 14:32:38 -0400 Date: Sun, 17 Apr 2022 21:32:25 +0300 Message-Id: <837d7ny30m.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= In-Reply-To: (message from =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuQ==?= Sameer Singh on Sun, 17 Apr 2022 23:21:59 +0530) Subject: Re: bug#54914: 28.1.50; Unable to form Brahmi conjuncts in Emacs References: <837d7t3r8n.fsf@gnu.org> <87tuaw53d6.fsf@gmail.com> <835ync4z68.fsf@gnu.org> <87pmlk3ues.fsf@gmail.com> <83bkx11g6o.fsf@gnu.org> <8335id1afk.fsf@gnu.org> <83tuatyosv.fsf@gnu.org> <87h76r3j36.fsf@gmail.com> <83o80zycyz.fsf@gnu.org> <83ee1vy5hq.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 54914-done Cc: 54914-done@debbugs.gnu.org, rpluim@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: समीर सिंह Sameer Singh > Date: Sun, 17 Apr 2022 23:21:59 +0530 > Cc: Robert Pluim , 54914@debbugs.gnu.org > > Looks good to me 👍 > > Again, thank you for your hard work. Great, I'm therefore closing this bug. Thanks to all who helped to pull this through. From unknown Fri Jun 20 07:18:18 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 16 May 2022 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator