From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Richard Wordingham" Newsgroups: gmane.emacs.bugs Subject: Lao Tonemarks Not Composing with Consonants Date: Thu, 22 Nov 2007 01:22:46 -0000 Message-ID: <001101c82ca6$319c76b0$d5101252@JRWXP1> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1195720610 17675 80.91.229.12 (22 Nov 2007 08:36:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 22 Nov 2007 08:36:50 +0000 (UTC) To: Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Nov 22 09:36:57 2007 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Iv7Y1-0008Hd-03 for geb-bug-gnu-emacs@m.gmane.org; Thu, 22 Nov 2007 09:36:33 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Iv7Xm-0000MQ-Q5 for geb-bug-gnu-emacs@m.gmane.org; Thu, 22 Nov 2007 03:36:18 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Iv0mc-0002OG-He for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2007 20:23:10 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Iv0ma-0002Nu-JP for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2007 20:23:10 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Iv0ma-0002Nr-Gi for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2007 20:23:08 -0500 Original-Received: from mtaout03-winn.ispmail.ntl.com ([81.103.221.49]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Iv0mT-0006nG-Rt for bug-gnu-emacs@gnu.org; Wed, 21 Nov 2007 20:23:07 -0500 Original-Received: from aamtaout04-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout03-winn.ispmail.ntl.com with ESMTP id <20071122012301.MAKY26125.mtaout03-winn.ispmail.ntl.com@aamtaout04-winn.ispmail.ntl.com> for ; Thu, 22 Nov 2007 01:23:01 +0000 Original-Received: from JRWXP1 ([82.18.16.213]) by aamtaout04-winn.ispmail.ntl.com with SMTP id <20071122012254.FMRF29112.aamtaout04-winn.ispmail.ntl.com@JRWXP1> for ; Thu, 22 Nov 2007 01:22:54 +0000 X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2900.3138 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 X-detected-kernel: by monty-python.gnu.org: Solaris 10 (beta) X-Mailman-Approved-At: Thu, 22 Nov 2007 03:36:04 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:17039 Archived-At: 'Recent input' below records all post-startup actions in the session exhibiting the bug. This is a window display problem, so the quoted misdisplayed text may display properly when reading this bug report, and may not display at all because the text has been converted to UTF-8 to send this e-mail. The text was entered using the quail Lao input method, and was stored in the MULE Lao character set, not in Unicode. The font used for Lao appears to be: -misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1 from Version 1.2.1 of intlfonts. This was selected by the following start-up (.emacs) script: ;; Windows rendering-related settings (setq w32-use-visible-system-caret t) (setq w32-list-proportional-fonts t) (setq w32-use-w32-font-dialog t) ;; Default ;; General improvements in readability (show-paren-mode) (toggle-truncate-lines 0) ;; Also enable BDF fonts - taken from ;; http://www.gnu.org/software/emacs/windows/faq5.html (setq bdf-directory-list '("c:/intlfonts/Asian" "c:/intlfonts/Chinese" "c:/intlfonts/Chinese.X" "c:/intlfonts/Ethiopic" "c:/intlfonts/European" "c:/intlfonts/Japanese" "c:/intlfonts/Japanese.X" "c:/intlfonts/Korean.X" "c:/intlfonts/Misc/" "c:/intlfonts/Chinese.BIG" "c:/intlfonts/European.BIG" "c:/intlfonts/Japanese.BIG")) (setq w32-bdf-filename-alist (w32-find-bdf-fonts bdf-directory-list)) ;; Create a BDF fontset (create-fontset-from-fontset-spec "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf, japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*, katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*, thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1, lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1, tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1, ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode, tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0") ;; Need to add some fonts to font-encoding-alist since the bdf fonts ;; are type 0 (i.e. high bit 0) not the default type 1 (i.e. high bit1).(setq font-encoding-alist (append '(("MuleTibetan-0" (tibetan . 0)) ("GB2312" (chinese-gb2312 . 0)) ("JISX0208" (japanese-jisx0208 . 0)) ("JISX0212" (japanese-jisx0212 . 0)) ("VISCII" (vietnamese-viscii-lower . 0)) ("KSC5601" (korean-ksc5601 . 0)) ("MuleArabic-0" (arabic-digit . 0)) ("MuleArabic-1" (arabic-1-column . 0)) ("MuleArabic-2" (arabic-2-column . 0))) fon t-encoding-alist))The problem is that Lao tonemarks are not displayed above the base consonantunless a superscript or subscript vowel intervenes. Instead, it isdisplayedon its own in the next 'text cell' The immediate cause of thisis that sequences of consonant and tonemark are not being composed, asindicated by the output in the *scratch* buffer:;; This buffer is for notes you don't want to save, and for Lisp evaluation.;; If you want to create a file, visit that file with C-x C-f,;; then enter the text in that file's own buffer.(open-dribble-file "./dribble")(open-termscript "./termscript")(setq w32-use-w32-font-dialog nil)ຣູ້ວ່າ(defun my-show-string (str)(let (len c u) (setq len (length str))(insert (format "\nLength of \"%s\" is %d"str len))(doti mes (i len) (setq c (elt str i)) (setq u (if (setq u (encode-char c 'ucs)) (format "(= U+%.4X) " u) ""))(insert (format "\n %d: %d (0x%x) %s %sprops=%s" i c c (split-char c) u (text-properties-at i str))))))(defun my-copy () (interactive) (setq my-buffer (buffer-substring (mark) (point))))(my-show-string my-buffer)Length of "ຣູ້ວ່າ" is 6 0: 7107 (0x1bc3) (lao 67) (= U+0EA3) props=(composition (2 3 [7107 71297145]) fontified t) 1: 7129 (0x1bd9) (lao 89) (= U+0EB9) props=(composition (2 3 [7107 71297145]) fontified t) 2: 7145 (0x1be9) (lao 105) (= U+0EC9) props=(composition (2 3 [7107 71297145]) fontified t) 3: 7111 (0x1bc7) (lao 71) (= U+0EA7) props=(fontified t) 4: 7144 (0x1be8) (lao 104) (= U+0EC8) props=(fontified t) 5: 7122 (0x1bd2) (lao 82) (= U+0EB2) props=(fontified t)The problem has been traced to the omission of a line in leim/quail/lao.el.Inserting the line thus (the final inserted line) in the call ofquail-install-map fixed the problem:*** lao.el.orig Tue Jan 16 09:40:00 2007--- lao.el Wed Nov 21 23:29:46 2007****************** 5,10 ****--- 5,12 ---- ;; National Institute of Advanced Industrial Science and Technology(AIST) ;; Registration Number H14PRO021+ ;; Further modified outside GNU by Richard Wordingham 21 November 2007+ ;; Keywords: multilingual, input method, Lao ;; This file is part of GNU Emacs.****************** 207,212 ****--- 209,218 ---- lao-other-key-alist) (svt-state (lao-semivowel-key-alist . v-state) (lao-vo wel-key-alist . t-state)+ ;; Note that tones can stack in some minority languages, but the+ ;; tone stacks probably render better if combination is not+ ;; attempted.+ lao-tone-key-alist lao-voweltone-key-alist) (v-state (lao-vowel-key-alist . t-state)) (t-state lao-tone-key-alist))))The text then displayed in three cells instead of four, as it should be.The compositions are formed sensibly, viz:(my-show-string my-buffer)Length of "ຣູ້ວ່າ" is 6 0: 7107 (0x1bc3) (lao 67) (= U+0EA3) props=(composition (8 3 [7107 71297145]) fontified t) 1: 7129 (0x1bd9) (lao 89) (= U+0EB9) props=(composition (8 3 [7107 71297145]) fontified t) 2: 7145 (0x1be9) (lao 105) (= U+0EC9) props=(composition (8 3 [7107 71297145]) fontif ied t) 3: 7111 (0x1bc7) (lao 71) (= U+0EA7) props=(composition (20 2 [7111 7144])fontified t) 4: 7144 (0x1be8) (lao 104) (= U+0EC8) props=(composition (20 2 [7111 7144])fontified t) 5: 7122 (0x1bd2) (lao 82) (= U+0EB2) props=(fontified t)It is arguable that the new line should actually read '(lao-tone-key-alist .t-state)' to allow tone marks to be stacked - it does depend on the qualityof the fonts and rendering systems.The input Lao text was created by the six character key-stroke sequence < i6 h ; j k >.Yours sincerely,Richard WordinghamIn GNU Emacs 22.1.1 (i386-mingw-nt5.1.2600) of 2007-06-02 on RELEASEWindowing system distributor `Microsoft Corp.', version 5.1.2600configured using `configure --with-gcc (3.4) --cflags -Ic:/gnuwin32/include'Important settings: value of $LC_ALL : nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: ENG locale-coding-system: cp874 default-enable-multibyte-characters: tMajor mode: Lisp InteractionMinor modes in effect: show-paren-mode: t encoded-kbd-mode: t tooltip-mode: t tool-bar-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t unify-8859-on-encoding-mode: t utf-translate-cjk-mode: t auto-compression-mode: t line-number-mode: tRecent input: ( o p e n - d r i b b l e -f i l e SPC " . / d r i b b l e ) : " ) C-x C-e C-x C-f C-g ( o p e n - t e r m s c r i p [ t t SPC " / . / t e r m s c r i p t " ) C-xC-e ( < help-echo> SPC n i l ) C-x C-e C-x C-\ l a o i 6 h ; jk C-x C-e C-x C-e C-\ ( m y - s h o w - st r i n g SPC m y - b u f f e r ) x m y - c o p y C-xC-e xr e p o r t - e m a c s - b u g Recent messages:Loading quail/lao...Loading regexp-opt...doneLoading composite...doneLoading mule-util...doneLoading quail/lao...doneMark setmy-show-stringmy-copynilLoading emacsbug...done