Encode pre-1.98 update from Dan Kogai, sent from
Jarkko Hietaniemi [Fri, 1 Aug 2003 13:45:10 +0000 (13:45 +0000)]
the ashes of his smoldering motherboard.

p4raw-id: //depot/perl@20432

ext/Encode/AUTHORS
ext/Encode/Changes
ext/Encode/META.yml
ext/Encode/lib/Encode/Alias.pm
ext/Encode/t/Aliases.t
ext/Encode/t/perlio.t
ext/Encode/ucm/macArabic.ucm
ext/Encode/ucm/macFarsi.ucm
ext/Encode/ucm/macHebrew.ucm

index b565a0f..9cf8dd4 100644 (file)
@@ -34,6 +34,7 @@ Michael G Schwern               <schwern@pobox.com>
 Nicholas Clark                 <nick@ccl4.org>
 Nick Ing-Simmons               <nick@ing-simmons.net>
 Paul Marquess                   <paul_marquess@yahoo.co.uk>
+Peter Prymmer                  <pvhp@best.com>
 Philip Newton                  <pne@cpan.org>
 Robin Barker                    <rmb1@cise.npl.co.uk>
 SADAHIRO Tomoyuki              <SADAHIRO@cpan.org>
index 5f8b52c..5c5cf6f 100644 (file)
@@ -3,6 +3,15 @@
 # $Id: Changes,v 1.97 2003/07/08 21:52:14 dankogai Exp $
 #
 $Revision: 1.97 $ $Date: 2003/07/08 21:52:14 $
+! t/enc_eucjp.t t/enc_utf8.t AUTHORS
+  Encode test fixes for VMS by Peter Prymmer
+  Message-ID: <OFBD4A7559.D7CF9517-ON85256D6B.00534853-85256D6B.00538131@factset.com>
+! lib/Encode/Alias.pm t/Aliases.t
+  koi-8 aliases bug detected and patched by sadahiro.
+  Further fix and test suite by dankogai
+  Message-Id: <20030713102228.C76A.BQW10602@nifty.com>
+
+1.97 2003/07/08 21:52:14
 ! encoding.pm lib/Encode/Guess.pm lib/Encode/Alias.pm 
   lib/Encode/JP/JIS7.pm lib/Encode/Encoder.pm Encode.pm
   $DEBUG replaced with DEBUG() so perl optimizes better,
index 1216c72..2e50ff6 100644 (file)
@@ -6,4 +6,4 @@ installdirs:  perl
 requires:
 
 distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.10_05
+generated_by: ExtUtils::MakeMaker version 6.12
index 5eeb125..49ae79e 100644 (file)
@@ -193,8 +193,7 @@ sub init_aliases
   
     # Standardize on the dashed versions.
     # define_alias( qr/\butf8$/i  => '"utf-8"' );
-    define_alias( qr/\bkoi8r$/i => '"koi8-r"' );
-    define_alias( qr/\bkoi8u$/i => '"koi8-u"' );
+    define_alias( qr/\bkoi8[\s-_]*([ru])$/i => '"koi8-$1"' );
 
     unless ($Encode::ON_EBCDIC){
         # for Encode::CN
index c270c0e..64a42a4 100644 (file)
@@ -51,6 +51,8 @@ sub init_a2c{
            'WinArabic'     => 'cp1256',
            'WinBaltic'     => 'cp1257',
            'WinVietnamese' => 'cp1258',
+           'koi8r'         => 'koi8-r',
+           'koi8u'         => 'koi8-u',
            'ja_JP.euc'     => $ON_EBCDIC ? '' : 'euc-jp',
            'x-euc-jp'      => $ON_EBCDIC ? '' : 'euc-jp',
            'zh_CN.euc'     => $ON_EBCDIC ? '' : 'euc-cn',
index 1b1de89..012bbe6 100644 (file)
@@ -122,10 +122,10 @@ for my $src (sort keys %e) {
                dump2file("$pfile.$seq", $dtext);
            }
        }
-       unless ( $DEBUG ) {
-           1 while unlink $sfile;
-           1 while unlink $pfile;
-       }
+     if ( ! $DEBUG ) {
+            1 while unlink ($sfile);
+            1 while unlink ($pfile);
+        }
     }
 }
 
index 5dbb37e..5ac3a2b 100644 (file)
@@ -41,16 +41,38 @@ CHARMAP
 <U001D> \x1D |0 # <control>
 <U001E> \x1E |0 # <control>
 <U001F> \x1F |0 # <control>
