CharacterEncoderImplementations__MAC_Arabic.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 22 Sep 2015 16:28:42 +0100
branchjv
changeset 18759 c1217211909c
parent 17940 985e22966acb
permissions -rw-r--r--
Changed identification strings to contain jv-branch ...to make explicit that this distribution is not the official one used by eXept and therefore that eXept is not to be blamed in case of any problem.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8148
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     1
"
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     2
 COPYRIGHT (c) 2004 by eXept Software AG
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     3
              All Rights Reserved
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     4
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     5
 This software is furnished under a license and may be used
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     6
 only in accordance with the terms of that license and with the
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     8
 be provided or otherwise made available to, or used by, any
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
     9
 other person.  No title to or ownership of the software is
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    10
 hereby transferred.
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    11
"
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    12
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
"{ Package: 'stx:libbasic' }"
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
"{ NameSpace: CharacterEncoderImplementations }"
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
SingleByteEncoder subclass:#MAC_Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	instanceVariableNames:''
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	classVariableNames:''
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	poolDictionaries:''
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	category:'Collections-Text-Encodings'
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
8148
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    24
!MAC_Arabic class methodsFor:'documentation'!
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    25
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    26
copyright
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    27
"
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    28
 COPYRIGHT (c) 2004 by eXept Software AG
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    29
              All Rights Reserved
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    30
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    31
 This software is furnished under a license and may be used
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    32
 only in accordance with the terms of that license and with the
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    33
 inclusion of the above copyright notice.   This software may not
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    34
 be provided or otherwise made available to, or used by, any
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    35
 other person.  No title to or ownership of the software is
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    36
 hereby transferred.
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    37
"
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
    38
