unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Richard Wordingham" <richard.wordingham@ntlworld.com>
To: <bug-gnu-emacs@gnu.org>
Subject: Lao Tonemarks Not Composing with Consonants
Date: Thu, 22 Nov 2007 01:22:46 -0000	[thread overview]
Message-ID: <001101c82ca6$319c76b0$d5101252@JRWXP1> (raw)

'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:
<quote .emacs>
;; 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))</quote>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:<quote *scratch*>;; 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)</quote>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:<quote lao.dif>*** 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))))</quote>The text then displayed in three cells instead of four, as it should be.The compositions are formed sensibly, viz:<quote string dump with changed code>(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)</quote>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:<help-echo> <help-echo> ( o p e n - d r i b b l e -f i l e SPC " . / d r i b b l e ) <backspace> : <backspace>" ) C-x C-e C-x C-f <help-echo> C-g <help-echo> <return>(
  o p e n - t e r m s c r i p [ t <backspace> <backspace>t SPC " / <backspace> . / t e r m s c r i p t " ) C-xC-e <return> ( <help-echo> <help-echo> <help-echo><help-echo> <help-echo> <help-echo> <help-echo> <help-echo><help-echo> <help-echo> <help-echo> <help-echo> <help-echo><tool-bar> <copy> <help-echo> <help-echo> <tool-bar><paste> <help-echo> <help-echo> <backspace> <backspace><backspace> <backspace> <backspace> <backspace> <backspace><backspace> <backspace> <backspace> <backspace> <backspace><backspace> <backspace> <backspace> <backspace> <backspace><backspace> <backspace> <backspace> <backspace> <backspace><backspace> <backspace> <backspace> <backspace> <backspace><backspace> <backspace> <backspace> <backspace> <backspace><backspace> <backspace> <backspace> <backspace> <help-echo><
 help-echo> <help-echo> <help-echo> <help-echo> <tool-bar><paste> SPC n i l ) C-x C-e <help-echo> <help-echo><help-echo> <help-echo> <help-echo> <help-echo> <help-echo><help-echo> <help-echo> <help-echo> <help-echo> <help-echo><help-echo> <help-echo> <help-echo> <help-echo> <help-echo><help-echo> <help-echo> <menu-bar> <options> <mouse-set-font>C-x <return> C-\ l a o <return> <return> i 6 h ; jk <help-echo> <help-echo> <help-echo> <help-echo> <help-echo><help-echo> <help-echo> <return> <help-echo> <help-echo><help-echo> <help-echo> <tool-bar> <paste> <help-echo><help-echo> <down-mouse-1> <mouse-1> C-x C-e <down-mouse-1><mouse-1> C-x C-e C-\ <return> ( m y - s h o w - st r i n g SPC m y - b u f f e r ) <help-echo> <down-mouse-1><mouse-movement> <mouse-movement> <drag-mouse-1> <escape>x m y
  - c o p y <return> <down-mouse-1> <mouse-1> C-xC-e <help-echo> <help-echo> <help-echo> <escape> xr e p o r t - e m a c s - b u g <return>Recent messages:Loading quail/lao...Loading regexp-opt...doneLoading composite...doneLoading mule-util...doneLoading quail/lao...doneMark setmy-show-stringmy-copynilLoading emacsbug...done




                 reply	other threads:[~2007-11-22  1:22 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='001101c82ca6$319c76b0$d5101252@JRWXP1' \
    --to=richard.wordingham@ntlworld.com \
    --cc=bug-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

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