-<U0030> \x30 |0 # DIGIT ZERO
-<U0031> \x31 |0 # DIGIT ONE
-<U0032> \x32 |0 # DIGIT TWO
-<U0033> \x33 |0 # DIGIT THREE
-<U0034> \x34 |0 # DIGIT FOUR
-<U0035> \x35 |0 # DIGIT FIVE
-<U0036> \x36 |0 # DIGIT SIX
-<U0037> \x37 |0 # DIGIT SEVEN
-<U0038> \x38 |0 # DIGIT EIGHT
-<U0039> \x39 |0 # DIGIT NINE
+<U0020> \xA0 |0 # SPACE, right-left
+<U0021> \xA1 |0 # EXCLAMATION MARK, right-left
+<U0022> \xA2 |0 # QUOTATION MARK, right-left
+<U0023> \xA3 |0 # NUMBER SIGN, right-left
+<U0024> \xA4 |0 # DOLLAR SIGN, right-left
+<U0025> \x25 |0 # PERCENT SIGN, left-right
+<U0026> \xA6 |0 # AMPERSAND, right-left
+<U0027> \xA7 |0 # APOSTROPHE, right-left
+<U0028> \xA8 |0 # LEFT PARENTHESIS, right-left
+<U0029> \xA9 |0 # RIGHT PARENTHESIS, right-left
+<U002A> \xAA |0 # ASTERISK, right-left
+<U002B> \xAB |0 # PLUS SIGN, right-left
+<U002C> \x2C |0 # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+<U002D> \xAD |0 # HYPHEN-MINUS, right-left
+<U002E> \xAE |0 # FULL STOP, right-left
+<U002F> \xAF |0 # SOLIDUS, right-left
+<U0030> \x30 |0 # DIGIT ZERO; in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
+<U0031> \x31 |0 # DIGIT ONE; in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
+<U0032> \x32 |0 # DIGIT TWO; in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
+<U0033> \x33 |0 # DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
+<U0034> \x34 |0 # DIGIT FOUR; in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
+<U0035> \x35 |0 # DIGIT FIVE; in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
+<U0036> \x36 |0 # DIGIT SIX; in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
+<U0037> \x37 |0 # DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
+<U0038> \x38 |0 # DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
+<U0039> \x39 |0 # DIGIT NINE; in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
+<U003A> \xBA |0 # COLON, right-left
+<U003B> \x3B |0 # SEMICOLON, left-right
+<U003C> \xBC |0 # LESS-THAN SIGN, right-left
+<U003D> \xBD |0 # EQUALS SIGN, right-left
+<U003E> \xBE |0 # GREATER-THAN SIGN, right-left
+<U003F> \x3F |0 # QUESTION MARK, left-right
 <U0040> \x40 |0 # COMMERCIAL AT
 <U0041> \x41 |0 # LATIN CAPITAL LETTER A
 <U0042> \x42 |0 # LATIN CAPITAL LETTER B
@@ -78,6 +100,11 @@ CHARMAP
 <U0058> \x58 |0 # LATIN CAPITAL LETTER X
 <U0059> \x59 |0 # LATIN CAPITAL LETTER Y
 <U005A> \x5A |0 # LATIN CAPITAL LETTER Z
+<U005B> \xDB |0 # LEFT SQUARE BRACKET, right-left
+<U005C> \xDC |0 # REVERSE SOLIDUS, right-left
+<U005D> \xDD |0 # RIGHT SQUARE BRACKET, right-left
+<U005E> \xDE |0 # CIRCUMFLEX ACCENT, right-left
+<U005F> \xDF |0 # LOW LINE, right-left
 <U0060> \x60 |0 # GRAVE ACCENT
 <U0061> \x61 |0 # LATIN SMALL LETTER A
 <U0062> \x62 |0 # LATIN SMALL LETTER B
@@ -105,7 +132,13 @@ CHARMAP
 <U0078> \x78 |0 # LATIN SMALL LETTER X
 <U0079> \x79 |0 # LATIN SMALL LETTER Y
 <U007A> \x7A |0 # LATIN SMALL LETTER Z
+<U007B> \xFB |0 # LEFT CURLY BRACKET, right-left
+<U007C> \xFC |0 # VERTICAL LINE, right-left
+<U007D> \xFD |0 # RIGHT CURLY BRACKET, right-left
 <U007E> \x7E |0 # TILDE