! !
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!MAC_Arabic class methodsFor:'mapping'!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
mapFileURL1_relativePathName
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    ^ 'VENDORS/APPLE/ARABIC.TXT'
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
mapping
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
# From: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ARABIC.TXT
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
#=======================================================================
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
#   File name:  ARABIC.TXT
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
#   Contents:   Map (external version) from Mac OS Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
#               character set to Unicode 2.1 through Unicode 3.2.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
#   Copyright:  (c) 1994-2002 by Apple Computer, Inc., all rights
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
#               reserved.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
#   Contact:    charsets@apple.com
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
#   Changes:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
#      b3,c1 2002-Dec-19    Add comments about character display and
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
#                           direction overrides. Update URLs, notes.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
#                           Matches internal utom<b4>.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
#       b02  1999-Sep-22    Update contact e-mail address. Matches
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
#                           internal utom<b1>, ufrm<b1>, and Text
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
#                           Encoding Converter version 1.5.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
#       n10  1998-Feb-05    Show required Unicode character
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
#                           directionality in a different way. Matches
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
#                           internal utom<n4>, ufrm<n21>, and Text
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
#                           Encoding Converter version 1.3. Update
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
#                           header comments; include information on
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
#                           loose mapping of digits.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
#       n07  1997-Jul-17    Update to match internal utom<n2>, ufrm<n17>:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
#                           Change standard mapping for 0xC0 from U+066D
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
#                           to U+274A. Add direction overrides to
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
#                           mappings for 0x25, 0x2C, 0x3B, 0x3F. Add
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
#                           information on variants.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
#       n03  1995-Apr-18    First version (after fixing some typos).
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
#                           Matches internal ufrm<n11>.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
# Standard header:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
# ----------------
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
#   Apple, the Apple logo, and Macintosh are trademarks of Apple
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
#   Computer, Inc., registered in the United States and other countries.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
#   throughout this document, 'Macintosh' can be used to refer to
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
#   Macintosh computers and 'Unicode' can be used to refer to the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
#   Unicode standard.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
#   Apple makes no warranty or representation, either express or
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
#   implied, with respect to these tables, their quality, accuracy, or
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
#   fitness for a particular purpose. In no event will Apple be liable
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
#   for direct, indirect, special, incidental, or consequential damages 
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
#   resulting from any defect or inaccuracy in this document or the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
#   accompanying tables.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
#   These mapping tables and character lists are subject to change.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
#   The latest tables should be available from the following:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
#   For general information about Mac OS encodings and these mapping
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
#   tables, see the file 'README.TXT'.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
# Format:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
# -------
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
#   Three tab-separated columns;
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
#   '#' begins a comment which continues to the end of the line.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
#     Column #1 is the Mac OS Arabic code (in hex as 0xNN).
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
#     Column #2 is the corresponding Unicode (in hex as 0xNNNN),
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
#       possibly preceded by a tag indicating required directionality
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
#       (i.e. <LR>+0xNNNN or <RL>+0xNNNN).
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
#     Column #3 is a comment containing the Unicode name.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
#   The entries are in Mac OS Arabic code order.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
#   Control character mappings are not shown in this table, following
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
#   the conventions of the standard UTC mapping tables. However, the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
#   Mac OS Roman character set uses the standard control characters at
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
#   0x00-0x1F and 0x7F.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
# Notes on Mac OS Arabic:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
# -----------------------
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
#   1. General
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
#   The Mac OS Arabic character set is intended to cover Arabic as
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
#   used in North Africa, the Arabian peninsula, and the Levant. It
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
#   also contains several characters needed for Urdu and/or Farsi.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
#   The Mac OS Arabic character set is essentially a superset of ISO
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
#   8859-6. The 8859-6 code points that are interpreted differently
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
#   in the Mac OS Arabic set are as follows:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
#    0xA0 is NO-BREAK SPACE in 8859-6 and right-left SPACE in Mac OS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
#         Arabic; NO-BREAK is 0x81 in Mac OS Arabic.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
#    0xA4 is CURRENCY SIGN in 8859-6 and right-left DOLLAR SIGN in
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
#         Mac OS Arabic.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
#    0xAD is SOFT HYPHEN in 8859-6 and right-left HYPHEN-MINUS in
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
#         Mac OS Arabic.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
#   ISO 8859-6 specifies that codes 0x30-0x39 can be rendered either
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
#   with European digit shapes or Arabic digit shapes. This is also
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
#   true in Mac OS Arabic, which determines from context which digit
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
#   shapes to use (see below).
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
#   The Mac OS Arabic character set uses the C1 controls area and other
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
#   code points which are undefined in ISO 8859-6 for additional
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
#   graphic characters: additional Arabic letters for Farsi and Urdu,
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
#   some accented Roman letters for European languages (such as French),
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
#   and duplicates of some of the punctuation, symbols, and digits in
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
#   the ASCII block. The duplicate punctuation, symbol, and digit
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
#   characters have right-left directionality, while the ASCII versions
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
#   have left-right directionality. See the next section for more
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
#   information on this.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
#   Mac OS Arabic characters 0xEB-0xF2 are non-spacing/combining marks.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
#   2. Directional characters and roundtrip fidelity
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
#   The Mac OS Arabic character set was developed in 1986-1987. At that
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
#   time the bidirectional line layout algorithm used in the Mac OS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
#   Arabic system was fairly simple; it used only a few direction
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
#   classes (instead of the 19 now used in the Unicode bidirectional
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
#   algorithm). In order to permit users to handle some tricky layout
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
#   problems, certain punctuation and symbol characters were encoded
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
#   twice, one with a left-right direction attribute and the other with
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
#   a right-left direction attribute.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
#   For example, plus sign is encoded at 0x2B with a left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
#   attribute, and at 0xAB with a right-left attribute. However, there
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
#   is only one PLUS SIGN character in Unicode. This leads to some
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
#   interesting problems when mapping between Mac OS Arabic and Unicode;
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
#   see below.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
#   A related problem is that even when a particular character is
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
#   encoded only once in Mac OS Arabic, it may have a different
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
#   direction attribute than the corresponding Unicode character.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
#   For example, the Mac OS Arabic character at 0x93 is HORIZONTAL
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
#   ELLIPSIS with strong right-left direction. However, the Unicode
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
#   character HORIZONTAL ELLIPSIS has direction class neutral.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
#   3. Behavior of ASCII-range numbers in WorldScript
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
#   Mac OS Arabic also has two sets of digit codes.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
#   The digits at 0x30-0x39 may be displayed using either European
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
#   digit forms or Arabic digit forms, depending on context. If there
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
#   is a 'strong European' character such as a Latin letter on either
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
#   side of a sequence consisting of digits 0x30-0x39 and possibly comma
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
#   0x2C or period 0x2E, then the characters will be displayed using
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
#   European forms (This will happen even if there are neutral characters
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
#   between the digits and the strong European character). Otherwise, the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
#   digits will be displayed using Arabic forms, the comma will be
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
#   displayed as Arabic thousands separator, and the period as Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
#   decimal separator. In any case, 0x2C, 0x2E, and 0x30-0x39 are always
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
#   left-right.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
#   The digits at 0xB0-0xB9 are always displayed using Arabic digit
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
#   shapes, and moreover, these digits always have strong right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
#   directionality. These are mainly intended for special layout
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
#   purposes such as part numbers, etc.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
#   4. Font variants
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
#   The table in this file gives the Unicode mappings for the standard
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
#   Mac OS Arabic encoding. This encoding is supported by the Cairo font
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
#   (the system font for Arabic), and is the encoding supported by the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
#   text processing utilities. However, the other Arabic fonts actually
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
#   implement slightly different encodings; this mainly affects the code
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
#   points 0xAA and 0xC0. For these code points the standard Mac OS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
#   Arabic encoding has the following mappings:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
#     0xAA -> <RL>+0x002A ASTERISK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
#     0xC0 -> <RL>+0x274A EIGHT TEARDROP-SPOKED PROPELLER ASTERISK,
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
#                         right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
#   This mapping of 0xAA is consistent with the normal convention for
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
#   Mac OS Arabic and Hebrew that the right-left duplicates have codes
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
#   that are equal to the ASCII code of the left-right character plus
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
#   0x80. However, in all of the other fonts, 0xAA is MULTIPLY SIGN, and
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
#   right-left ASTERISK may be at a different code point. The other
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
#   variants are described below.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
#   The TrueType variant is used for most of the Arabic TrueType fonts:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
#   Baghdad, Geeza, Kufi, Nadeem.  It differs from the standard variant
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
#   in the following way:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
#     0xAA -> <RL>+0x00D7 MULTIPLICATION SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
#     0xC0 -> <RL>+0x002A ASTERISK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
#   The Thuluth variant is used for the Arabic Postscript-only fonts:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
#   Thuluth and Thuluth bold. It differs from the standard variant in
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
#   the following way:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
#     0xAA -> <RL>+0x00D7 MULTIPLICATION SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
#     0xC0 -> 0x066D ARABIC FIVE POINTED STAR
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
#   The AlBayan variant is used for the Arabic TrueType font Al Bayan.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
#   It differs from the standard variant in the following way:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
#     0x81 -> no mapping (glyph just has authorship information, etc.)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
#     0xA3 -> 0xFDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
#     0xA4 -> 0xFDF2 ARABIC LIGATURE ALLAH ISOLATED FORM
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
#     0xAA -> <RL>+0x00D7 MULTIPLICATION SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
#     0xDC -> <RL>+0x25CF BLACK CIRCLE, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
#     0xFC -> <RL>+0x25A0 BLACK SQUARE, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
# Unicode mapping issues and notes:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
# ---------------------------------
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   249
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   250
#   1. Matching the direction of Mac OS Arabic characters
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
#   When Mac OS Arabic encodes a character twice but with different
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
#   direction attributes for the two code points - as in the case of
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   254
#   plus sign mentioned above - we need a way to map both Mac OS Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
#   code points to Unicode and back again without loss of information.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
#   With the plus sign, for example, mapping one of the Mac OS Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
#   characters to a code in the Unicode corporate use zone is
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
#   undesirable, since both of the plus sign characters are likely to
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
#   be used in text that is interchanged.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
#   The problem is solved with the use of direction override characters
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
#   and direction-dependent mappings. When mapping from Mac OS Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
#   to Unicode, we use direction overrides as necessary to force the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
#   direction of the resulting Unicode characters.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
#   The required direction is indicated by a direction tag in the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
#   mappings. A tag of <LR> means the corresponding Unicode character
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
#   must have a strong left-right context, and a tag of <RL> indicates
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
#   a right-left context.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
#   For example, the mapping of 0x2B is given as <LR>+0x002B; the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
#   mapping of 0xAB is given as <RL>+0x002B. If we map an isolated
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
#   instance of 0x2B to Unicode, it should be mapped as follows (LRO
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
#   indicates LEFT-RIGHT OVERRIDE, PDF indicates POP DIRECTION
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   275
#   FORMATTING):
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   276
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   277
#     0x2B ->  0x202D (LRO) + 0x002B (PLUS SIGN) + 0x202C (PDF)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   278
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   279
#   When mapping several characters in a row that require direction
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   280
#   forcing, the overrides need only be used at the beginning and end.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   281
#   For example:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   282
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   283
#     0x24 0x20 0x28 0x29 -> 0x202D 0x0024 0x0020 0x0028 0x0029 0x202C
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   284
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   285
#   If neutral characters that require direction forcing are already
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   286
#   between strong-direction characters with matching directionality,
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   287
#   then direction overrides need not be used. Direction overrides are
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   288
#   always needed to map the right-left digits at 0xB0-0xB9.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
#   When mapping from Unicode to Mac OS Arabic, the Unicode
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
#   bidirectional algorithm should be used to determine resolved
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   292
#   direction of the Unicode characters. The mapping from Unicode to
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
#   Mac OS Arabic can then be disambiguated by the use of the resolved
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
#   direction:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
#     Unicode 0x002B -> Mac OS Arabic 0x2B (if L) or 0xAB (if R)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
#   However, this also means the direction override characters should
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
#   be discarded when mapping from Unicode to Mac OS Arabic (after
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
#   they have been used to determine resolved direction), since the
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
#   direction override information is carried by the code point itself.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
#   Even when direction overrides are not needed for roundtrip
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
#   fidelity, they are sometimes used when mapping Mac OS Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
#   characters to Unicode in order to achieve similar text layout with
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   306
#   the resulting Unicode text. For example, the single Mac OS Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   307
#   ellipsis character has direction class right-left,and there is no
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
#   left-right version. However, the Unicode HORIZONTAL ELLIPSIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
#   character has direction class neutral (which means it may end up
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
#   with a resolved direction of left-right if surrounded by left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   311
#   characters). When mapping the Mac OS Arabic ellipsis to Unicode, it
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
#   is surrounded with a direction override to help preserve proper
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
#   text layout. The resolved direction is not needed or used when
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
#   mapping the Unicode HORIZONTAL ELLIPSIS back to Mac OS Arabic.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
#   2. Mapping the Mac OS Arabic digits
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
#   The main table below contains mappings that should be used when
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
#   strict round-trip fidelity is required. However, for numeric
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
#   values, the mappings in that table will produce Unicode characters
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
#   that may appear different than the Mac OS Arabic text displayed on
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
#   a Mac OS system using WorldScript. This is because WorldScript
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
#   uses context-dependent display for the 0x30-0x39 digits.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   325
#   If roundtrip fidelity is not required, then the following
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   326
#   alternate mappings should be used when a sequence of 0x30-0x39
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
#   digits - possibly including 0x2C and 0x2E - occurs in an Arabic
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
#   context (that is, when the first 'strong' character on either side
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
#   of the digit sequence is Arabic, or there is no strong character):
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   330
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
#     0x2C      0x066C  # ARABIC THOUSANDS SEPARATOR
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
#     0x2E      0x066B  # ARABIC DECIMAL SEPARATOR
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
#     0x30      0x0660  # ARABIC-INDIC DIGIT ZERO
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
#     0x31      0x0661  # ARABIC-INDIC DIGIT ONE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
#     0x32      0x0662  # ARABIC-INDIC DIGIT TWO
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
#     0x33      0x0663  # ARABIC-INDIC DIGIT THREE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
#     0x34      0x0664  # ARABIC-INDIC DIGIT FOUR
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
#     0x35      0x0665  # ARABIC-INDIC DIGIT FIVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
#     0x36      0x0666  # ARABIC-INDIC DIGIT SIX
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
#     0x37      0x0667  # ARABIC-INDIC DIGIT SEVEN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
#     0x38      0x0668  # ARABIC-INDIC DIGIT EIGHT
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
#     0x39      0x0669  # ARABIC-INDIC DIGIT NINE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   344
# Details of mapping changes in each version:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   345
# -------------------------------------------
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
#   Changes from version n03 to version n07:
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   349
#   - Change mapping for 0xC0 from U+066D to U+274A.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
#   - Add direction overrides (required directionality) to mappings
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
#     for 0x25, 0x2C, 0x3B, 0x3F.
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
##################
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
0x20    <LR>+0x0020     # SPACE, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
0x21    <LR>+0x0021     # EXCLAMATION MARK, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
0x22    <LR>+0x0022     # QUOTATION MARK, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
0x23    <LR>+0x0023     # NUMBER SIGN, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
0x24    <LR>+0x0024     # DOLLAR SIGN, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
0x25    <LR>+0x0025     # PERCENT SIGN, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
0x26    <LR>+0x0026     # AMPERSAND, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   363
0x27    <LR>+0x0027     # APOSTROPHE, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   364
0x28    <LR>+0x0028     # LEFT PARENTHESIS, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
0x29    <LR>+0x0029     # RIGHT PARENTHESIS, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
0x2A    <LR>+0x002A     # ASTERISK, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
0x2B    <LR>+0x002B     # PLUS SIGN, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   368
0x2C    <LR>+0x002C     # COMMA, left-right; in Arabic-script context, displayed as 0x066C ARABIC THOUSANDS SEPARATOR
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
0x2D    <LR>+0x002D     # HYPHEN-MINUS, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
0x2E    <LR>+0x002E     # FULL STOP, left-right; in Arabic-script context, displayed as 0x066B ARABIC DECIMAL SEPARATOR
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
0x2F    <LR>+0x002F     # SOLIDUS, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
0x30    0x0030  # DIGIT ZERO;  in Arabic-script context, displayed as 0x0660 ARABIC-INDIC DIGIT ZERO
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
0x31    0x0031  # DIGIT ONE;   in Arabic-script context, displayed as 0x0661 ARABIC-INDIC DIGIT ONE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
0x32    0x0032  # DIGIT TWO;   in Arabic-script context, displayed as 0x0662 ARABIC-INDIC DIGIT TWO
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
0x33    0x0033  # DIGIT THREE; in Arabic-script context, displayed as 0x0663 ARABIC-INDIC DIGIT THREE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   376
0x34    0x0034  # DIGIT FOUR;  in Arabic-script context, displayed as 0x0664 ARABIC-INDIC DIGIT FOUR
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   377
0x35    0x0035  # DIGIT FIVE;  in Arabic-script context, displayed as 0x0665 ARABIC-INDIC DIGIT FIVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
0x36    0x0036  # DIGIT SIX;   in Arabic-script context, displayed as 0x0666 ARABIC-INDIC DIGIT SIX
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
0x37    0x0037  # DIGIT SEVEN; in Arabic-script context, displayed as 0x0667 ARABIC-INDIC DIGIT SEVEN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
0x38    0x0038  # DIGIT EIGHT; in Arabic-script context, displayed as 0x0668 ARABIC-INDIC DIGIT EIGHT
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   381
0x39    0x0039  # DIGIT NINE;  in Arabic-script context, displayed as 0x0669 ARABIC-INDIC DIGIT NINE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
0x3A    <LR>+0x003A     # COLON, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
0x3B    <LR>+0x003B     # SEMICOLON, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
0x3C    <LR>+0x003C     # LESS-THAN SIGN, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
0x3D    <LR>+0x003D     # EQUALS SIGN, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
0x3E    <LR>+0x003E     # GREATER-THAN SIGN, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
0x3F    <LR>+0x003F     # QUESTION MARK, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
0x40    0x0040  # COMMERCIAL AT
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   389
0x41    0x0041  # LATIN CAPITAL LETTER A
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   390
0x42    0x0042  # LATIN CAPITAL LETTER B
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   391
0x43    0x0043  # LATIN CAPITAL LETTER C
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   392
0x44    0x0044  # LATIN CAPITAL LETTER D
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   393
0x45    0x0045  # LATIN CAPITAL LETTER E
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   394
0x46    0x0046  # LATIN CAPITAL LETTER F
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   395
0x47    0x0047  # LATIN CAPITAL LETTER G
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   396
0x48    0x0048  # LATIN CAPITAL LETTER H
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   397
0x49    0x0049  # LATIN CAPITAL LETTER I
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   398
0x4A    0x004A  # LATIN CAPITAL LETTER J
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   399
0x4B    0x004B  # LATIN CAPITAL LETTER K
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   400
0x4C    0x004C  # LATIN CAPITAL LETTER L
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   401
0x4D    0x004D  # LATIN CAPITAL LETTER M
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   402
0x4E    0x004E  # LATIN CAPITAL LETTER N
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
0x4F    0x004F  # LATIN CAPITAL LETTER O
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
0x50    0x0050  # LATIN CAPITAL LETTER P
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
0x51    0x0051  # LATIN CAPITAL LETTER Q
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
0x52    0x0052  # LATIN CAPITAL LETTER R
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
0x53    0x0053  # LATIN CAPITAL LETTER S
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
0x54    0x0054  # LATIN CAPITAL LETTER T
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
0x55    0x0055  # LATIN CAPITAL LETTER U
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
0x56    0x0056  # LATIN CAPITAL LETTER V
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
0x57    0x0057  # LATIN CAPITAL LETTER W
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
0x58    0x0058  # LATIN CAPITAL LETTER X
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   413
0x59    0x0059  # LATIN CAPITAL LETTER Y
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
0x5A    0x005A  # LATIN CAPITAL LETTER Z
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   415
0x5B    <LR>+0x005B     # LEFT SQUARE BRACKET, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   416
0x5C    <LR>+0x005C     # REVERSE SOLIDUS, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
0x5D    <LR>+0x005D     # RIGHT SQUARE BRACKET, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
0x5E    <LR>+0x005E     # CIRCUMFLEX ACCENT, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   419
0x5F    <LR>+0x005F     # LOW LINE, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   420
0x60    0x0060  # GRAVE ACCENT
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   421
0x61    0x0061  # LATIN SMALL LETTER A
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   422
0x62    0x0062  # LATIN SMALL LETTER B
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   423
0x63    0x0063  # LATIN SMALL LETTER C
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   424
0x64    0x0064  # LATIN SMALL LETTER D
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   425
0x65    0x0065  # LATIN SMALL LETTER E
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   426
0x66    0x0066  # LATIN SMALL LETTER F
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   427
0x67    0x0067  # LATIN SMALL LETTER G
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   428
0x68    0x0068  # LATIN SMALL LETTER H
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   429
0x69    0x0069  # LATIN SMALL LETTER I
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
0x6A    0x006A  # LATIN SMALL LETTER J
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
0x6B    0x006B  # LATIN SMALL LETTER K
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
0x6C    0x006C  # LATIN SMALL LETTER L
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
0x6D    0x006D  # LATIN SMALL LETTER M
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
0x6E    0x006E  # LATIN SMALL LETTER N
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
0x6F    0x006F  # LATIN SMALL LETTER O
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   436
0x70    0x0070  # LATIN SMALL LETTER P
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
0x71    0x0071  # LATIN SMALL LETTER Q
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
0x72    0x0072  # LATIN SMALL LETTER R
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
0x73    0x0073  # LATIN SMALL LETTER S
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
0x74    0x0074  # LATIN SMALL LETTER T
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
0x75    0x0075  # LATIN SMALL LETTER U
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
0x76    0x0076  # LATIN SMALL LETTER V
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
0x77    0x0077  # LATIN SMALL LETTER W
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
0x78    0x0078  # LATIN SMALL LETTER X
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
0x79    0x0079  # LATIN SMALL LETTER Y
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   446
0x7A    0x007A  # LATIN SMALL LETTER Z
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
0x7B    <LR>+0x007B     # LEFT CURLY BRACKET, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
0x7C    <LR>+0x007C     # VERTICAL LINE, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
0x7D    <LR>+0x007D     # RIGHT CURLY BRACKET, left-right
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
0x7E    0x007E  # TILDE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
#
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
0x80    0x00C4  # LATIN CAPITAL LETTER A WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   453
0x81    <RL>+0x00A0     # NO-BREAK SPACE, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   454
0x82    0x00C7  # LATIN CAPITAL LETTER C WITH CEDILLA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   455
0x83    0x00C9  # LATIN CAPITAL LETTER E WITH ACUTE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   456
0x84    0x00D1  # LATIN CAPITAL LETTER N WITH TILDE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   457
0x85    0x00D6  # LATIN CAPITAL LETTER O WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   458
0x86    0x00DC  # LATIN CAPITAL LETTER U WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   459
0x87    0x00E1  # LATIN SMALL LETTER A WITH ACUTE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   460
0x88    0x00E0  # LATIN SMALL LETTER A WITH GRAVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   461
0x89    0x00E2  # LATIN SMALL LETTER A WITH CIRCUMFLEX
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   462
0x8A    0x00E4  # LATIN SMALL LETTER A WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   463
0x8B    0x06BA  # ARABIC LETTER NOON GHUNNA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
0x8C    <RL>+0x00AB     # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   465
0x8D    0x00E7  # LATIN SMALL LETTER C WITH CEDILLA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
0x8E    0x00E9  # LATIN SMALL LETTER E WITH ACUTE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
0x8F    0x00E8  # LATIN SMALL LETTER E WITH GRAVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
0x90    0x00EA  # LATIN SMALL LETTER E WITH CIRCUMFLEX
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
0x91    0x00EB  # LATIN SMALL LETTER E WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   470
0x92    0x00ED  # LATIN SMALL LETTER I WITH ACUTE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
0x93    <RL>+0x2026     # HORIZONTAL ELLIPSIS, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
0x94    0x00EE  # LATIN SMALL LETTER I WITH CIRCUMFLEX
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
0x95    0x00EF  # LATIN SMALL LETTER I WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   474
0x96    0x00F1  # LATIN SMALL LETTER N WITH TILDE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   475
0x97    0x00F3  # LATIN SMALL LETTER O WITH ACUTE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   476
0x98    <RL>+0x00BB     # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   477
0x99    0x00F4  # LATIN SMALL LETTER O WITH CIRCUMFLEX
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   478
0x9A    0x00F6  # LATIN SMALL LETTER O WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   479
0x9B    <RL>+0x00F7     # DIVISION SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   480
0x9C    0x00FA  # LATIN SMALL LETTER U WITH ACUTE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   481
0x9D    0x00F9  # LATIN SMALL LETTER U WITH GRAVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   482
0x9E    0x00FB  # LATIN SMALL LETTER U WITH CIRCUMFLEX
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   483
0x9F    0x00FC  # LATIN SMALL LETTER U WITH DIAERESIS
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   484
0xA0    <RL>+0x0020     # SPACE, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   485
0xA1    <RL>+0x0021     # EXCLAMATION MARK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   486
0xA2    <RL>+0x0022     # QUOTATION MARK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   487
0xA3    <RL>+0x0023     # NUMBER SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   488
0xA4    <RL>+0x0024     # DOLLAR SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   489
0xA5    0x066A  # ARABIC PERCENT SIGN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   490
0xA6    <RL>+0x0026     # AMPERSAND, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   491
0xA7    <RL>+0x0027     # APOSTROPHE, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   492
0xA8    <RL>+0x0028     # LEFT PARENTHESIS, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   493
0xA9    <RL>+0x0029     # RIGHT PARENTHESIS, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   494
0xAA    <RL>+0x002A     # ASTERISK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   495
0xAB    <RL>+0x002B     # PLUS SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   496
0xAC    0x060C  # ARABIC COMMA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   497
0xAD    <RL>+0x002D     # HYPHEN-MINUS, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   498
0xAE    <RL>+0x002E     # FULL STOP, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   499
0xAF    <RL>+0x002F     # SOLIDUS, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   500
0xB0    <RL>+0x0660     # ARABIC-INDIC DIGIT ZERO, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
0xB1    <RL>+0x0661     # ARABIC-INDIC DIGIT ONE, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
0xB2    <RL>+0x0662     # ARABIC-INDIC DIGIT TWO, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
0xB3    <RL>+0x0663     # ARABIC-INDIC DIGIT THREE, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
0xB4    <RL>+0x0664     # ARABIC-INDIC DIGIT FOUR, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
0xB5    <RL>+0x0665     # ARABIC-INDIC DIGIT FIVE, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
0xB6    <RL>+0x0666     # ARABIC-INDIC DIGIT SIX, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
0xB7    <RL>+0x0667     # ARABIC-INDIC DIGIT SEVEN, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
0xB8    <RL>+0x0668     # ARABIC-INDIC DIGIT EIGHT, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
0xB9    <RL>+0x0669     # ARABIC-INDIC DIGIT NINE, right-left (need override)
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
0xBA    <RL>+0x003A     # COLON, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
0xBB    0x061B  # ARABIC SEMICOLON
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
0xBC    <RL>+0x003C     # LESS-THAN SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
0xBD    <RL>+0x003D     # EQUALS SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
0xBE    <RL>+0x003E     # GREATER-THAN SIGN, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
0xBF    0x061F  # ARABIC QUESTION MARK
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
0xC0    <RL>+0x274A     # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
0xC1    0x0621  # ARABIC LETTER HAMZA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
0xC2    0x0622  # ARABIC LETTER ALEF WITH MADDA ABOVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
0xC3    0x0623  # ARABIC LETTER ALEF WITH HAMZA ABOVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
0xC4    0x0624  # ARABIC LETTER WAW WITH HAMZA ABOVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
0xC5    0x0625  # ARABIC LETTER ALEF WITH HAMZA BELOW
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
0xC6    0x0626  # ARABIC LETTER YEH WITH HAMZA ABOVE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   523
0xC7    0x0627  # ARABIC LETTER ALEF
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
0xC8    0x0628  # ARABIC LETTER BEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
0xC9    0x0629  # ARABIC LETTER TEH MARBUTA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
0xCA    0x062A  # ARABIC LETTER TEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
0xCB    0x062B  # ARABIC LETTER THEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
0xCC    0x062C  # ARABIC LETTER JEEM
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
0xCD    0x062D  # ARABIC LETTER HAH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
0xCE    0x062E  # ARABIC LETTER KHAH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
0xCF    0x062F  # ARABIC LETTER DAL
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
0xD0    0x0630  # ARABIC LETTER THAL
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
0xD1    0x0631  # ARABIC LETTER REH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
0xD2    0x0632  # ARABIC LETTER ZAIN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
0xD3    0x0633  # ARABIC LETTER SEEN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
0xD4    0x0634  # ARABIC LETTER SHEEN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
0xD5    0x0635  # ARABIC LETTER SAD
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
0xD6    0x0636  # ARABIC LETTER DAD
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
0xD7    0x0637  # ARABIC LETTER TAH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
0xD8    0x0638  # ARABIC LETTER ZAH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
0xD9    0x0639  # ARABIC LETTER AIN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
0xDA    0x063A  # ARABIC LETTER GHAIN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
0xDB    <RL>+0x005B     # LEFT SQUARE BRACKET, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
0xDC    <RL>+0x005C     # REVERSE SOLIDUS, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   545
0xDD    <RL>+0x005D     # RIGHT SQUARE BRACKET, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   546
0xDE    <RL>+0x005E     # CIRCUMFLEX ACCENT, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   547
0xDF    <RL>+0x005F     # LOW LINE, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   548
0xE0    0x0640  # ARABIC TATWEEL
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   549
0xE1    0x0641  # ARABIC LETTER FEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   550
0xE2    0x0642  # ARABIC LETTER QAF
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   551
0xE3    0x0643  # ARABIC LETTER KAF
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   552
0xE4    0x0644  # ARABIC LETTER LAM
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   553
0xE5    0x0645  # ARABIC LETTER MEEM
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   554
0xE6    0x0646  # ARABIC LETTER NOON
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   555
0xE7    0x0647  # ARABIC LETTER HEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   556
0xE8    0x0648  # ARABIC LETTER WAW
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   557
0xE9    0x0649  # ARABIC LETTER ALEF MAKSURA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   558
0xEA    0x064A  # ARABIC LETTER YEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   559
0xEB    0x064B  # ARABIC FATHATAN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   560
0xEC    0x064C  # ARABIC DAMMATAN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   561
0xED    0x064D  # ARABIC KASRATAN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   562
0xEE    0x064E  # ARABIC FATHA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   563
0xEF    0x064F  # ARABIC DAMMA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   564
0xF0    0x0650  # ARABIC KASRA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   565
0xF1    0x0651  # ARABIC SHADDA
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   566
0xF2    0x0652  # ARABIC SUKUN
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   567
0xF3    0x067E  # ARABIC LETTER PEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
0xF4    0x0679  # ARABIC LETTER TTEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
0xF5    0x0686  # ARABIC LETTER TCHEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
0xF6    0x06D5  # ARABIC LETTER AE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
0xF7    0x06A4  # ARABIC LETTER VEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
0xF8    0x06AF  # ARABIC LETTER GAF
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
0xF9    0x0688  # ARABIC LETTER DDAL
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
0xFA    0x0691  # ARABIC LETTER RREH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
0xFB    <RL>+0x007B     # LEFT CURLY BRACKET, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
0xFC    <RL>+0x007C     # VERTICAL LINE, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
0xFD    <RL>+0x007D     # RIGHT CURLY BRACKET, right-left
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   578
0xFE    0x0698  # ARABIC LETTER JEH
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   579
0xFF    0x06D2  # ARABIC LETTER YEH BARREE
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
"
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
! !
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
!MAC_Arabic class methodsFor:'documentation'!
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
version
17940
985e22966acb Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17911
diff changeset
   587
    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MAC_Arabic.st,v 1.3 2004/03/09 21:59:43 cg Exp $'
17846
24edc476ac18 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17845
diff changeset
   588
! !
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17883
diff changeset
   589
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   590
17911
a99f15c5efa5 Updated with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17910
diff changeset
   591