CharacterEncoderImplementations__MAC_Hebrew.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 20:55:17 +0200
changeset 24417 03b083548da2
parent 8148 dbf64e3142d9
child 17711 39faaaf888b4
permissions -rw-r--r--
#REFACTORING by exept class: Smalltalk class changed: #recursiveInstallAutoloadedClassesFrom:rememberIn:maxLevels:noAutoload:packageTop:showSplashInLevels: Transcript showCR:(... bindWith:...) -> Transcript showCR:... with:...

"
 COPYRIGHT (c) 2004 by eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"

"{ Package: 'stx:libbasic' }"

"{ NameSpace: CharacterEncoderImplementations }"

SingleByteEncoder subclass:#MAC_Hebrew
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Collections-Text-Encodings'
!

!MAC_Hebrew class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 2004 by eXept Software AG
              All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
! !

!MAC_Hebrew class methodsFor:'mapping'!

mapFileURL1_relativePathName
    ^ 'VENDORS/APPLE/HEBREW.TXT'
!

mapping
"
# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/HEBREW.TXT

#=======================================================================
#   File name:  HEBREW.TXT
#
#   Contents:   Map (external version) from Mac OS Hebrew
#               character set to Unicode 2.1 through Unicode 3.2.
#
#   Copyright:  (c) 1995-2002 by Apple Computer, Inc., all rights
#               reserved.
#
#   Contact:    charsets@apple.com
#
#   Changes:
#
#      b3,c1 2002-Dec-19    Don't require left-right context for digits
#                                                       0x30-0x39. Change mapping of 0x81 to use
#                           decomposition. Reverse the mappings of 0xA8,
#                           0xA9. Update URLs, notes. Matches internal
#                           utom<b7>.
#       b02  1999-Sep-22    Update contact e-mail address. Matches
#                           internal utom<b1>, ufrm<b1>, and Text
#                           Encoding Converter version 1.5.
#       n03  1998-Feb-05    Show required Unicode character
#                           directionality in a different way. Update
#                           mappings for 0xC0 and 0xDE to use
#                           transcoding hints; matches internal utom<n6>,
#                           ufrm<n20>, and Text Encoding Converter
#                           version 1.3. Rewrite header comments.
#       n01  1995-Nov-15    First version. Matches internal ufrm<n8>.
#
# Standard header:
# ----------------
#
#   Apple, the Apple logo, and Macintosh are trademarks of Apple
#   Computer, Inc., registered in the United States and other countries.
#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
#   throughout this document, 'Macintosh' can be used to refer to
#   Macintosh computers and 'Unicode' can be used to refer to the
#   Unicode standard.
#
#   Apple makes no warranty or representation, either express or
#   implied, with respect to these tables, their quality, accuracy, or
#   fitness for a particular purpose. In no event will Apple be liable
#   for direct, indirect, special, incidental, or consequential damages 
#   resulting from any defect or inaccuracy in this document or the
#   accompanying tables.
#
#   These mapping tables and character lists are subject to change.
#   The latest tables should be available from the following:
#
#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
#
#   For general information about Mac OS encodings and these mapping
#   tables, see the file 'README.TXT'.
#
# Format:
# -------
#
#   Three tab-separated columns;
#   '#' begins a comment which continues to the end of the line.
#     Column #1 is the Mac OS Hebrew code (in hex as 0xNN).
#     Column #2 is the corresponding Unicode or Unicode sequence (in
#       hex as 0xNNNN, 0xNNNN+0xNNNN, etc.). Sequences of up to 5
#       Unicode characters are used here. A single Unicode character
#       may be preceded by a tag indicating required directionality
#       (i.e. <LR>+0xNNNN or <RL>+0xNNNN).
#     Column #3 is a comment containing the Unicode name.
#
#   The entries are in Mac OS Hebrew code order.
#
#   Some of these mappings require the use of corporate characters.
#   See the file 'CORPCHAR.TXT' and notes below.
#
#   Control character mappings are not shown in this table, following
#   the conventions of the standard UTC mapping tables. However, the
#   Mac OS Roman character set uses the standard control characters at
#   0x00-0x1F and 0x7F.
#
# Notes on Mac OS Hebrew:
# -----------------------
#
#   1. General
#
#   The Mac OS Hebrew character set supports the Hebrew and Yiddish
#   languages. It incorporates the Hebrew letter repertoire of
#   ISO 8859-8, and uses the same code points for them, 0xE0-0xFA.
#   It also incorporates the ASCII character set. In addition, the
#   Mac OS Hebrew character set includes the following:
#
#   - Hebrew points (nikud marks) at 0xC6, 0xCB-0xCF and 0xD8-0xDF.
#     These are non-spacing combining marks. Note that the RAFE point
#     at 0xD8 is not displayed correctly in some fonts, and cannot be
#     typed using the keyboard layouts in the current Hebrew localized
#     systems. Also note: The character given in Unicode as QAMATS
#     (U+05B8) actually refers to two different sounds, depending on
#     context. For example, when ALEF is followed by QAMATS, the QAMATS
#     can actually refer to two different sounds depending on the
#     following letters. The Mac OS Hebrew character set separately
#     encodes these two sounds for the same graphic shape, as 'qamats'
#     (0xCB) and 'qamats qatan' (0xDE). The 'qamats' character is more
#     common, so it is mapped to the Unicode QAMATS; 'qamats qatan' can
#     only be used with a limited number of characters, and it is
#     mapped using a corporate-zone variant tag (see below).
#
#   - Various Hebrew ligatures at 0x81, 0xC0, 0xC7, 0xC8, 0xD6, and
#     0xD7. Also note that the Yiddish YOD YOD PATAH ligature at 0x81
#     is missing in some fonts.
#
#   - The NEW SHEQEL SIGN at 0xA6.
#
#       - Latin characters with diacritics at 0x80 and 0x82-0x9F. However,
#     most of these cannot be typed using the keyboard layouts in the
#     Hebrew localized systems.
#
#   - Right-left versions of certain ASCII punctuation, symbols and
#     digits: 0xA0-0xA5, 0xA7-0xBF, 0xFB-0xFF. See below.
#
#   - Miscellaneous additional punctuation at 0xC1, 0xC9, 0xCA, and
#     0xD0-0xD5. There is a variant of the Hebrew encoding in which
#     the LEFT SINGLE QUOTATION MARK at 0xD4 is replaced by FIGURE
#     SPACE. The glyphs for some of the other punctuation characters
#     are missing in some fonts.
#
#   - Four obsolete characters at 0xC2-0xC5 known as canorals (not to
#     be confused with cantillation marks!!). These were used for
#     manual positioning of nikud marks before System 7.1 (at which
#     point nikud positioning became automatic with WorldScript.).
#
#   2. Directional characters and roundtrip fidelity
#
#   The Mac OS Hebrew character set was developed around 1987. At that
#   time the bidirectional line line layout algorithm used in the Mac OS
#   Hebrew system was fairly simple; it used only a few direction
#   classes (instead of the 19 now used in the Unicode bidirectional
#   algorithm). In order to permit users to handle some tricky layou
#   problems, certain punctuation, symbol, and digit characters have
#   duplicate code points, one with a left-right direction attribute and
#   the other with a right-left direction attribute.
#
#   For example, plus sign is encoded at 0x2B with a left-right
#   attribute, and at 0xAB with a right-left attribute. However, there
#   is only one PLUS SIGN character in Unicode. This leads to some
#   interesting problems when mapping between Mac OS Hebrew and Unicode;
#   see below.
#
#   A related problem is that even when a particular character is
#   encoded only once in Mac OS Hebrew, it may have a different
#   direction attribute than the corresponding Unicode character.
#
#   For example, the Mac OS Hebrew character at 0xC9 is HORIZONTAL
#   ELLIPSIS with strong right-left direction. However, the Unicode
#   character HORIZONTAL ELLIPSIS has direction class neutral.
#
#   3. Font variants
#
#   The table in this file gives the Unicode mappings for the standard
#   Mac OS Hebrew encoding. This encoding is supported by many of the
#   Apple fonts (including all of the fonts in the Hebrew Language Kit),
#   and is the encoding supported by the text processing utilities.
#   However, some TrueType fonts provided with the localized Hebrew
#   system implement a slightly different encoding; the difference is
#   only in one code point, 0xD4. For the standard variant, this is:
#     0xD4 -> <RL>+0x2018  LEFT SINGLE QUOTATION MARK, right-left
#
#   The TrueType variant is used by the following TrueType fonts from
#   the localized system: Caesarea, Carmel Book, Gilboa, Ramat Sharon,
#   and Sinai Book. For these, 0xD4 is as follows:
#     0xD4 -> <RL>+0x2007  FIGURE SPACE, right-left
#
# Unicode mapping issues and notes:
# ---------------------------------
#
#   1. Matching the direction of Mac OS Hebrew characters
#
#   When Mac OS Hebrew encodes a character twice but with different
#   direction attributes for the two code points - as in the case of
#   plus sign mentioned above - we need a way to map both Mac OS Hebrew
#   code points to Unicode and back again without loss of information.
#   With the plus sign, for example, mapping one of the Mac OS Hebrew
#   characters to a code in the Unicode corporate use zone is
#   undesirable, since both of the plus sign characters are likely to
#   be used in text that is interchanged.
#
#   The problem is solved with the use of direction override characters
#   and direction-dependent mappings. When mapping from Mac OS Hebrew
#   to Unicode, we use direction overrides as necessary to force the
#   direction of the resulting Unicode characters.
#
#   The required direction is indicated by a direction tag in the
#   mappings. A tag of <LR> means the corresponding Unicode character
#   must have a strong left-right context, and a tag of <RL> indicates
#   a right-left context.
#
#   For example, the mapping of 0x2B is given as <LR>+0x002B; the
#   mapping of 0xAB is given as <RL>+0x002B. If we map an isolated
#   instance of 0x2B to Unicode, it should be mapped as follows (LRO
#   indicates LEFT-RIGHT OVERRIDE, PDF indicates POP DIRECTION
#   FORMATTING):
#
#     0x2B ->  0x202D (LRO) + 0x002B (PLUS SIGN) + 0x202C (PDF)
#
#   When mapping several characters in a row that require direction
#   forcing, the overrides need only be used at the beginning and end.
#   For example:
#
#     0x24 0x20 0x28 0x29 -> 0x202D 0x0024 0x0020 0x0028 0x0029 0x202C
#
#   If neutral characters that require direction forcing are already
#   between strong-direction characters with matching directionality,
#   then direction overrides need not be used. Direction overrides are
#   always needed to map the right-left digits at 0xB0-0xB9.
#
#   When mapping from Unicode to Mac OS Hebrew, the Unicode
#   bidirectional algorithm should be used to determine resolved
#   direction of the Unicode characters. The mapping from Unicode to
#   Mac OS Hebrew can then be disambiguated by the use of the resolved
#   direction:
#
#     Unicode 0x002B -> Mac OS Hebrew 0x2B (if L) or 0xAB (if R)
#
#   However, this also means the direction override characters should
#   be discarded when mapping from Unicode to Mac OS Hebrew (after
#   they have been used to determine resolved direction), since the
#   direction override information is carried by the code point itself.
#
#   Even when direction overrides are not needed for roundtrip
#   fidelity, they are sometimes used when mapping Mac OS Hebrew
#   characters to Unicode in order to achieve similar text layout with
#   the resulting Unicode text. For example, the single Mac OS Hebrew
#   ellipsis character has direction class right-left,and there is no
#   left-right version. However, the Unicode HORIZONTAL ELLIPSIS
#   character has direction class neutral (which means it may end up
#   with a resolved direction of left-right if surrounded by left-right
#   characters). When mapping the Mac OS Hebrew ellipsis to Unicode, it
#   is surrounded with a direction override to help preserve proper
#   text layout. The resolved direction is not needed or used when
#   mapping the Unicode HORIZONTAL ELLIPSIS back to Mac OS Hebrew.
#
#   2. Use of corporate-zone Unicodes
#
#   The goals in the mappings provided here are:
#   - Ensure roundtrip mapping from every character in the Mac OS
#     Hebrew character set to Unicode and back
#   - Use standard Unicode characters as much as possible, to
#     maximize interchangeability of the resulting Unicode text.
#     Whenever possible, avoid having content carried by private-use
#     characters.
#
#   Some of the characters in the Mac OS Hebrew character set do not
#   correspond to distinct, single Unicode characters. To map these
#   and satisfy both goals above, we employ various strategies.
#
#   a) If possible, use private use characters in combination with
#   standard Unicode characters to mark variants of the standard
#   Unicode character.
#
#   Apple has defined a block of 32 corporate characters as 'transcoding
#   hints.' These are used in combination with standard Unicode characters
#   to force them to be treated in a special way for mapping to other
#   encodings; they have no other effect. Sixteen of these transcoding
#   hints are 'grouping hints' - they indicate that the next 2-4 Unicode
#   characters should be treated as a single entity for transcoding. The
#   other sixteen transcoding hints are 'variant tags' - they are like
#   combining characters, and can follow a standard Unicode (or a sequence
#   consisting of a base character and other combining characters) to
#   cause it to be treated in a special way for transcoding. These always
#   terminate a combining-character sequence.
#
#   Two transcoding hints are used in this mapping table: a grouping hint
#   and a variant tag:
#   hint:
#     0xF86A  group next 2 characters, right-left directionality
#     0xF87F  variant tag
#
#   In Mac OS Hebrew, 0xC0 is a ligature for lamed holam. This can also
#   be represented in Mac OS Hebrew as 0xEC+0xDD, using separate
#   characters for lamed and holam. The latter sequence is mapped to
#   Unicode as 0x05DC+0x05B9, i.e. as the sequence HEBREW LETTER LAMED +
#   HEBREW POINT HOLAM. We want to map the ligature 0xC0 using the same
#   standard Unicode characters, but for round-trip fidelity we need to
#   distinguish it from the mapping of the sequence 0xEC+0xDD. Thus for
#   0xC0 we use a grouping hint, and map as follows:
#   
#     0xC0 -> 0xF86A+0x05DC+0x05B9
#
#   The variant tag is used for 'qamats qatan' to mark it as an alternate
#   for HEBREW POINT QAMATS, as follows:
#
#     0xDE -> 0x05B8+0xF87F
#
#   b) Otherwise, use private use characters by themselves to map Mac OS
#   Hebrew characters which  have no relationship to any standard Unicode
#   character.
#
#   The following additional corporate zone Unicode characters are used
#   for this purpose here (to map the obsolete 'canorals', see above):
#
#     0xF89B  Hebrew canoral 1
#     0xF89C  Hebrew canoral 2
#     0xF89D  Hebrew canoral 3
#     0xF89E  Hebrew canoral 4
#
# Details of mapping changes in each version:
# -------------------------------------------
#
#   Changes from version b02 to version b03/c01:
#
#   - Stop specifying left-right context for digits 0x30-0x39, since the
#     corresponding Unicodes 0x0030-0x0039 already have left-right
#     directionality.
#
#   - Change mapping of 0x81 from 0xFB1F HEBREW LIGATURE YIDDISH YOD YOD
#     PATAH to its canonical decomposition 0x05F2+0x05B7 to improve
#     cross-platform compatibility (Windows doesn't handle 0xFB1F)
#
#   - Interchange the mappings of 0xA8 and 0xA9 to obtain the correct
#     open/close behavior; they work differently than in Mac Arabic.
#     The old mapping was
#         0xA8 <RL>+0x0028 # LEFT PARENTHESIS, right-left
#         0xA9 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
#     and the new mapping is
#         0xA8 <RL>+0x0029 # RIGHT PARENTHESIS, right-left
#         0xA9 <RL>+0x0028 # LEFT PARENTHESIS, right-left
#
#   Changes from version n01 to version n03:
#
#   - Change mapping for 0xC0 from single corporate character to
#     grouping hint plus standard Unicodes
#
#   - Change mapping for 0xDE from single corporate character to
#     standard Unicode plus variant tag
#
##################