+<U00A0> \x81 |0 # NO-BREAK SPACE, right-left
+<U00AB> \x8C |0 # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+<U00BB> \x98 |0 # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
 <U00C4> \x80 |0 # LATIN CAPITAL LETTER A WITH DIAERESIS
 <U00C7> \x82 |0 # LATIN CAPITAL LETTER C WITH CEDILLA
 <U00C9> \x83 |0 # LATIN CAPITAL LETTER E WITH ACUTE
@@ -128,6 +161,7 @@ CHARMAP
 <U00F3> \x97 |0 # LATIN SMALL LETTER O WITH ACUTE
 <U00F4> \x99 |0 # LATIN SMALL LETTER O WITH CIRCUMFLEX
 <U00F6> \x9A |0 # LATIN SMALL LETTER O WITH DIAERESIS
+<U00F7> \x9B |0 # DIVISION SIGN, right-left
 <U00F9> \x9D |0 # LATIN SMALL LETTER U WITH GRAVE
 <U00FA> \x9C |0 # LATIN SMALL LETTER U WITH ACUTE
 <U00FB> \x9E |0 # LATIN SMALL LETTER U WITH CIRCUMFLEX
@@ -179,6 +213,16 @@ CHARMAP
 <U064F> \xEF |0 # ARABIC DAMMA
 <U0650> \xF0 |0 # ARABIC KASRA
 <U0651> \xF1 |0 # ARABIC SHADDA
+<U0660> \xB0 |0 # ARABIC-INDIC DIGIT ZERO, right-left (need override)
+<U0661> \xB1 |0 # ARABIC-INDIC DIGIT ONE, right-left (need override)
+<U0662> \xB2 |0 # ARABIC-INDIC DIGIT TWO, right-left (need override)
+<U0663> \xB3 |0 # ARABIC-INDIC DIGIT THREE, right-left (need override)
+<U0664> \xB4 |0 # ARABIC-INDIC DIGIT FOUR, right-left (need override)
+<U0665> \xB5 |0 # ARABIC-INDIC DIGIT FIVE, right-left (need override)
+<U0666> \xB6 |0 # ARABIC-INDIC DIGIT SIX, right-left (need override)
+<U0667> \xB7 |0 # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+<U0668> \xB8 |0 # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+<U0669> \xB9 |0 # ARABIC-INDIC DIGIT NINE, right-left (need override)
 <U0652> \xF2 |0 # ARABIC SUKUN
 <U066A> \xA5 |0 # ARABIC PERCENT SIGN
 <U0679> \xF4 |0 # ARABIC LETTER TTEH
@@ -192,4 +236,6 @@ CHARMAP
 <U06BA> \x8B |0 # ARABIC LETTER NOON GHUNNA
 <U06D2> \xFF |0 # ARABIC LETTER YEH BARREE
 <U06D5> \xF6 |0 # ARABIC LETTER AE
+<U2026> \x93 |0 # HORIZONTAL ELLIPSIS, right-left
+<U274A> \xC0 |0 # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
 END CHARMAP
index 889bb91..46da8f4 100644 (file)
@@ -41,16 +41,38 @@ CHARMAP
 <U001D> \x1D |0 # <control>
 <U001E> \x1E |0 # <control>
 <U001F> \x1F |0 # <control>
