CharacterEncoderImplementations__MAC_Arabic.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:...
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
8148
dbf64e3142d9 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 8114
diff changeset
   587
    ^ '$Header: /cvs/stx/stx/libbasic/CharacterEncoderImplementations__MAC_Arabic.st,v 1.3 2004-03-09 21:59:43 cg Exp $'
8081
b468050174a9 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
! !