0x20    <LR>+0x0020     # SPACE, left-right
0x21    <LR>+0x0021     # EXCLAMATION MARK, left-right
0x22    <LR>+0x0022     # QUOTATION MARK, left-right
0x23    <LR>+0x0023     # NUMBER SIGN, left-right
0x24    <LR>+0x0024     # DOLLAR SIGN, left-right
0x25    <LR>+0x0025     # PERCENT SIGN, left-right
0x26    0x0026  # AMPERSAND
0x27    <LR>+0x0027     # APOSTROPHE, left-right
0x28    <LR>+0x0028     # LEFT PARENTHESIS, left-right
0x29    <LR>+0x0029     # RIGHT PARENTHESIS, left-right
0x2A    <LR>+0x002A     # ASTERISK, left-right
0x2B    <LR>+0x002B     # PLUS SIGN, left-right
0x2C    <LR>+0x002C     # COMMA, left-right
0x2D    <LR>+0x002D     # HYPHEN-MINUS, left-right
0x2E    <LR>+0x002E     # FULL STOP, left-right
0x2F    <LR>+0x002F     # SOLIDUS, left-right
0x30    0x0030  # DIGIT ZERO
0x31    0x0031  # DIGIT ONE
0x32    0x0032  # DIGIT TWO
0x33    0x0033  # DIGIT THREE
0x34    0x0034  # DIGIT FOUR
0x35    0x0035  # DIGIT FIVE
0x36    0x0036  # DIGIT SIX
0x37    0x0037  # DIGIT SEVEN
0x38    0x0038  # DIGIT EIGHT
0x39    0x0039  # DIGIT NINE
0x3A    <LR>+0x003A     # COLON, left-right
0x3B    <LR>+0x003B     # SEMICOLON, left-right
0x3C    <LR>+0x003C     # LESS-THAN SIGN, left-right
0x3D    <LR>+0x003D     # EQUALS SIGN, left-right
0x3E    <LR>+0x003E     # GREATER-THAN SIGN, left-right
0x3F    <LR>+0x003F     # QUESTION MARK, left-right
0x40    0x0040  # COMMERCIAL AT
0x41    0x0041  # LATIN CAPITAL LETTER A
0x42    0x0042  # LATIN CAPITAL LETTER B
0x43    0x0043  # LATIN CAPITAL LETTER C
0x44    0x0044  # LATIN CAPITAL LETTER D
0x45    0x0045  # LATIN CAPITAL LETTER E
0x46    0x0046  # LATIN CAPITAL LETTER F
0x47    0x0047  # LATIN CAPITAL LETTER G
0x48    0x0048  # LATIN CAPITAL LETTER H
0x49    0x0049  # LATIN CAPITAL LETTER I
0x4A    0x004A  # LATIN CAPITAL LETTER J
0x4B    0x004B  # LATIN CAPITAL LETTER K
0x4C    0x004C  # LATIN CAPITAL LETTER L
0x4D    0x004D  # LATIN CAPITAL LETTER M
0x4E    0x004E  # LATIN CAPITAL LETTER N
0x4F    0x004F  # LATIN CAPITAL LETTER O
0x50    0x0050  # LATIN CAPITAL LETTER P
0x51    0x0051  # LATIN CAPITAL LETTER Q
0x52    0x0052  # LATIN CAPITAL LETTER R
0x53    0x0053  # LATIN CAPITAL LETTER S
0x54    0x0054  # LATIN CAPITAL LETTER T
0x55    0x0055  # LATIN CAPITAL LETTER U
0x56    0x0056  # LATIN CAPITAL LETTER V
0x57    0x0057  # LATIN CAPITAL LETTER W
0x58    0x0058  # LATIN CAPITAL LETTER X
0x59    0x0059  # LATIN CAPITAL LETTER Y
0x5A    0x005A  # LATIN CAPITAL LETTER Z
0x5B    <LR>+0x005B     # LEFT SQUARE BRACKET, left-right
0x5C    0x005C  # REVERSE SOLIDUS
0x5D    <LR>+0x005D     # RIGHT SQUARE BRACKET, left-right
0x5E    0x005E  # CIRCUMFLEX ACCENT
0x5F    0x005F  # LOW LINE
0x60    0x0060  # GRAVE ACCENT
0x61    0x0061  # LATIN SMALL LETTER A
0x62    0x0062  # LATIN SMALL LETTER B
0x63    0x0063  # LATIN SMALL LETTER C
0x64    0x0064  # LATIN SMALL LETTER D
0x65    0x0065  # LATIN SMALL LETTER E
0x66    0x0066  # LATIN SMALL LETTER F
0x67    0x0067  # LATIN SMALL LETTER G
0x68    0x0068  # LATIN SMALL LETTER H
0x69    0x0069  # LATIN SMALL LETTER I
0x6A    0x006A  # LATIN SMALL LETTER J
0x6B    0x006B  # LATIN SMALL LETTER K
0x6C    0x006C  # LATIN SMALL LETTER L
0x6D    0x006D  # LATIN SMALL LETTER M
0x6E    0x006E  # LATIN SMALL LETTER N
0x6F    0x006F  # LATIN SMALL LETTER O
0x70    0x0070  # LATIN SMALL LETTER P
0x71    0x0071  # LATIN SMALL LETTER Q
0x72    0x0072  # LATIN SMALL LETTER R
0x73    0x0073  # LATIN SMALL LETTER S
0x74    0x0074  # LATIN SMALL LETTER T
0x75    0x0075  # LATIN SMALL LETTER U
0x76    0x0076  # LATIN SMALL LETTER V
0x77    0x0077  # LATIN SMALL LETTER W
0x78    0x0078  # LATIN SMALL LETTER X
0x79    0x0079  # LATIN SMALL LETTER Y
0x7A    0x007A  # LATIN SMALL LETTER Z
0x7B    <LR>+0x007B     # LEFT CURLY BRACKET, left-right
0x7C    <LR>+0x007C     # VERTICAL LINE, left-right
0x7D    <LR>+0x007D     # RIGHT CURLY BRACKET, left-right
0x7E    0x007E  # TILDE
#
0x80    0x00C4  # LATIN CAPITAL LETTER A WITH DIAERESIS
0x81    0x05F2+0x05B7   # HEBREW LIGATURE YIDDISH YOD YOD PATAH
0x82    0x00C7  # LATIN CAPITAL LETTER C WITH CEDILLA
0x83    0x00C9  # LATIN CAPITAL LETTER E WITH ACUTE
0x84    0x00D1  # LATIN CAPITAL LETTER N WITH TILDE
0x85    0x00D6  # LATIN CAPITAL LETTER O WITH DIAERESIS
0x86    0x00DC  # LATIN CAPITAL LETTER U WITH DIAERESIS
0x87    0x00E1  # LATIN SMALL LETTER A WITH ACUTE
0x88    0x00E0  # LATIN SMALL LETTER A WITH GRAVE
0x89    0x00E2  # LATIN SMALL LETTER A WITH CIRCUMFLEX
0x8A    0x00E4  # LATIN SMALL LETTER A WITH DIAERESIS
0x8B    0x00E3  # LATIN SMALL LETTER A WITH TILDE
0x8C    0x00E5  # LATIN SMALL LETTER A WITH RING ABOVE
0x8D    0x00E7  # LATIN SMALL LETTER C WITH CEDILLA
0x8E    0x00E9  # LATIN SMALL LETTER E WITH ACUTE
0x8F    0x00E8  # LATIN SMALL LETTER E WITH GRAVE
0x90    0x00EA  # LATIN SMALL LETTER E WITH CIRCUMFLEX
0x91    0x00EB  # LATIN SMALL LETTER E WITH DIAERESIS
0x92    0x00ED  # LATIN SMALL LETTER I WITH ACUTE
0x93    0x00EC  # LATIN SMALL LETTER I WITH GRAVE
0x94    0x00EE  # LATIN SMALL LETTER I WITH CIRCUMFLEX
0x95    0x00EF  # LATIN SMALL LETTER I WITH DIAERESIS
0x96    0x00F1  # LATIN SMALL LETTER N WITH TILDE
0x97    0x00F3  # LATIN SMALL LETTER O WITH ACUTE
0x98    0x00F2  # LATIN SMALL LETTER O WITH GRAVE
0x99    0x00F4  # LATIN SMALL LETTER O WITH CIRCUMFLEX
0x9A    0x00F6  # LATIN SMALL LETTER O WITH DIAERESIS
0x9B    0x00F5  # LATIN SMALL LETTER O WITH TILDE
0x9C    0x00FA  # LATIN SMALL LETTER U WITH ACUTE
0x9D    0x00F9  # LATIN SMALL LETTER U WITH GRAVE
0x9E    0x00FB  # LATIN SMALL LETTER U WITH CIRCUMFLEX
0x9F    0x00FC  # LATIN SMALL LETTER U WITH DIAERESIS
0xA0    <RL>+0x0020     # SPACE, right-left
0xA1    <RL>+0x0021     # EXCLAMATION MARK, right-left
0xA2    <RL>+0x0022     # QUOTATION MARK, right-left
0xA3    <RL>+0x0023     # NUMBER SIGN, right-left
0xA4    <RL>+0x0024     # DOLLAR SIGN, right-left
0xA5    <RL>+0x0025     # PERCENT SIGN, right-left
0xA6    0x20AA  # NEW SHEQEL SIGN
0xA7    <RL>+0x0027     # APOSTROPHE, right-left
0xA8    <RL>+0x0029     # RIGHT PARENTHESIS, right-left
0xA9    <RL>+0x0028     # LEFT PARENTHESIS, right-left
0xAA    <RL>+0x002A     # ASTERISK, right-left
0xAB    <RL>+0x002B     # PLUS SIGN, right-left
0xAC    <RL>+0x002C     # COMMA, right-left
0xAD    <RL>+0x002D     # HYPHEN-MINUS, right-left
0xAE    <RL>+0x002E     # FULL STOP, right-left
0xAF    <RL>+0x002F     # SOLIDUS, right-left
0xB0    <RL>+0x0030     # DIGIT ZERO, right-left (need override)
0xB1    <RL>+0x0031     # DIGIT ONE, right-left (need override)
0xB2    <RL>+0x0032     # DIGIT TWO, right-left (need override)
0xB3    <RL>+0x0033     # DIGIT THREE, right-left (need override)
0xB4    <RL>+0x0034     # DIGIT FOUR, right-left (need override)
0xB5    <RL>+0x0035     # DIGIT FIVE, right-left (need override)
0xB6    <RL>+0x0036     # DIGIT SIX, right-left (need override)
0xB7    <RL>+0x0037     # DIGIT SEVEN, right-left (need override)
0xB8    <RL>+0x0038     # DIGIT EIGHT, right-left (need override)
0xB9    <RL>+0x0039     # DIGIT NINE, right-left (need override)
0xBA    <RL>+0x003A     # COLON, right-left
0xBB    <RL>+0x003B     # SEMICOLON, right-left
0xBC    <RL>+0x003C     # LESS-THAN SIGN, right-left
0xBD    <RL>+0x003D     # EQUALS SIGN, right-left
0xBE    <RL>+0x003E     # GREATER-THAN SIGN, right-left
0xBF    <RL>+0x003F     # QUESTION MARK, right-left
0xC0    0xF86A+0x05DC+0x05B9    # Hebrew ligature lamed holam
0xC1    <RL>+0x201E     # DOUBLE LOW-9 QUOTATION MARK, right-left
0xC2    0xF89B  # Hebrew canoral 1
0xC3    0xF89C  # Hebrew canoral 2
0xC4    0xF89D  # Hebrew canoral 3
0xC5    0xF89E  # Hebrew canoral 4
0xC6    0x05BC  # HEBREW POINT DAGESH OR MAPIQ
0xC7    0xFB4B  # HEBREW LETTER VAV WITH HOLAM
0xC8    0xFB35  # HEBREW LETTER VAV WITH DAGESH
0xC9    <RL>+0x2026     # HORIZONTAL ELLIPSIS, right-left
0xCA    <RL>+0x00A0     # NO-BREAK SPACE, right-left
0xCB    0x05B8  # HEBREW POINT QAMATS
0xCC    0x05B7  # HEBREW POINT PATAH
0xCD    0x05B5  # HEBREW POINT TSERE
0xCE    0x05B6  # HEBREW POINT SEGOL
0xCF    0x05B4  # HEBREW POINT HIRIQ
0xD0    <RL>+0x2013     # EN DASH, right-left
0xD1    <RL>+0x2014     # EM DASH, right-left
0xD2    <RL>+0x201C     # LEFT DOUBLE QUOTATION MARK, right-left
0xD3    <RL>+0x201D     # RIGHT DOUBLE QUOTATION MARK, right-left
0xD4    <RL>+0x2018     # LEFT SINGLE QUOTATION MARK, right-left
0xD5    <RL>+0x2019     # RIGHT SINGLE QUOTATION MARK, right-left
0xD6    0xFB2A  # HEBREW LETTER SHIN WITH SHIN DOT
0xD7    0xFB2B  # HEBREW LETTER SHIN WITH SIN DOT
0xD8    0x05BF  # HEBREW POINT RAFE
0xD9    0x05B0  # HEBREW POINT SHEVA
0xDA    0x05B2  # HEBREW POINT HATAF PATAH
0xDB    0x05B1  # HEBREW POINT HATAF SEGOL
0xDC    0x05BB  # HEBREW POINT QUBUTS
0xDD    0x05B9  # HEBREW POINT HOLAM
0xDE    0x05B8+0xF87F   # HEBREW POINT QAMATS, alternate form 'qamats qatan'
0xDF    0x05B3  # HEBREW POINT HATAF QAMATS
0xE0    0x05D0  # HEBREW LETTER ALEF
0xE1    0x05D1  # HEBREW LETTER BET
0xE2    0x05D2  # HEBREW LETTER GIMEL
0xE3    0x05D3  # HEBREW LETTER DALET
0xE4    0x05D4  # HEBREW LETTER HE
0xE5    0x05D5  # HEBREW LETTER VAV
0xE6    0x05D6  # HEBREW LETTER ZAYIN
0xE7    0x05D7  # HEBREW LETTER HET
0xE8    0x05D8  # HEBREW LETTER TET
0xE9    0x05D9  # HEBREW LETTER YOD
0xEA    0x05DA  # HEBREW LETTER FINAL KAF
0xEB    0x05DB  # HEBREW LETTER KAF
0xEC    0x05DC  # HEBREW LETTER LAMED
0xED    0x05DD  # HEBREW LETTER FINAL MEM
0xEE    0x05DE  # HEBREW LETTER MEM
0xEF    0x05DF  # HEBREW LETTER FINAL NUN
0xF0    0x05E0  # HEBREW LETTER NUN
0xF1    0x05E1  # HEBREW LETTER SAMEKH
0xF2    0x05E2  # HEBREW LETTER AYIN
0xF3    0x05E3  # HEBREW LETTER FINAL PE
0xF4    0x05E4  # HEBREW LETTER PE
0xF5    0x05E5  # HEBREW LETTER FINAL TSADI
0xF6    0x05E6  # HEBREW LETTER TSADI
0xF7    0x05E7  # HEBREW LETTER QOF
0xF8    0x05E8  # HEBREW LETTER RESH
0xF9    0x05E9  # HEBREW LETTER SHIN
0xFA    0x05EA  # HEBREW LETTER TAV
0xFB    <RL>+0x007D     # RIGHT CURLY BRACKET, right-left
0xFC    <RL>+0x005D     # RIGHT SQUARE BRACKET, right-left
0xFD    <RL>+0x007B     # LEFT CURLY BRACKET, right-left
0xFE    <RL>+0x005B     # LEFT SQUARE BRACKET, right-left
0xFF    <RL>+0x007C     # VERTICAL LINE, right-left

"
! !

!MAC_Hebrew class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MAC_Hebrew.st,v 1.3 2004-03-09 22:01:14 cg Exp $'
! !