-<U0030> \x30 |0 # DIGIT ZERO
-<U0031> \x31 |0 # DIGIT ONE
-<U0032> \x32 |0 # DIGIT TWO
-<U0033> \x33 |0 # DIGIT THREE
-<U0034> \x34 |0 # DIGIT FOUR
-<U0035> \x35 |0 # DIGIT FIVE
-<U0036> \x36 |0 # DIGIT SIX
-<U0037> \x37 |0 # DIGIT SEVEN
-<U0038> \x38 |0 # DIGIT EIGHT
-<U0039> \x39 |0 # DIGIT NINE
+<U0020> \xA0 |0 # SPACE, right-left
+<U0021> \xA1 |0 # EXCLAMATION MARK, right-left
+<U0022> \xA2 |0 # QUOTATION MARK, right-left
+<U0023> \xA3 |0 # NUMBER SIGN, right-left
+<U0024> \xA4 |0 # DOLLAR SIGN, right-left
+<U0025> \x25 |0 # PERCENT SIGN, left-right
+<U0026> \xA6 |0 # AMPERSAND, right-left
+<U0027> \xA7 |0 # APOSTROPHE, right-left
+<U0028> \xA8 |0 # LEFT PARENTHESIS, right-left
+<U0029> \xA9 |0 # RIGHT PARENTHESIS, right-left
+<U002A> \xAA |0 # ASTERISK, right-left
+<U002B> \xAB |0 # PLUS SIGN, right-left
+<U002C> \x2C |0 # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
+<U002D> \xAD |0 # HYPHEN-MINUS, right-left
+<U002E> \xAE |0 # FULL STOP, right-left
+<U002F> \xAF |0 # SOLIDUS, right-left
+<U0030> \x30 |0 # DIGIT ZERO; in Arabic-script context, displayed as 0x06F0 EXTENDED ARABIC-INDIC DIGIT ZERO
+<U0031> \x31 |0 # DIGIT ONE; in Arabic-script context, displayed as 0x06F1 EXTENDED ARABIC-INDIC DIGIT ONE
+<U0032> \x32 |0 # DIGIT TWO; in Arabic-script context, displayed as 0x06F2 EXTENDED ARABIC-INDIC DIGIT TWO
+<U0033> \x33 |0 # DIGIT THREE; in Arabic-script context, displayed as 0x06F3 EXTENDED ARABIC-INDIC DIGIT THREE
+<U0034> \x34 |0 # DIGIT FOUR; in Arabic-script context, displayed as 0x06F4 EXTENDED ARABIC-INDIC DIGIT FOUR
+<U0035> \x35 |0 # DIGIT FIVE; in Arabic-script context, displayed as 0x06F5 EXTENDED ARABIC-INDIC DIGIT FIVE
+<U0036> \x36 |0 # DIGIT SIX; in Arabic-script context, displayed as 0x06F6 EXTENDED ARABIC-INDIC DIGIT SIX
+<U0037> \x37 |0 # DIGIT SEVEN; in Arabic-script context, displayed as 0x06F7 EXTENDED ARABIC-INDIC DIGIT SEVEN
+<U0038> \x38 |0 # DIGIT EIGHT; in Arabic-script context, displayed as 0x06F8 EXTENDED ARABIC-INDIC DIGIT EIGHT
+<U0039> \x39 |0 # DIGIT NINE; in Arabic-script context, displayed as 0x06F9 EXTENDED ARABIC-INDIC DIGIT NINE
+<U003A> \xBA |0 # COLON, right-left
+<U003B> \x3B |0 # SEMICOLON, left-right
+<U003C> \xBC |0 # LESS-THAN SIGN, right-left
+<U003D> \xBD |0 # EQUALS SIGN, right-left
+<U003E> \xBE |0 # GREATER-THAN SIGN, right-left
+<U003F> \x3F |0 # QUESTION MARK, left-right
 <U0040> \x40 |0 # COMMERCIAL AT
 <U0041> \x41 |0 # LATIN CAPITAL LETTER A
 <U0042> \x42 |0 # LATIN CAPITAL LETTER B
@@ -78,6 +100,11 @@ CHARMAP
 <U0058> \x58 |0 # LATIN CAPITAL LETTER X
 <U0059> \x59 |0 # LATIN CAPITAL LETTER Y
 <U005A> \x5A |0 # LATIN CAPITAL LETTER Z
+<U005B> \xDB |0 # LEFT SQUARE BRACKET, right-left
+<U005C> \xDC |0 # REVERSE SOLIDUS, right-left
+<U005D> \xDD |0 # RIGHT SQUARE BRACKET, right-left
+<U005E> \xDE |0 # CIRCUMFLEX ACCENT, right-left
+<U005F> \xDF |0 # LOW LINE, right-left
 <U0060> \x60 |0 # GRAVE ACCENT
 <U0061> \x61 |0 # LATIN SMALL LETTER A
 <U0062> \x62 |0 # LATIN SMALL LETTER B
@@ -105,7 +132,13 @@ CHARMAP
 <U0078> \x78 |0 # LATIN SMALL LETTER X
 <U0079> \x79 |0 # LATIN SMALL LETTER Y
 <U007A> \x7A |0 # LATIN SMALL LETTER Z
+<U007B> \xFB |0 # LEFT CURLY BRACKET, right-left
+<U007C> \xFC |0 # VERTICAL LINE, right-left
+<U007D> \xFD |0 # RIGHT CURLY BRACKET, right-left
 <U007E> \x7E |0 # TILDE
+<U00A0> \x81 |0 # NO-BREAK SPACE, right-left
+<U00AB> \x8C |0 # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
+<U00BB> \x98 |0 # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
 <U00C4> \x80 |0 # LATIN CAPITAL LETTER A WITH DIAERESIS
 <U00C7> \x82 |0 # LATIN CAPITAL LETTER C WITH CEDILLA
 <U00C9> \x83 |0 # LATIN CAPITAL LETTER E WITH ACUTE
