emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Composing Hebrew diacriticals


From: Yair F
Subject: Re: Composing Hebrew diacriticals
Date: Tue, 18 May 2010 00:08:21 +0300

On Mon, May 17, 2010 at 7:35 AM, Kenichi Handa <address@hidden> wrote:
> In article <address@hidden>, Yair F <address@hidden> writes:

> Are you using the same setting as mine which I wrote as
> below in the previous mail?

>

No. I was using this:
;; For automatic composition.
(defconst hebrew-composable-pattern
 (concat
  "\\("
  "[\u05D6-\u05D9\u05DC-\u05E2\u05E5-\u05E8]" ;; base
  "\u05BC?"                        ;; 0-1 marks of 1st class (dagesh)
  "[\u05B0-\u05B9\u05BB\u05C7]?"   ;; 0-1 marks of 3rd class (niqqud)
  "[\u0591-\u05AF\u05BD]*"         ;; 0-2 (possibly 3) marks of 4th class
  "\\|"
  "[\u05D0-\u05D4\u05DA\u05DB\u05E4\u05E5-\u05EA]"
                                   ;; base (allows rafe)
  "[\u05BC\u05BF]?"                ;; 0-1 marks of 1st class (dagesh/rafe)
  "[\u05B0-\u05B9\u05BB\u05C7]?"   ;; 0-1 marks of 3rd class (niqqud)
  "[\u0591-\u05AF\u05BD]*"         ;; 0-2 (possibly 3) marks of 4th class
  "\\|"
  "\u05D5"                         ;; base (vav)
  "\u05BC?"                        ;; 0-1 marks of 1st class (dagesh)
  "[\u05B0-\u05BB\u05C7]?"         ;; 0-1 marks of extended 3rd class (niqqud)
  "[\u0591-\u05AF\u05BD]*"         ;; 0-2 (possibly 3) marks of 4th class
  "\\|"
  "\u05E9"                         ;; base (shin)
  "\u05BC?"                        ;; 0-1 marks of 1st class (dagesh)
  "[\u05C1\u05C2]?"                ;; 0-1 marks of 2nd class (shin dot)
  "[\u05B0-\u05B9\u05BB\u05C7]?"   ;; 0-1 marks of 3rd class (niqqud)
  "[\u0591-\u05AF\u05BD]*"         ;; 0-2 (possibly 3) marks of 4th class
  "\\|"
  "[\u05F1-\u05F3]"                ;; base (yidish ligatures)
  "[\u05B0-\u05B9\u05BB\u05C7]?"   ;; 0-1 marks of 3rd class (niqqud)
  "[\u0591-\u05AF\u05BD]*"         ;; 0-2 (possibly 3) marks of 4th class
  "\\)")
 "Regexp matching a composable sequence of Hebrew characters.")
(set-char-table-range
composition-function-table '(#x591 . #x5F4)
(list (vector hebrew-composable-pattern 0 'font-shape-gstring)))

With your changes there is some composition. But this word doesn't
compose properly:
עַשֶּׁשֶׁת

First Shin (u+05E9) composes with Dagesh (u+05BC), This shin-dot
(u+05C1) isn't visible, the Segol (u+05B6) Goes under the previous
base letter.

what-cursor-position gives this:
         display: composed to form "שֶּׁ" (see below)

Composed with the following character(s) "ֶּׁ" using this font:
 xft:-unknown-DejaVu Sans-normal-normal-normal-*-23-*-*-*-*-0-iso10646-1
by these glyphs:
 [0 3 0 4786 18 2 16 13 0 nil]
 [0 3 1473 1311 0 15 17 16 -14 nil]
 [0 3 1462 1300 0 5 11 -1 6 nil]
MDEBUG_FLT=3 emacs - --eval ' (message "\u05E9\u05BC\u05C1\u05B6")'
[FLT] (hebr-ff (dejavu sans)
[FLT]   (SOURCE 05E9 05BC 05C1 05B6)
[FLT]   (STAGE 0 "Hhhh" (05E9 05BC 05C1 05B6)
[FLT]     (SUBPART 0
[FLT]      (COND
[FLT]       (REGEX "^Hhh*" "Hhhh" 4
[FLT]        <0
[FLT]        :otf=hebr=ccmp+mark 4>))))
[FLT]   (RESULT (12B2 1152 0 0) (051F 0 0 0) (0514 0 0 0)))



> By the way, do you have a better font than 'dejavu sans' for
> Hebrew?

There are 2 major options: Fonts from culmus package
(http://culmus.sourceforge.net/):
Miriam Mono (blends with couier), David (Serif), Nachlieli (OpenOffice
default) or most of the others.

The other option is using msttcorefonts.

I'll try to approach Dejavu designers as well.

>
>>>> 3. Letter Yod (U+5D9) composed with Hiriq (U+5B4) is composed into
>>>> presentation form (U+FB1D). This should only happen with specific
>>>> control (Either CGJ or ZWJ I'll check).

> Then what is the correct rendering of the sequence "\u05D9\u05B4"?
Hiriq should be rendered below the baseline like under all other letters.


> See the attached image.

I'm sorry but the attachment was lost. Can you please resent it? I



reply via email to

[Prev in Thread] Current Thread [Next in Thread]