Stephen J. Turnbull writes:
 Uwe Brauer writes:
  > Hello
  > 
  > I just realized that Xemacs 21.5.29 Mule does not support
  > cp1255 (Hebrew windows) in file coding, while GNU emacs does
  > :(....
  > 
  > Are there plans to include this feature any time soon?
 
 Not as far as I know, but it should be easy to do.  Refer to the code
 for ISO 8859/8 in lisp/mule/hebrew.el and the table in
 etc/unicode/unicode-consortium/CP1255.TXT. 
Try this patch (completely untested, and the last hunk at old line 155
may fail due to the presence of ISO 2022 control sequences; if so just
delete everything from the "@@ -155,12 +290,16 @@" line to the end and
the patch should apply -- this hunk isn't needed it just improves the
portability of the documentation I hope).
If you have a short, publishable, no copyright problems Hebrew
document I can use for testing that would be appreciated.  A pretty
wide coverage of Hebrew characters would be good, up to about 200
characters max.
# HG changeset patch
# Parent 928cc1789177474ebc5d448b2823533b53df49fa
Add CP1255 for Uwe Brauer.
diff -r 928cc1789177 -r e2693c5ea0d2 lisp/mule/hebrew.el
--- a/lisp/mule/hebrew.el	Tue Nov 08 17:10:28 2011 +0900
+++ b/lisp/mule/hebrew.el	Thu Nov 24 15:09:21 2011 +0900
@@ -144,6 +144,141 @@
    mnemonic "MIME/Hbrw"))
 
 (make-coding-system
+ 'cp1255 'fixed-width "Microsoft Code Page 1255 (Hebrew)"
+ '(unicode-map
+   (
+    (#x80 ?\u20AC) ;; EURO SIGN
+    ;; (#x81	      ) ;; UNDEFINED
+    (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+    (#x83 ?\u0192) ;; LATIN SMALL LETTER F WITH HOOK
+    (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+    (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+    (#x86 ?\u2020) ;; DAGGER
+    (#x87 ?\u2021) ;; DOUBLE DAGGER
+    (#x88 ?\u02C6) ;; MODIFIER LETTER CIRCUMFLEX ACCENT
+    (#x89 ?\u2030) ;; PER MILLE SIGN
+    ;; (#x8A	      ) ;; UNDEFINED
+    (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    ;; (#x8C	      ) ;; UNDEFINED
+    ;; (#x8D	      ) ;; UNDEFINED
+    ;; (#x8E	      ) ;; UNDEFINED
+    ;; (#x8F	      ) ;; UNDEFINED
+    ;; (#x90	      ) ;; UNDEFINED
+    (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+    (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+    (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+    (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+    (#x95 ?\u2022) ;; BULLET
+    (#x96 ?\u2013) ;; EN DASH
+    (#x97 ?\u2014) ;; EM DASH
+    (#x98 ?\u02DC) ;; SMALL TILDE
+    (#x99 ?\u2122) ;; TRADE MARK SIGN
+    (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    ;; (#x9C	      ) ;; UNDEFINED
+    ;; (#x9D	      ) ;; UNDEFINED
+    ;; (#x9E	      ) ;; UNDEFINED
+    ;; (#x9F	      ) ;; UNDEFINED
+    (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+    (#xA1 ?\u00A1) ;; INVERTED EXCLAMATION MARK
+    (#xA2 ?\u00A2) ;; CENT SIGN
+    (#xA3 ?\u00A3) ;; POUND SIGN
+    (#xA4 ?\u20AA) ;; NEW SHEQEL SIGN
+    (#xA5 ?\u00A5) ;; YEN SIGN
+    (#xA6 ?\u00A6) ;; BROKEN BAR
+    (#xA7 ?\u00A7) ;; SECTION SIGN
+    (#xA8 ?\u00A8) ;; DIAERESIS
+    (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+    (#xAA ?\u00D7) ;; MULTIPLICATION SIGN
+    (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xAC ?\u00AC) ;; NOT SIGN
+    (#xAD ?\u00AD) ;; SOFT HYPHEN
+    (#xAE ?\u00AE) ;; REGISTERED SIGN
+    (#xAF ?\u00AF) ;; MACRON
+    (#xB0 ?\u00B0) ;; DEGREE SIGN
+    (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+    (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+    (#xB3 ?\u00B3) ;; SUPERSCRIPT THREE
+    (#xB4 ?\u00B4) ;; ACUTE ACCENT
+    (#xB5 ?\u00B5) ;; MICRO SIGN
+    (#xB6 ?\u00B6) ;; PILCROW SIGN
+    (#xB7 ?\u00B7) ;; MIDDLE DOT
+    (#xB8 ?\u00B8) ;; CEDILLA
+    (#xB9 ?\u00B9) ;; SUPERSCRIPT ONE
+    (#xBA ?\u00F7) ;; DIVISION SIGN
+    (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xBC ?\u00BC) ;; VULGAR FRACTION ONE QUARTER
+    (#xBD ?\u00BD) ;; VULGAR FRACTION ONE HALF
+    (#xBE ?\u00BE) ;; VULGAR FRACTION THREE QUARTERS
+    (#xBF ?\u00BF) ;; INVERTED QUESTION MARK
+    (#xC0 ?\u05B0) ;; HEBREW POINT SHEVA
+    (#xC1 ?\u05B1) ;; HEBREW POINT HATAF SEGOL
+    (#xC2 ?\u05B2) ;; HEBREW POINT HATAF PATAH
+    (#xC3 ?\u05B3) ;; HEBREW POINT HATAF QAMATS
+    (#xC4 ?\u05B4) ;; HEBREW POINT HIRIQ
+    (#xC5 ?\u05B5) ;; HEBREW POINT TSERE
+    (#xC6 ?\u05B6) ;; HEBREW POINT SEGOL
+    (#xC7 ?\u05B7) ;; HEBREW POINT PATAH
+    (#xC8 ?\u05B8) ;; HEBREW POINT QAMATS
+    (#xC9 ?\u05B9) ;; HEBREW POINT HOLAM
+    ;; (#xCA	      ) ;; UNDEFINED
+    (#xCB ?\u05BB) ;; HEBREW POINT QUBUTS
+    (#xCC ?\u05BC) ;; HEBREW POINT DAGESH OR MAPIQ
+    (#xCD ?\u05BD) ;; HEBREW POINT METEG
+    (#xCE ?\u05BE) ;; HEBREW PUNCTUATION MAQAF
+    (#xCF ?\u05BF) ;; HEBREW POINT RAFE
+    (#xD0 ?\u05C0) ;; HEBREW PUNCTUATION PASEQ
+    (#xD1 ?\u05C1) ;; HEBREW POINT SHIN DOT
+    (#xD2 ?\u05C2) ;; HEBREW POINT SIN DOT
+    (#xD3 ?\u05C3) ;; HEBREW PUNCTUATION SOF PASUQ
+    (#xD4 ?\u05F0) ;; HEBREW LIGATURE YIDDISH DOUBLE VAV
+    (#xD5 ?\u05F1) ;; HEBREW LIGATURE YIDDISH VAV YOD
+    (#xD6 ?\u05F2) ;; HEBREW LIGATURE YIDDISH DOUBLE YOD
+    (#xD7 ?\u05F3) ;; HEBREW PUNCTUATION GERESH
+    (#xD8 ?\u05F4) ;; HEBREW PUNCTUATION GERSHAYIM
+    ;; (#xD9	      ) ;; UNDEFINED
+    ;; (#xDA	      ) ;; UNDEFINED
+    ;; (#xDB	      ) ;; UNDEFINED
+    ;; (#xDC	      ) ;; UNDEFINED
+    ;; (#xDD	      ) ;; UNDEFINED
+    ;; (#xDE	      ) ;; UNDEFINED
+    ;; (#xDF	      ) ;; UNDEFINED
+    (#xE0 ?\u05D0) ;; HEBREW LETTER ALEF
+    (#xE1 ?\u05D1) ;; HEBREW LETTER BET
+    (#xE2 ?\u05D2) ;; HEBREW LETTER GIMEL
+    (#xE3 ?\u05D3) ;; HEBREW LETTER DALET
+    (#xE4 ?\u05D4) ;; HEBREW LETTER HE
+    (#xE5 ?\u05D5) ;; HEBREW LETTER VAV
+    (#xE6 ?\u05D6) ;; HEBREW LETTER ZAYIN
+    (#xE7 ?\u05D7) ;; HEBREW LETTER HET
+    (#xE8 ?\u05D8) ;; HEBREW LETTER TET
+    (#xE9 ?\u05D9) ;; HEBREW LETTER YOD
+    (#xEA ?\u05DA) ;; HEBREW LETTER FINAL KAF
+    (#xEB ?\u05DB) ;; HEBREW LETTER KAF
+    (#xEC ?\u05DC) ;; HEBREW LETTER LAMED
+    (#xED ?\u05DD) ;; HEBREW LETTER FINAL MEM
+    (#xEE ?\u05DE) ;; HEBREW LETTER MEM
+    (#xEF ?\u05DF) ;; HEBREW LETTER FINAL NUN
+    (#xF0 ?\u05E0) ;; HEBREW LETTER NUN
+    (#xF1 ?\u05E1) ;; HEBREW LETTER SAMEKH
+    (#xF2 ?\u05E2) ;; HEBREW LETTER AYIN
+    (#xF3 ?\u05E3) ;; HEBREW LETTER FINAL PE
+    (#xF4 ?\u05E4) ;; HEBREW LETTER PE
+    (#xF5 ?\u05E5) ;; HEBREW LETTER FINAL TSADI
+    (#xF6 ?\u05E6) ;; HEBREW LETTER TSADI
+    (#xF7 ?\u05E7) ;; HEBREW LETTER QOF
+    (#xF8 ?\u05E8) ;; HEBREW LETTER RESH
+    (#xF9 ?\u05E9) ;; HEBREW LETTER SHIN
+    (#xFA ?\u05EA) ;; HEBREW LETTER TAV
+    ;; (#xFF	      ) ;; UNDEFINED
+    ;; (#xFF	      ) ;; UNDEFINED
+    (#xFD ?\u200E) ;; LEFT-TO-RIGHT MARK
+    (#xFE ?\u200F) ;; RIGHT-TO-LEFT MARK
+    ;; (#xFF	      ) ;; UNDEFINED
+    )
+   mnemonic "CP1255"
+   ))
+
+(make-coding-system
  'ctext-hebrew 'iso2022
  "ISO-8859-8-E (Hebrew, explicit directional coding)"
  '(charset-g0 ascii
@@ -155,12 +290,16 @@
    ))
 
 (set-language-info-alist
- "Hebrew" '((charset hebrew-iso8859-8)
+ "Hebrew" `((charset hebrew-iso8859-8)
 	    (coding-system iso-8859-8)
 	    (coding-priority iso-8859-8)
             ;; Not available in packages. 
 	    ;; (input-method . "hebrew")
-	    (sample-text . "Hebrew	שלום")
+	    (sample-text . ,(format "Hebrew	%c%c%c%c"
+				    (make-char 'hebrew-iso8859-8 121)
+				    (make-char 'hebrew-iso8859-8 108)
+				    (make-char 'hebrew-iso8859-8 101)
+				    (make-char 'hebrew-iso8859-8 109)))
 	    (documentation . "Right-to-left writing is not yet supported.")
 	    ))
 
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://lists.xemacs.org/mailman/listinfo/xemacs-beta