@@ -128,6 +161,7 @@ CHARMAP
 <U00F3> \x97 |0 # LATIN SMALL LETTER O WITH ACUTE
 <U00F4> \x99 |0 # LATIN SMALL LETTER O WITH CIRCUMFLEX
 <U00F6> \x9A |0 # LATIN SMALL LETTER O WITH DIAERESIS
+<U00F7> \x9B |0 # DIVISION SIGN, right-left
 <U00F9> \x9D |0 # LATIN SMALL LETTER U WITH GRAVE
 <U00FA> \x9C |0 # LATIN SMALL LETTER U WITH ACUTE
 <U00FB> \x9E |0 # LATIN SMALL LETTER U WITH CIRCUMFLEX
@@ -192,4 +226,16 @@ CHARMAP
 <U06BA> \x8B |0 # ARABIC LETTER NOON GHUNNA
 <U06D2> \xFF |0 # ARABIC LETTER YEH BARREE
 <U06D5> \xF6 |0 # ARABIC LETTER AE
+<U06F0> \xB0 |0 # EXTENDED ARABIC-INDIC DIGIT ZERO, right-left (need override)
+<U06F1> \xB1 |0 # EXTENDED ARABIC-INDIC DIGIT ONE, right-left (need override)
+<U06F2> \xB2 |0 # EXTENDED ARABIC-INDIC DIGIT TWO, right-left (need override)
+<U06F3> \xB3 |0 # EXTENDED ARABIC-INDIC DIGIT THREE, right-left (need override)
+<U06F4> \xB4 |0 # EXTENDED ARABIC-INDIC DIGIT FOUR, right-left (need override)
+<U06F5> \xB5 |0 # EXTENDED ARABIC-INDIC DIGIT FIVE, right-left (need override)
+<U06F6> \xB6 |0 # EXTENDED ARABIC-INDIC DIGIT SIX, right-left (need override)
+<U06F7> \xB7 |0 # EXTENDED ARABIC-INDIC DIGIT SEVEN, right-left (need override)
+<U06F8> \xB8 |0 # EXTENDED ARABIC-INDIC DIGIT EIGHT, right-left (need override)
+<U06F9> \xB9 |0 # EXTENDED ARABIC-INDIC DIGIT NINE, right-left (need override)
+<U2026> \x93 |0 # HORIZONTAL ELLIPSIS, right-left
+<U274A> \xC0 |0 # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
 END CHARMAP
index 99c3003..77e24d8 100644 (file)
@@ -41,7 +41,38 @@ CHARMAP
 <U001D> \x1D |0 # <control>
 <U001E> \x1E |0 # <control>
 <U001F> \x1F |0 # <control>
+<U0020> \xA0 |0 # SPACE, right-left
+<U0021> \xA1 |0 # EXCLAMATION MARK, right-left
+<U0022> \xA2 |0 # QUOTATION MARK, right-left
+<U0023> \xA3 |0 # NUMBER SIGN, right-left
+<U0024> \xA4 |0 # DOLLAR SIGN, right-left
+<U0025> \xA5 |0 # PERCENT SIGN, right-left
 <U0026> \x26 |0 # AMPERSAND
+<U0027> \xA7 |0 # APOSTROPHE, right-left
+<U0028> \xA9 |0 # LEFT PARENTHESIS, right-left
+<U0029> \xA8 |0 # RIGHT PARENTHESIS, right-left
+<U002A> \xAA |0 # ASTERISK, right-left
+<U002B> \xAB |0 # PLUS SIGN, right-left
+<U002C> \xAC |0 # COMMA, right-left
+<U002D> \xAD |0 # HYPHEN-MINUS, right-left
+<U002E> \xAE |0 # FULL STOP, right-left
+<U002F> \xAF |0 # SOLIDUS, right-left
+<U0030> \xB0 |0 # DIGIT ZERO, right-left (need override)
+<U0031> \xB1 |0 # DIGIT ONE, right-left (need override)
+<U0032> \xB2 |0 # DIGIT TWO, right-left (need override)
+<U0033> \xB3 |0 # DIGIT THREE, right-left (need override)
+<U0034> \xB4 |0 # DIGIT FOUR, right-left (need override)
+<U0035> \xB5 |0 # DIGIT FIVE, right-left (need override)
+<U0036> \xB6 |0 # DIGIT SIX, right-left (need override)
+<U0037> \xB7 |0 # DIGIT SEVEN, right-left (need override)
+<U0038> \xB8 |0 # DIGIT EIGHT, right-left (need override)
+<U0039> \xB9 |0 # DIGIT NINE, right-left (need override)
+<U003A> \xBA |0 # COLON, right-left
+<U003B> \xBB |0 # SEMICOLON, right-left
+<U003C> \xBC |0 # LESS-THAN SIGN, right-left
+<U003D> \xBD |0 # EQUALS SIGN, right-left
+<U003E> \xBE |0 # GREATER-THAN SIGN, right-left
+<U003F> \xBF |0 # QUESTION MARK, right-left
 <U0040> \x40 |0 # COMMERCIAL AT
 <U0041> \x41 |0 # LATIN CAPITAL LETTER A
 <U0042> \x42 |0 # LATIN CAPITAL LETTER B
@@ -69,7 +100,9 @@ CHARMAP
 <U0058> \x58 |0 # LATIN CAPITAL LETTER X
 <U0059> \x59 |0 # LATIN CAPITAL LETTER Y
 <U005A> \x5A |0 # LATIN CAPITAL LETTER Z
+<U005B> \xFE |0 # LEFT SQUARE BRACKET, right-left
 <U005C> \x5C |0 # REVERSE SOLIDUS
+<U005D> \xFC |0 # RIGHT SQUARE BRACKET, right-left
 <U005E> \x5E |0 # CIRCUMFLEX ACCENT
 <U005F> \x5F |0 # LOW LINE
 <U0060> \x60 |0 # GRAVE ACCENT
@@ -99,7 +132,11 @@ CHARMAP
 <U0078> \x78 |0 # LATIN SMALL LETTER X
 <U0079> \x79 |0 # LATIN SMALL LETTER Y
 <U007A> \x7A |0 # LATIN SMALL LETTER Z
+<U007B> \xFD |0 # LEFT CURLY BRACKET, right-left
+<U007C> \xFF |0 # VERTICAL LINE, right-left
+<U007D> \xFB |0 # RIGHT CURLY BRACKET, right-left
 <U007E> \x7E |0 # TILDE
+<U00A0> \xCA |0 # NO-BREAK SPACE, right-left
 <U00C4> \x80 |0 # LATIN CAPITAL LETTER A WITH DIAERESIS
 <U00C7> \x82 |0 # LATIN CAPITAL LETTER C WITH CEDILLA
 <U00C9> \x83 |0 # LATIN CAPITAL LETTER E WITH ACUTE
@@ -172,13 +209,21 @@ CHARMAP
 <U05E8> \xF8 |0 # HEBREW LETTER RESH
 <U05E9> \xF9 |0 # HEBREW LETTER SHIN
 <U05EA> \xFA |0 # HEBREW LETTER TAV
+<U05F2><U05B7> \x81 |3 # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+<U2013> \xD0 |0 # EN DASH, right-left
+<U2014> \xD1 |0 # EM DASH, right-left
+<U2018> \xD4 |0 # LEFT SINGLE QUOTATION MARK, right-left
+<U2019> \xD5 |0 # RIGHT SINGLE QUOTATION MARK, right-left
+<U201C> \xD2 |0 # LEFT DOUBLE QUOTATION MARK, right-left
+<U201D> \xD3 |0 # RIGHT DOUBLE QUOTATION MARK, right-left
+<U201E> \xC1 |0 # DOUBLE LOW-9 QUOTATION MARK, right-left
+<U2026> \xC9 |0 # HORIZONTAL ELLIPSIS, right-left
 <U20AA> \xA6 |0 # NEW SHEQEL SIGN
 <UF86A><U05DC><U05B9> \xC0 |3 # Hebrew ligature lamed holam
 <UF89B> \xC2 |0 # Hebrew canoral 1
 <UF89C> \xC3 |0 # Hebrew canoral 2
 <UF89D> \xC4 |0 # Hebrew canoral 3
 <UF89E> \xC5 |0 # Hebrew canoral 4
-<UFB1F> \x81 |0 # HEBREW LIGATURE YIDDISH YOD YOD PATAH
 <UFB2A> \xD6 |0 # HEBREW LETTER SHIN WITH SHIN DOT
 <UFB2B> \xD7 |0 # HEBREW LETTER SHIN WITH SIN DOT
 <UFB35> \xC8 |0 # HEBREW LETTER VAV WITH DAGESH