Codebase list firebird3.0 / 05a2daa
New upstream version 3.0.11.33637.ds4 Damyan Ivanov 1 year, 6 months ago
113 changed file(s) with 889 addition(s) and 13985 deletion(s). Raw diff Collapse all Expand all
719719 # Either enables or disables the "TCP Loopback Fast Path" feature (SIO_LOOPBACK_FAST_PATH).
720720 # Applies to Windows (version 8/2012 or higher) only.
721721 #
722 # Type: Boolean, default 1 (true)
723 #
724 #TcpLoopbackFastPath = 1
722 # Note: Microsoft has deprecated it and not recommended to use anymore.
723 # To be removed in future Firebird versions.
724 #
725 # Type: Boolean, default 0 (false)
726 #
727 #TcpLoopbackFastPath = 0
725728
726729 #
727730 # Allows setting of IPV6_V6ONLY socket option. If enabled, IPv6 sockets
153153 </ResourceCompile>
154154 <Link>
155155 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
156 <AdditionalDependencies>odbc32.lib;odbccp32.lib;fbclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
157 <AdditionalLibraryDirectories>..\..\..\temp\$(Platform)\$(Configuration)\fbclient;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
156 <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
157 <AdditionalLibraryDirectories>
158 </AdditionalLibraryDirectories>
158159 <SubSystem>Console</SubSystem>
159160 <ProfileGuidedDatabase>
160161 </ProfileGuidedDatabase>
177178 <Culture>0x0c0a</Culture>
178179 </ResourceCompile>
179180 <Link>
180 <AdditionalDependencies>odbc32.lib;odbccp32.lib;fbclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
181 <AdditionalLibraryDirectories>..\..\..\temp\$(Platform)\$(Configuration)\fbclient;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
181 <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
182 <AdditionalLibraryDirectories>
183 </AdditionalLibraryDirectories>
182184 <SubSystem>Console</SubSystem>
183185 <ProfileGuidedDatabase>
184186 </ProfileGuidedDatabase>
157157 </ResourceCompile>
158158 <Link>
159159 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
160 <AdditionalDependencies>odbc32.lib;odbccp32.lib;fbclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
161 <AdditionalLibraryDirectories>..\..\..\temp\$(Platform)\$(Configuration)\fbclient;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
160 <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
161 <AdditionalLibraryDirectories>
162 </AdditionalLibraryDirectories>
162163 <SubSystem>Console</SubSystem>
163164 <ProfileGuidedDatabase>
164165 </ProfileGuidedDatabase>
181182 <Culture>0x0c0a</Culture>
182183 </ResourceCompile>
183184 <Link>
184 <AdditionalDependencies>odbc32.lib;odbccp32.lib;fbclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
185 <AdditionalLibraryDirectories>..\..\..\temp\$(Platform)\$(Configuration)\fbclient;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
185 <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
186 <AdditionalLibraryDirectories>
187 </AdditionalLibraryDirectories>
186188 <SubSystem>Console</SubSystem>
187189 <ProfileGuidedDatabase>
188190 </ProfileGuidedDatabase>
157157 </ResourceCompile>
158158 <Link>
159159 <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
160 <AdditionalDependencies>odbc32.lib;odbccp32.lib;fbclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
161 <AdditionalLibraryDirectories>..\..\..\temp\$(Platform)\$(Configuration)\fbclient;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
160 <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
161 <AdditionalLibraryDirectories>
162 </AdditionalLibraryDirectories>
162163 <SubSystem>Console</SubSystem>
163164 <ProfileGuidedDatabase>
164165 </ProfileGuidedDatabase>
181182 <Culture>0x0c0a</Culture>
182183 </ResourceCompile>
183184 <Link>
184 <AdditionalDependencies>odbc32.lib;odbccp32.lib;fbclient.lib;%(AdditionalDependencies)</AdditionalDependencies>
185 <AdditionalLibraryDirectories>..\..\..\temp\$(Platform)\$(Configuration)\fbclient;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
185 <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
186 <AdditionalLibraryDirectories>
187 </AdditionalLibraryDirectories>
186188 <SubSystem>Console</SubSystem>
187189 <ProfileGuidedDatabase>
188190 </ProfileGuidedDatabase>
+0
-136
doc/README.makefiles less more
0 PURPOSE : To explain the makefile system in firebird2.
1
2 STATUS: Still a work in progress (both the makefiles, and this document)
3
4 AUTHORS: Mark O'Donohue mark.odonohue@luduwg.edu.au
5
6 COPYRIGHT: All rights retained by authors.
7 For distribution with Firebird source
8 (Someone who knows this legal stuff will update it later)
9
10 OVERVIEW
11
12 The new makefiles were created to fit in with autoconf, to place the object
13 files in seperate directories to the source files and to simplify the build
14 process.
15
16 It really does rely on using gnu make so that is the best version to use.
17
18
19 THE REALLY QUICK INTRO
20
21 For linux this is how I do a compile (classic is only one currently)
22
23 autoconf
24 ./configure
25 $cd src
26 $make > make.log 2>&1 ; cat make.log | grep -v warning > make2.log ; vi make2.log
27
28 For an install checkout
29
30 $make install
31
32 it will list your options - but also needs some work.
33
34
35 MAKEFILE
36
37 Makefiles are found in builds/posix
38
39 make.rules
40 make.defaults
41 make.shared.variables
42
43 prefix.xxx (where xxx = platform)
44
45 In src/make.new there are a number of Makefile.in.xxx files and some make.xxx
46
47
48 STRUCTURE OF MAKEFILE.IN.XXX
49
50
51 Each Makefile.in.xxx has the following somewhere near the top:
52
53 include make.defaults
54 include make.platform
55 include make.rules
56 include make.shared.variables
57
58 ...
59 ...
60
61
62 These are:
63
64 make.defaults
65
66 This contains default values for macros that it is likely that the user may
67 want to override.
68
69
70 make.platform
71
72 This file is created from the prefix.xxx where xxx=linux/darwin/freebsd etc.
73 It provides a spot for the user to override or repalce macros that have been
74 defined in make.defaults. In addition extra dependancies can be added to
75 build extra targets.
76
77
78 make.rules
79
80 This contains the default rules for compiling the system components. Such as
81 directory macros CXX etc.
82
83
84 make.shared.variables
85
86 This file contains the defintion of macros that are shared across all of the
87 modules. The only set that are needed are those files that are contained in
88 the libgds.a/so library since files from many modules contribute to the library.
89
90
91
92 CREATING OBJECT FILES
93
94
95 In the makefiles the object files are of two sorts .o static and .lo
96 which are suitable for shared libraries. On most systems the source
97 files need to be compiled twice to create both .o and .lo files. F
98 Fortunately the program libtool can help work with this.
99
100 The general format of .o file dependancies is:
101
102 SERVER_Sources = server.cpp
103 SERVER_Objects = $(SERVER_Sources:%.cpp=$(OBJ)/%.o)
104
105
106 So the .o files live in $(OBJ) where:
107 OBJ = $(ROOT)/gen/$ModuleName
108
109
110 Each Makefile also specifies an AllObjects and Dependancies macro which
111 identified all the objects that this Makefile is to create and the name
112 of the dependency files generated for those objects.
113
114 AllObjects = $(Alice_Objects)
115
116
117 FILE DEPENDANCIES
118
119 Include file dependancy information is automatically generated by the gcc
120 compiler.
121
122 The gcc compiler has a flag -MMD which will generate in addition to the
123 .o file a .d file which contains the dependancy chain of #includes required
124 for the program. These are then edited and stored in the $(OBJ) directory and
125 are included in the bottom line of the makefile with
126
127 Dependencies = $(All_Objects:.o=.d)
128
129 include $(Dependancies)
130
131 PLATFORM SUBDIRS OF JRD
132
133 Please, forget about jrd/os/* in makefiles! Pretend that all files from
134 there are placed in jrd/ itself. A little trick in make.rules will find
135 files for your platform automatically.
287287
288288 TraNumber id;
289289 tdr* trans;
290 UCHAR* ptr = buffer;
291 bool flag = true;
292
293 while (flag)
294 {
295 const USHORT item = *ptr++;
296 const USHORT length = (USHORT) gds__vax_integer(ptr, 2);
297 ptr += 2;
290
291 for (Firebird::ClumpletReader p(Firebird::ClumpletReader::InfoResponse, buffer, sizeof(buffer));
292 !p.isEof(); p.moveNext())
293 {
294 UCHAR item = p.getClumpTag();
295 if (item == isc_info_end)
296 break;
297
298 const USHORT length = (USHORT) p.getClumpLength();
298299 switch (item)
299300 {
300301 case isc_info_limbo:
301 id = isc_portable_integer(ptr, length);
302 id = p.getBigInt();
302303 if (switches & (sw_commit | sw_rollback | sw_two_phase | sw_prompt))
303304 {
304305 TDR_reconnect_multiple(handle, id, name, switches);
305 ptr += length;
306306 break;
307307 }
308308 if (!tdgbl->uSvc->isService())
325325 tdgbl->uSvc->putSInt64(isc_spb_single_tra_id_64, id);
326326 else
327327 tdgbl->uSvc->putSLong(isc_spb_single_tra_id, (SLONG) id);
328 ptr += length;
329328 break;
330329
331330 case isc_info_truncated:
335334 // msg 72: More limbo transactions than fit. Try again
336335 // And how it's going to retry with a bigger buffer if the buffer is fixed size?
337336 }
338 // fall through
339
340 case isc_info_end:
341 flag = false;
342337 break;
343338
344339 default:
117117 *
118118 **************************************/
119119 pthread_t thread;
120 pthread_t* p_thread = p_handle ? p_handle : &thread;
120121 pthread_attr_t pattr;
121122 int state;
122123
123124 #if defined (LINUX) || defined (FREEBSD)
124 if (state = pthread_create(&thread, NULL, THREAD_ENTRYPOINT, THREAD_ARG))
125 if ((state = pthread_create(p_thread, NULL, THREAD_ENTRYPOINT, THREAD_ARG)))
125126 Firebird::system_call_failed::raise("pthread_create", state);
126127
127128 if (!p_handle)
128129 {
129 if (state = pthread_detach(thread))
130 if ((state = pthread_detach(*p_thread)))
130131 Firebird::system_call_failed::raise("pthread_detach", state);
131132 }
132133 #else
166167 if (state)
167168 Firebird::system_call_failed::raise("pthread_attr_setdetachstate", state);
168169 }
169 state = pthread_create(&thread, &pattr, THREAD_ENTRYPOINT, THREAD_ARG);
170 state = pthread_create(p_thread, &pattr, THREAD_ENTRYPOINT, THREAD_ARG);
170171 int state2 = pthread_attr_destroy(&pattr);
171172 if (state)
172173 Firebird::system_call_failed::raise("pthread_create", state);
183184 if (state)
184185 Firebird::system_call_failed::raise("pthread_setcanceltype", state);
185186 #endif
186 *p_handle = thread;
187 }
188
189 return Thread(thread);
187 }
188
189 return Thread(*p_thread);
190190 }
191191
192192 void Thread::waitForCompletion(Handle& thread)
209209 ThreadId Thread::getId()
210210 {
211211 #ifdef USE_LWP_AS_THREAD_ID
212 return syscall(SYS_gettid);
212 static __thread int tid = 0;
213 if (!tid)
214 tid = syscall(SYS_gettid);
215 return tid;
213216 #else
214217 return pthread_self();
215218 #endif
321324
322325 SetThreadPriority(handle, priority);
323326
324 ResumeThread(handle);
325
326327 if (p_handle)
327328 {
328329 *p_handle = handle;
330 ResumeThread(handle);
329331 }
330332 else
331333 {
334 ResumeThread(handle);
332335 CloseHandle(handle);
333336 }
334337
665665 if (isEof())
666666 return; // no need to raise useless exceptions
667667 FB_SIZE_T cs = getClumpletSize(true, true, true);
668
669 switch (kind)
670 {
671 case InfoResponse:
672 switch (getClumpTag())
673 {
674 case isc_info_end:
675 case isc_info_truncated:
676 // terminating clumplet
677 cur_offset = getBufferLength();
678 return;
679 }
680 }
681
668682 adjustSpbState();
669683 cur_offset += cs;
670684 }
100100 }
101101 };
102102
103 template <typename Mtx, typename RefCounted = DefaultRefCounted<Mtx> >
103 template <typename Mtx, template <typename T> class RefCounted = DefaultRefCounted >
104104 class EnsureUnlock
105105 {
106106 public:
113113 #define FB_LOCKED_FROM NULL
114114 #endif
115115 {
116 RefCounted::addRef(m_mutex);
116 RefCounted<Mtx>::addRef(m_mutex);
117117 }
118118
119119 ~EnsureUnlock()
120120 {
121121 while (m_locked)
122122 leave();
123 RefCounted::release(m_mutex);
123 RefCounted<Mtx>::release(m_mutex);
124124 }
125125
126126 void enter()
154154 };
155155 #undef FB_LOCKED_FROM
156156
157 typedef EnsureUnlock<Mutex, NotRefCounted<Mutex> > MutexEnsureUnlock;
157 typedef EnsureUnlock<Mutex, NotRefCounted> MutexEnsureUnlock;
158158 typedef EnsureUnlock<RefMutex> RefMutexEnsureUnlock;
159159
160160 } // namespace
8888 };
8989
9090 typedef RaiiLockGuard<XThreadMutex> XThreadLockGuard;
91 typedef EnsureUnlock<XThreadMutex, NotRefCounted<XThreadMutex> > XThreadEnsureUnlock;
91 typedef EnsureUnlock<XThreadMutex, NotRefCounted> XThreadEnsureUnlock;
9292
9393 }
9494
256256
257257
258258 template <typename T, typename T2>
259 class AutoSetRestore2
260 {
261 private:
259 class AutoRestore2
260 {
261 protected:
262262 typedef T (T2::*Getter)();
263263 typedef void (T2::*Setter)(T);
264264
265265 public:
266 AutoSetRestore2(T2* aPointer, Getter aGetter, Setter aSetter, T newValue)
266 AutoRestore2(T2* aPointer, Getter aGetter, Setter aSetter)
267267 : pointer(aPointer),
268268 setter(aSetter),
269269 oldValue((aPointer->*aGetter)())
270 {
271 (aPointer->*aSetter)(newValue);
272 }
273
274 ~AutoSetRestore2()
270 { }
271
272 void set(T newValue)
273 {
274 (pointer->*setter)(newValue);
275 }
276
277 ~AutoRestore2()
275278 {
276279 (pointer->*setter)(oldValue);
277280 }
278281
279282 private:
280283 // copying is prohibited
281 AutoSetRestore2(const AutoSetRestore2&);
282 AutoSetRestore2& operator =(const AutoSetRestore2&);
284 AutoRestore2(const AutoRestore2&);
285 AutoRestore2& operator =(const AutoRestore2&);
283286
284287 private:
285288 T2* pointer;
288291 };
289292
290293
294 template <typename T, typename T2>
295 class AutoSetRestore2 : public AutoRestore2<T, T2>
296 {
297 typedef typename AutoRestore2<T, T2>::Getter Getter;
298 typedef typename AutoRestore2<T, T2>::Setter Setter;
299 public:
300 AutoSetRestore2(T2* aPointer, Getter aGetter, Setter aSetter, T newValue)
301 : AutoRestore2<T, T2>(aPointer, aGetter, aSetter)
302 {
303 this->set(newValue);
304 }
305 };
306
307
291308 // One more typical class for AutoPtr cleanup
292309 class FileClose
293310 {
335335 #endif //WIN_NT
336336
337337
338 // RAII holder
338 // RAII holders
339339 template <typename M>
340340 class RaiiLockGuard
341341 {
368368
369369 typedef RaiiLockGuard<Mutex> MutexLockGuard;
370370
371 class MutexUnlockGuard
372 {
373 public:
374 explicit MutexUnlockGuard(Mutex& aLock, const char* aReason)
371
372 template <typename M>
373 class RaiiUnlockGuard
374 {
375 public:
376 explicit RaiiUnlockGuard(M& aLock, const char* aReason)
375377 : lock(&aLock)
376378 #ifdef DEV_BUILD
377379 , saveReason(aReason)
380382 lock->leave();
381383 }
382384
383 ~MutexUnlockGuard()
385 ~RaiiUnlockGuard()
384386 {
385387 try
386388 {
398400
399401 private:
400402 // Forbid copying
401 MutexUnlockGuard(const MutexUnlockGuard&);
402 MutexUnlockGuard& operator=(const MutexUnlockGuard&);
403
404 Mutex* lock;
403 RaiiUnlockGuard(const RaiiUnlockGuard&);
404 RaiiUnlockGuard& operator=(const RaiiUnlockGuard&);
405
406 M* lock;
405407 #ifdef DEV_BUILD
406408 const char* saveReason;
407409 #endif
408410 };
411
412 typedef RaiiUnlockGuard<Mutex> MutexUnlockGuard;
409413
410414
411415 class MutexCheckoutGuard
135135 {TYPE_INTEGER, "CpuAffinityMask", (ConfigValue) 0},
136136 {TYPE_INTEGER, "TcpRemoteBufferSize", (ConfigValue) 8192}, // bytes
137137 {TYPE_BOOLEAN, "TcpNoNagle", (ConfigValue) true},
138 {TYPE_BOOLEAN, "TcpLoopbackFastPath", (ConfigValue) true},
138 {TYPE_BOOLEAN, "TcpLoopbackFastPath", (ConfigValue) false},
139139 {TYPE_INTEGER, "DefaultDbCachePages", (ConfigValue) -1}, // pages
140140 {TYPE_INTEGER, "ConnectionTimeout", (ConfigValue) 180}, // seconds
141141 {TYPE_INTEGER, "DummyPacketInterval", (ConfigValue) 0}, // seconds
16321632 !SetEndOfFile(file_handle) || !FlushFileBuffers(file_handle))
16331633 {
16341634 err = GetLastError();
1635 CloseHandle(event_handle);
16361635 CloseHandle(file_handle);
16371636
16381637 if (err == ERROR_USER_MAPPED_FILE)
16401639 if (retry_count < 50) // 0.5 sec
16411640 goto retry;
16421641
1642 CloseHandle(event_handle);
16431643 Arg::Gds(isc_instance_conflict).raise();
16441644 }
16451645 else
1646 {
1647 CloseHandle(event_handle);
16461648 system_call_failed::raise("SetFilePointer", err);
1649 }
16471650 }
16481651 }
16491652
4444 {
4545 // do not use /dev/random because it may return lesser data than we need.
4646 int fd = os_utils::open("/dev/urandom", O_RDONLY);
47 if (fd < 0)
48 Firebird::system_call_failed::raise("open");
49
4750 for (FB_SIZE_T offset = 0; offset < size; )
4851 {
4952 int rc = read(fd, static_cast<char*>(buffer) + offset, size - offset);
14031403 continue;
14041404
14051405 fb_assert(accessor.current()->first.hasData());
1406 USHORT ch = accessor.current()->first[0];
1407
1408 if (ch >= 0xFDD0 && ch <= 0xFDEF)
1406 USHORT firstCh = accessor.current()->first.front();
1407 USHORT lastCh = accessor.current()->first.back();
1408
1409 if ((firstCh >= 0xFDD0 && firstCh <= 0xFDEF) || UTF_IS_SURROGATE(lastCh))
14091410 {
14101411 keySet.clear();
14111412 keySet.add(Array<UCHAR>());
15891590 srcLenLong = p - src + 1;
15901591 }
15911592
1593 UCHAR* originalDst = dst;
1594 USHORT originalDstLen = dstLen;
1595
15921596 if (!trailingNumbersRemoved)
15931597 {
15941598 for (int i = MIN(maxContractionsPrefixLength, srcLenLong); i > 0; --i)
15971601
15981602 if (keys)
15991603 {
1600 const UCHAR* dstStart = dst;
1601 ULONG prefixLen;
1604 UCHAR lastCharKey[BUFFER_TINY]; // sort key for a single character
1605 ULONG prefixLen, lastCharKeyLen;
16021606
16031607 srcLenLong -= i;
16041608
16071611 prefixLen = icu->ucolGetSortKey(coll,
16081612 reinterpret_cast<const UChar*>(src), srcLenLong, dst + 2, dstLen - 2);
16091613
1610 if (prefixLen == 0 || prefixLen > dstLen - 2 || prefixLen > MAX_USHORT)
1614 lastCharKeyLen = icu->ucolGetSortKey(coll,
1615 reinterpret_cast<const UChar*>(src + srcLenLong), i, lastCharKey, sizeof(lastCharKey));
1616
1617 if (prefixLen == 0 || prefixLen > dstLen - 2 || prefixLen > MAX_USHORT ||
1618 lastCharKeyLen == 0)
1619 {
16111620 return INTL_BAD_KEY_LENGTH;
1621 }
16121622
16131623 fb_assert(dst[2 + prefixLen - 1] == '\0');
16141624 --prefixLen;
1615 dstLen -= 2 + prefixLen;
1625
1626 fb_assert(lastCharKey[lastCharKeyLen - 1] == '\0');
1627 --lastCharKeyLen;
16161628 }
16171629 else
16181630 prefixLen = 0;
1631
1632 bool fallbackToPrefixKey = false;
16191633
16201634 for (SortKeyArray::const_iterator keyIt = keys->begin();
16211635 keyIt != keys->end();
16221636 ++keyIt)
16231637 {
1624 const ULONG keyLen = prefixLen + keyIt->getCount();
1638 const UCHAR advance = prefixLen && lastCharKeyLen > 1 &&
1639 keyIt->hasData() && lastCharKey[0] == keyIt->front() ? 1 : 0;
1640
1641 if (keyIt->getCount() - advance == 0)
1642 {
1643 fallbackToPrefixKey = true;
1644 break;
1645 }
1646
1647 const ULONG keyLen = prefixLen + keyIt->getCount() - advance;
16251648
16261649 if (keyLen > dstLen - 2 || keyLen > MAX_USHORT)
16271650 return INTL_BAD_KEY_LENGTH;
16291652 dst[0] = UCHAR(keyLen & 0xFF);
16301653 dst[1] = UCHAR(keyLen >> 8);
16311654
1632 if (dst != dstStart)
1633 memcpy(dst + 2, dstStart + 2, prefixLen);
1634
1635 memcpy(dst + 2 + prefixLen, keyIt->begin(), keyIt->getCount());
1655 if (dst != originalDst)
1656 memcpy(dst + 2, originalDst + 2, prefixLen);
1657
1658 memcpy(dst + 2 + prefixLen, keyIt->begin() + advance, keyIt->getCount() - advance);
16361659 dst += 2 + keyLen;
16371660 dstLen -= 2 + keyLen;
16381661 }
16391662
1640 return dst - dstStart;
1663 if (fallbackToPrefixKey)
1664 break;
1665
1666 return dst - originalDst;
16411667 }
16421668 }
16431669 }
16441670
16451671 ULONG keyLen = icu->ucolGetSortKey(coll,
1646 reinterpret_cast<const UChar*>(src), srcLenLong, dst + 2, dstLen - 3);
1647
1648 if (keyLen == 0 || keyLen > dstLen - 3 || keyLen > MAX_USHORT)
1672 reinterpret_cast<const UChar*>(src), srcLenLong, originalDst + 2, originalDstLen - 3);
1673
1674 if (keyLen == 0 || keyLen > originalDstLen - 3 || keyLen > MAX_USHORT)
16491675 return INTL_BAD_KEY_LENGTH;
16501676
1651 fb_assert(dst[2 + keyLen - 1] == '\0');
1677 fb_assert(originalDst[2 + keyLen - 1] == '\0');
16521678 --keyLen;
16531679
1654 dst[0] = UCHAR(keyLen & 0xFF);
1655 dst[1] = UCHAR(keyLen >> 8);
1680 originalDst[0] = UCHAR(keyLen & 0xFF);
1681 originalDst[1] = UCHAR(keyLen >> 8);
16561682
16571683 return keyLen + 2;
16581684 }
687687 {335544981, "Floating point overflow in built-in function @1"}, /* sysf_fp_overflow */
688688 {335544982, "Floating point overflow in result from UDF @1"}, /* udf_fp_overflow */
689689 {335544983, "Invalid floating point value returned by UDF @1"}, /* udf_fp_nan */
690 {335544984, "Database is probably already opened by another engine instance in another Windows session"}, /* instance_conflict */
690 {335544984, "Shared memory area is probably already created by another engine instance in another Windows session"}, /* instance_conflict */
691691 {335544985, "No free space found in temporary directories"}, /* out_of_temp_space */
692692 {335544986, "Explicit transaction control is not allowed"}, /* eds_expl_tran_ctrl */
693693 {335544987, "Use of TRUSTED switches in spb_command_line is prohibited"}, /* no_trusted_spb */
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp437 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp437 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp437 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
156 0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
157 0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00e6 #LATIN SMALL LETTER AE
162 0x92 0x00c6 #LATIN CAPITAL LETTER AE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
166 0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
167 0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
168 0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00a2 #CENT SIGN
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00a5 #YEN SIGN
174 0x9e 0x20a7 #PESETA SIGN
175 0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
181 0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
182 0xa6 0x00aa #FEMININE ORDINAL INDICATOR
183 0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x2310 #REVERSED NOT SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03b1 #GREEK SMALL LETTER ALPHA
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA
243 0xe3 0x03c0 #GREEK SMALL LETTER PI
244 0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA
245 0xe5 0x03c3 #GREEK SMALL LETTER SIGMA
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x03c4 #GREEK SMALL LETTER TAU
248 0xe8 0x03a6 #GREEK CAPITAL LETTER PHI
249 0xe9 0x0398 #GREEK CAPITAL LETTER THETA
250 0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA
251 0xeb 0x03b4 #GREEK SMALL LETTER DELTA
252 0xec 0x221e #INFINITY
253 0xed 0x03c6 #GREEK SMALL LETTER PHI
254 0xee 0x03b5 #GREEK SMALL LETTER EPSILON
255 0xef 0x2229 #INTERSECTION
256 0xf0 0x2261 #IDENTICAL TO
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2265 #GREATER-THAN OR EQUAL TO
259 0xf3 0x2264 #LESS-THAN OR EQUAL TO
260 0xf4 0x2320 #TOP HALF INTEGRAL
261 0xf5 0x2321 #BOTTOM HALF INTEGRAL
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x2248 #ALMOST EQUAL TO
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp737 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp737 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp737 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0391 #GREEK CAPITAL LETTER ALPHA
145 0x81 0x0392 #GREEK CAPITAL LETTER BETA
146 0x82 0x0393 #GREEK CAPITAL LETTER GAMMA
147 0x83 0x0394 #GREEK CAPITAL LETTER DELTA
148 0x84 0x0395 #GREEK CAPITAL LETTER EPSILON
149 0x85 0x0396 #GREEK CAPITAL LETTER ZETA
150 0x86 0x0397 #GREEK CAPITAL LETTER ETA
151 0x87 0x0398 #GREEK CAPITAL LETTER THETA
152 0x88 0x0399 #GREEK CAPITAL LETTER IOTA
153 0x89 0x039a #GREEK CAPITAL LETTER KAPPA
154 0x8a 0x039b #GREEK CAPITAL LETTER LAMDA
155 0x8b 0x039c #GREEK CAPITAL LETTER MU
156 0x8c 0x039d #GREEK CAPITAL LETTER NU
157 0x8d 0x039e #GREEK CAPITAL LETTER XI
158 0x8e 0x039f #GREEK CAPITAL LETTER OMICRON
159 0x8f 0x03a0 #GREEK CAPITAL LETTER PI
160 0x90 0x03a1 #GREEK CAPITAL LETTER RHO
161 0x91 0x03a3 #GREEK CAPITAL LETTER SIGMA
162 0x92 0x03a4 #GREEK CAPITAL LETTER TAU
163 0x93 0x03a5 #GREEK CAPITAL LETTER UPSILON
164 0x94 0x03a6 #GREEK CAPITAL LETTER PHI
165 0x95 0x03a7 #GREEK CAPITAL LETTER CHI
166 0x96 0x03a8 #GREEK CAPITAL LETTER PSI
167 0x97 0x03a9 #GREEK CAPITAL LETTER OMEGA
168 0x98 0x03b1 #GREEK SMALL LETTER ALPHA
169 0x99 0x03b2 #GREEK SMALL LETTER BETA
170 0x9a 0x03b3 #GREEK SMALL LETTER GAMMA
171 0x9b 0x03b4 #GREEK SMALL LETTER DELTA
172 0x9c 0x03b5 #GREEK SMALL LETTER EPSILON
173 0x9d 0x03b6 #GREEK SMALL LETTER ZETA
174 0x9e 0x03b7 #GREEK SMALL LETTER ETA
175 0x9f 0x03b8 #GREEK SMALL LETTER THETA
176 0xa0 0x03b9 #GREEK SMALL LETTER IOTA
177 0xa1 0x03ba #GREEK SMALL LETTER KAPPA
178 0xa2 0x03bb #GREEK SMALL LETTER LAMDA
179 0xa3 0x03bc #GREEK SMALL LETTER MU
180 0xa4 0x03bd #GREEK SMALL LETTER NU
181 0xa5 0x03be #GREEK SMALL LETTER XI
182 0xa6 0x03bf #GREEK SMALL LETTER OMICRON
183 0xa7 0x03c0 #GREEK SMALL LETTER PI
184 0xa8 0x03c1 #GREEK SMALL LETTER RHO
185 0xa9 0x03c3 #GREEK SMALL LETTER SIGMA
186 0xaa 0x03c2 #GREEK SMALL LETTER FINAL SIGMA
187 0xab 0x03c4 #GREEK SMALL LETTER TAU
188 0xac 0x03c5 #GREEK SMALL LETTER UPSILON
189 0xad 0x03c6 #GREEK SMALL LETTER PHI
190 0xae 0x03c7 #GREEK SMALL LETTER CHI
191 0xaf 0x03c8 #GREEK SMALL LETTER PSI
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03c9 #GREEK SMALL LETTER OMEGA
241 0xe1 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS
242 0xe2 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS
243 0xe3 0x03ae #GREEK SMALL LETTER ETA WITH TONOS
244 0xe4 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA
245 0xe5 0x03af #GREEK SMALL LETTER IOTA WITH TONOS
246 0xe6 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS
247 0xe7 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS
248 0xe8 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
249 0xe9 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS
250 0xea 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS
251 0xeb 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS
252 0xec 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS
253 0xed 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS
254 0xee 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS
255 0xef 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS
256 0xf0 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2265 #GREATER-THAN OR EQUAL TO
259 0xf3 0x2264 #LESS-THAN OR EQUAL TO
260 0xf4 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
261 0xf5 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x2248 #ALMOST EQUAL TO
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp775 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp775 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp775 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x0101 #LATIN SMALL LETTER A WITH MACRON
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
150 0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
151 0x87 0x0107 #LATIN SMALL LETTER C WITH ACUTE
152 0x88 0x0142 #LATIN SMALL LETTER L WITH STROKE
153 0x89 0x0113 #LATIN SMALL LETTER E WITH MACRON
154 0x8a 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
155 0x8b 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
156 0x8c 0x012b #LATIN SMALL LETTER I WITH MACRON
157 0x8d 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00e6 #LATIN SMALL LETTER AE
162 0x92 0x00c6 #LATIN CAPITAL LETTER AE
163 0x93 0x014d #LATIN SMALL LETTER O WITH MACRON
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
166 0x96 0x00a2 #CENT SIGN
167 0x97 0x015a #LATIN CAPITAL LETTER S WITH ACUTE
168 0x98 0x015b #LATIN SMALL LETTER S WITH ACUTE
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
174 0x9e 0x00d7 #MULTIPLICATION SIGN
175 0x9f 0x00a4 #CURRENCY SIGN
176 0xa0 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
177 0xa1 0x012a #LATIN CAPITAL LETTER I WITH MACRON
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
180 0xa4 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
181 0xa5 0x017a #LATIN SMALL LETTER Z WITH ACUTE
182 0xa6 0x201d #RIGHT DOUBLE QUOTATION MARK
183 0xa7 0x00a6 #BROKEN BAR
184 0xa8 0x00a9 #COPYRIGHT SIGN
185 0xa9 0x00ae #REGISTERED SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
198 0xb6 0x010c #LATIN CAPITAL LETTER C WITH CARON
199 0xb7 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
200 0xb8 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x012e #LATIN CAPITAL LETTER I WITH OGONEK
206 0xbe 0x0160 #LATIN CAPITAL LETTER S WITH CARON
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
215 0xc7 0x016a #LATIN CAPITAL LETTER U WITH MACRON
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x017d #LATIN CAPITAL LETTER Z WITH CARON
224 0xd0 0x0105 #LATIN SMALL LETTER A WITH OGONEK
225 0xd1 0x010d #LATIN SMALL LETTER C WITH CARON
226 0xd2 0x0119 #LATIN SMALL LETTER E WITH OGONEK
227 0xd3 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
228 0xd4 0x012f #LATIN SMALL LETTER I WITH OGONEK
229 0xd5 0x0161 #LATIN SMALL LETTER S WITH CARON
230 0xd6 0x0173 #LATIN SMALL LETTER U WITH OGONEK
231 0xd7 0x016b #LATIN SMALL LETTER U WITH MACRON
232 0xd8 0x017e #LATIN SMALL LETTER Z WITH CARON
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x014c #LATIN CAPITAL LETTER O WITH MACRON
243 0xe3 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
244 0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE
245 0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x0144 #LATIN SMALL LETTER N WITH ACUTE
248 0xe8 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
249 0xe9 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
250 0xea 0x013b #LATIN CAPITAL LETTER L WITH CEDILLA
251 0xeb 0x013c #LATIN SMALL LETTER L WITH CEDILLA
252 0xec 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
253 0xed 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
254 0xee 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
255 0xef 0x2019 #RIGHT SINGLE QUOTATION MARK
256 0xf0 0x00ad #SOFT HYPHEN
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x201c #LEFT DOUBLE QUOTATION MARK
259 0xf3 0x00be #VULGAR FRACTION THREE QUARTERS
260 0xf4 0x00b6 #PILCROW SIGN
261 0xf5 0x00a7 #SECTION SIGN
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x201e #DOUBLE LOW-9 QUOTATION MARK
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x00b9 #SUPERSCRIPT ONE
268 0xfc 0x00b3 #SUPERSCRIPT THREE
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp850 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp850 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp850 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
156 0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
157 0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00e6 #LATIN SMALL LETTER AE
162 0x92 0x00c6 #LATIN CAPITAL LETTER AE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
166 0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
167 0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
168 0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
174 0x9e 0x00d7 #MULTIPLICATION SIGN
175 0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
181 0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
182 0xa6 0x00aa #FEMININE ORDINAL INDICATOR
183 0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x00ae #REGISTERED SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
198 0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
199 0xb7 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
200 0xb8 0x00a9 #COPYRIGHT SIGN
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x00a2 #CENT SIGN
206 0xbe 0x00a5 #YEN SIGN
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x00e3 #LATIN SMALL LETTER A WITH TILDE
215 0xc7 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x00a4 #CURRENCY SIGN
224 0xd0 0x00f0 #LATIN SMALL LETTER ETH
225 0xd1 0x00d0 #LATIN CAPITAL LETTER ETH
226 0xd2 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
227 0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
228 0xd4 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
229 0xd5 0x0131 #LATIN SMALL LETTER DOTLESS I
230 0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
231 0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
232 0xd8 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x00a6 #BROKEN BAR
238 0xde 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
243 0xe3 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
244 0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE
245 0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x00fe #LATIN SMALL LETTER THORN
248 0xe8 0x00de #LATIN CAPITAL LETTER THORN
249 0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
250 0xea 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
251 0xeb 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
252 0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
253 0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
254 0xee 0x00af #MACRON
255 0xef 0x00b4 #ACUTE ACCENT
256 0xf0 0x00ad #SOFT HYPHEN
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2017 #DOUBLE LOW LINE
259 0xf3 0x00be #VULGAR FRACTION THREE QUARTERS
260 0xf4 0x00b6 #PILCROW SIGN
261 0xf5 0x00a7 #SECTION SIGN
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x00b8 #CEDILLA
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x00a8 #DIAERESIS
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x00b9 #SUPERSCRIPT ONE
268 0xfc 0x00b3 #SUPERSCRIPT THREE
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp852 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp852 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp852 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x016f #LATIN SMALL LETTER U WITH RING ABOVE
150 0x86 0x0107 #LATIN SMALL LETTER C WITH ACUTE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x0142 #LATIN SMALL LETTER L WITH STROKE
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
155 0x8b 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
156 0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
157 0x8d 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
162 0x92 0x013a #LATIN SMALL LETTER L WITH ACUTE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x013d #LATIN CAPITAL LETTER L WITH CARON
166 0x96 0x013e #LATIN SMALL LETTER L WITH CARON
167 0x97 0x015a #LATIN CAPITAL LETTER S WITH ACUTE
168 0x98 0x015b #LATIN SMALL LETTER S WITH ACUTE
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x0164 #LATIN CAPITAL LETTER T WITH CARON
172 0x9c 0x0165 #LATIN SMALL LETTER T WITH CARON
173 0x9d 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
174 0x9e 0x00d7 #MULTIPLICATION SIGN
175 0x9f 0x010d #LATIN SMALL LETTER C WITH CARON
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
181 0xa5 0x0105 #LATIN SMALL LETTER A WITH OGONEK
182 0xa6 0x017d #LATIN CAPITAL LETTER Z WITH CARON
183 0xa7 0x017e #LATIN SMALL LETTER Z WITH CARON
184 0xa8 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
185 0xa9 0x0119 #LATIN SMALL LETTER E WITH OGONEK
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x017a #LATIN SMALL LETTER Z WITH ACUTE
188 0xac 0x010c #LATIN CAPITAL LETTER C WITH CARON
189 0xad 0x015f #LATIN SMALL LETTER S WITH CEDILLA
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
198 0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
199 0xb7 0x011a #LATIN CAPITAL LETTER E WITH CARON
200 0xb8 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
206 0xbe 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x0102 #LATIN CAPITAL LETTER A WITH BREVE
215 0xc7 0x0103 #LATIN SMALL LETTER A WITH BREVE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x00a4 #CURRENCY SIGN
224 0xd0 0x0111 #LATIN SMALL LETTER D WITH STROKE
225 0xd1 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
226 0xd2 0x010e #LATIN CAPITAL LETTER D WITH CARON
227 0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
228 0xd4 0x010f #LATIN SMALL LETTER D WITH CARON
229 0xd5 0x0147 #LATIN CAPITAL LETTER N WITH CARON
230 0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
231 0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
232 0xd8 0x011b #LATIN SMALL LETTER E WITH CARON
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA
238 0xde 0x016e #LATIN CAPITAL LETTER U WITH RING ABOVE
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
243 0xe3 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
244 0xe4 0x0144 #LATIN SMALL LETTER N WITH ACUTE
245 0xe5 0x0148 #LATIN SMALL LETTER N WITH CARON
246 0xe6 0x0160 #LATIN CAPITAL LETTER S WITH CARON
247 0xe7 0x0161 #LATIN SMALL LETTER S WITH CARON
248 0xe8 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
249 0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
250 0xea 0x0155 #LATIN SMALL LETTER R WITH ACUTE
251 0xeb 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
252 0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
253 0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
254 0xee 0x0163 #LATIN SMALL LETTER T WITH CEDILLA
255 0xef 0x00b4 #ACUTE ACCENT
256 0xf0 0x00ad #SOFT HYPHEN
257 0xf1 0x02dd #DOUBLE ACUTE ACCENT
258 0xf2 0x02db #OGONEK
259 0xf3 0x02c7 #CARON
260 0xf4 0x02d8 #BREVE
261 0xf5 0x00a7 #SECTION SIGN
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x00b8 #CEDILLA
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x00a8 #DIAERESIS
266 0xfa 0x02d9 #DOT ABOVE
267 0xfb 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
268 0xfc 0x0158 #LATIN CAPITAL LETTER R WITH CARON
269 0xfd 0x0159 #LATIN SMALL LETTER R WITH CARON
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp857 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp857 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp857 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
156 0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
157 0x8d 0x0131 #LATIN SMALL LETTER DOTLESS I
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00e6 #LATIN SMALL LETTER AE
162 0x92 0x00c6 #LATIN CAPITAL LETTER AE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
166 0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
167 0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
168 0x98 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
174 0x9e 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
175 0x9f 0x015f #LATIN SMALL LETTER S WITH CEDILLA
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
181 0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
182 0xa6 0x011e #LATIN CAPITAL LETTER G WITH BREVE
183 0xa7 0x011f #LATIN SMALL LETTER G WITH BREVE
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x00ae #REGISTERED SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
198 0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
199 0xb7 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
200 0xb8 0x00a9 #COPYRIGHT SIGN
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x00a2 #CENT SIGN
206 0xbe 0x00a5 #YEN SIGN
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x00e3 #LATIN SMALL LETTER A WITH TILDE
215 0xc7 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x00a4 #CURRENCY SIGN
224 0xd0 0x00ba #MASCULINE ORDINAL INDICATOR
225 0xd1 0x00aa #FEMININE ORDINAL INDICATOR
226 0xd2 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
227 0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
228 0xd4 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
229 0xd5 #UNDEFINED
230 0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
231 0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
232 0xd8 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x00a6 #BROKEN BAR
238 0xde 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
243 0xe3 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
244 0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE
245 0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 #UNDEFINED
248 0xe8 0x00d7 #MULTIPLICATION SIGN
249 0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
250 0xea 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
251 0xeb 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
252 0xec 0x00ec #LATIN SMALL LETTER I WITH GRAVE
253 0xed 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
254 0xee 0x00af #MACRON
255 0xef 0x00b4 #ACUTE ACCENT
256 0xf0 0x00ad #SOFT HYPHEN
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 #UNDEFINED
259 0xf3 0x00be #VULGAR FRACTION THREE QUARTERS
260 0xf4 0x00b6 #PILCROW SIGN
261 0xf5 0x00a7 #SECTION SIGN
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x00b8 #CEDILLA
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x00a8 #DIAERESIS
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x00b9 #SUPERSCRIPT ONE
268 0xfc 0x00b3 #SUPERSCRIPT THREE
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp858 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp858 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp858 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
156 0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
157 0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00e6 #LATIN SMALL LETTER AE
162 0x92 0x00c6 #LATIN CAPITAL LETTER AE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
166 0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
167 0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
168 0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
174 0x9e 0x00d7 #MULTIPLICATION SIGN
175 0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
181 0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
182 0xa6 0x00aa #FEMININE ORDINAL INDICATOR
183 0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x00ae #REGISTERED SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
198 0xb6 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
199 0xb7 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
200 0xb8 0x00a9 #COPYRIGHT SIGN
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x00a2 #CENT SIGN
206 0xbe 0x00a5 #YEN SIGN
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x00e3 #LATIN SMALL LETTER A WITH TILDE
215 0xc7 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x00a4 #CURRENCY SIGN
224 0xd0 0x00f0 #LATIN SMALL LETTER ETH
225 0xd1 0x00d0 #LATIN CAPITAL LETTER ETH
226 0xd2 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
227 0xd3 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
228 0xd4 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
229 0xd5 0x20ac #EURO SIGN
230 0xd6 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
231 0xd7 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
232 0xd8 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x00a6 #BROKEN BAR
238 0xde 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
243 0xe3 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
244 0xe4 0x00f5 #LATIN SMALL LETTER O WITH TILDE
245 0xe5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x00fe #LATIN SMALL LETTER THORN
248 0xe8 0x00de #LATIN CAPITAL LETTER THORN
249 0xe9 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
250 0xea 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
251 0xeb 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
252 0xec 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
253 0xed 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
254 0xee 0x00af #MACRON
255 0xef 0x00b4 #ACUTE ACCENT
256 0xf0 0x00ad #SOFT HYPHEN
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2017 #DOUBLE LOW LINE
259 0xf3 0x00be #VULGAR FRACTION THREE QUARTERS
260 0xf4 0x00b6 #PILCROW SIGN
261 0xf5 0x00a7 #SECTION SIGN
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x00b8 #CEDILLA
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x00a8 #DIAERESIS
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x00b9 #SUPERSCRIPT ONE
268 0xfc 0x00b3 #SUPERSCRIPT THREE
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp860 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp860 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp860 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e3 #LATIN SMALL LETTER A WITH TILDE
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
156 0x8c 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
157 0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE
158 0x8e 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
159 0x8f 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
162 0x92 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f5 #LATIN SMALL LETTER O WITH TILDE
165 0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
166 0x96 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
167 0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
168 0x98 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
169 0x99 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00a2 #CENT SIGN
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
174 0x9e 0x20a7 #PESETA SIGN
175 0x9f 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
181 0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
182 0xa6 0x00aa #FEMININE ORDINAL INDICATOR
183 0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03b1 #GREEK SMALL LETTER ALPHA
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA
243 0xe3 0x03c0 #GREEK SMALL LETTER PI
244 0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA
245 0xe5 0x03c3 #GREEK SMALL LETTER SIGMA
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x03c4 #GREEK SMALL LETTER TAU
248 0xe8 0x03a6 #GREEK CAPITAL LETTER PHI
249 0xe9 0x0398 #GREEK CAPITAL LETTER THETA
250 0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA
251 0xeb 0x03b4 #GREEK SMALL LETTER DELTA
252 0xec 0x221e #INFINITY
253 0xed 0x03c6 #GREEK SMALL LETTER PHI
254 0xee 0x03b5 #GREEK SMALL LETTER EPSILON
255 0xef 0x2229 #INTERSECTION
256 0xf0 0x2261 #IDENTICAL TO
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2265 #GREATER-THAN OR EQUAL TO
259 0xf3 0x2264 #LESS-THAN OR EQUAL TO
260 0xf4 0x2320 #TOP HALF INTEGRAL
261 0xf5 0x2321 #BOTTOM HALF INTEGRAL
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x2248 #ALMOST EQUAL TO
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp861 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp861 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp861 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00d0 #LATIN CAPITAL LETTER ETH
156 0x8c 0x00f0 #LATIN SMALL LETTER ETH
157 0x8d 0x00de #LATIN CAPITAL LETTER THORN
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00e6 #LATIN SMALL LETTER AE
162 0x92 0x00c6 #LATIN CAPITAL LETTER AE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x00fe #LATIN SMALL LETTER THORN
166 0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
167 0x97 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
168 0x98 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
174 0x9e 0x20a7 #PESETA SIGN
175 0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
181 0xa5 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
182 0xa6 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
183 0xa7 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x2310 #REVERSED NOT SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03b1 #GREEK SMALL LETTER ALPHA
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA
243 0xe3 0x03c0 #GREEK SMALL LETTER PI
244 0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA
245 0xe5 0x03c3 #GREEK SMALL LETTER SIGMA
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x03c4 #GREEK SMALL LETTER TAU
248 0xe8 0x03a6 #GREEK CAPITAL LETTER PHI
249 0xe9 0x0398 #GREEK CAPITAL LETTER THETA
250 0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA
251 0xeb 0x03b4 #GREEK SMALL LETTER DELTA
252 0xec 0x221e #INFINITY
253 0xed 0x03c6 #GREEK SMALL LETTER PHI
254 0xee 0x03b5 #GREEK SMALL LETTER EPSILON
255 0xef 0x2229 #INTERSECTION
256 0xf0 0x2261 #IDENTICAL TO
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2265 #GREATER-THAN OR EQUAL TO
259 0xf3 0x2264 #LESS-THAN OR EQUAL TO
260 0xf4 0x2320 #TOP HALF INTEGRAL
261 0xf5 0x2321 #BOTTOM HALF INTEGRAL
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x2248 #ALMOST EQUAL TO
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp862 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp862 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp862 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x05d0 #HEBREW LETTER ALEF
145 0x81 0x05d1 #HEBREW LETTER BET
146 0x82 0x05d2 #HEBREW LETTER GIMEL
147 0x83 0x05d3 #HEBREW LETTER DALET
148 0x84 0x05d4 #HEBREW LETTER HE
149 0x85 0x05d5 #HEBREW LETTER VAV
150 0x86 0x05d6 #HEBREW LETTER ZAYIN
151 0x87 0x05d7 #HEBREW LETTER HET
152 0x88 0x05d8 #HEBREW LETTER TET
153 0x89 0x05d9 #HEBREW LETTER YOD
154 0x8a 0x05da #HEBREW LETTER FINAL KAF
155 0x8b 0x05db #HEBREW LETTER KAF
156 0x8c 0x05dc #HEBREW LETTER LAMED
157 0x8d 0x05dd #HEBREW LETTER FINAL MEM
158 0x8e 0x05de #HEBREW LETTER MEM
159 0x8f 0x05df #HEBREW LETTER FINAL NUN
160 0x90 0x05e0 #HEBREW LETTER NUN
161 0x91 0x05e1 #HEBREW LETTER SAMEKH
162 0x92 0x05e2 #HEBREW LETTER AYIN
163 0x93 0x05e3 #HEBREW LETTER FINAL PE
164 0x94 0x05e4 #HEBREW LETTER PE
165 0x95 0x05e5 #HEBREW LETTER FINAL TSADI
166 0x96 0x05e6 #HEBREW LETTER TSADI
167 0x97 0x05e7 #HEBREW LETTER QOF
168 0x98 0x05e8 #HEBREW LETTER RESH
169 0x99 0x05e9 #HEBREW LETTER SHIN
170 0x9a 0x05ea #HEBREW LETTER TAV
171 0x9b 0x00a2 #CENT SIGN
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00a5 #YEN SIGN
174 0x9e 0x20a7 #PESETA SIGN
175 0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
181 0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
182 0xa6 0x00aa #FEMININE ORDINAL INDICATOR
183 0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x2310 #REVERSED NOT SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03b1 #GREEK SMALL LETTER ALPHA
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA
243 0xe3 0x03c0 #GREEK SMALL LETTER PI
244 0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA
245 0xe5 0x03c3 #GREEK SMALL LETTER SIGMA
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x03c4 #GREEK SMALL LETTER TAU
248 0xe8 0x03a6 #GREEK CAPITAL LETTER PHI
249 0xe9 0x0398 #GREEK CAPITAL LETTER THETA
250 0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA
251 0xeb 0x03b4 #GREEK SMALL LETTER DELTA
252 0xec 0x221e #INFINITY
253 0xed 0x03c6 #GREEK SMALL LETTER PHI
254 0xee 0x03b5 #GREEK SMALL LETTER EPSILON
255 0xef 0x2229 #INTERSECTION
256 0xf0 0x2261 #IDENTICAL TO
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2265 #GREATER-THAN OR EQUAL TO
259 0xf3 0x2264 #LESS-THAN OR EQUAL TO
260 0xf4 0x2320 #TOP HALF INTEGRAL
261 0xf5 0x2321 #BOTTOM HALF INTEGRAL
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x2248 #ALMOST EQUAL TO
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp863 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp863 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp863 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00b6 #PILCROW SIGN
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
156 0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
157 0x8d 0x2017 #DOUBLE LOW LINE
158 0x8e 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
159 0x8f 0x00a7 #SECTION SIGN
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
162 0x92 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
165 0x95 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
166 0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
167 0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
168 0x98 0x00a4 #CURRENCY SIGN
169 0x99 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00a2 #CENT SIGN
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
174 0x9e 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
175 0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
176 0xa0 0x00a6 #BROKEN BAR
177 0xa1 0x00b4 #ACUTE ACCENT
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00a8 #DIAERESIS
181 0xa5 0x00b8 #CEDILLA
182 0xa6 0x00b3 #SUPERSCRIPT THREE
183 0xa7 0x00af #MACRON
184 0xa8 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
185 0xa9 0x2310 #REVERSED NOT SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00be #VULGAR FRACTION THREE QUARTERS
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03b1 #GREEK SMALL LETTER ALPHA
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA
243 0xe3 0x03c0 #GREEK SMALL LETTER PI
244 0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA
245 0xe5 0x03c3 #GREEK SMALL LETTER SIGMA
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x03c4 #GREEK SMALL LETTER TAU
248 0xe8 0x03a6 #GREEK CAPITAL LETTER PHI
249 0xe9 0x0398 #GREEK CAPITAL LETTER THETA
250 0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA
251 0xeb 0x03b4 #GREEK SMALL LETTER DELTA
252 0xec 0x221e #INFINITY
253 0xed 0x03c6 #GREEK SMALL LETTER PHI
254 0xee 0x03b5 #GREEK SMALL LETTER EPSILON
255 0xef 0x2229 #INTERSECTION
256 0xf0 0x2261 #IDENTICAL TO
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2265 #GREATER-THAN OR EQUAL TO
259 0xf3 0x2264 #LESS-THAN OR EQUAL TO
260 0xf4 0x2320 #TOP HALF INTEGRAL
261 0xf5 0x2321 #BOTTOM HALF INTEGRAL
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x2248 #ALMOST EQUAL TO
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp864 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp864 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp864 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x066a #ARABIC PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00b0 #DEGREE SIGN
145 0x81 0x00b7 #MIDDLE DOT
146 0x82 0x2219 #BULLET OPERATOR
147 0x83 0x221a #SQUARE ROOT
148 0x84 0x2592 #MEDIUM SHADE
149 0x85 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
150 0x86 0x2502 #BOX DRAWINGS LIGHT VERTICAL
151 0x87 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
152 0x88 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
153 0x89 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
154 0x8a 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
155 0x8b 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
156 0x8c 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
157 0x8d 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
158 0x8e 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
159 0x8f 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
160 0x90 0x03b2 #GREEK SMALL LETTER BETA
161 0x91 0x221e #INFINITY
162 0x92 0x03c6 #GREEK SMALL LETTER PHI
163 0x93 0x00b1 #PLUS-MINUS SIGN
164 0x94 0x00bd #VULGAR FRACTION ONE HALF
165 0x95 0x00bc #VULGAR FRACTION ONE QUARTER
166 0x96 0x2248 #ALMOST EQUAL TO
167 0x97 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
168 0x98 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
169 0x99 0xfef7 #ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
170 0x9a 0xfef8 #ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
171 0x9b #UNDEFINED
172 0x9c #UNDEFINED
173 0x9d 0xfefb #ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
174 0x9e 0xfefc #ARABIC LIGATURE LAM WITH ALEF FINAL FORM
175 0x9f #UNDEFINED
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x00ad #SOFT HYPHEN
178 0xa2 0xfe82 #ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0xfe84 #ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
182 0xa6 #UNDEFINED
183 0xa7 #UNDEFINED
184 0xa8 0xfe8e #ARABIC LETTER ALEF FINAL FORM
185 0xa9 0xfe8f #ARABIC LETTER BEH ISOLATED FORM
186 0xaa 0xfe95 #ARABIC LETTER TEH ISOLATED FORM
187 0xab 0xfe99 #ARABIC LETTER THEH ISOLATED FORM
188 0xac 0x060c #ARABIC COMMA
189 0xad 0xfe9d #ARABIC LETTER JEEM ISOLATED FORM
190 0xae 0xfea1 #ARABIC LETTER HAH ISOLATED FORM
191 0xaf 0xfea5 #ARABIC LETTER KHAH ISOLATED FORM
192 0xb0 0x0660 #ARABIC-INDIC DIGIT ZERO
193 0xb1 0x0661 #ARABIC-INDIC DIGIT ONE
194 0xb2 0x0662 #ARABIC-INDIC DIGIT TWO
195 0xb3 0x0663 #ARABIC-INDIC DIGIT THREE
196 0xb4 0x0664 #ARABIC-INDIC DIGIT FOUR
197 0xb5 0x0665 #ARABIC-INDIC DIGIT FIVE
198 0xb6 0x0666 #ARABIC-INDIC DIGIT SIX
199 0xb7 0x0667 #ARABIC-INDIC DIGIT SEVEN
200 0xb8 0x0668 #ARABIC-INDIC DIGIT EIGHT
201 0xb9 0x0669 #ARABIC-INDIC DIGIT NINE
202 0xba 0xfed1 #ARABIC LETTER FEH ISOLATED FORM
203 0xbb 0x061b #ARABIC SEMICOLON
204 0xbc 0xfeb1 #ARABIC LETTER SEEN ISOLATED FORM
205 0xbd 0xfeb5 #ARABIC LETTER SHEEN ISOLATED FORM
206 0xbe 0xfeb9 #ARABIC LETTER SAD ISOLATED FORM
207 0xbf 0x061f #ARABIC QUESTION MARK
208 0xc0 0x00a2 #CENT SIGN
209 0xc1 0xfe80 #ARABIC LETTER HAMZA ISOLATED FORM
210 0xc2 0xfe81 #ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
211 0xc3 0xfe83 #ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
212 0xc4 0xfe85 #ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
213 0xc5 0xfeca #ARABIC LETTER AIN FINAL FORM
214 0xc6 0xfe8b #ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
215 0xc7 0xfe8d #ARABIC LETTER ALEF ISOLATED FORM
216 0xc8 0xfe91 #ARABIC LETTER BEH INITIAL FORM
217 0xc9 0xfe93 #ARABIC LETTER TEH MARBUTA ISOLATED FORM
218 0xca 0xfe97 #ARABIC LETTER TEH INITIAL FORM
219 0xcb 0xfe9b #ARABIC LETTER THEH INITIAL FORM
220 0xcc 0xfe9f #ARABIC LETTER JEEM INITIAL FORM
221 0xcd 0xfea3 #ARABIC LETTER HAH INITIAL FORM
222 0xce 0xfea7 #ARABIC LETTER KHAH INITIAL FORM
223 0xcf 0xfea9 #ARABIC LETTER DAL ISOLATED FORM
224 0xd0 0xfeab #ARABIC LETTER THAL ISOLATED FORM
225 0xd1 0xfead #ARABIC LETTER REH ISOLATED FORM
226 0xd2 0xfeaf #ARABIC LETTER ZAIN ISOLATED FORM
227 0xd3 0xfeb3 #ARABIC LETTER SEEN INITIAL FORM
228 0xd4 0xfeb7 #ARABIC LETTER SHEEN INITIAL FORM
229 0xd5 0xfebb #ARABIC LETTER SAD INITIAL FORM
230 0xd6 0xfebf #ARABIC LETTER DAD INITIAL FORM
231 0xd7 0xfec1 #ARABIC LETTER TAH ISOLATED FORM
232 0xd8 0xfec5 #ARABIC LETTER ZAH ISOLATED FORM
233 0xd9 0xfecb #ARABIC LETTER AIN INITIAL FORM
234 0xda 0xfecf #ARABIC LETTER GHAIN INITIAL FORM
235 0xdb 0x00a6 #BROKEN BAR
236 0xdc 0x00ac #NOT SIGN
237 0xdd 0x00f7 #DIVISION SIGN
238 0xde 0x00d7 #MULTIPLICATION SIGN
239 0xdf 0xfec9 #ARABIC LETTER AIN ISOLATED FORM
240 0xe0 0x0640 #ARABIC TATWEEL
241 0xe1 0xfed3 #ARABIC LETTER FEH INITIAL FORM
242 0xe2 0xfed7 #ARABIC LETTER QAF INITIAL FORM
243 0xe3 0xfedb #ARABIC LETTER KAF INITIAL FORM
244 0xe4 0xfedf #ARABIC LETTER LAM INITIAL FORM
245 0xe5 0xfee3 #ARABIC LETTER MEEM INITIAL FORM
246 0xe6 0xfee7 #ARABIC LETTER NOON INITIAL FORM
247 0xe7 0xfeeb #ARABIC LETTER HEH INITIAL FORM
248 0xe8 0xfeed #ARABIC LETTER WAW ISOLATED FORM
249 0xe9 0xfeef #ARABIC LETTER ALEF MAKSURA ISOLATED FORM
250 0xea 0xfef3 #ARABIC LETTER YEH INITIAL FORM
251 0xeb 0xfebd #ARABIC LETTER DAD ISOLATED FORM
252 0xec 0xfecc #ARABIC LETTER AIN MEDIAL FORM
253 0xed 0xfece #ARABIC LETTER GHAIN FINAL FORM
254 0xee 0xfecd #ARABIC LETTER GHAIN ISOLATED FORM
255 0xef 0xfee1 #ARABIC LETTER MEEM ISOLATED FORM
256 0xf0 0xfe7d #ARABIC SHADDA MEDIAL FORM
257 0xf1 0x0651 #ARABIC SHADDA
258 0xf2 0xfee5 #ARABIC LETTER NOON ISOLATED FORM
259 0xf3 0xfee9 #ARABIC LETTER HEH ISOLATED FORM
260 0xf4 0xfeec #ARABIC LETTER HEH MEDIAL FORM
261 0xf5 0xfef0 #ARABIC LETTER ALEF MAKSURA FINAL FORM
262 0xf6 0xfef2 #ARABIC LETTER YEH FINAL FORM
263 0xf7 0xfed0 #ARABIC LETTER GHAIN MEDIAL FORM
264 0xf8 0xfed5 #ARABIC LETTER QAF ISOLATED FORM
265 0xf9 0xfef5 #ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
266 0xfa 0xfef6 #ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
267 0xfb 0xfedd #ARABIC LETTER LAM ISOLATED FORM
268 0xfc 0xfed9 #ARABIC LETTER KAF ISOLATED FORM
269 0xfd 0xfef1 #ARABIC LETTER YEH ISOLATED FORM
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff #UNDEFINED
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp865 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp865 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp865 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
145 0x81 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
146 0x82 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
147 0x83 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
148 0x84 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
149 0x85 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
150 0x86 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
151 0x87 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
152 0x88 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
153 0x89 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
154 0x8a 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
155 0x8b 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
156 0x8c 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
157 0x8d 0x00ec #LATIN SMALL LETTER I WITH GRAVE
158 0x8e 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
159 0x8f 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
160 0x90 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
161 0x91 0x00e6 #LATIN SMALL LETTER AE
162 0x92 0x00c6 #LATIN CAPITAL LETTER AE
163 0x93 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
164 0x94 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
165 0x95 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
166 0x96 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
167 0x97 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
168 0x98 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
169 0x99 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
170 0x9a 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
171 0x9b 0x00f8 #LATIN SMALL LETTER O WITH STROKE
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
174 0x9e 0x20a7 #PESETA SIGN
175 0x9f 0x0192 #LATIN SMALL LETTER F WITH HOOK
176 0xa0 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
177 0xa1 0x00ed #LATIN SMALL LETTER I WITH ACUTE
178 0xa2 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
179 0xa3 0x00fa #LATIN SMALL LETTER U WITH ACUTE
180 0xa4 0x00f1 #LATIN SMALL LETTER N WITH TILDE
181 0xa5 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
182 0xa6 0x00aa #FEMININE ORDINAL INDICATOR
183 0xa7 0x00ba #MASCULINE ORDINAL INDICATOR
184 0xa8 0x00bf #INVERTED QUESTION MARK
185 0xa9 0x2310 #REVERSED NOT SIGN
186 0xaa 0x00ac #NOT SIGN
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x00bc #VULGAR FRACTION ONE QUARTER
189 0xad 0x00a1 #INVERTED EXCLAMATION MARK
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00a4 #CURRENCY SIGN
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03b1 #GREEK SMALL LETTER ALPHA
241 0xe1 0x00df #LATIN SMALL LETTER SHARP S
242 0xe2 0x0393 #GREEK CAPITAL LETTER GAMMA
243 0xe3 0x03c0 #GREEK SMALL LETTER PI
244 0xe4 0x03a3 #GREEK CAPITAL LETTER SIGMA
245 0xe5 0x03c3 #GREEK SMALL LETTER SIGMA
246 0xe6 0x00b5 #MICRO SIGN
247 0xe7 0x03c4 #GREEK SMALL LETTER TAU
248 0xe8 0x03a6 #GREEK CAPITAL LETTER PHI
249 0xe9 0x0398 #GREEK CAPITAL LETTER THETA
250 0xea 0x03a9 #GREEK CAPITAL LETTER OMEGA
251 0xeb 0x03b4 #GREEK SMALL LETTER DELTA
252 0xec 0x221e #INFINITY
253 0xed 0x03c6 #GREEK SMALL LETTER PHI
254 0xee 0x03b5 #GREEK SMALL LETTER EPSILON
255 0xef 0x2229 #INTERSECTION
256 0xf0 0x2261 #IDENTICAL TO
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x2265 #GREATER-THAN OR EQUAL TO
259 0xf3 0x2264 #LESS-THAN OR EQUAL TO
260 0xf4 0x2320 #TOP HALF INTEGRAL
261 0xf5 0x2321 #BOTTOM HALF INTEGRAL
262 0xf6 0x00f7 #DIVISION SIGN
263 0xf7 0x2248 #ALMOST EQUAL TO
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x207f #SUPERSCRIPT LATIN SMALL LETTER N
269 0xfd 0x00b2 #SUPERSCRIPT TWO
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp866 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp866 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp866 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0410 #CYRILLIC CAPITAL LETTER A
145 0x81 0x0411 #CYRILLIC CAPITAL LETTER BE
146 0x82 0x0412 #CYRILLIC CAPITAL LETTER VE
147 0x83 0x0413 #CYRILLIC CAPITAL LETTER GHE
148 0x84 0x0414 #CYRILLIC CAPITAL LETTER DE
149 0x85 0x0415 #CYRILLIC CAPITAL LETTER IE
150 0x86 0x0416 #CYRILLIC CAPITAL LETTER ZHE
151 0x87 0x0417 #CYRILLIC CAPITAL LETTER ZE
152 0x88 0x0418 #CYRILLIC CAPITAL LETTER I
153 0x89 0x0419 #CYRILLIC CAPITAL LETTER SHORT I
154 0x8a 0x041a #CYRILLIC CAPITAL LETTER KA
155 0x8b 0x041b #CYRILLIC CAPITAL LETTER EL
156 0x8c 0x041c #CYRILLIC CAPITAL LETTER EM
157 0x8d 0x041d #CYRILLIC CAPITAL LETTER EN
158 0x8e 0x041e #CYRILLIC CAPITAL LETTER O
159 0x8f 0x041f #CYRILLIC CAPITAL LETTER PE
160 0x90 0x0420 #CYRILLIC CAPITAL LETTER ER
161 0x91 0x0421 #CYRILLIC CAPITAL LETTER ES
162 0x92 0x0422 #CYRILLIC CAPITAL LETTER TE
163 0x93 0x0423 #CYRILLIC CAPITAL LETTER U
164 0x94 0x0424 #CYRILLIC CAPITAL LETTER EF
165 0x95 0x0425 #CYRILLIC CAPITAL LETTER HA
166 0x96 0x0426 #CYRILLIC CAPITAL LETTER TSE
167 0x97 0x0427 #CYRILLIC CAPITAL LETTER CHE
168 0x98 0x0428 #CYRILLIC CAPITAL LETTER SHA
169 0x99 0x0429 #CYRILLIC CAPITAL LETTER SHCHA
170 0x9a 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN
171 0x9b 0x042b #CYRILLIC CAPITAL LETTER YERU
172 0x9c 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN
173 0x9d 0x042d #CYRILLIC CAPITAL LETTER E
174 0x9e 0x042e #CYRILLIC CAPITAL LETTER YU
175 0x9f 0x042f #CYRILLIC CAPITAL LETTER YA
176 0xa0 0x0430 #CYRILLIC SMALL LETTER A
177 0xa1 0x0431 #CYRILLIC SMALL LETTER BE
178 0xa2 0x0432 #CYRILLIC SMALL LETTER VE
179 0xa3 0x0433 #CYRILLIC SMALL LETTER GHE
180 0xa4 0x0434 #CYRILLIC SMALL LETTER DE
181 0xa5 0x0435 #CYRILLIC SMALL LETTER IE
182 0xa6 0x0436 #CYRILLIC SMALL LETTER ZHE
183 0xa7 0x0437 #CYRILLIC SMALL LETTER ZE
184 0xa8 0x0438 #CYRILLIC SMALL LETTER I
185 0xa9 0x0439 #CYRILLIC SMALL LETTER SHORT I
186 0xaa 0x043a #CYRILLIC SMALL LETTER KA
187 0xab 0x043b #CYRILLIC SMALL LETTER EL
188 0xac 0x043c #CYRILLIC SMALL LETTER EM
189 0xad 0x043d #CYRILLIC SMALL LETTER EN
190 0xae 0x043e #CYRILLIC SMALL LETTER O
191 0xaf 0x043f #CYRILLIC SMALL LETTER PE
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x2561 #BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
198 0xb6 0x2562 #BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
199 0xb7 0x2556 #BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
200 0xb8 0x2555 #BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x255c #BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
206 0xbe 0x255b #BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x255e #BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
215 0xc7 0x255f #BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x2567 #BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
224 0xd0 0x2568 #BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
225 0xd1 0x2564 #BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
226 0xd2 0x2565 #BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
227 0xd3 0x2559 #BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
228 0xd4 0x2558 #BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
229 0xd5 0x2552 #BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
230 0xd6 0x2553 #BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
231 0xd7 0x256b #BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
232 0xd8 0x256a #BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x258c #LEFT HALF BLOCK
238 0xde 0x2590 #RIGHT HALF BLOCK
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x0440 #CYRILLIC SMALL LETTER ER
241 0xe1 0x0441 #CYRILLIC SMALL LETTER ES
242 0xe2 0x0442 #CYRILLIC SMALL LETTER TE
243 0xe3 0x0443 #CYRILLIC SMALL LETTER U
244 0xe4 0x0444 #CYRILLIC SMALL LETTER EF
245 0xe5 0x0445 #CYRILLIC SMALL LETTER HA
246 0xe6 0x0446 #CYRILLIC SMALL LETTER TSE
247 0xe7 0x0447 #CYRILLIC SMALL LETTER CHE
248 0xe8 0x0448 #CYRILLIC SMALL LETTER SHA
249 0xe9 0x0449 #CYRILLIC SMALL LETTER SHCHA
250 0xea 0x044a #CYRILLIC SMALL LETTER HARD SIGN
251 0xeb 0x044b #CYRILLIC SMALL LETTER YERU
252 0xec 0x044c #CYRILLIC SMALL LETTER SOFT SIGN
253 0xed 0x044d #CYRILLIC SMALL LETTER E
254 0xee 0x044e #CYRILLIC SMALL LETTER YU
255 0xef 0x044f #CYRILLIC SMALL LETTER YA
256 0xf0 0x0401 #CYRILLIC CAPITAL LETTER IO
257 0xf1 0x0451 #CYRILLIC SMALL LETTER IO
258 0xf2 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE
259 0xf3 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE
260 0xf4 0x0407 #CYRILLIC CAPITAL LETTER YI
261 0xf5 0x0457 #CYRILLIC SMALL LETTER YI
262 0xf6 0x040e #CYRILLIC CAPITAL LETTER SHORT U
263 0xf7 0x045e #CYRILLIC SMALL LETTER SHORT U
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x2219 #BULLET OPERATOR
266 0xfa 0x00b7 #MIDDLE DOT
267 0xfb 0x221a #SQUARE ROOT
268 0xfc 0x2116 #NUMERO SIGN
269 0xfd 0x00a4 #CURRENCY SIGN
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp869 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp869 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp869 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 #UNDEFINED
145 0x81 #UNDEFINED
146 0x82 #UNDEFINED
147 0x83 #UNDEFINED
148 0x84 #UNDEFINED
149 0x85 #UNDEFINED
150 0x86 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS
151 0x87 #UNDEFINED
152 0x88 0x00b7 #MIDDLE DOT
153 0x89 0x00ac #NOT SIGN
154 0x8a 0x00a6 #BROKEN BAR
155 0x8b 0x2018 #LEFT SINGLE QUOTATION MARK
156 0x8c 0x2019 #RIGHT SINGLE QUOTATION MARK
157 0x8d 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS
158 0x8e 0x2015 #HORIZONTAL BAR
159 0x8f 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS
160 0x90 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS
161 0x91 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
162 0x92 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS
163 0x93 #UNDEFINED
164 0x94 #UNDEFINED
165 0x95 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS
166 0x96 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
167 0x97 0x00a9 #COPYRIGHT SIGN
168 0x98 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS
169 0x99 0x00b2 #SUPERSCRIPT TWO
170 0x9a 0x00b3 #SUPERSCRIPT THREE
171 0x9b 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS
172 0x9c 0x00a3 #POUND SIGN
173 0x9d 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS
174 0x9e 0x03ae #GREEK SMALL LETTER ETA WITH TONOS
175 0x9f 0x03af #GREEK SMALL LETTER IOTA WITH TONOS
176 0xa0 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA
177 0xa1 0x0390 #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
178 0xa2 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS
179 0xa3 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS
180 0xa4 0x0391 #GREEK CAPITAL LETTER ALPHA
181 0xa5 0x0392 #GREEK CAPITAL LETTER BETA
182 0xa6 0x0393 #GREEK CAPITAL LETTER GAMMA
183 0xa7 0x0394 #GREEK CAPITAL LETTER DELTA
184 0xa8 0x0395 #GREEK CAPITAL LETTER EPSILON
185 0xa9 0x0396 #GREEK CAPITAL LETTER ZETA
186 0xaa 0x0397 #GREEK CAPITAL LETTER ETA
187 0xab 0x00bd #VULGAR FRACTION ONE HALF
188 0xac 0x0398 #GREEK CAPITAL LETTER THETA
189 0xad 0x0399 #GREEK CAPITAL LETTER IOTA
190 0xae 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
191 0xaf 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xb0 0x2591 #LIGHT SHADE
193 0xb1 0x2592 #MEDIUM SHADE
194 0xb2 0x2593 #DARK SHADE
195 0xb3 0x2502 #BOX DRAWINGS LIGHT VERTICAL
196 0xb4 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
197 0xb5 0x039a #GREEK CAPITAL LETTER KAPPA
198 0xb6 0x039b #GREEK CAPITAL LETTER LAMDA
199 0xb7 0x039c #GREEK CAPITAL LETTER MU
200 0xb8 0x039d #GREEK CAPITAL LETTER NU
201 0xb9 0x2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
202 0xba 0x2551 #BOX DRAWINGS DOUBLE VERTICAL
203 0xbb 0x2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
204 0xbc 0x255d #BOX DRAWINGS DOUBLE UP AND LEFT
205 0xbd 0x039e #GREEK CAPITAL LETTER XI
206 0xbe 0x039f #GREEK CAPITAL LETTER OMICRON
207 0xbf 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
208 0xc0 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT
209 0xc1 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
210 0xc2 0x252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
211 0xc3 0x251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
212 0xc4 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL
213 0xc5 0x253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
214 0xc6 0x03a0 #GREEK CAPITAL LETTER PI
215 0xc7 0x03a1 #GREEK CAPITAL LETTER RHO
216 0xc8 0x255a #BOX DRAWINGS DOUBLE UP AND RIGHT
217 0xc9 0x2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
218 0xca 0x2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
219 0xcb 0x2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
220 0xcc 0x2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
221 0xcd 0x2550 #BOX DRAWINGS DOUBLE HORIZONTAL
222 0xce 0x256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
223 0xcf 0x03a3 #GREEK CAPITAL LETTER SIGMA
224 0xd0 0x03a4 #GREEK CAPITAL LETTER TAU
225 0xd1 0x03a5 #GREEK CAPITAL LETTER UPSILON
226 0xd2 0x03a6 #GREEK CAPITAL LETTER PHI
227 0xd3 0x03a7 #GREEK CAPITAL LETTER CHI
228 0xd4 0x03a8 #GREEK CAPITAL LETTER PSI
229 0xd5 0x03a9 #GREEK CAPITAL LETTER OMEGA
230 0xd6 0x03b1 #GREEK SMALL LETTER ALPHA
231 0xd7 0x03b2 #GREEK SMALL LETTER BETA
232 0xd8 0x03b3 #GREEK SMALL LETTER GAMMA
233 0xd9 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT
234 0xda 0x250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
235 0xdb 0x2588 #FULL BLOCK
236 0xdc 0x2584 #LOWER HALF BLOCK
237 0xdd 0x03b4 #GREEK SMALL LETTER DELTA
238 0xde 0x03b5 #GREEK SMALL LETTER EPSILON
239 0xdf 0x2580 #UPPER HALF BLOCK
240 0xe0 0x03b6 #GREEK SMALL LETTER ZETA
241 0xe1 0x03b7 #GREEK SMALL LETTER ETA
242 0xe2 0x03b8 #GREEK SMALL LETTER THETA
243 0xe3 0x03b9 #GREEK SMALL LETTER IOTA
244 0xe4 0x03ba #GREEK SMALL LETTER KAPPA
245 0xe5 0x03bb #GREEK SMALL LETTER LAMDA
246 0xe6 0x03bc #GREEK SMALL LETTER MU
247 0xe7 0x03bd #GREEK SMALL LETTER NU
248 0xe8 0x03be #GREEK SMALL LETTER XI
249 0xe9 0x03bf #GREEK SMALL LETTER OMICRON
250 0xea 0x03c0 #GREEK SMALL LETTER PI
251 0xeb 0x03c1 #GREEK SMALL LETTER RHO
252 0xec 0x03c3 #GREEK SMALL LETTER SIGMA
253 0xed 0x03c2 #GREEK SMALL LETTER FINAL SIGMA
254 0xee 0x03c4 #GREEK SMALL LETTER TAU
255 0xef 0x0384 #GREEK TONOS
256 0xf0 0x00ad #SOFT HYPHEN
257 0xf1 0x00b1 #PLUS-MINUS SIGN
258 0xf2 0x03c5 #GREEK SMALL LETTER UPSILON
259 0xf3 0x03c6 #GREEK SMALL LETTER PHI
260 0xf4 0x03c7 #GREEK SMALL LETTER CHI
261 0xf5 0x00a7 #SECTION SIGN
262 0xf6 0x03c8 #GREEK SMALL LETTER PSI
263 0xf7 0x0385 #GREEK DIALYTIKA TONOS
264 0xf8 0x00b0 #DEGREE SIGN
265 0xf9 0x00a8 #DIAERESIS
266 0xfa 0x03c9 #GREEK SMALL LETTER OMEGA
267 0xfb 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
268 0xfc 0x03b0 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
269 0xfd 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS
270 0xfe 0x25a0 #BLACK SQUARE
271 0xff 0x00a0 #NO-BREAK SPACE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
33
44 Unicode mapping table generated from file asia/OTHER/BIG5.TXT
55
6 #
76 # Name: BIG5 to Unicode table (complete)
87 # Unicode version: 1.1
98 # Table version: 0.0d3
109 # Table format: Format A
1110 # Date: 11 February 1994
12 # Authors: Glenn Adams <glenn@metis.com>
13 # John H. Jenkins <John_Jenkins@taligent.com>
14 #
15 #
16 # This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
17 # No claims are made as to fitness for any particular purpose. No
18 # warranties of any kind are expressed or implied. The recipient
19 # agrees to determine applicability of information provided. If this
20 # file has been provided on magnetic media by Unicode, Inc., the sole
21 # remedy for any claim will be exchange of defective media within 90
22 # days of receipt.
23 #
24 # Recipient is granted the right to make copies in any form for
25 # internal distribution and to freely use the information supplied
26 # in the creation of products supporting Unicode. Unicode, Inc.
27 # specifically excludes the right to re-distribute this file directly
28 # to third parties or other organizations whether for profit or not.
29 #
30 # General notes:
31 #
32 # This table contains the data Metis and Taligent currently have on how
33 # BIG5 characters map into Unicode.
34 #
35 # WARNING! It is currently impossible to provide round-trip compatibility
36 # between BIG5 and Unicode.
37 #
38 # A number of characters are not currently mapped because
39 # of conflicts with other mappings. They are as follows:
40 #
41 # BIG5 Description Comments
42 #
43 # 0xA15A SPACING UNDERSCORE duplicates A1C4
44 # 0xA1C3 SPACING HEAVY OVERSCORE not in Unicode
45 # 0xA1C5 SPACING HEAVY UNDERSCORE not in Unicode
46 # 0xA1FE LT DIAG UP RIGHT TO LOW LEFT duplicates A2AC
47 # 0xA240 LT DIAG UP LEFT TO LOW RIGHT duplicates A2AD
48 # 0xA2CC HANGZHOU NUMERAL TEN conflicts with A451 mapping
49 # 0xA2CE HANGZHOU NUMERAL THIRTY conflicts with A4CA mapping
50 #
51 # We currently map all of these characters to U+FFFD REPLACEMENT CHARACTER.
52 # It is also possible to map these characters to their duplicates, or to
53 # the user zone.
54 #
55 # Notes:
56 #
57 # 1. In addition to the above, there is some uncertainty about the
58 # mappings in the range C6A1 - C8FE, and F9DD - F9FE. The ETEN
59 # version of BIG5 organizes the former range differently, and adds
60 # additional characters in the latter range. The correct mappings
61 # these ranges need to be determined.
62 #
63 # 2. There is an uncertainty in the mapping of the Big Five character
64 # 0xA3BC. This character occurs within the Big Five block of tone marks
65 # for bopomofo and is intended to be the tone mark for the first tone in
66 # Mandarin Chinese. We have selected the mapping U+02C9 MODIFIER LETTER
67 # MACRON (Mandarin Chinese first tone) to reflect this semantic.
68 # However, because bopomofo uses the absense of a tone mark to indicate
69 # the first Mandarin tone, most implementations of Big Five represent
70 # this character with a blank space, and so a mapping such as U+2003 EM SPACE
71 # might be preferred.
72 #
73 #
74 #
75 # Any comments or problems, contact <John_Jenkins@taligent.com>
7611
7712 * The contents of this file are subject to the Interbase Public
7813 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from file maps/WINDOWS/CP1251.TXT
44
5 #
65 # Name: cp1251 to Unicode table
76 # Unicode version: 2.0
87 # Table version: 2.00
98 # Table format: Format A
109 # Date: 04/15/98
11 #
12 # Contact: cpxlate@microsoft.com
13 #
14 # General notes: none
15 #
16 # Format: Three tab-separated columns
17 # Column #1 is the cp1251 code (in hex)
18 # Column #2 is the Unicode (in hex as 0xXXXX)
19 # Column #3 is the Unicode name (follows a comment sign, '#')
20 #
21 # The entries are in cp1251 order
22 #
23 0x00 0x0000 #NULL
24 0x01 0x0001 #START OF HEADING
25 0x02 0x0002 #START OF TEXT
26 0x03 0x0003 #END OF TEXT
27 0x04 0x0004 #END OF TRANSMISSION
28 0x05 0x0005 #ENQUIRY
29 0x06 0x0006 #ACKNOWLEDGE
30 0x07 0x0007 #BELL
31 0x08 0x0008 #BACKSPACE
32 0x09 0x0009 #HORIZONTAL TABULATION
33 0x0A 0x000A #LINE FEED
34 0x0B 0x000B #VERTICAL TABULATION
35 0x0C 0x000C #FORM FEED
36 0x0D 0x000D #CARRIAGE RETURN
37 0x0E 0x000E #SHIFT OUT
38 0x0F 0x000F #SHIFT IN
39 0x10 0x0010 #DATA LINK ESCAPE
40 0x11 0x0011 #DEVICE CONTROL ONE
41 0x12 0x0012 #DEVICE CONTROL TWO
42 0x13 0x0013 #DEVICE CONTROL THREE
43 0x14 0x0014 #DEVICE CONTROL FOUR
44 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
45 0x16 0x0016 #SYNCHRONOUS IDLE
46 0x17 0x0017 #END OF TRANSMISSION BLOCK
47 0x18 0x0018 #CANCEL
48 0x19 0x0019 #END OF MEDIUM
49 0x1A 0x001A #SUBSTITUTE
50 0x1B 0x001B #ESCAPE
51 0x1C 0x001C #FILE SEPARATOR
52 0x1D 0x001D #GROUP SEPARATOR
53 0x1E 0x001E #RECORD SEPARATOR
54 0x1F 0x001F #UNIT SEPARATOR
55 0x20 0x0020 #SPACE
56 0x21 0x0021 #EXCLAMATION MARK
57 0x22 0x0022 #QUOTATION MARK
58 0x23 0x0023 #NUMBER SIGN
59 0x24 0x0024 #DOLLAR SIGN
60 0x25 0x0025 #PERCENT SIGN
61 0x26 0x0026 #AMPERSAND
62 0x27 0x0027 #APOSTROPHE
63 0x28 0x0028 #LEFT PARENTHESIS
64 0x29 0x0029 #RIGHT PARENTHESIS
65 0x2A 0x002A #ASTERISK
66 0x2B 0x002B #PLUS SIGN
67 0x2C 0x002C #COMMA
68 0x2D 0x002D #HYPHEN-MINUS
69 0x2E 0x002E #FULL STOP
70 0x2F 0x002F #SOLIDUS
71 0x30 0x0030 #DIGIT ZERO
72 0x31 0x0031 #DIGIT ONE
73 0x32 0x0032 #DIGIT TWO
74 0x33 0x0033 #DIGIT THREE
75 0x34 0x0034 #DIGIT FOUR
76 0x35 0x0035 #DIGIT FIVE
77 0x36 0x0036 #DIGIT SIX
78 0x37 0x0037 #DIGIT SEVEN
79 0x38 0x0038 #DIGIT EIGHT
80 0x39 0x0039 #DIGIT NINE
81 0x3A 0x003A #COLON
82 0x3B 0x003B #SEMICOLON
83 0x3C 0x003C #LESS-THAN SIGN
84 0x3D 0x003D #EQUALS SIGN
85 0x3E 0x003E #GREATER-THAN SIGN
86 0x3F 0x003F #QUESTION MARK
87 0x40 0x0040 #COMMERCIAL AT
88 0x41 0x0041 #LATIN CAPITAL LETTER A
89 0x42 0x0042 #LATIN CAPITAL LETTER B
90 0x43 0x0043 #LATIN CAPITAL LETTER C
91 0x44 0x0044 #LATIN CAPITAL LETTER D
92 0x45 0x0045 #LATIN CAPITAL LETTER E
93 0x46 0x0046 #LATIN CAPITAL LETTER F
94 0x47 0x0047 #LATIN CAPITAL LETTER G
95 0x48 0x0048 #LATIN CAPITAL LETTER H
96 0x49 0x0049 #LATIN CAPITAL LETTER I
97 0x4A 0x004A #LATIN CAPITAL LETTER J
98 0x4B 0x004B #LATIN CAPITAL LETTER K
99 0x4C 0x004C #LATIN CAPITAL LETTER L
100 0x4D 0x004D #LATIN CAPITAL LETTER M
101 0x4E 0x004E #LATIN CAPITAL LETTER N
102 0x4F 0x004F #LATIN CAPITAL LETTER O
103 0x50 0x0050 #LATIN CAPITAL LETTER P
104 0x51 0x0051 #LATIN CAPITAL LETTER Q
105 0x52 0x0052 #LATIN CAPITAL LETTER R
106 0x53 0x0053 #LATIN CAPITAL LETTER S
107 0x54 0x0054 #LATIN CAPITAL LETTER T
108 0x55 0x0055 #LATIN CAPITAL LETTER U
109 0x56 0x0056 #LATIN CAPITAL LETTER V
110 0x57 0x0057 #LATIN CAPITAL LETTER W
111 0x58 0x0058 #LATIN CAPITAL LETTER X
112 0x59 0x0059 #LATIN CAPITAL LETTER Y
113 0x5A 0x005A #LATIN CAPITAL LETTER Z
114 0x5B 0x005B #LEFT SQUARE BRACKET
115 0x5C 0x005C #REVERSE SOLIDUS
116 0x5D 0x005D #RIGHT SQUARE BRACKET
117 0x5E 0x005E #CIRCUMFLEX ACCENT
118 0x5F 0x005F #LOW LINE
119 0x60 0x0060 #GRAVE ACCENT
120 0x61 0x0061 #LATIN SMALL LETTER A
121 0x62 0x0062 #LATIN SMALL LETTER B
122 0x63 0x0063 #LATIN SMALL LETTER C
123 0x64 0x0064 #LATIN SMALL LETTER D
124 0x65 0x0065 #LATIN SMALL LETTER E
125 0x66 0x0066 #LATIN SMALL LETTER F
126 0x67 0x0067 #LATIN SMALL LETTER G
127 0x68 0x0068 #LATIN SMALL LETTER H
128 0x69 0x0069 #LATIN SMALL LETTER I
129 0x6A 0x006A #LATIN SMALL LETTER J
130 0x6B 0x006B #LATIN SMALL LETTER K
131 0x6C 0x006C #LATIN SMALL LETTER L
132 0x6D 0x006D #LATIN SMALL LETTER M
133 0x6E 0x006E #LATIN SMALL LETTER N
134 0x6F 0x006F #LATIN SMALL LETTER O
135 0x70 0x0070 #LATIN SMALL LETTER P
136 0x71 0x0071 #LATIN SMALL LETTER Q
137 0x72 0x0072 #LATIN SMALL LETTER R
138 0x73 0x0073 #LATIN SMALL LETTER S
139 0x74 0x0074 #LATIN SMALL LETTER T
140 0x75 0x0075 #LATIN SMALL LETTER U
141 0x76 0x0076 #LATIN SMALL LETTER V
142 0x77 0x0077 #LATIN SMALL LETTER W
143 0x78 0x0078 #LATIN SMALL LETTER X
144 0x79 0x0079 #LATIN SMALL LETTER Y
145 0x7A 0x007A #LATIN SMALL LETTER Z
146 0x7B 0x007B #LEFT CURLY BRACKET
147 0x7C 0x007C #VERTICAL LINE
148 0x7D 0x007D #RIGHT CURLY BRACKET
149 0x7E 0x007E #TILDE
150 0x7F 0x007F #DELETE
151 0x80 0x0402 #CYRILLIC CAPITAL LETTER DJE
152 0x81 0x0403 #CYRILLIC CAPITAL LETTER GJE
153 0x82 0x201A #SINGLE LOW-9 QUOTATION MARK
154 0x83 0x0453 #CYRILLIC SMALL LETTER GJE
155 0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK
156 0x85 0x2026 #HORIZONTAL ELLIPSIS
157 0x86 0x2020 #DAGGER
158 0x87 0x2021 #DOUBLE DAGGER
159 0x88 0x20AC #EURO SIGN
160 0x89 0x2030 #PER MILLE SIGN
161 0x8A 0x0409 #CYRILLIC CAPITAL LETTER LJE
162 0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
163 0x8C 0x040A #CYRILLIC CAPITAL LETTER NJE
164 0x8D 0x040C #CYRILLIC CAPITAL LETTER KJE
165 0x8E 0x040B #CYRILLIC CAPITAL LETTER TSHE
166 0x8F 0x040F #CYRILLIC CAPITAL LETTER DZHE
167 0x90 0x0452 #CYRILLIC SMALL LETTER DJE
168 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
169 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
170 0x93 0x201C #LEFT DOUBLE QUOTATION MARK
171 0x94 0x201D #RIGHT DOUBLE QUOTATION MARK
172 0x95 0x2022 #BULLET
173 0x96 0x2013 #EN DASH
174 0x97 0x2014 #EM DASH
175 0x98 #UNDEFINED
176 0x99 0x2122 #TRADE MARK SIGN
177 0x9A 0x0459 #CYRILLIC SMALL LETTER LJE
178 0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
179 0x9C 0x045A #CYRILLIC SMALL LETTER NJE
180 0x9D 0x045C #CYRILLIC SMALL LETTER KJE
181 0x9E 0x045B #CYRILLIC SMALL LETTER TSHE
182 0x9F 0x045F #CYRILLIC SMALL LETTER DZHE
183 0xA0 0x00A0 #NO-BREAK SPACE
184 0xA1 0x040E #CYRILLIC CAPITAL LETTER SHORT U
185 0xA2 0x045E #CYRILLIC SMALL LETTER SHORT U
186 0xA3 0x0408 #CYRILLIC CAPITAL LETTER JE
187 0xA4 0x00A4 #CURRENCY SIGN
188 0xA5 0x0490 #CYRILLIC CAPITAL LETTER GHE WITH UPTURN
189 0xA6 0x00A6 #BROKEN BAR
190 0xA7 0x00A7 #SECTION SIGN
191 0xA8 0x0401 #CYRILLIC CAPITAL LETTER IO
192 0xA9 0x00A9 #COPYRIGHT SIGN
193 0xAA 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE
194 0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
195 0xAC 0x00AC #NOT SIGN
196 0xAD 0x00AD #SOFT HYPHEN
197 0xAE 0x00AE #REGISTERED SIGN
198 0xAF 0x0407 #CYRILLIC CAPITAL LETTER YI
199 0xB0 0x00B0 #DEGREE SIGN
200 0xB1 0x00B1 #PLUS-MINUS SIGN
201 0xB2 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
202 0xB3 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
203 0xB4 0x0491 #CYRILLIC SMALL LETTER GHE WITH UPTURN
204 0xB5 0x00B5 #MICRO SIGN
205 0xB6 0x00B6 #PILCROW SIGN
206 0xB7 0x00B7 #MIDDLE DOT
207 0xB8 0x0451 #CYRILLIC SMALL LETTER IO
208 0xB9 0x2116 #NUMERO SIGN
209 0xBA 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE
210 0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
211 0xBC 0x0458 #CYRILLIC SMALL LETTER JE
212 0xBD 0x0405 #CYRILLIC CAPITAL LETTER DZE
213 0xBE 0x0455 #CYRILLIC SMALL LETTER DZE
214 0xBF 0x0457 #CYRILLIC SMALL LETTER YI
215 0xC0 0x0410 #CYRILLIC CAPITAL LETTER A
216 0xC1 0x0411 #CYRILLIC CAPITAL LETTER BE
217 0xC2 0x0412 #CYRILLIC CAPITAL LETTER VE
218 0xC3 0x0413 #CYRILLIC CAPITAL LETTER GHE
219 0xC4 0x0414 #CYRILLIC CAPITAL LETTER DE
220 0xC5 0x0415 #CYRILLIC CAPITAL LETTER IE
221 0xC6 0x0416 #CYRILLIC CAPITAL LETTER ZHE
222 0xC7 0x0417 #CYRILLIC CAPITAL LETTER ZE
223 0xC8 0x0418 #CYRILLIC CAPITAL LETTER I
224 0xC9 0x0419 #CYRILLIC CAPITAL LETTER SHORT I
225 0xCA 0x041A #CYRILLIC CAPITAL LETTER KA
226 0xCB 0x041B #CYRILLIC CAPITAL LETTER EL
227 0xCC 0x041C #CYRILLIC CAPITAL LETTER EM
228 0xCD 0x041D #CYRILLIC CAPITAL LETTER EN
229 0xCE 0x041E #CYRILLIC CAPITAL LETTER O
230 0xCF 0x041F #CYRILLIC CAPITAL LETTER PE
231 0xD0 0x0420 #CYRILLIC CAPITAL LETTER ER
232 0xD1 0x0421 #CYRILLIC CAPITAL LETTER ES
233 0xD2 0x0422 #CYRILLIC CAPITAL LETTER TE
234 0xD3 0x0423 #CYRILLIC CAPITAL LETTER U
235 0xD4 0x0424 #CYRILLIC CAPITAL LETTER EF
236 0xD5 0x0425 #CYRILLIC CAPITAL LETTER HA
237 0xD6 0x0426 #CYRILLIC CAPITAL LETTER TSE
238 0xD7 0x0427 #CYRILLIC CAPITAL LETTER CHE
239 0xD8 0x0428 #CYRILLIC CAPITAL LETTER SHA
240 0xD9 0x0429 #CYRILLIC CAPITAL LETTER SHCHA
241 0xDA 0x042A #CYRILLIC CAPITAL LETTER HARD SIGN
242 0xDB 0x042B #CYRILLIC CAPITAL LETTER YERU
243 0xDC 0x042C #CYRILLIC CAPITAL LETTER SOFT SIGN
244 0xDD 0x042D #CYRILLIC CAPITAL LETTER E
245 0xDE 0x042E #CYRILLIC CAPITAL LETTER YU
246 0xDF 0x042F #CYRILLIC CAPITAL LETTER YA
247 0xE0 0x0430 #CYRILLIC SMALL LETTER A
248 0xE1 0x0431 #CYRILLIC SMALL LETTER BE
249 0xE2 0x0432 #CYRILLIC SMALL LETTER VE
250 0xE3 0x0433 #CYRILLIC SMALL LETTER GHE
251 0xE4 0x0434 #CYRILLIC SMALL LETTER DE
252 0xE5 0x0435 #CYRILLIC SMALL LETTER IE
253 0xE6 0x0436 #CYRILLIC SMALL LETTER ZHE
254 0xE7 0x0437 #CYRILLIC SMALL LETTER ZE
255 0xE8 0x0438 #CYRILLIC SMALL LETTER I
256 0xE9 0x0439 #CYRILLIC SMALL LETTER SHORT I
257 0xEA 0x043A #CYRILLIC SMALL LETTER KA
258 0xEB 0x043B #CYRILLIC SMALL LETTER EL
259 0xEC 0x043C #CYRILLIC SMALL LETTER EM
260 0xED 0x043D #CYRILLIC SMALL LETTER EN
261 0xEE 0x043E #CYRILLIC SMALL LETTER O
262 0xEF 0x043F #CYRILLIC SMALL LETTER PE
263 0xF0 0x0440 #CYRILLIC SMALL LETTER ER
264 0xF1 0x0441 #CYRILLIC SMALL LETTER ES
265 0xF2 0x0442 #CYRILLIC SMALL LETTER TE
266 0xF3 0x0443 #CYRILLIC SMALL LETTER U
267 0xF4 0x0444 #CYRILLIC SMALL LETTER EF
268 0xF5 0x0445 #CYRILLIC SMALL LETTER HA
269 0xF6 0x0446 #CYRILLIC SMALL LETTER TSE
270 0xF7 0x0447 #CYRILLIC SMALL LETTER CHE
271 0xF8 0x0448 #CYRILLIC SMALL LETTER SHA
272 0xF9 0x0449 #CYRILLIC SMALL LETTER SHCHA
273 0xFA 0x044A #CYRILLIC SMALL LETTER HARD SIGN
274 0xFB 0x044B #CYRILLIC SMALL LETTER YERU
275 0xFC 0x044C #CYRILLIC SMALL LETTER SOFT SIGN
276 0xFD 0x044D #CYRILLIC SMALL LETTER E
277 0xFE 0x044E #CYRILLIC SMALL LETTER YU
278 0xFF 0x044F #CYRILLIC SMALL LETTER YA
10
27911 * The contents of this file are subject to the Interbase Public
28012 * License Version 1.0 (the "License"); you may not use this file
28113 * except in compliance with the License. You may obtain a copy
33
44 Unicode mapping table generated from file gb2312-2.txt
55
6 #
76 # Name: GB2312-80 to Unicode table (complete, hex format)
87 # Unicode version: 3.0
98 # Table version: 1.0
109 # Table format: Format A
1110 # Date: 1999 October 8
12 # Author: Ken Whistler <kenw@sybase.com>
13 # Original authors: Glenn Adams, John H. Jenkin <jenkins@apple.com>
14 #
15 # Copyright (c) 1991-1999 Unicode, Inc. All Rights reserved.
16 #
17 # This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
18 # No claims are made as to fitness for any particular purpose. No
19 # warranties of any kind are expressed or implied. The recipient
20 # agrees to determine applicability of information provided. If this
21 # file has been provided on optical media by Unicode, Inc., the sole
22 # remedy for any claim will be exchange of defective media within 90
23 # days of receipt.
24 #
25 # Unicode, Inc. hereby grants the right to freely use the information
26 # supplied in this file in the creation of products supporting the
27 # Unicode Standard, and to make copies of this file in any form for
28 # internal or external distribution as long as this notice remains
29 # attached.
30 #
31 # General notes:
32 #
33 # This table contains the datathe Unicode Consortium currently has on how
34 # GB2312-80 characters map into Unicode.
35 #
36 # The following algorithms can be used to change the hex form
37 # of GB2312 to other standard forms:
38 #
39 # To change hex to EUC form, add 0x8080
40 # To change hex to kuten form, first subtract 0x2020. Then
41 # the high and low bytes correspond to the ku and ten of
42 # the kuten form. For example, 0x2121 -> 0x0101 -> 0101;
43 # 0x777E -> 0x575E -> 8794
44 #
45 # Version history
46 # 1.0 version updates 0.0d2 version by correcting mapping for 0x212C
47 # from U+2225 to U+2016.
48 #
49 # Updated versions of this file may be found in:
50 # <ftp://ftp.unicode.org/Public/MAPPINGS/>
51 #
52 # Any comments or problems, contact <errata@unicode.orgm>
53 # Please note that <errata@unicode.org> is an archival address;
54 # notices will be checked, but do not expect an immediate response.
55 #
11
5612 * The contents of this file are subject to the Interbase Public
5713 * License Version 1.0 (the "License"); you may not use this file
5814 * except in compliance with the License. You may obtain a copy
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_1 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_1 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_1 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x00a1 #INVERTED EXCLAMATION MARK
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x00aa #FEMININE ORDINAL INDICATOR
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00af #MACRON
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x00ba #MASCULINE ORDINAL INDICATOR
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x00bf #INVERTED QUESTION MARK
208 0xc0 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
214 0xc6 0x00c6 #LATIN CAPITAL LETTER AE
215 0xc7 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
216 0xc8 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
224 0xd0 0x00d0 #LATIN CAPITAL LETTER ETH
225 0xd1 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
226 0xd2 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
233 0xd9 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
238 0xde 0x00de #LATIN CAPITAL LETTER THORN
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x00e3 #LATIN SMALL LETTER A WITH TILDE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
246 0xe6 0x00e6 #LATIN SMALL LETTER AE
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x00ec #LATIN SMALL LETTER I WITH GRAVE
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
256 0xf0 0x00f0 #LATIN SMALL LETTER ETH
257 0xf1 0x00f1 #LATIN SMALL LETTER N WITH TILDE
258 0xf2 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x00f5 #LATIN SMALL LETTER O WITH TILDE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x00f8 #LATIN SMALL LETTER O WITH STROKE
265 0xf9 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
270 0xfe 0x00fe #LATIN SMALL LETTER THORN
271 0xff 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_13 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_13 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_13 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x201d #RIGHT DOUBLE QUOTATION MARK
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x201e #DOUBLE LOW-9 QUOTATION MARK
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00c6 #LATIN CAPITAL LETTER AE
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x201c #LEFT DOUBLE QUOTATION MARK
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00f8 #LATIN SMALL LETTER O WITH STROKE
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x00e6 #LATIN SMALL LETTER AE
208 0xc0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
209 0xc1 0x012e #LATIN CAPITAL LETTER I WITH OGONEK
210 0xc2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
211 0xc3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
214 0xc6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
215 0xc7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
216 0xc8 0x010c #LATIN CAPITAL LETTER C WITH CARON
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
219 0xcb 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
220 0xcc 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
221 0xcd 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
222 0xce 0x012a #LATIN CAPITAL LETTER I WITH MACRON
223 0xcf 0x013b #LATIN CAPITAL LETTER L WITH CEDILLA
224 0xd0 0x0160 #LATIN CAPITAL LETTER S WITH CARON
225 0xd1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
226 0xd2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x014c #LATIN CAPITAL LETTER O WITH MACRON
229 0xd5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
233 0xd9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
234 0xda 0x015a #LATIN CAPITAL LETTER S WITH ACUTE
235 0xdb 0x016a #LATIN CAPITAL LETTER U WITH MACRON
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
238 0xde 0x017d #LATIN CAPITAL LETTER Z WITH CARON
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x0105 #LATIN SMALL LETTER A WITH OGONEK
241 0xe1 0x012f #LATIN SMALL LETTER I WITH OGONEK
242 0xe2 0x0101 #LATIN SMALL LETTER A WITH MACRON
243 0xe3 0x0107 #LATIN SMALL LETTER C WITH ACUTE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
246 0xe6 0x0119 #LATIN SMALL LETTER E WITH OGONEK
247 0xe7 0x0113 #LATIN SMALL LETTER E WITH MACRON
248 0xe8 0x010d #LATIN SMALL LETTER C WITH CARON
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x017a #LATIN SMALL LETTER Z WITH ACUTE
251 0xeb 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
252 0xec 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
253 0xed 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
254 0xee 0x012b #LATIN SMALL LETTER I WITH MACRON
255 0xef 0x013c #LATIN SMALL LETTER L WITH CEDILLA
256 0xf0 0x0161 #LATIN SMALL LETTER S WITH CARON
257 0xf1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
258 0xf2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x014d #LATIN SMALL LETTER O WITH MACRON
261 0xf5 0x00f5 #LATIN SMALL LETTER O WITH TILDE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x0173 #LATIN SMALL LETTER U WITH OGONEK
265 0xf9 0x0142 #LATIN SMALL LETTER L WITH STROKE
266 0xfa 0x015b #LATIN SMALL LETTER S WITH ACUTE
267 0xfb 0x016b #LATIN SMALL LETTER U WITH MACRON
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
270 0xfe 0x017e #LATIN SMALL LETTER Z WITH CARON
271 0xff 0x2019 #RIGHT SINGLE QUOTATION MARK
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_2 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_2 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_2 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
178 0xa2 0x02d8 #BREVE
179 0xa3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x013d #LATIN CAPITAL LETTER L WITH CARON
182 0xa6 0x015a #LATIN CAPITAL LETTER S WITH ACUTE
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x0160 #LATIN CAPITAL LETTER S WITH CARON
186 0xaa 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
187 0xab 0x0164 #LATIN CAPITAL LETTER T WITH CARON
188 0xac 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x017d #LATIN CAPITAL LETTER Z WITH CARON
191 0xaf 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x0105 #LATIN SMALL LETTER A WITH OGONEK
194 0xb2 0x02db #OGONEK
195 0xb3 0x0142 #LATIN SMALL LETTER L WITH STROKE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x013e #LATIN SMALL LETTER L WITH CARON
198 0xb6 0x015b #LATIN SMALL LETTER S WITH ACUTE
199 0xb7 0x02c7 #CARON
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x0161 #LATIN SMALL LETTER S WITH CARON
202 0xba 0x015f #LATIN SMALL LETTER S WITH CEDILLA
203 0xbb 0x0165 #LATIN SMALL LETTER T WITH CARON
204 0xbc 0x017a #LATIN SMALL LETTER Z WITH ACUTE
205 0xbd 0x02dd #DOUBLE ACUTE ACCENT
206 0xbe 0x017e #LATIN SMALL LETTER Z WITH CARON
207 0xbf 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
208 0xc0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
214 0xc6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
215 0xc7 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
216 0xc8 0x010c #LATIN CAPITAL LETTER C WITH CARON
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x011a #LATIN CAPITAL LETTER E WITH CARON
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x010e #LATIN CAPITAL LETTER D WITH CARON
224 0xd0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
225 0xd1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
226 0xd2 0x0147 #LATIN CAPITAL LETTER N WITH CARON
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x0158 #LATIN CAPITAL LETTER R WITH CARON
233 0xd9 0x016e #LATIN CAPITAL LETTER U WITH RING ABOVE
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
238 0xde 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x0155 #LATIN SMALL LETTER R WITH ACUTE
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x0103 #LATIN SMALL LETTER A WITH BREVE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x013a #LATIN SMALL LETTER L WITH ACUTE
246 0xe6 0x0107 #LATIN SMALL LETTER C WITH ACUTE
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x010d #LATIN SMALL LETTER C WITH CARON
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x0119 #LATIN SMALL LETTER E WITH OGONEK
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x011b #LATIN SMALL LETTER E WITH CARON
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x010f #LATIN SMALL LETTER D WITH CARON
256 0xf0 0x0111 #LATIN SMALL LETTER D WITH STROKE
257 0xf1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
258 0xf2 0x0148 #LATIN SMALL LETTER N WITH CARON
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x0159 #LATIN SMALL LETTER R WITH CARON
265 0xf9 0x016f #LATIN SMALL LETTER U WITH RING ABOVE
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
270 0xfe 0x0163 #LATIN SMALL LETTER T WITH CEDILLA
271 0xff 0x02d9 #DOT ABOVE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_3 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_3 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_3 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x0126 #LATIN CAPITAL LETTER H WITH STROKE
178 0xa2 0x02d8 #BREVE
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 #UNDEFINED
182 0xa6 0x0124 #LATIN CAPITAL LETTER H WITH CIRCUMFLEX
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE
186 0xaa 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
187 0xab 0x011e #LATIN CAPITAL LETTER G WITH BREVE
188 0xac 0x0134 #LATIN CAPITAL LETTER J WITH CIRCUMFLEX
189 0xad 0x00ad #SOFT HYPHEN
190 0xae #UNDEFINED
191 0xaf 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x0127 #LATIN SMALL LETTER H WITH STROKE
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x0125 #LATIN SMALL LETTER H WITH CIRCUMFLEX
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x0131 #LATIN SMALL LETTER DOTLESS I
202 0xba 0x015f #LATIN SMALL LETTER S WITH CEDILLA
203 0xbb 0x011f #LATIN SMALL LETTER G WITH BREVE
204 0xbc 0x0135 #LATIN SMALL LETTER J WITH CIRCUMFLEX
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe #UNDEFINED
207 0xbf 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
208 0xc0 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 #UNDEFINED
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x010a #LATIN CAPITAL LETTER C WITH DOT ABOVE
214 0xc6 0x0108 #LATIN CAPITAL LETTER C WITH CIRCUMFLEX
215 0xc7 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
216 0xc8 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
224 0xd0 #UNDEFINED
225 0xd1 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
226 0xd2 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x0120 #LATIN CAPITAL LETTER G WITH DOT ABOVE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x011c #LATIN CAPITAL LETTER G WITH CIRCUMFLEX
233 0xd9 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x016c #LATIN CAPITAL LETTER U WITH BREVE
238 0xde 0x015c #LATIN CAPITAL LETTER S WITH CIRCUMFLEX
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 #UNDEFINED
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x010b #LATIN SMALL LETTER C WITH DOT ABOVE
246 0xe6 0x0109 #LATIN SMALL LETTER C WITH CIRCUMFLEX
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x00ec #LATIN SMALL LETTER I WITH GRAVE
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
256 0xf0 #UNDEFINED
257 0xf1 0x00f1 #LATIN SMALL LETTER N WITH TILDE
258 0xf2 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x0121 #LATIN SMALL LETTER G WITH DOT ABOVE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x011d #LATIN SMALL LETTER G WITH CIRCUMFLEX
265 0xf9 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x016d #LATIN SMALL LETTER U WITH BREVE
270 0xfe 0x015d #LATIN SMALL LETTER S WITH CIRCUMFLEX
271 0xff 0x02d9 #DOT ABOVE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_4 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_4 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_4 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
178 0xa2 0x0138 #LATIN SMALL LETTER KRA
179 0xa3 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x0128 #LATIN CAPITAL LETTER I WITH TILDE
182 0xa6 0x013b #LATIN CAPITAL LETTER L WITH CEDILLA
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x0160 #LATIN CAPITAL LETTER S WITH CARON
186 0xaa 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
187 0xab 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
188 0xac 0x0166 #LATIN CAPITAL LETTER T WITH STROKE
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x017d #LATIN CAPITAL LETTER Z WITH CARON
191 0xaf 0x00af #MACRON
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x0105 #LATIN SMALL LETTER A WITH OGONEK
194 0xb2 0x02db #OGONEK
195 0xb3 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x0129 #LATIN SMALL LETTER I WITH TILDE
198 0xb6 0x013c #LATIN SMALL LETTER L WITH CEDILLA
199 0xb7 0x02c7 #CARON
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x0161 #LATIN SMALL LETTER S WITH CARON
202 0xba 0x0113 #LATIN SMALL LETTER E WITH MACRON
203 0xbb 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
204 0xbc 0x0167 #LATIN SMALL LETTER T WITH STROKE
205 0xbd 0x014a #LATIN CAPITAL LETTER ENG
206 0xbe 0x017e #LATIN SMALL LETTER Z WITH CARON
207 0xbf 0x014b #LATIN SMALL LETTER ENG
208 0xc0 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
214 0xc6 0x00c6 #LATIN CAPITAL LETTER AE
215 0xc7 0x012e #LATIN CAPITAL LETTER I WITH OGONEK
216 0xc8 0x010c #LATIN CAPITAL LETTER C WITH CARON
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x012a #LATIN CAPITAL LETTER I WITH MACRON
224 0xd0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
225 0xd1 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
226 0xd2 0x014c #LATIN CAPITAL LETTER O WITH MACRON
227 0xd3 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
233 0xd9 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x0168 #LATIN CAPITAL LETTER U WITH TILDE
238 0xde 0x016a #LATIN CAPITAL LETTER U WITH MACRON
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x0101 #LATIN SMALL LETTER A WITH MACRON
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x00e3 #LATIN SMALL LETTER A WITH TILDE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
246 0xe6 0x00e6 #LATIN SMALL LETTER AE
247 0xe7 0x012f #LATIN SMALL LETTER I WITH OGONEK
248 0xe8 0x010d #LATIN SMALL LETTER C WITH CARON
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x0119 #LATIN SMALL LETTER E WITH OGONEK
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x012b #LATIN SMALL LETTER I WITH MACRON
256 0xf0 0x0111 #LATIN SMALL LETTER D WITH STROKE
257 0xf1 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
258 0xf2 0x014d #LATIN SMALL LETTER O WITH MACRON
259 0xf3 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x00f5 #LATIN SMALL LETTER O WITH TILDE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x00f8 #LATIN SMALL LETTER O WITH STROKE
265 0xf9 0x0173 #LATIN SMALL LETTER U WITH OGONEK
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x0169 #LATIN SMALL LETTER U WITH TILDE
270 0xfe 0x016b #LATIN SMALL LETTER U WITH MACRON
271 0xff 0x02d9 #DOT ABOVE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_5 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_5 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_5 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x0401 #CYRILLIC CAPITAL LETTER IO
178 0xa2 0x0402 #CYRILLIC CAPITAL LETTER DJE
179 0xa3 0x0403 #CYRILLIC CAPITAL LETTER GJE
180 0xa4 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE
181 0xa5 0x0405 #CYRILLIC CAPITAL LETTER DZE
182 0xa6 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
183 0xa7 0x0407 #CYRILLIC CAPITAL LETTER YI
184 0xa8 0x0408 #CYRILLIC CAPITAL LETTER JE
185 0xa9 0x0409 #CYRILLIC CAPITAL LETTER LJE
186 0xaa 0x040a #CYRILLIC CAPITAL LETTER NJE
187 0xab 0x040b #CYRILLIC CAPITAL LETTER TSHE
188 0xac 0x040c #CYRILLIC CAPITAL LETTER KJE
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x040e #CYRILLIC CAPITAL LETTER SHORT U
191 0xaf 0x040f #CYRILLIC CAPITAL LETTER DZHE
192 0xb0 0x0410 #CYRILLIC CAPITAL LETTER A
193 0xb1 0x0411 #CYRILLIC CAPITAL LETTER BE
194 0xb2 0x0412 #CYRILLIC CAPITAL LETTER VE
195 0xb3 0x0413 #CYRILLIC CAPITAL LETTER GHE
196 0xb4 0x0414 #CYRILLIC CAPITAL LETTER DE
197 0xb5 0x0415 #CYRILLIC CAPITAL LETTER IE
198 0xb6 0x0416 #CYRILLIC CAPITAL LETTER ZHE
199 0xb7 0x0417 #CYRILLIC CAPITAL LETTER ZE
200 0xb8 0x0418 #CYRILLIC CAPITAL LETTER I
201 0xb9 0x0419 #CYRILLIC CAPITAL LETTER SHORT I
202 0xba 0x041a #CYRILLIC CAPITAL LETTER KA
203 0xbb 0x041b #CYRILLIC CAPITAL LETTER EL
204 0xbc 0x041c #CYRILLIC CAPITAL LETTER EM
205 0xbd 0x041d #CYRILLIC CAPITAL LETTER EN
206 0xbe 0x041e #CYRILLIC CAPITAL LETTER O
207 0xbf 0x041f #CYRILLIC CAPITAL LETTER PE
208 0xc0 0x0420 #CYRILLIC CAPITAL LETTER ER
209 0xc1 0x0421 #CYRILLIC CAPITAL LETTER ES
210 0xc2 0x0422 #CYRILLIC CAPITAL LETTER TE
211 0xc3 0x0423 #CYRILLIC CAPITAL LETTER U
212 0xc4 0x0424 #CYRILLIC CAPITAL LETTER EF
213 0xc5 0x0425 #CYRILLIC CAPITAL LETTER HA
214 0xc6 0x0426 #CYRILLIC CAPITAL LETTER TSE
215 0xc7 0x0427 #CYRILLIC CAPITAL LETTER CHE
216 0xc8 0x0428 #CYRILLIC CAPITAL LETTER SHA
217 0xc9 0x0429 #CYRILLIC CAPITAL LETTER SHCHA
218 0xca 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN
219 0xcb 0x042b #CYRILLIC CAPITAL LETTER YERU
220 0xcc 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN
221 0xcd 0x042d #CYRILLIC CAPITAL LETTER E
222 0xce 0x042e #CYRILLIC CAPITAL LETTER YU
223 0xcf 0x042f #CYRILLIC CAPITAL LETTER YA
224 0xd0 0x0430 #CYRILLIC SMALL LETTER A
225 0xd1 0x0431 #CYRILLIC SMALL LETTER BE
226 0xd2 0x0432 #CYRILLIC SMALL LETTER VE
227 0xd3 0x0433 #CYRILLIC SMALL LETTER GHE
228 0xd4 0x0434 #CYRILLIC SMALL LETTER DE
229 0xd5 0x0435 #CYRILLIC SMALL LETTER IE
230 0xd6 0x0436 #CYRILLIC SMALL LETTER ZHE
231 0xd7 0x0437 #CYRILLIC SMALL LETTER ZE
232 0xd8 0x0438 #CYRILLIC SMALL LETTER I
233 0xd9 0x0439 #CYRILLIC SMALL LETTER SHORT I
234 0xda 0x043a #CYRILLIC SMALL LETTER KA
235 0xdb 0x043b #CYRILLIC SMALL LETTER EL
236 0xdc 0x043c #CYRILLIC SMALL LETTER EM
237 0xdd 0x043d #CYRILLIC SMALL LETTER EN
238 0xde 0x043e #CYRILLIC SMALL LETTER O
239 0xdf 0x043f #CYRILLIC SMALL LETTER PE
240 0xe0 0x0440 #CYRILLIC SMALL LETTER ER
241 0xe1 0x0441 #CYRILLIC SMALL LETTER ES
242 0xe2 0x0442 #CYRILLIC SMALL LETTER TE
243 0xe3 0x0443 #CYRILLIC SMALL LETTER U
244 0xe4 0x0444 #CYRILLIC SMALL LETTER EF
245 0xe5 0x0445 #CYRILLIC SMALL LETTER HA
246 0xe6 0x0446 #CYRILLIC SMALL LETTER TSE
247 0xe7 0x0447 #CYRILLIC SMALL LETTER CHE
248 0xe8 0x0448 #CYRILLIC SMALL LETTER SHA
249 0xe9 0x0449 #CYRILLIC SMALL LETTER SHCHA
250 0xea 0x044a #CYRILLIC SMALL LETTER HARD SIGN
251 0xeb 0x044b #CYRILLIC SMALL LETTER YERU
252 0xec 0x044c #CYRILLIC SMALL LETTER SOFT SIGN
253 0xed 0x044d #CYRILLIC SMALL LETTER E
254 0xee 0x044e #CYRILLIC SMALL LETTER YU
255 0xef 0x044f #CYRILLIC SMALL LETTER YA
256 0xf0 0x2116 #NUMERO SIGN
257 0xf1 0x0451 #CYRILLIC SMALL LETTER IO
258 0xf2 0x0452 #CYRILLIC SMALL LETTER DJE
259 0xf3 0x0453 #CYRILLIC SMALL LETTER GJE
260 0xf4 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE
261 0xf5 0x0455 #CYRILLIC SMALL LETTER DZE
262 0xf6 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
263 0xf7 0x0457 #CYRILLIC SMALL LETTER YI
264 0xf8 0x0458 #CYRILLIC SMALL LETTER JE
265 0xf9 0x0459 #CYRILLIC SMALL LETTER LJE
266 0xfa 0x045a #CYRILLIC SMALL LETTER NJE
267 0xfb 0x045b #CYRILLIC SMALL LETTER TSHE
268 0xfc 0x045c #CYRILLIC SMALL LETTER KJE
269 0xfd 0x00a7 #SECTION SIGN
270 0xfe 0x045e #CYRILLIC SMALL LETTER SHORT U
271 0xff 0x045f #CYRILLIC SMALL LETTER DZHE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_6 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_6 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_6 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 #UNDEFINED
178 0xa2 #UNDEFINED
179 0xa3 #UNDEFINED
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 #UNDEFINED
182 0xa6 #UNDEFINED
183 0xa7 #UNDEFINED
184 0xa8 #UNDEFINED
185 0xa9 #UNDEFINED
186 0xaa #UNDEFINED
187 0xab #UNDEFINED
188 0xac 0x060c #ARABIC COMMA
189 0xad 0x00ad #SOFT HYPHEN
190 0xae #UNDEFINED
191 0xaf #UNDEFINED
192 0xb0 #UNDEFINED
193 0xb1 #UNDEFINED
194 0xb2 #UNDEFINED
195 0xb3 #UNDEFINED
196 0xb4 #UNDEFINED
197 0xb5 #UNDEFINED
198 0xb6 #UNDEFINED
199 0xb7 #UNDEFINED
200 0xb8 #UNDEFINED
201 0xb9 #UNDEFINED
202 0xba #UNDEFINED
203 0xbb 0x061b #ARABIC SEMICOLON
204 0xbc #UNDEFINED
205 0xbd #UNDEFINED
206 0xbe #UNDEFINED
207 0xbf 0x061f #ARABIC QUESTION MARK
208 0xc0 #UNDEFINED
209 0xc1 0x0621 #ARABIC LETTER HAMZA
210 0xc2 0x0622 #ARABIC LETTER ALEF WITH MADDA ABOVE
211 0xc3 0x0623 #ARABIC LETTER ALEF WITH HAMZA ABOVE
212 0xc4 0x0624 #ARABIC LETTER WAW WITH HAMZA ABOVE
213 0xc5 0x0625 #ARABIC LETTER ALEF WITH HAMZA BELOW
214 0xc6 0x0626 #ARABIC LETTER YEH WITH HAMZA ABOVE
215 0xc7 0x0627 #ARABIC LETTER ALEF
216 0xc8 0x0628 #ARABIC LETTER BEH
217 0xc9 0x0629 #ARABIC LETTER TEH MARBUTA
218 0xca 0x062a #ARABIC LETTER TEH
219 0xcb 0x062b #ARABIC LETTER THEH
220 0xcc 0x062c #ARABIC LETTER JEEM
221 0xcd 0x062d #ARABIC LETTER HAH
222 0xce 0x062e #ARABIC LETTER KHAH
223 0xcf 0x062f #ARABIC LETTER DAL
224 0xd0 0x0630 #ARABIC LETTER THAL
225 0xd1 0x0631 #ARABIC LETTER REH
226 0xd2 0x0632 #ARABIC LETTER ZAIN
227 0xd3 0x0633 #ARABIC LETTER SEEN
228 0xd4 0x0634 #ARABIC LETTER SHEEN
229 0xd5 0x0635 #ARABIC LETTER SAD
230 0xd6 0x0636 #ARABIC LETTER DAD
231 0xd7 0x0637 #ARABIC LETTER TAH
232 0xd8 0x0638 #ARABIC LETTER ZAH
233 0xd9 0x0639 #ARABIC LETTER AIN
234 0xda 0x063a #ARABIC LETTER GHAIN
235 0xdb #UNDEFINED
236 0xdc #UNDEFINED
237 0xdd #UNDEFINED
238 0xde #UNDEFINED
239 0xdf #UNDEFINED
240 0xe0 0x0640 #ARABIC TATWEEL
241 0xe1 0x0641 #ARABIC LETTER FEH
242 0xe2 0x0642 #ARABIC LETTER QAF
243 0xe3 0x0643 #ARABIC LETTER KAF
244 0xe4 0x0644 #ARABIC LETTER LAM
245 0xe5 0x0645 #ARABIC LETTER MEEM
246 0xe6 0x0646 #ARABIC LETTER NOON
247 0xe7 0x0647 #ARABIC LETTER HEH
248 0xe8 0x0648 #ARABIC LETTER WAW
249 0xe9 0x0649 #ARABIC LETTER ALEF MAKSURA
250 0xea 0x064a #ARABIC LETTER YEH
251 0xeb 0x064b #ARABIC FATHATAN
252 0xec 0x064c #ARABIC DAMMATAN
253 0xed 0x064d #ARABIC KASRATAN
254 0xee 0x064e #ARABIC FATHA
255 0xef 0x064f #ARABIC DAMMA
256 0xf0 0x0650 #ARABIC KASRA
257 0xf1 0x0651 #ARABIC SHADDA
258 0xf2 0x0652 #ARABIC SUKUN
259 0xf3 #UNDEFINED
260 0xf4 #UNDEFINED
261 0xf5 #UNDEFINED
262 0xf6 #UNDEFINED
263 0xf7 #UNDEFINED
264 0xf8 #UNDEFINED
265 0xf9 #UNDEFINED
266 0xfa #UNDEFINED
267 0xfb #UNDEFINED
268 0xfc #UNDEFINED
269 0xfd #UNDEFINED
270 0xfe #UNDEFINED
271 0xff #UNDEFINED
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_7 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_7 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_7 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x02bd #MODIFIER LETTER REVERSED COMMA
178 0xa2 0x02bc #MODIFIER LETTER APOSTROPHE
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 #UNDEFINED
181 0xa5 #UNDEFINED
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa #UNDEFINED
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae #UNDEFINED
191 0xaf 0x2015 #HORIZONTAL BAR
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x0384 #GREEK TONOS
197 0xb5 0x0385 #GREEK DIALYTIKA TONOS
198 0xb6 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS
201 0xb9 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS
202 0xba 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS
207 0xbf 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS
208 0xc0 0x0390 #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
209 0xc1 0x0391 #GREEK CAPITAL LETTER ALPHA
210 0xc2 0x0392 #GREEK CAPITAL LETTER BETA
211 0xc3 0x0393 #GREEK CAPITAL LETTER GAMMA
212 0xc4 0x0394 #GREEK CAPITAL LETTER DELTA
213 0xc5 0x0395 #GREEK CAPITAL LETTER EPSILON
214 0xc6 0x0396 #GREEK CAPITAL LETTER ZETA
215 0xc7 0x0397 #GREEK CAPITAL LETTER ETA
216 0xc8 0x0398 #GREEK CAPITAL LETTER THETA
217 0xc9 0x0399 #GREEK CAPITAL LETTER IOTA
218 0xca 0x039a #GREEK CAPITAL LETTER KAPPA
219 0xcb 0x039b #GREEK CAPITAL LETTER LAMDA
220 0xcc 0x039c #GREEK CAPITAL LETTER MU
221 0xcd 0x039d #GREEK CAPITAL LETTER NU
222 0xce 0x039e #GREEK CAPITAL LETTER XI
223 0xcf 0x039f #GREEK CAPITAL LETTER OMICRON
224 0xd0 0x03a0 #GREEK CAPITAL LETTER PI
225 0xd1 0x03a1 #GREEK CAPITAL LETTER RHO
226 0xd2 #UNDEFINED
227 0xd3 0x03a3 #GREEK CAPITAL LETTER SIGMA
228 0xd4 0x03a4 #GREEK CAPITAL LETTER TAU
229 0xd5 0x03a5 #GREEK CAPITAL LETTER UPSILON
230 0xd6 0x03a6 #GREEK CAPITAL LETTER PHI
231 0xd7 0x03a7 #GREEK CAPITAL LETTER CHI
232 0xd8 0x03a8 #GREEK CAPITAL LETTER PSI
233 0xd9 0x03a9 #GREEK CAPITAL LETTER OMEGA
234 0xda 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
235 0xdb 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
236 0xdc 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS
237 0xdd 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS
238 0xde 0x03ae #GREEK SMALL LETTER ETA WITH TONOS
239 0xdf 0x03af #GREEK SMALL LETTER IOTA WITH TONOS
240 0xe0 0x03b0 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
241 0xe1 0x03b1 #GREEK SMALL LETTER ALPHA
242 0xe2 0x03b2 #GREEK SMALL LETTER BETA
243 0xe3 0x03b3 #GREEK SMALL LETTER GAMMA
244 0xe4 0x03b4 #GREEK SMALL LETTER DELTA
245 0xe5 0x03b5 #GREEK SMALL LETTER EPSILON
246 0xe6 0x03b6 #GREEK SMALL LETTER ZETA
247 0xe7 0x03b7 #GREEK SMALL LETTER ETA
248 0xe8 0x03b8 #GREEK SMALL LETTER THETA
249 0xe9 0x03b9 #GREEK SMALL LETTER IOTA
250 0xea 0x03ba #GREEK SMALL LETTER KAPPA
251 0xeb 0x03bb #GREEK SMALL LETTER LAMDA
252 0xec 0x03bc #GREEK SMALL LETTER MU
253 0xed 0x03bd #GREEK SMALL LETTER NU
254 0xee 0x03be #GREEK SMALL LETTER XI
255 0xef 0x03bf #GREEK SMALL LETTER OMICRON
256 0xf0 0x03c0 #GREEK SMALL LETTER PI
257 0xf1 0x03c1 #GREEK SMALL LETTER RHO
258 0xf2 0x03c2 #GREEK SMALL LETTER FINAL SIGMA
259 0xf3 0x03c3 #GREEK SMALL LETTER SIGMA
260 0xf4 0x03c4 #GREEK SMALL LETTER TAU
261 0xf5 0x03c5 #GREEK SMALL LETTER UPSILON
262 0xf6 0x03c6 #GREEK SMALL LETTER PHI
263 0xf7 0x03c7 #GREEK SMALL LETTER CHI
264 0xf8 0x03c8 #GREEK SMALL LETTER PSI
265 0xf9 0x03c9 #GREEK SMALL LETTER OMEGA
266 0xfa 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA
267 0xfb 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
268 0xfc 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS
269 0xfd 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS
270 0xfe 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS
271 0xff #UNDEFINED
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_8 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_8 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_8 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 #UNDEFINED
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x00d7 #MULTIPLICATION SIGN
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x203e #OVERLINE
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x00f7 #DIVISION SIGN
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf #UNDEFINED
208 0xc0 #UNDEFINED
209 0xc1 #UNDEFINED
210 0xc2 #UNDEFINED
211 0xc3 #UNDEFINED
212 0xc4 #UNDEFINED
213 0xc5 #UNDEFINED
214 0xc6 #UNDEFINED
215 0xc7 #UNDEFINED
216 0xc8 #UNDEFINED
217 0xc9 #UNDEFINED
218 0xca #UNDEFINED
219 0xcb #UNDEFINED
220 0xcc #UNDEFINED
221 0xcd #UNDEFINED
222 0xce #UNDEFINED
223 0xcf #UNDEFINED
224 0xd0 #UNDEFINED
225 0xd1 #UNDEFINED
226 0xd2 #UNDEFINED
227 0xd3 #UNDEFINED
228 0xd4 #UNDEFINED
229 0xd5 #UNDEFINED
230 0xd6 #UNDEFINED
231 0xd7 #UNDEFINED
232 0xd8 #UNDEFINED
233 0xd9 #UNDEFINED
234 0xda #UNDEFINED
235 0xdb #UNDEFINED
236 0xdc #UNDEFINED
237 0xdd #UNDEFINED
238 0xde #UNDEFINED
239 0xdf 0x2017 #DOUBLE LOW LINE
240 0xe0 0x05d0 #HEBREW LETTER ALEF
241 0xe1 0x05d1 #HEBREW LETTER BET
242 0xe2 0x05d2 #HEBREW LETTER GIMEL
243 0xe3 0x05d3 #HEBREW LETTER DALET
244 0xe4 0x05d4 #HEBREW LETTER HE
245 0xe5 0x05d5 #HEBREW LETTER VAV
246 0xe6 0x05d6 #HEBREW LETTER ZAYIN
247 0xe7 0x05d7 #HEBREW LETTER HET
248 0xe8 0x05d8 #HEBREW LETTER TET
249 0xe9 0x05d9 #HEBREW LETTER YOD
250 0xea 0x05da #HEBREW LETTER FINAL KAF
251 0xeb 0x05db #HEBREW LETTER KAF
252 0xec 0x05dc #HEBREW LETTER LAMED
253 0xed 0x05dd #HEBREW LETTER FINAL MEM
254 0xee 0x05de #HEBREW LETTER MEM
255 0xef 0x05df #HEBREW LETTER FINAL NUN
256 0xf0 0x05e0 #HEBREW LETTER NUN
257 0xf1 0x05e1 #HEBREW LETTER SAMEKH
258 0xf2 0x05e2 #HEBREW LETTER AYIN
259 0xf3 0x05e3 #HEBREW LETTER FINAL PE
260 0xf4 0x05e4 #HEBREW LETTER PE
261 0xf5 0x05e5 #HEBREW LETTER FINAL TSADI
262 0xf6 0x05e6 #HEBREW LETTER TSADI
263 0xf7 0x05e7 #HEBREW LETTER QOF
264 0xf8 0x05e8 #HEBREW LETTER RESH
265 0xf9 0x05e9 #HEBREW LETTER SHIN
266 0xfa 0x05ea #HEBREW LETTER TAV
267 0xfb #UNDEFINED
268 0xfc #UNDEFINED
269 0xfd #UNDEFINED
270 0xfe #UNDEFINED
271 0xff #UNDEFINED
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: ISO8859_9 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the ISO8859_9 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in ISO8859_9 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0080 #
145 0x81 0x0081 #
146 0x82 0x0082 #BREAK PERMITTED HERE
147 0x83 0x0083 #NO BREAK HERE
148 0x84 0x0084 #
149 0x85 0x0085 #NEXT LINE (NEL)
150 0x86 0x0086 #START OF SELECTED AREA
151 0x87 0x0087 #END OF SELECTED AREA
152 0x88 0x0088 #CHARACTER TABULATION SET
153 0x89 0x0089 #CHARACTER TABULATION WITH JUSTIFICATION
154 0x8a 0x008a #LINE TABULATION SET
155 0x8b 0x008b #PARTIAL LINE FORWARD
156 0x8c 0x008c #PARTIAL LINE BACKWARD
157 0x8d 0x008d #REVERSE LINE FEED
158 0x8e 0x008e #SINGLE SHIFT TWO
159 0x8f 0x008f #SINGLE SHIFT THREE
160 0x90 0x0090 #DEVICE CONTROL STRING
161 0x91 0x0091 #PRIVATE USE ONE
162 0x92 0x0092 #PRIVATE USE TWO
163 0x93 0x0093 #SET TRANSMIT STATE
164 0x94 0x0094 #CANCEL CHARACTER
165 0x95 0x0095 #MESSAGE WAITING
166 0x96 0x0096 #START OF GUARDED AREA
167 0x97 0x0097 #END OF GUARDED AREA
168 0x98 0x0098 #START OF STRING
169 0x99 0x0099 #
170 0x9a 0x009a #SINGLE CHARACTER INTRODUCER
171 0x9b 0x009b #CONTROL SEQUENCE INTRODUCER
172 0x9c 0x009c #STRING TERMINATOR
173 0x9d 0x009d #OPERATING SYSTEM COMMAND
174 0x9e 0x009e #PRIVACY MESSAGE
175 0x9f 0x009f #APPLICATION PROGRAM COMMAND
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x00a1 #INVERTED EXCLAMATION MARK
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x00aa #FEMININE ORDINAL INDICATOR
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00af #MACRON
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x00ba #MASCULINE ORDINAL INDICATOR
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x00bf #INVERTED QUESTION MARK
208 0xc0 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
214 0xc6 0x00c6 #LATIN CAPITAL LETTER AE
215 0xc7 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
216 0xc8 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
224 0xd0 0x011e #LATIN CAPITAL LETTER G WITH BREVE
225 0xd1 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
226 0xd2 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
233 0xd9 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE
238 0xde 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x00e3 #LATIN SMALL LETTER A WITH TILDE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
246 0xe6 0x00e6 #LATIN SMALL LETTER AE
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x00ec #LATIN SMALL LETTER I WITH GRAVE
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
256 0xf0 0x011f #LATIN SMALL LETTER G WITH BREVE
257 0xf1 0x00f1 #LATIN SMALL LETTER N WITH TILDE
258 0xf2 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x00f5 #LATIN SMALL LETTER O WITH TILDE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x00f8 #LATIN SMALL LETTER O WITH STROKE
265 0xf9 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x0131 #LATIN SMALL LETTER DOTLESS I
270 0xfe 0x015f #LATIN SMALL LETTER S WITH CEDILLA
271 0xff 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
33
44 Unicode mapping table generated from file asia/JIS/JIS0208.TXT
55
6 #
76 # Name: JIS X 0208 (1990) to Unicode
87 # Unicode version: 1.1
98 # Table version: 0.9
109 # Table format: Format A
1110 # Date: 8 March 1994
12 # Authors: Glenn Adams <glenn@metis.com>
13 # John H. Jenkins <John_Jenkins@taligent.com>
14 #
15 #
16 # This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
17 # No claims are made as to fitness for any particular purpose. No
18 # warranties of any kind are expressed or implied. The recipient
19 # agrees to determine applicability of information provided. If this
20 # file has been provided on magnetic media by Unicode, Inc., the sole
21 # remedy for any claim will be exchange of defective media within 90
22 # days of receipt.
23 #
24 # Recipient is granted the right to make copies in any form for
25 # internal distribution and to freely use the information supplied
26 # in the creation of products supporting Unicode. Unicode, Inc.
27 # specifically excludes the right to re-distribute this file directly
28 # to third parties or other organizations whether for profit or not.
29 #
30 # General notes:
31 #
32 # The following algorithms can be used to change the hex form
33 # of JIS 0208 to other standard forms:
34 #
35 # To change hex to EUC form, add 0x8080
36 # To change hex to kuten form, first subtract 0x2020. Then
37 # the high and low bytes correspond to the ku and ten of
38 # the kuten form. For example, 0x2121 -> 0x0101 -> 0101;
39 # 0x7426 -> 0x5406 -> 8406
40 #
41 # The kanji mappings are a normative part of ISO/IEC 10646. The
42 # non-kanji mappings are provisional, pending definition of
43 # official mappings by Japanese standards bodies
44 #
45 # Any comments or problems, contact <John_Jenkins@taligent.com>
11
4612 * The contents of this file are subject to the Interbase Public
4713 * License Version 1.0 (the "License"); you may not use this file
4814 * except in compliance with the License. You may obtain a copy
33
44 Unicode mapping table generated from file koi8r.txt
55
6 0x00 0x0000 #
7 0x01 0x0001 #
8 0x02 0x0002 #
9 0x03 0x0003 #
10 0x04 0x0004 #
11 0x05 0x0005 #
12 0x06 0x0006 #
13 0x07 0x0007 #
14 0x08 0x0008 #
15 0x09 0x0009 #
16 0x0A 0x000A #
17 0x0B 0x000B #
18 0x0C 0x000C #
19 0x0D 0x000D #
20 0x0E 0x000E #
21 0x0F 0x000F #
22 0x10 0x0010 #
23 0x11 0x0011 #
24 0x12 0x0012 #
25 0x13 0x0013 #
26 0x14 0x0014 #
27 0x15 0x0015 #
28 0x16 0x0016 #
29 0x17 0x0017 #
30 0x18 0x0018 #
31 0x19 0x0019 #
32 0x1A 0x001A #
33 0x1B 0x001B #
34 0x1C 0x001C #
35 0x1D 0x001D #
36 0x1E 0x001E #
37 0x1F 0x001F #
38 0x20 0x0020 #
39 0x21 0x0021 #
40 0x22 0x0022 #
41 0x23 0x0023 #
42 0x24 0x0024 #
43 0x25 0x0025 #
44 0x26 0x0026 #
45 0x27 0x0027 #
46 0x28 0x0028 #
47 0x29 0x0029 #
48 0x2A 0x002A #
49 0x2B 0x002B #
50 0x2C 0x002C #
51 0x2D 0x002D #
52 0x2E 0x002E #
53 0x2F 0x002F #
54 0x30 0x0030 #
55 0x31 0x0031 #
56 0x32 0x0032 #
57 0x33 0x0033 #
58 0x34 0x0034 #
59 0x35 0x0035 #
60 0x36 0x0036 #
61 0x37 0x0037 #
62 0x38 0x0038 #
63 0x39 0x0039 #
64 0x3A 0x003A #
65 0x3B 0x003B #
66 0x3C 0x003C #
67 0x3D 0x003D #
68 0x3E 0x003E #
69 0x3F 0x003F #
70 0x40 0x0040 #
71 0x41 0x0041 #
72 0x42 0x0042 #
73 0x43 0x0043 #
74 0x44 0x0044 #
75 0x45 0x0045 #
76 0x46 0x0046 #
77 0x47 0x0047 #
78 0x48 0x0048 #
79 0x49 0x0049 #
80 0x4A 0x004A #
81 0x4B 0x004B #
82 0x4C 0x004C #
83 0x4D 0x004D #
84 0x4E 0x004E #
85 0x4F 0x004F #
86 0x50 0x0050 #
87 0x51 0x0051 #
88 0x52 0x0052 #
89 0x53 0x0053 #
90 0x54 0x0054 #
91 0x55 0x0055 #
92 0x56 0x0056 #
93 0x57 0x0057 #
94 0x58 0x0058 #
95 0x59 0x0059 #
96 0x5A 0x005A #
97 0x5B 0x005B #
98 0x5C 0x005C #
99 0x5D 0x005D #
100 0x5E 0x005E #
101 0x5F 0x005F #
102 0x60 0x0060 #
103 0x61 0x0061 #
104 0x62 0x0062 #
105 0x63 0x0063 #
106 0x64 0x0064 #
107 0x65 0x0065 #
108 0x66 0x0066 #
109 0x67 0x0067 #
110 0x68 0x0068 #
111 0x69 0x0069 #
112 0x6A 0x006A #
113 0x6B 0x006B #
114 0x6C 0x006C #
115 0x6D 0x006D #
116 0x6E 0x006E #
117 0x6F 0x006F #
118 0x70 0x0070 #
119 0x71 0x0071 #
120 0x72 0x0072 #
121 0x73 0x0073 #
122 0x74 0x0074 #
123 0x75 0x0075 #
124 0x76 0x0076 #
125 0x77 0x0077 #
126 0x78 0x0078 #
127 0x79 0x0079 #
128 0x7A 0x007A #
129 0x7B 0x007B #
130 0x7C 0x007C #
131 0x7D 0x007D #
132 0x7E 0x007E #
133 0x7F 0x007F #
134 0x80 0x2500 #
135 0x81 0x2502 #
136 0x82 0x250C #
137 0x83 0x2510 #
138 0x84 0x2514 #
139 0x85 0x2518 #
140 0x86 0x251C #
141 0x87 0x2524 #
142 0x88 0x252C #
143 0x89 0x2534 #
144 0x8A 0x253C #
145 0x8B 0x2580 #
146 0x8C 0x2584 #
147 0x8D 0x2588 #
148 0x8E 0x258C #
149 0x8F 0x2590 #
150 0x90 0x2591 #
151 0x91 0x2592 #
152 0x92 0x2593 #
153 0x93 0x2320 #
154 0x94 0x25A0 #
155 0x95 0x2219 #
156 0x96 0x221A #
157 0x97 0x2248 #
158 0x98 0x2264 #
159 0x99 0x2265 #
160 0x9A 0x00A0 #
161 0x9B 0x2321 #
162 0x9C 0x00B0 #
163 0x9D 0x00B2 #
164 0x9E 0x00B7 #
165 0x9F 0x00F7 #
166 0xA0 0x2550 #
167 0xA1 0x2551 #
168 0xA2 0x2552 #
169 0xA3 0x0451 #
170 0xA4 0x2553 #
171 0xA5 0x2554 #
172 0xA6 0x2555 #
173 0xA7 0x2556 #
174 0xA8 0x2557 #
175 0xA9 0x2558 #
176 0xAA 0x2559 #
177 0xAB 0x255A #
178 0xAC 0x255B #
179 0xAD 0x255C #
180 0xAE 0x255D #
181 0xAF 0x255E #
182 0xB0 0x255F #
183 0xB1 0x2560 #
184 0xB2 0x2561 #
185 0xB3 0x0401 #
186 0xB4 0x2562 #
187 0xB5 0x2563 #
188 0xB6 0x2564 #
189 0xB7 0x2565 #
190 0xB8 0x2566 #
191 0xB9 0x2567 #
192 0xBA 0x2568 #
193 0xBB 0x2569 #
194 0xBC 0x256A #
195 0xBD 0x256B #
196 0xBE 0x256C #
197 0xBF 0x00A9 #
198 0xC0 0x044E #
199 0xC1 0x0430 #
200 0xC2 0x0431 #
201 0xC3 0x0446 #
202 0xC4 0x0434 #
203 0xC5 0x0435 #
204 0xC6 0x0444 #
205 0xC7 0x0433 #
206 0xC8 0x0445 #
207 0xC9 0x0438 #
208 0xCA 0x0439 #
209 0xCB 0x043A #
210 0xCC 0x043B #
211 0xCD 0x043C #
212 0xCE 0x043D #
213 0xCF 0x043E #
214 0xD0 0x043F #
215 0xD1 0x044F #
216 0xD2 0x0440 #
217 0xD3 0x0441 #
218 0xD4 0x0442 #
219 0xD5 0x0443 #
220 0xD6 0x0436 #
221 0xD7 0x0432 #
222 0xD8 0x044C #
223 0xD9 0x044B #
224 0xDA 0x0437 #
225 0xDB 0x0448 #
226 0xDC 0x044D #
227 0xDD 0x0449 #
228 0xDE 0x0447 #
229 0xDF 0x044A #
230 0xE0 0x042E #
231 0xE1 0x0410 #
232 0xE2 0x0411 #
233 0xE3 0x0426 #
234 0xE4 0x0414 #
235 0xE5 0x0415 #
236 0xE6 0x0424 #
237 0xE7 0x0413 #
238 0xE8 0x0425 #
239 0xE9 0x0418 #
240 0xEA 0x0419 #
241 0xEB 0x041A #
242 0xEC 0x041B #
243 0xED 0x041C #
244 0xEE 0x041D #
245 0xEF 0x041E #
246 0xF0 0x041F #
247 0xF1 0x042F #
248 0xF2 0x0420 #
249 0xF3 0x0421 #
250 0xF4 0x0422 #
251 0xF5 0x0423 #
252 0xF6 0x0416 #
253 0xF7 0x0412 #
254 0xF8 0x042C #
255 0xF9 0x042B #
256 0xFA 0x0417 #
257 0xFB 0x0428 #
258 0xFC 0x042D #
259 0xFD 0x0429 #
260 0xFE 0x0427 #
261 0xFF 0x042A #
2626 -------------------------------------------- */
2637
2648
265 static const int UNICODE_REPLACEMENT_CHARACTER = 0xFFFD;
2669 static const int CANT_MAP_CHARACTER = 0;
26710
26811 static const USHORT to_unicode_map[256] = {
33
44 Unicode mapping table generated from file cs_koi8u.txt
55
6 0x00 0x0000 #
7 0x01 0x0001 #
8 0x02 0x0002 #
9 0x03 0x0003 #
10 0x04 0x0004 #
11 0x05 0x0005 #
12 0x06 0x0006 #
13 0x07 0x0007 #
14 0x08 0x0008 #
15 0x09 0x0009 #
16 0x0A 0x000A #
17 0x0B 0x000B #
18 0x0C 0x000C #
19 0x0D 0x000D #
20 0x0E 0x000E #
21 0x0F 0x000F #
22 0x10 0x0010 #
23 0x11 0x0011 #
24 0x12 0x0012 #
25 0x13 0x0013 #
26 0x14 0x0014 #
27 0x15 0x0015 #
28 0x16 0x0016 #
29 0x17 0x0017 #
30 0x18 0x0018 #
31 0x19 0x0019 #
32 0x1A 0x001A #
33 0x1B 0x001B #
34 0x1C 0x001C #
35 0x1D 0x001D #
36 0x1E 0x001E #
37 0x1F 0x001F #
38 0x20 0x0020 #
39 0x21 0x0021 #
40 0x22 0x0022 #
41 0x23 0x0023 #
42 0x24 0x0024 #
43 0x25 0x0025 #
44 0x26 0x0026 #
45 0x27 0x0027 #
46 0x28 0x0028 #
47 0x29 0x0029 #
48 0x2A 0x002A #
49 0x2B 0x002B #
50 0x2C 0x002C #
51 0x2D 0x002D #
52 0x2E 0x002E #
53 0x2F 0x002F #
54 0x30 0x0030 #
55 0x31 0x0031 #
56 0x32 0x0032 #
57 0x33 0x0033 #
58 0x34 0x0034 #
59 0x35 0x0035 #
60 0x36 0x0036 #
61 0x37 0x0037 #
62 0x38 0x0038 #
63 0x39 0x0039 #
64 0x3A 0x003A #
65 0x3B 0x003B #
66 0x3C 0x003C #
67 0x3D 0x003D #
68 0x3E 0x003E #
69 0x3F 0x003F #
70 0x40 0x0040 #
71 0x41 0x0041 #
72 0x42 0x0042 #
73 0x43 0x0043 #
74 0x44 0x0044 #
75 0x45 0x0045 #
76 0x46 0x0046 #
77 0x47 0x0047 #
78 0x48 0x0048 #
79 0x49 0x0049 #
80 0x4A 0x004A #
81 0x4B 0x004B #
82 0x4C 0x004C #
83 0x4D 0x004D #
84 0x4E 0x004E #
85 0x4F 0x004F #
86 0x50 0x0050 #
87 0x51 0x0051 #
88 0x52 0x0052 #
89 0x53 0x0053 #
90 0x54 0x0054 #
91 0x55 0x0055 #
92 0x56 0x0056 #
93 0x57 0x0057 #
94 0x58 0x0058 #
95 0x59 0x0059 #
96 0x5A 0x005A #
97 0x5B 0x005B #
98 0x5C 0x005C #
99 0x5D 0x005D #
100 0x5E 0x005E #
101 0x5F 0x005F #
102 0x60 0x0060 #
103 0x61 0x0061 #
104 0x62 0x0062 #
105 0x63 0x0063 #
106 0x64 0x0064 #
107 0x65 0x0065 #
108 0x66 0x0066 #
109 0x67 0x0067 #
110 0x68 0x0068 #
111 0x69 0x0069 #
112 0x6A 0x006A #
113 0x6B 0x006B #
114 0x6C 0x006C #
115 0x6D 0x006D #
116 0x6E 0x006E #
117 0x6F 0x006F #
118 0x70 0x0070 #
119 0x71 0x0071 #
120 0x72 0x0072 #
121 0x73 0x0073 #
122 0x74 0x0074 #
123 0x75 0x0075 #
124 0x76 0x0076 #
125 0x77 0x0077 #
126 0x78 0x0078 #
127 0x79 0x0079 #
128 0x7A 0x007A #
129 0x7B 0x007B #
130 0x7C 0x007C #
131 0x7D 0x007D #
132 0x7E 0x007E #
133 0x7F 0x007F #
134 0x80 0x2500 #
135 0x81 0x2502 #
136 0x82 0x250C #
137 0x83 0x2510 #
138 0x84 0x2514 #
139 0x85 0x2518 #
140 0x86 0x251C #
141 0x87 0x2524 #
142 0x88 0x252C #
143 0x89 0x2534 #
144 0x8A 0x253C #
145 0x8B 0x2580 #
146 0x8C 0x2584 #
147 0x8D 0x2588 #
148 0x8E 0x258C #
149 0x8F 0x2590 #
150 0x90 0x2591 #
151 0x91 0x2592 #
152 0x92 0x2593 #
153 0x93 0x2320 #
154 0x94 0x25A0 #
155 0x95 0x2219 #
156 0x96 0x221A #
157 0x97 0x2248 #
158 0x98 0x2264 #
159 0x99 0x2265 #
160 0x9A 0x00A0 #
161 0x9B 0x2321 #
162 0x9C 0x00B0 #
163 0x9D 0x00B2 #
164 0x9E 0x00B7 #
165 0x9F 0x00F7 #
166 0xA0 0x2550 #
167 0xA1 0x2551 #
168 0xA2 0x2552 #
169 0xA3 0x0451 #
170 0xA4 0x0454 #
171 0xA5 0x2554 #
172 0xA6 0x0456 #
173 0xA7 0x0457 #
174 0xA8 0x2557 #
175 0xA9 0x2558 #
176 0xAA 0x2559 #
177 0xAB 0x255A #
178 0xAC 0x255B #
179 0xAD 0x0491 #
180 0xAE 0x045E #
181 0xAF 0x255E #
182 0xB0 0x255F #
183 0xB1 0x2560 #
184 0xB2 0x2561 #
185 0xB3 0x0401 #
186 0xB4 0x0404 #
187 0xB5 0x2563 #
188 0xB6 0x0406 #
189 0xB7 0x0407 #
190 0xB8 0x2566 #
191 0xB9 0x2567 #
192 0xBA 0x2568 #
193 0xBB 0x2569 #
194 0xBC 0x256A #
195 0xBD 0x0490 #
196 0xBE 0x040E #
197 0xBF 0x00A9 #
198 0xC0 0x044E #
199 0xC1 0x0430 #
200 0xC2 0x0431 #
201 0xC3 0x0446 #
202 0xC4 0x0434 #
203 0xC5 0x0435 #
204 0xC6 0x0444 #
205 0xC7 0x0433 #
206 0xC8 0x0445 #
207 0xC9 0x0438 #
208 0xCA 0x0439 #
209 0xCB 0x043A #
210 0xCC 0x043B #
211 0xCD 0x043C #
212 0xCE 0x043D #
213 0xCF 0x043E #
214 0xD0 0x043F #
215 0xD1 0x044F #
216 0xD2 0x0440 #
217 0xD3 0x0441 #
218 0xD4 0x0442 #
219 0xD5 0x0443 #
220 0xD6 0x0436 #
221 0xD7 0x0432 #
222 0xD8 0x044C #
223 0xD9 0x044B #
224 0xDA 0x0437 #
225 0xDB 0x0448 #
226 0xDC 0x044D #
227 0xDD 0x0449 #
228 0xDE 0x0447 #
229 0xDF 0x044A #
230 0xE0 0x042E #
231 0xE1 0x0410 #
232 0xE2 0x0411 #
233 0xE3 0x0426 #
234 0xE4 0x0414 #
235 0xE5 0x0415 #
236 0xE6 0x0424 #
237 0xE7 0x0413 #
238 0xE8 0x0425 #
239 0xE9 0x0418 #
240 0xEA 0x0419 #
241 0xEB 0x041A #
242 0xEC 0x041B #
243 0xED 0x041C #
244 0xEE 0x041D #
245 0xEF 0x041E #
246 0xF0 0x041F #
247 0xF1 0x042F #
248 0xF2 0x0420 #
249 0xF3 0x0421 #
250 0xF4 0x0422 #
251 0xF5 0x0423 #
252 0xF6 0x0416 #
253 0xF7 0x0412 #
254 0xF8 0x042C #
255 0xF9 0x042B #
256 0xFA 0x0417 #
257 0xFB 0x0428 #
258 0xFC 0x042D #
259 0xFD 0x0429 #
260 0xFE 0x0427 #
261 0xFF 0x042A #
2626 -------------------------------------------- */
2637
2648
33
44 Unicode mapping table generated from file asia/KSC/KSC5601.TXT
55
6 #
76 # Name: Unified Hangeul(KSC5601-1992) to Unicode table
87 # Unicode version: 2.0
98 # Table version: 1.0
109 # Table format: Format A
1110 # Date: 07/24/95
12 # Authors: Lori Hoerth <lorih@microsoft.com>
13 # K.D.Chang <a-kchang@microsoft.com>
14 # General notes: none
15 #
1611
1712 * The contents of this file are subject to the Interbase Public
1813 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from file NEXTSTEP.TXT
44
5 #
65 # Name: NextStep Encoding to Unicode
76 # Unicode version: 1.1
87 # Table version: 0.1
98 # Table format: Format A
109 # Date: 14 February 1995
11 # Authors: Rick McGowan (rick@unicode.org)
12 #
13 #
14 # This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
15 # No claims are made as to fitness for any particular purpose. No
16 # warranties of any kind are expressed or implied. The recipient
17 # agrees to determine applicability of information provided. If this
18 # file has been provided on magnetic media by Unicode, Inc., the sole
19 # remedy for any claim will be exchange of defective media within 90
20 # days of receipt.
21 #
22 # Recipient is granted the right to make copies in any form for
23 # internal distribution and to freely use the information supplied
24 # in the creation of products supporting Unicode. Unicode, Inc.
25 # specifically excludes the right to re-distribute this file directly
26 # to third parties or other organizations whether for profit or not.
27 #
28 # General notes:
29 #
30 # This table contains the data the Unicode Consortium has on how
31 # NextStep Encoding characters map into Unicode. Since the first
32 # 128 characters (0x0 - 0x7f) are identical to ASCII and Unicode,
33 # this table only maps the NextStep range from 0x80 - 0xFF.
34 #
35 # Format: Three tab-separated columns
36 # Column #1 is the NextStep code (in hex as 0xXX)
37 # Column #2 is the Unicode (in hex as 0xXXXX)
38 # Column #3 NextStep name, Unicode name (follows a comment sign, '#')
39 #
40 # The entries are in NextStep order
41 #
42 # Any comments or problems, contact rick@unicode.org
43 #
44 0x00 0x0000 #NULL
45 0x01 0x0001 #START OF HEADING
46 0x02 0x0002 #START OF TEXT
47 0x03 0x0003 #END OF TEXT
48 0x04 0x0004 #END OF TRANSMISSION
49 0x05 0x0005 #ENQUIRY
50 0x06 0x0006 #ACKNOWLEDGE
51 0x07 0x0007 #BELL
52 0x08 0x0008 #BACKSPACE
53 0x09 0x0009 #HORIZONTAL TABULATION
54 0x0a 0x000a #LINE FEED
55 0x0b 0x000b #VERTICAL TABULATION
56 0x0c 0x000c #FORM FEED
57 0x0d 0x000d #CARRIAGE RETURN
58 0x0e 0x000e #SHIFT OUT
59 0x0f 0x000f #SHIFT IN
60 0x10 0x0010 #DATA LINK ESCAPE
61 0x11 0x0011 #DEVICE CONTROL ONE
62 0x12 0x0012 #DEVICE CONTROL TWO
63 0x13 0x0013 #DEVICE CONTROL THREE
64 0x14 0x0014 #DEVICE CONTROL FOUR
65 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
66 0x16 0x0016 #SYNCHRONOUS IDLE
67 0x17 0x0017 #END OF TRANSMISSION BLOCK
68 0x18 0x0018 #CANCEL
69 0x19 0x0019 #END OF MEDIUM
70 0x1a 0x001a #SUBSTITUTE
71 0x1b 0x001b #ESCAPE
72 0x1c 0x001c #FILE SEPARATOR
73 0x1d 0x001d #GROUP SEPARATOR
74 0x1e 0x001e #RECORD SEPARATOR
75 0x1f 0x001f #UNIT SEPARATOR
76 0x20 0x0020 #SPACE
77 0x21 0x0021 #EXCLAMATION MARK
78 0x22 0x0022 #QUOTATION MARK
79 0x23 0x0023 #NUMBER SIGN
80 0x24 0x0024 #DOLLAR SIGN
81 0x25 0x0025 #PERCENT SIGN
82 0x26 0x0026 #AMPERSAND
83 0x27 0x0027 #APOSTROPHE
84 0x28 0x0028 #LEFT PARENTHESIS
85 0x29 0x0029 #RIGHT PARENTHESIS
86 0x2a 0x002a #ASTERISK
87 0x2b 0x002b #PLUS SIGN
88 0x2c 0x002c #COMMA
89 0x2d 0x002d #HYPHEN-MINUS
90 0x2e 0x002e #FULL STOP
91 0x2f 0x002f #SOLIDUS
92 0x30 0x0030 #DIGIT ZERO
93 0x31 0x0031 #DIGIT ONE
94 0x32 0x0032 #DIGIT TWO
95 0x33 0x0033 #DIGIT THREE
96 0x34 0x0034 #DIGIT FOUR
97 0x35 0x0035 #DIGIT FIVE
98 0x36 0x0036 #DIGIT SIX
99 0x37 0x0037 #DIGIT SEVEN
100 0x38 0x0038 #DIGIT EIGHT
101 0x39 0x0039 #DIGIT NINE
102 0x3a 0x003a #COLON
103 0x3b 0x003b #SEMICOLON
104 0x3c 0x003c #LESS-THAN SIGN
105 0x3d 0x003d #EQUALS SIGN
106 0x3e 0x003e #GREATER-THAN SIGN
107 0x3f 0x003f #QUESTION MARK
108 0x40 0x0040 #COMMERCIAL AT
109 0x41 0x0041 #LATIN CAPITAL LETTER A
110 0x42 0x0042 #LATIN CAPITAL LETTER B
111 0x43 0x0043 #LATIN CAPITAL LETTER C
112 0x44 0x0044 #LATIN CAPITAL LETTER D
113 0x45 0x0045 #LATIN CAPITAL LETTER E
114 0x46 0x0046 #LATIN CAPITAL LETTER F
115 0x47 0x0047 #LATIN CAPITAL LETTER G
116 0x48 0x0048 #LATIN CAPITAL LETTER H
117 0x49 0x0049 #LATIN CAPITAL LETTER I
118 0x4a 0x004a #LATIN CAPITAL LETTER J
119 0x4b 0x004b #LATIN CAPITAL LETTER K
120 0x4c 0x004c #LATIN CAPITAL LETTER L
121 0x4d 0x004d #LATIN CAPITAL LETTER M
122 0x4e 0x004e #LATIN CAPITAL LETTER N
123 0x4f 0x004f #LATIN CAPITAL LETTER O
124 0x50 0x0050 #LATIN CAPITAL LETTER P
125 0x51 0x0051 #LATIN CAPITAL LETTER Q
126 0x52 0x0052 #LATIN CAPITAL LETTER R
127 0x53 0x0053 #LATIN CAPITAL LETTER S
128 0x54 0x0054 #LATIN CAPITAL LETTER T
129 0x55 0x0055 #LATIN CAPITAL LETTER U
130 0x56 0x0056 #LATIN CAPITAL LETTER V
131 0x57 0x0057 #LATIN CAPITAL LETTER W
132 0x58 0x0058 #LATIN CAPITAL LETTER X
133 0x59 0x0059 #LATIN CAPITAL LETTER Y
134 0x5a 0x005a #LATIN CAPITAL LETTER Z
135 0x5b 0x005b #LEFT SQUARE BRACKET
136 0x5c 0x005c #REVERSE SOLIDUS
137 0x5d 0x005d #RIGHT SQUARE BRACKET
138 0x5e 0x005e #CIRCUMFLEX ACCENT
139 0x5f 0x005f #LOW LINE
140 0x60 0x0060 #GRAVE ACCENT
141 0x61 0x0061 #LATIN SMALL LETTER A
142 0x62 0x0062 #LATIN SMALL LETTER B
143 0x63 0x0063 #LATIN SMALL LETTER C
144 0x64 0x0064 #LATIN SMALL LETTER D
145 0x65 0x0065 #LATIN SMALL LETTER E
146 0x66 0x0066 #LATIN SMALL LETTER F
147 0x67 0x0067 #LATIN SMALL LETTER G
148 0x68 0x0068 #LATIN SMALL LETTER H
149 0x69 0x0069 #LATIN SMALL LETTER I
150 0x6a 0x006a #LATIN SMALL LETTER J
151 0x6b 0x006b #LATIN SMALL LETTER K
152 0x6c 0x006c #LATIN SMALL LETTER L
153 0x6d 0x006d #LATIN SMALL LETTER M
154 0x6e 0x006e #LATIN SMALL LETTER N
155 0x6f 0x006f #LATIN SMALL LETTER O
156 0x70 0x0070 #LATIN SMALL LETTER P
157 0x71 0x0071 #LATIN SMALL LETTER Q
158 0x72 0x0072 #LATIN SMALL LETTER R
159 0x73 0x0073 #LATIN SMALL LETTER S
160 0x74 0x0074 #LATIN SMALL LETTER T
161 0x75 0x0075 #LATIN SMALL LETTER U
162 0x76 0x0076 #LATIN SMALL LETTER V
163 0x77 0x0077 #LATIN SMALL LETTER W
164 0x78 0x0078 #LATIN SMALL LETTER X
165 0x79 0x0079 #LATIN SMALL LETTER Y
166 0x7a 0x007a #LATIN SMALL LETTER Z
167 0x7b 0x007b #LEFT CURLY BRACKET
168 0x7c 0x007c #VERTICAL LINE
169 0x7d 0x007d #RIGHT CURLY BRACKET
170 0x7e 0x007e #TILDE
171 0x7f 0x007f #DELETE
172 0x80 0x00a0 # NO-BREAK SPACE
173 0x81 0x00c0 # LATIN CAPITAL LETTER A WITH GRAVE
174 0x82 0x00c1 # LATIN CAPITAL LETTER A WITH ACUTE
175 0x83 0x00c2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
176 0x84 0x00c3 # LATIN CAPITAL LETTER A WITH TILDE
177 0x85 0x00c4 # LATIN CAPITAL LETTER A WITH DIAERESIS
178 0x86 0x00c5 # LATIN CAPITAL LETTER A WITH RING
179 0x87 0x00c7 # LATIN CAPITAL LETTER C WITH CEDILLA
180 0x88 0x00c8 # LATIN CAPITAL LETTER E WITH GRAVE
181 0x89 0x00c9 # LATIN CAPITAL LETTER E WITH ACUTE
182 0x8a 0x00ca # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
183 0x8b 0x00cb # LATIN CAPITAL LETTER E WITH DIAERESIS
184 0x8c 0x00cc # LATIN CAPITAL LETTER I WITH GRAVE
185 0x8d 0x00cd # LATIN CAPITAL LETTER I WITH ACUTE
186 0x8e 0x00ce # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
187 0x8f 0x00cf # LATIN CAPITAL LETTER I WITH DIAERESIS
188 0x90 0x00d0 # LATIN CAPITAL LETTER ETH
189 0x91 0x00d1 # LATIN CAPITAL LETTER N WITH TILDE
190 0x92 0x00d2 # LATIN CAPITAL LETTER O WITH GRAVE
191 0x93 0x00d3 # LATIN CAPITAL LETTER O WITH ACUTE
192 0x94 0x00d4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
193 0x95 0x00d5 # LATIN CAPITAL LETTER O WITH TILDE
194 0x96 0x00d6 # LATIN CAPITAL LETTER O WITH DIAERESIS
195 0x97 0x00d9 # LATIN CAPITAL LETTER U WITH GRAVE
196 0x98 0x00da # LATIN CAPITAL LETTER U WITH ACUTE
197 0x99 0x00db # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
198 0x9a 0x00dc # LATIN CAPITAL LETTER U WITH DIAERESIS
199 0x9b 0x00dd # LATIN CAPITAL LETTER Y WITH ACUTE
200 0x9c 0x00de # LATIN CAPITAL LETTER THORN
201 0x9d 0x00b5 # MICRO SIGN
202 0x9e 0x00d7 # MULTIPLICATION SIGN
203 0x9f 0x00f7 # DIVISION SIGN
204 0xa0 0x00a9 # COPYRIGHT SIGN
205 0xa1 0x00a1 # INVERTED EXCLAMATION MARK
206 0xa2 0x00a2 # CENT SIGN
207 0xa3 0x00a3 # POUND SIGN
208 0xa4 0x2044 # FRACTION SLASH
209 0xa5 0x00a5 # YEN SIGN
210 0xa6 0x0192 # LATIN SMALL LETTER F WITH HOOK
211 0xa7 0x00a7 # SECTION SIGN
212 0xa8 0x00a4 # CURRENCY SIGN
213 0xa9 0x2019 # RIGHT SINGLE QUOTATION MARK
214 0xaa 0x201c # LEFT DOUBLE QUOTATION MARK
215 0xab 0x00ab # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
216 0xac 0x2039 # LATIN SMALL LETTER
217 0xad 0x203a # LATIN SMALL LETTER
218 0xae 0xfb01 # LATIN SMALL LIGATURE FI
219 0xaf 0xfb02 # LATIN SMALL LIGATURE FL
220 0xb0 0x00ae # REGISTERED SIGN
221 0xb1 0x2013 # EN DASH
222 0xb2 0x2020 # DAGGER
223 0xb3 0x2021 # DOUBLE DAGGER
224 0xb4 0x00b7 # MIDDLE DOT
225 0xb5 0x00a6 # BROKEN BAR
226 0xb6 0x00b6 # PILCROW SIGN
227 0xb7 0x2022 # BULLET
228 0xb8 0x201a # SINGLE LOW-9 QUOTATION MARK
229 0xb9 0x201e # DOUBLE LOW-9 QUOTATION MARK
230 0xba 0x201d # RIGHT DOUBLE QUOTATION MARK
231 0xbb 0x00bb # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
232 0xbc 0x2026 # HORIZONTAL ELLIPSIS
233 0xbd 0x2030 # PER MILLE SIGN
234 0xbe 0x00ac # NOT SIGN
235 0xbf 0x00bf # INVERTED QUESTION MARK
236 0xc0 0x00b9 # SUPERSCRIPT ONE
237 0xc1 0x02cb # MODIFIER LETTER GRAVE ACCENT
238 0xc2 0x00b4 # ACUTE ACCENT
239 0xc3 0x02c6 # MODIFIER LETTER CIRCUMFLEX ACCENT
240 0xc4 0x02dc # SMALL TILDE
241 0xc5 0x00af # MACRON
242 0xc6 0x02d8 # BREVE
243 0xc7 0x02d9 # DOT ABOVE
244 0xc8 0x00a8 # DIAERESIS
245 0xc9 0x00b2 # SUPERSCRIPT TWO
246 0xca 0x02da # RING ABOVE
247 0xcb 0x00b8 # CEDILLA
248 0xcc 0x00b3 # SUPERSCRIPT THREE
249 0xcd 0x02dd # DOUBLE ACUTE ACCENT
250 0xce 0x02db # OGONEK
251 0xcf 0x02c7 # CARON
252 0xd0 0x2014 # EM DASH
253 0xd1 0x00b1 # PLUS-MINUS SIGN
254 0xd2 0x00bc # VULGAR FRACTION ONE QUARTER
255 0xd3 0x00bd # VULGAR FRACTION ONE HALF
256 0xd4 0x00be # VULGAR FRACTION THREE QUARTERS
257 0xd5 0x00e0 # LATIN SMALL LETTER A WITH GRAVE
258 0xd6 0x00e1 # LATIN SMALL LETTER A WITH ACUTE
259 0xd7 0x00e2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
260 0xd8 0x00e3 # LATIN SMALL LETTER A WITH TILDE
261 0xd9 0x00e4 # LATIN SMALL LETTER A WITH DIAERESIS
262 0xda 0x00e5 # LATIN SMALL LETTER A WITH RING ABOVE
263 0xdb 0x00e7 # LATIN SMALL LETTER C WITH CEDILLA
264 0xdc 0x00e8 # LATIN SMALL LETTER E WITH GRAVE
265 0xdd 0x00e9 # LATIN SMALL LETTER E WITH ACUTE
266 0xde 0x00ea # LATIN SMALL LETTER E WITH CIRCUMFLEX
267 0xdf 0x00eb # LATIN SMALL LETTER E WITH DIAERESIS
268 0xe0 0x00ec # LATIN SMALL LETTER I WITH GRAVE
269 0xe1 0x00c6 # LATIN CAPITAL LETTER AE
270 0xe2 0x00ed # LATIN SMALL LETTER I WITH ACUTE
271 0xe3 0x00aa # FEMININE ORDINAL INDICATOR
272 0xe4 0x00ee # LATIN SMALL LETTER I WITH CIRCUMFLEX
273 0xe5 0x00ef # LATIN SMALL LETTER I WITH DIAERESIS
274 0xe6 0x00f0 # LATIN SMALL LETTER ETH
275 0xe7 0x00f1 # LATIN SMALL LETTER N WITH TILDE
276 0xe8 0x0141 # LATIN CAPITAL LETTER L WITH STROKE
277 0xe9 0x00d8 # LATIN CAPITAL LETTER O WITH STROKE
278 0xea 0x0152 # LATIN CAPITAL LIGATURE OE
279 0xeb 0x00ba # MASCULINE ORDINAL INDICATOR
280 0xec 0x00f2 # LATIN SMALL LETTER O WITH GRAVE
281 0xed 0x00f3 # LATIN SMALL LETTER O WITH ACUTE
282 0xee 0x00f4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
283 0xef 0x00f5 # LATIN SMALL LETTER O WITH TILDE
284 0xf0 0x00f6 # LATIN SMALL LETTER O WITH DIAERESIS
285 0xf1 0x00e6 # LATIN SMALL LETTER AE
286 0xf2 0x00f9 # LATIN SMALL LETTER U WITH GRAVE
287 0xf3 0x00fa # LATIN SMALL LETTER U WITH ACUTE
288 0xf4 0x00fb # LATIN SMALL LETTER U WITH CIRCUMFLEX
289 0xf5 0x0131 # LATIN SMALL LETTER DOTLESS I
290 0xf6 0x00fc # LATIN SMALL LETTER U WITH DIAERESIS
291 0xf7 0x00fd # LATIN SMALL LETTER Y WITH ACUTE
292 0xf8 0x0142 # LATIN SMALL LETTER L WITH STROKE
293 0xf9 0x00f8 # LATIN SMALL LETTER O WITH STROKE
294 0xfa 0x0153 # LATIN SMALL LIGATURE OE
295 0xfb 0x00df # LATIN SMALL LETTER SHARP S
296 0xfc 0x00fe # LATIN SMALL LETTER THORN
297 0xfd 0x00ff # LATIN SMALL LETTER Y WITH DIAERESIS
298 0xfe 0xfffd # .notdef, REPLACEMENT CHARACTER
299 0xff 0xfffd # .notdef, REPLACEMENT CHARACTER
10
30011 * The contents of this file are subject to the Interbase Public
30112 * License Version 1.0 (the "License"); you may not use this file
30213 * except in compliance with the License. You may obtain a copy
33
44 Unicode mapping table generated from file SHIFTJIS.TXT
55
6 #
76 # --- This is a trunctated version of the SHIFTJIS.TXT file
87 # --- Provided by Unicode, Inc. This version contains only
98 # --- The shift-JIS codes in 0x80 .. 0xFF which are not also
109 # --- part of JIS (eg: the half-width Katakana)
1110 # --- David B. Schnepper
12
1311 #
1412 # Name: Shift-JIS to Unicode
1513 # Unicode version: 1.1
1614 # Table version: 0.9
1715 # Table format: Format A
1816 # Date: 8 March 1994
19 # Authors: Glenn Adams <glenn@metis.com>
20 # John H. Jenkins <John_Jenkins@taligent.com>
21 #
22 #
23 # This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
24 # No claims are made as to fitness for any particular purpose. No
25 # warranties of any kind are expressed or implied. The recipient
26 # agrees to determine applicability of information provided. If this
27 # file has been provided on magnetic media by Unicode, Inc., the sole
28 # remedy for any claim will be exchange of defective media within 90
29 # days of receipt.
30 #
31 # Recipient is granted the right to make copies in any form for
32 # internal distribution and to freely use the information supplied
33 # in the creation of products supporting Unicode. Unicode, Inc.
34 # specifically excludes the right to re-distribute this file directly
35 # to third parties or other organizations whether for profit or not.
36 #
37 # General notes:
38 #
39 # This table contains the data the Unicode Consortium has on how
40 # Shift-JIS (a combination of JIS 0201 and JIS 0208) maps into Unicode.
41 #
42 # Format: Three tab-separated columns
43 # Column #1 is the shift-JIS code (in hex)
44 # Column #2 is the Unicode (in hex as 0xXXXX)
45 # Column #3 the Unicode name (follows a comment sign, '#')
46 # The official names for Unicode characters U+4E00
47 # to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
48 # where XXXX is the code point. Including all these
49 # names in this file increases its size substantially
50 # and needlessly. The token "<CJK>" is used for the
51 # name of these characters. If necessary, it can be
52 # expanded algorithmically by a parser or editor.
53 #
54 # The entries are ordered by their Shift-JIS codes as follows:
55 # Single-byte characters precede double-byte characters
56 # The single-byte and double-byte blocks are in ascending
57 # hexadecimal order
58 # There is an alternative order some people might be preferred,
59 # where all the entries are in order of the top (or only) byte.
60 # This alternate order can be generated from the one given here
61 # by a simple sort.
62 #
63 # The kanji mappings are a normative part of ISO/IEC 10646. The
64 # non-kanji mappings are provisional, pending definition of
65 # official mappings by Japanese standards bodies
66 #
67 # Any comments or problems, contact <John_Jenkins@taligent.com>
68 #
69 #
70 0x00 0x0000 #NULL
71 0x01 0x0001 #START OF HEADING
72 0x02 0x0002 #START OF TEXT
73 0x03 0x0003 #END OF TEXT
74 0x04 0x0004 #END OF TRANSMISSION
75 0x05 0x0005 #ENQUIRY
76 0x06 0x0006 #ACKNOWLEDGE
77 0x07 0x0007 #BELL
78 0x08 0x0008 #BACKSPACE
79 0x09 0x0009 #HORIZONTAL TABULATION
80 0x0a 0x000a #LINE FEED
81 0x0b 0x000b #VERTICAL TABULATION
82 0x0c 0x000c #FORM FEED
83 0x0d 0x000d #CARRIAGE RETURN
84 0x0e 0x000e #SHIFT OUT
85 0x0f 0x000f #SHIFT IN
86 0x10 0x0010 #DATA LINK ESCAPE
87 0x11 0x0011 #DEVICE CONTROL ONE
88 0x12 0x0012 #DEVICE CONTROL TWO
89 0x13 0x0013 #DEVICE CONTROL THREE
90 0x14 0x0014 #DEVICE CONTROL FOUR
91 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
92 0x16 0x0016 #SYNCHRONOUS IDLE
93 0x17 0x0017 #END OF TRANSMISSION BLOCK
94 0x18 0x0018 #CANCEL
95 0x19 0x0019 #END OF MEDIUM
96 0x1a 0x001a #SUBSTITUTE
97 0x1b 0x001b #ESCAPE
98 0x1c 0x001c #FILE SEPARATOR
99 0x1d 0x001d #GROUP SEPARATOR
100 0x1e 0x001e #RECORD SEPARATOR
101 0x1f 0x001f #UNIT SEPARATOR
102 #
103 # --- Start of actual lines from SHIFTJIS.TXT
104 #
105 0x20 0x0020 # SPACE
106 0x21 0x0021 # EXCLAMATION MARK
107 0x22 0x0022 # QUOTATION MARK
108 0x23 0x0023 # NUMBER SIGN
109 0x24 0x0024 # DOLLAR SIGN
110 0x25 0x0025 # PERCENT SIGN
111 0x26 0x0026 # AMPERSAND
112 0x27 0x0027 # APOSTROPHE
113 0x28 0x0028 # LEFT PARENTHESIS
114 0x29 0x0029 # RIGHT PARENTHESIS
115 0x2A 0x002A # ASTERISK
116 0x2B 0x002B # PLUS SIGN
117 0x2C 0x002C # COMMA
118 0x2D 0x002D # HYPHEN-MINUS
119 0x2E 0x002E # FULL STOP
120 0x2F 0x002F # SOLIDUS
121 0x30 0x0030 # DIGIT ZERO
122 0x31 0x0031 # DIGIT ONE
123 0x32 0x0032 # DIGIT TWO
124 0x33 0x0033 # DIGIT THREE
125 0x34 0x0034 # DIGIT FOUR
126 0x35 0x0035 # DIGIT FIVE
127 0x36 0x0036 # DIGIT SIX
128 0x37 0x0037 # DIGIT SEVEN
129 0x38 0x0038 # DIGIT EIGHT
130 0x39 0x0039 # DIGIT NINE
131 0x3A 0x003A # COLON
132 0x3B 0x003B # SEMICOLON
133 0x3C 0x003C # LESS-THAN SIGN
134 0x3D 0x003D # EQUALS SIGN
135 0x3E 0x003E # GREATER-THAN SIGN
136 0x3F 0x003F # QUESTION MARK
137 0x40 0x0040 # COMMERCIAL AT
138 0x41 0x0041 # LATIN CAPITAL LETTER A
139 0x42 0x0042 # LATIN CAPITAL LETTER B
140 0x43 0x0043 # LATIN CAPITAL LETTER C
141 0x44 0x0044 # LATIN CAPITAL LETTER D
142 0x45 0x0045 # LATIN CAPITAL LETTER E
143 0x46 0x0046 # LATIN CAPITAL LETTER F
144 0x47 0x0047 # LATIN CAPITAL LETTER G
145 0x48 0x0048 # LATIN CAPITAL LETTER H
146 0x49 0x0049 # LATIN CAPITAL LETTER I
147 0x4A 0x004A # LATIN CAPITAL LETTER J
148 0x4B 0x004B # LATIN CAPITAL LETTER K
149 0x4C 0x004C # LATIN CAPITAL LETTER L
150 0x4D 0x004D # LATIN CAPITAL LETTER M
151 0x4E 0x004E # LATIN CAPITAL LETTER N
152 0x4F 0x004F # LATIN CAPITAL LETTER O
153 0x50 0x0050 # LATIN CAPITAL LETTER P
154 0x51 0x0051 # LATIN CAPITAL LETTER Q
155 0x52 0x0052 # LATIN CAPITAL LETTER R
156 0x53 0x0053 # LATIN CAPITAL LETTER S
157 0x54 0x0054 # LATIN CAPITAL LETTER T
158 0x55 0x0055 # LATIN CAPITAL LETTER U
159 0x56 0x0056 # LATIN CAPITAL LETTER V
160 0x57 0x0057 # LATIN CAPITAL LETTER W
161 0x58 0x0058 # LATIN CAPITAL LETTER X
162 0x59 0x0059 # LATIN CAPITAL LETTER Y
163 0x5A 0x005A # LATIN CAPITAL LETTER Z
164 0x5B 0x005B # LEFT SQUARE BRACKET
165 0x5C 0x00A5 # YEN SIGN
166 0x5D 0x005D # RIGHT SQUARE BRACKET
167 0x5E 0x005E # CIRCUMFLEX ACCENT
168 0x5F 0x005F # LOW LINE
169 0x60 0x0060 # GRAVE ACCENT
170 0x61 0x0061 # LATIN SMALL LETTER A
171 0x62 0x0062 # LATIN SMALL LETTER B
172 0x63 0x0063 # LATIN SMALL LETTER C
173 0x64 0x0064 # LATIN SMALL LETTER D
174 0x65 0x0065 # LATIN SMALL LETTER E
175 0x66 0x0066 # LATIN SMALL LETTER F
176 0x67 0x0067 # LATIN SMALL LETTER G
177 0x68 0x0068 # LATIN SMALL LETTER H
178 0x69 0x0069 # LATIN SMALL LETTER I
179 0x6A 0x006A # LATIN SMALL LETTER J
180 0x6B 0x006B # LATIN SMALL LETTER K
181 0x6C 0x006C # LATIN SMALL LETTER L
182 0x6D 0x006D # LATIN SMALL LETTER M
183 0x6E 0x006E # LATIN SMALL LETTER N
184 0x6F 0x006F # LATIN SMALL LETTER O
185 0x70 0x0070 # LATIN SMALL LETTER P
186 0x71 0x0071 # LATIN SMALL LETTER Q
187 0x72 0x0072 # LATIN SMALL LETTER R
188 0x73 0x0073 # LATIN SMALL LETTER S
189 0x74 0x0074 # LATIN SMALL LETTER T
190 0x75 0x0075 # LATIN SMALL LETTER U
191 0x76 0x0076 # LATIN SMALL LETTER V
192 0x77 0x0077 # LATIN SMALL LETTER W
193 0x78 0x0078 # LATIN SMALL LETTER X
194 0x79 0x0079 # LATIN SMALL LETTER Y
195 0x7A 0x007A # LATIN SMALL LETTER Z
196 0x7B 0x007B # LEFT CURLY BRACKET
197 0x7C 0x007C # VERTICAL LINE
198 0x7D 0x007D # RIGHT CURLY BRACKET
199 0x7E 0x203E # OVERLINE
200 #
201 # --- Kanji mappings from SHIFTJIS.TXT removed
202 #
203 0xA1 0xFF61 # HALFWIDTH IDEOGRAPHIC FULL STOP
204 0xA2 0xFF62 # HALFWIDTH LEFT CORNER BRACKET
205 0xA3 0xFF63 # HALFWIDTH RIGHT CORNER BRACKET
206 0xA4 0xFF64 # HALFWIDTH IDEOGRAPHIC COMMA
207 0xA5 0xFF65 # HALFWIDTH KATAKANA MIDDLE DOT
208 0xA6 0xFF66 # HALFWIDTH KATAKANA LETTER WO
209 0xA7 0xFF67 # HALFWIDTH KATAKANA LETTER SMALL A
210 0xA8 0xFF68 # HALFWIDTH KATAKANA LETTER SMALL I
211 0xA9 0xFF69 # HALFWIDTH KATAKANA LETTER SMALL U
212 0xAA 0xFF6A # HALFWIDTH KATAKANA LETTER SMALL E
213 0xAB 0xFF6B # HALFWIDTH KATAKANA LETTER SMALL O
214 0xAC 0xFF6C # HALFWIDTH KATAKANA LETTER SMALL YA
215 0xAD 0xFF6D # HALFWIDTH KATAKANA LETTER SMALL YU
216 0xAE 0xFF6E # HALFWIDTH KATAKANA LETTER SMALL YO
217 0xAF 0xFF6F # HALFWIDTH KATAKANA LETTER SMALL TU
218 0xB0 0xFF70 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
219 0xB1 0xFF71 # HALFWIDTH KATAKANA LETTER A
220 0xB2 0xFF72 # HALFWIDTH KATAKANA LETTER I
221 0xB3 0xFF73 # HALFWIDTH KATAKANA LETTER U
222 0xB4 0xFF74 # HALFWIDTH KATAKANA LETTER E
223 0xB5 0xFF75 # HALFWIDTH KATAKANA LETTER O
224 0xB6 0xFF76 # HALFWIDTH KATAKANA LETTER KA
225 0xB7 0xFF77 # HALFWIDTH KATAKANA LETTER KI
226 0xB8 0xFF78 # HALFWIDTH KATAKANA LETTER KU
227 0xB9 0xFF79 # HALFWIDTH KATAKANA LETTER KE
228 0xBA 0xFF7A # HALFWIDTH KATAKANA LETTER KO
229 0xBB 0xFF7B # HALFWIDTH KATAKANA LETTER SA
230 0xBC 0xFF7C # HALFWIDTH KATAKANA LETTER SI
231 0xBD 0xFF7D # HALFWIDTH KATAKANA LETTER SU
232 0xBE 0xFF7E # HALFWIDTH KATAKANA LETTER SE
233 0xBF 0xFF7F # HALFWIDTH KATAKANA LETTER SO
234 0xC0 0xFF80 # HALFWIDTH KATAKANA LETTER TA
235 0xC1 0xFF81 # HALFWIDTH KATAKANA LETTER TI
236 0xC2 0xFF82 # HALFWIDTH KATAKANA LETTER TU
237 0xC3 0xFF83 # HALFWIDTH KATAKANA LETTER TE
238 0xC4 0xFF84 # HALFWIDTH KATAKANA LETTER TO
239 0xC5 0xFF85 # HALFWIDTH KATAKANA LETTER NA
240 0xC6 0xFF86 # HALFWIDTH KATAKANA LETTER NI
241 0xC7 0xFF87 # HALFWIDTH KATAKANA LETTER NU
242 0xC8 0xFF88 # HALFWIDTH KATAKANA LETTER NE
243 0xC9 0xFF89 # HALFWIDTH KATAKANA LETTER NO
244 0xCA 0xFF8A # HALFWIDTH KATAKANA LETTER HA
245 0xCB 0xFF8B # HALFWIDTH KATAKANA LETTER HI
246 0xCC 0xFF8C # HALFWIDTH KATAKANA LETTER HU
247 0xCD 0xFF8D # HALFWIDTH KATAKANA LETTER HE
248 0xCE 0xFF8E # HALFWIDTH KATAKANA LETTER HO
249 0xCF 0xFF8F # HALFWIDTH KATAKANA LETTER MA
250 0xD0 0xFF90 # HALFWIDTH KATAKANA LETTER MI
251 0xD1 0xFF91 # HALFWIDTH KATAKANA LETTER MU
252 0xD2 0xFF92 # HALFWIDTH KATAKANA LETTER ME
253 0xD3 0xFF93 # HALFWIDTH KATAKANA LETTER MO
254 0xD4 0xFF94 # HALFWIDTH KATAKANA LETTER YA
255 0xD5 0xFF95 # HALFWIDTH KATAKANA LETTER YU
256 0xD6 0xFF96 # HALFWIDTH KATAKANA LETTER YO
257 0xD7 0xFF97 # HALFWIDTH KATAKANA LETTER RA
258 0xD8 0xFF98 # HALFWIDTH KATAKANA LETTER RI
259 0xD9 0xFF99 # HALFWIDTH KATAKANA LETTER RU
260 0xDA 0xFF9A # HALFWIDTH KATAKANA LETTER RE
261 0xDB 0xFF9B # HALFWIDTH KATAKANA LETTER RO
262 0xDC 0xFF9C # HALFWIDTH KATAKANA LETTER WA
263 0xDD 0xFF9D # HALFWIDTH KATAKANA LETTER N
264 0xDE 0xFF9E # HALFWIDTH KATAKANA VOICED SOUND MARK
265 0xDF 0xFF9F # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
266 #
267 # --- Kanji mappings from SHIFTJIS.TXT removed
268 #
17
26918 * The contents of this file are subject to the Interbase Public
27019 * License Version 1.0 (the "License"); you may not use this file
27120 * except in compliance with the License. You may obtain a copy
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1250 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1250 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1250 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x20ac #EURO SIGN
145 0x81 #UNDEFINED
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 #UNDEFINED
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 #UNDEFINED
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a 0x0160 #LATIN CAPITAL LETTER S WITH CARON
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c 0x015a #LATIN CAPITAL LETTER S WITH ACUTE
157 0x8d 0x0164 #LATIN CAPITAL LETTER T WITH CARON
158 0x8e 0x017d #LATIN CAPITAL LETTER Z WITH CARON
159 0x8f 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
160 0x90 #UNDEFINED
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 #UNDEFINED
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a 0x0161 #LATIN SMALL LETTER S WITH CARON
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c 0x015b #LATIN SMALL LETTER S WITH ACUTE
173 0x9d 0x0165 #LATIN SMALL LETTER T WITH CARON
174 0x9e 0x017e #LATIN SMALL LETTER Z WITH CARON
175 0x9f 0x017a #LATIN SMALL LETTER Z WITH ACUTE
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x02c7 #CARON
178 0xa2 0x02d8 #BREVE
179 0xa3 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x02db #OGONEK
195 0xb3 0x0142 #LATIN SMALL LETTER L WITH STROKE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x0105 #LATIN SMALL LETTER A WITH OGONEK
202 0xba 0x015f #LATIN SMALL LETTER S WITH CEDILLA
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x013d #LATIN CAPITAL LETTER L WITH CARON
205 0xbd 0x02dd #DOUBLE ACUTE ACCENT
206 0xbe 0x013e #LATIN SMALL LETTER L WITH CARON
207 0xbf 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
208 0xc0 0x0154 #LATIN CAPITAL LETTER R WITH ACUTE
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x0139 #LATIN CAPITAL LETTER L WITH ACUTE
214 0xc6 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
215 0xc7 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
216 0xc8 0x010c #LATIN CAPITAL LETTER C WITH CARON
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x011a #LATIN CAPITAL LETTER E WITH CARON
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x010e #LATIN CAPITAL LETTER D WITH CARON
224 0xd0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
225 0xd1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
226 0xd2 0x0147 #LATIN CAPITAL LETTER N WITH CARON
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x0150 #LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x0158 #LATIN CAPITAL LETTER R WITH CARON
233 0xd9 0x016e #LATIN CAPITAL LETTER U WITH RING ABOVE
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x0170 #LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
238 0xde 0x0162 #LATIN CAPITAL LETTER T WITH CEDILLA
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x0155 #LATIN SMALL LETTER R WITH ACUTE
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x0103 #LATIN SMALL LETTER A WITH BREVE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x013a #LATIN SMALL LETTER L WITH ACUTE
246 0xe6 0x0107 #LATIN SMALL LETTER C WITH ACUTE
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x010d #LATIN SMALL LETTER C WITH CARON
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x0119 #LATIN SMALL LETTER E WITH OGONEK
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x011b #LATIN SMALL LETTER E WITH CARON
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x010f #LATIN SMALL LETTER D WITH CARON
256 0xf0 0x0111 #LATIN SMALL LETTER D WITH STROKE
257 0xf1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
258 0xf2 0x0148 #LATIN SMALL LETTER N WITH CARON
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x0151 #LATIN SMALL LETTER O WITH DOUBLE ACUTE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x0159 #LATIN SMALL LETTER R WITH CARON
265 0xf9 0x016f #LATIN SMALL LETTER U WITH RING ABOVE
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x0171 #LATIN SMALL LETTER U WITH DOUBLE ACUTE
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
270 0xfe 0x0163 #LATIN SMALL LETTER T WITH CEDILLA
271 0xff 0x02d9 #DOT ABOVE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1251 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1251 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1251 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x0402 #CYRILLIC CAPITAL LETTER DJE
145 0x81 0x0403 #CYRILLIC CAPITAL LETTER GJE
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 0x0453 #CYRILLIC SMALL LETTER GJE
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 0x20ac #EURO SIGN
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a 0x0409 #CYRILLIC CAPITAL LETTER LJE
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c 0x040a #CYRILLIC CAPITAL LETTER NJE
157 0x8d 0x040c #CYRILLIC CAPITAL LETTER KJE
158 0x8e 0x040b #CYRILLIC CAPITAL LETTER TSHE
159 0x8f 0x040f #CYRILLIC CAPITAL LETTER DZHE
160 0x90 0x0452 #CYRILLIC SMALL LETTER DJE
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 #UNDEFINED
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a 0x0459 #CYRILLIC SMALL LETTER LJE
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c 0x045a #CYRILLIC SMALL LETTER NJE
173 0x9d 0x045c #CYRILLIC SMALL LETTER KJE
174 0x9e 0x045b #CYRILLIC SMALL LETTER TSHE
175 0x9f 0x045f #CYRILLIC SMALL LETTER DZHE
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x040e #CYRILLIC CAPITAL LETTER SHORT U
178 0xa2 0x045e #CYRILLIC SMALL LETTER SHORT U
179 0xa3 0x0408 #CYRILLIC CAPITAL LETTER JE
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x0490 #CYRILLIC CAPITAL LETTER GHE WITH UPTURN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x0401 #CYRILLIC CAPITAL LETTER IO
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x0404 #CYRILLIC CAPITAL LETTER UKRAINIAN IE
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x0407 #CYRILLIC CAPITAL LETTER YI
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x0406 #CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
195 0xb3 0x0456 #CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
196 0xb4 0x0491 #CYRILLIC SMALL LETTER GHE WITH UPTURN
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x0451 #CYRILLIC SMALL LETTER IO
201 0xb9 0x2116 #NUMERO SIGN
202 0xba 0x0454 #CYRILLIC SMALL LETTER UKRAINIAN IE
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x0458 #CYRILLIC SMALL LETTER JE
205 0xbd 0x0405 #CYRILLIC CAPITAL LETTER DZE
206 0xbe 0x0455 #CYRILLIC SMALL LETTER DZE
207 0xbf 0x0457 #CYRILLIC SMALL LETTER YI
208 0xc0 0x0410 #CYRILLIC CAPITAL LETTER A
209 0xc1 0x0411 #CYRILLIC CAPITAL LETTER BE
210 0xc2 0x0412 #CYRILLIC CAPITAL LETTER VE
211 0xc3 0x0413 #CYRILLIC CAPITAL LETTER GHE
212 0xc4 0x0414 #CYRILLIC CAPITAL LETTER DE
213 0xc5 0x0415 #CYRILLIC CAPITAL LETTER IE
214 0xc6 0x0416 #CYRILLIC CAPITAL LETTER ZHE
215 0xc7 0x0417 #CYRILLIC CAPITAL LETTER ZE
216 0xc8 0x0418 #CYRILLIC CAPITAL LETTER I
217 0xc9 0x0419 #CYRILLIC CAPITAL LETTER SHORT I
218 0xca 0x041a #CYRILLIC CAPITAL LETTER KA
219 0xcb 0x041b #CYRILLIC CAPITAL LETTER EL
220 0xcc 0x041c #CYRILLIC CAPITAL LETTER EM
221 0xcd 0x041d #CYRILLIC CAPITAL LETTER EN
222 0xce 0x041e #CYRILLIC CAPITAL LETTER O
223 0xcf 0x041f #CYRILLIC CAPITAL LETTER PE
224 0xd0 0x0420 #CYRILLIC CAPITAL LETTER ER
225 0xd1 0x0421 #CYRILLIC CAPITAL LETTER ES
226 0xd2 0x0422 #CYRILLIC CAPITAL LETTER TE
227 0xd3 0x0423 #CYRILLIC CAPITAL LETTER U
228 0xd4 0x0424 #CYRILLIC CAPITAL LETTER EF
229 0xd5 0x0425 #CYRILLIC CAPITAL LETTER HA
230 0xd6 0x0426 #CYRILLIC CAPITAL LETTER TSE
231 0xd7 0x0427 #CYRILLIC CAPITAL LETTER CHE
232 0xd8 0x0428 #CYRILLIC CAPITAL LETTER SHA
233 0xd9 0x0429 #CYRILLIC CAPITAL LETTER SHCHA
234 0xda 0x042a #CYRILLIC CAPITAL LETTER HARD SIGN
235 0xdb 0x042b #CYRILLIC CAPITAL LETTER YERU
236 0xdc 0x042c #CYRILLIC CAPITAL LETTER SOFT SIGN
237 0xdd 0x042d #CYRILLIC CAPITAL LETTER E
238 0xde 0x042e #CYRILLIC CAPITAL LETTER YU
239 0xdf 0x042f #CYRILLIC CAPITAL LETTER YA
240 0xe0 0x0430 #CYRILLIC SMALL LETTER A
241 0xe1 0x0431 #CYRILLIC SMALL LETTER BE
242 0xe2 0x0432 #CYRILLIC SMALL LETTER VE
243 0xe3 0x0433 #CYRILLIC SMALL LETTER GHE
244 0xe4 0x0434 #CYRILLIC SMALL LETTER DE
245 0xe5 0x0435 #CYRILLIC SMALL LETTER IE
246 0xe6 0x0436 #CYRILLIC SMALL LETTER ZHE
247 0xe7 0x0437 #CYRILLIC SMALL LETTER ZE
248 0xe8 0x0438 #CYRILLIC SMALL LETTER I
249 0xe9 0x0439 #CYRILLIC SMALL LETTER SHORT I
250 0xea 0x043a #CYRILLIC SMALL LETTER KA
251 0xeb 0x043b #CYRILLIC SMALL LETTER EL
252 0xec 0x043c #CYRILLIC SMALL LETTER EM
253 0xed 0x043d #CYRILLIC SMALL LETTER EN
254 0xee 0x043e #CYRILLIC SMALL LETTER O
255 0xef 0x043f #CYRILLIC SMALL LETTER PE
256 0xf0 0x0440 #CYRILLIC SMALL LETTER ER
257 0xf1 0x0441 #CYRILLIC SMALL LETTER ES
258 0xf2 0x0442 #CYRILLIC SMALL LETTER TE
259 0xf3 0x0443 #CYRILLIC SMALL LETTER U
260 0xf4 0x0444 #CYRILLIC SMALL LETTER EF
261 0xf5 0x0445 #CYRILLIC SMALL LETTER HA
262 0xf6 0x0446 #CYRILLIC SMALL LETTER TSE
263 0xf7 0x0447 #CYRILLIC SMALL LETTER CHE
264 0xf8 0x0448 #CYRILLIC SMALL LETTER SHA
265 0xf9 0x0449 #CYRILLIC SMALL LETTER SHCHA
266 0xfa 0x044a #CYRILLIC SMALL LETTER HARD SIGN
267 0xfb 0x044b #CYRILLIC SMALL LETTER YERU
268 0xfc 0x044c #CYRILLIC SMALL LETTER SOFT SIGN
269 0xfd 0x044d #CYRILLIC SMALL LETTER E
270 0xfe 0x044e #CYRILLIC SMALL LETTER YU
271 0xff 0x044f #CYRILLIC SMALL LETTER YA
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1252 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1252 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1252 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x20ac #EURO SIGN
145 0x81 #UNDEFINED
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 0x02c6 #MODIFIER LETTER CIRCUMFLEX ACCENT
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a 0x0160 #LATIN CAPITAL LETTER S WITH CARON
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c 0x0152 #LATIN CAPITAL LIGATURE OE
157 0x8d #UNDEFINED
158 0x8e 0x017d #LATIN CAPITAL LETTER Z WITH CARON
159 0x8f #UNDEFINED
160 0x90 #UNDEFINED
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 0x02dc #SMALL TILDE
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a 0x0161 #LATIN SMALL LETTER S WITH CARON
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c 0x0153 #LATIN SMALL LIGATURE OE
173 0x9d #UNDEFINED
174 0x9e 0x017e #LATIN SMALL LETTER Z WITH CARON
175 0x9f 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x00a1 #INVERTED EXCLAMATION MARK
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x00aa #FEMININE ORDINAL INDICATOR
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00af #MACRON
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x00ba #MASCULINE ORDINAL INDICATOR
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x00bf #INVERTED QUESTION MARK
208 0xc0 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
214 0xc6 0x00c6 #LATIN CAPITAL LETTER AE
215 0xc7 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
216 0xc8 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
224 0xd0 0x00d0 #LATIN CAPITAL LETTER ETH
225 0xd1 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
226 0xd2 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
233 0xd9 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x00dd #LATIN CAPITAL LETTER Y WITH ACUTE
238 0xde 0x00de #LATIN CAPITAL LETTER THORN
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x00e3 #LATIN SMALL LETTER A WITH TILDE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
246 0xe6 0x00e6 #LATIN SMALL LETTER AE
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x00ec #LATIN SMALL LETTER I WITH GRAVE
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
256 0xf0 0x00f0 #LATIN SMALL LETTER ETH
257 0xf1 0x00f1 #LATIN SMALL LETTER N WITH TILDE
258 0xf2 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x00f5 #LATIN SMALL LETTER O WITH TILDE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x00f8 #LATIN SMALL LETTER O WITH STROKE
265 0xf9 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x00fd #LATIN SMALL LETTER Y WITH ACUTE
270 0xfe 0x00fe #LATIN SMALL LETTER THORN
271 0xff 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1253 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1253 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1253 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x20ac #EURO SIGN
145 0x81 #UNDEFINED
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 #UNDEFINED
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a #UNDEFINED
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c #UNDEFINED
157 0x8d #UNDEFINED
158 0x8e #UNDEFINED
159 0x8f #UNDEFINED
160 0x90 #UNDEFINED
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 #UNDEFINED
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a #UNDEFINED
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c #UNDEFINED
173 0x9d #UNDEFINED
174 0x9e #UNDEFINED
175 0x9f #UNDEFINED
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x0385 #GREEK DIALYTIKA TONOS
178 0xa2 0x0386 #GREEK CAPITAL LETTER ALPHA WITH TONOS
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa #UNDEFINED
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x2015 #HORIZONTAL BAR
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x0384 #GREEK TONOS
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x0388 #GREEK CAPITAL LETTER EPSILON WITH TONOS
201 0xb9 0x0389 #GREEK CAPITAL LETTER ETA WITH TONOS
202 0xba 0x038a #GREEK CAPITAL LETTER IOTA WITH TONOS
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x038c #GREEK CAPITAL LETTER OMICRON WITH TONOS
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x038e #GREEK CAPITAL LETTER UPSILON WITH TONOS
207 0xbf 0x038f #GREEK CAPITAL LETTER OMEGA WITH TONOS
208 0xc0 0x0390 #GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
209 0xc1 0x0391 #GREEK CAPITAL LETTER ALPHA
210 0xc2 0x0392 #GREEK CAPITAL LETTER BETA
211 0xc3 0x0393 #GREEK CAPITAL LETTER GAMMA
212 0xc4 0x0394 #GREEK CAPITAL LETTER DELTA
213 0xc5 0x0395 #GREEK CAPITAL LETTER EPSILON
214 0xc6 0x0396 #GREEK CAPITAL LETTER ZETA
215 0xc7 0x0397 #GREEK CAPITAL LETTER ETA
216 0xc8 0x0398 #GREEK CAPITAL LETTER THETA
217 0xc9 0x0399 #GREEK CAPITAL LETTER IOTA
218 0xca 0x039a #GREEK CAPITAL LETTER KAPPA
219 0xcb 0x039b #GREEK CAPITAL LETTER LAMDA
220 0xcc 0x039c #GREEK CAPITAL LETTER MU
221 0xcd 0x039d #GREEK CAPITAL LETTER NU
222 0xce 0x039e #GREEK CAPITAL LETTER XI
223 0xcf 0x039f #GREEK CAPITAL LETTER OMICRON
224 0xd0 0x03a0 #GREEK CAPITAL LETTER PI
225 0xd1 0x03a1 #GREEK CAPITAL LETTER RHO
226 0xd2 #UNDEFINED
227 0xd3 0x03a3 #GREEK CAPITAL LETTER SIGMA
228 0xd4 0x03a4 #GREEK CAPITAL LETTER TAU
229 0xd5 0x03a5 #GREEK CAPITAL LETTER UPSILON
230 0xd6 0x03a6 #GREEK CAPITAL LETTER PHI
231 0xd7 0x03a7 #GREEK CAPITAL LETTER CHI
232 0xd8 0x03a8 #GREEK CAPITAL LETTER PSI
233 0xd9 0x03a9 #GREEK CAPITAL LETTER OMEGA
234 0xda 0x03aa #GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
235 0xdb 0x03ab #GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
236 0xdc 0x03ac #GREEK SMALL LETTER ALPHA WITH TONOS
237 0xdd 0x03ad #GREEK SMALL LETTER EPSILON WITH TONOS
238 0xde 0x03ae #GREEK SMALL LETTER ETA WITH TONOS
239 0xdf 0x03af #GREEK SMALL LETTER IOTA WITH TONOS
240 0xe0 0x03b0 #GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
241 0xe1 0x03b1 #GREEK SMALL LETTER ALPHA
242 0xe2 0x03b2 #GREEK SMALL LETTER BETA
243 0xe3 0x03b3 #GREEK SMALL LETTER GAMMA
244 0xe4 0x03b4 #GREEK SMALL LETTER DELTA
245 0xe5 0x03b5 #GREEK SMALL LETTER EPSILON
246 0xe6 0x03b6 #GREEK SMALL LETTER ZETA
247 0xe7 0x03b7 #GREEK SMALL LETTER ETA
248 0xe8 0x03b8 #GREEK SMALL LETTER THETA
249 0xe9 0x03b9 #GREEK SMALL LETTER IOTA
250 0xea 0x03ba #GREEK SMALL LETTER KAPPA
251 0xeb 0x03bb #GREEK SMALL LETTER LAMDA
252 0xec 0x03bc #GREEK SMALL LETTER MU
253 0xed 0x03bd #GREEK SMALL LETTER NU
254 0xee 0x03be #GREEK SMALL LETTER XI
255 0xef 0x03bf #GREEK SMALL LETTER OMICRON
256 0xf0 0x03c0 #GREEK SMALL LETTER PI
257 0xf1 0x03c1 #GREEK SMALL LETTER RHO
258 0xf2 0x03c2 #GREEK SMALL LETTER FINAL SIGMA
259 0xf3 0x03c3 #GREEK SMALL LETTER SIGMA
260 0xf4 0x03c4 #GREEK SMALL LETTER TAU
261 0xf5 0x03c5 #GREEK SMALL LETTER UPSILON
262 0xf6 0x03c6 #GREEK SMALL LETTER PHI
263 0xf7 0x03c7 #GREEK SMALL LETTER CHI
264 0xf8 0x03c8 #GREEK SMALL LETTER PSI
265 0xf9 0x03c9 #GREEK SMALL LETTER OMEGA
266 0xfa 0x03ca #GREEK SMALL LETTER IOTA WITH DIALYTIKA
267 0xfb 0x03cb #GREEK SMALL LETTER UPSILON WITH DIALYTIKA
268 0xfc 0x03cc #GREEK SMALL LETTER OMICRON WITH TONOS
269 0xfd 0x03cd #GREEK SMALL LETTER UPSILON WITH TONOS
270 0xfe 0x03ce #GREEK SMALL LETTER OMEGA WITH TONOS
271 0xff #UNDEFINED
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1254 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1254 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1254 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x20ac #EURO SIGN
145 0x81 #UNDEFINED
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 0x02c6 #MODIFIER LETTER CIRCUMFLEX ACCENT
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a 0x0160 #LATIN CAPITAL LETTER S WITH CARON
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c 0x0152 #LATIN CAPITAL LIGATURE OE
157 0x8d #UNDEFINED
158 0x8e #UNDEFINED
159 0x8f #UNDEFINED
160 0x90 #UNDEFINED
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 0x02dc #SMALL TILDE
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a 0x0161 #LATIN SMALL LETTER S WITH CARON
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c 0x0153 #LATIN SMALL LIGATURE OE
173 0x9d #UNDEFINED
174 0x9e #UNDEFINED
175 0x9f 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x00a1 #INVERTED EXCLAMATION MARK
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x00aa #FEMININE ORDINAL INDICATOR
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00af #MACRON
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x00ba #MASCULINE ORDINAL INDICATOR
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x00bf #INVERTED QUESTION MARK
208 0xc0 0x00c0 #LATIN CAPITAL LETTER A WITH GRAVE
209 0xc1 0x00c1 #LATIN CAPITAL LETTER A WITH ACUTE
210 0xc2 0x00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
211 0xc3 0x00c3 #LATIN CAPITAL LETTER A WITH TILDE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
214 0xc6 0x00c6 #LATIN CAPITAL LETTER AE
215 0xc7 0x00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
216 0xc8 0x00c8 #LATIN CAPITAL LETTER E WITH GRAVE
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
219 0xcb 0x00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
220 0xcc 0x00cc #LATIN CAPITAL LETTER I WITH GRAVE
221 0xcd 0x00cd #LATIN CAPITAL LETTER I WITH ACUTE
222 0xce 0x00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
223 0xcf 0x00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
224 0xd0 0x011e #LATIN CAPITAL LETTER G WITH BREVE
225 0xd1 0x00d1 #LATIN CAPITAL LETTER N WITH TILDE
226 0xd2 0x00d2 #LATIN CAPITAL LETTER O WITH GRAVE
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
229 0xd5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
233 0xd9 0x00d9 #LATIN CAPITAL LETTER U WITH GRAVE
234 0xda 0x00da #LATIN CAPITAL LETTER U WITH ACUTE
235 0xdb 0x00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE
238 0xde 0x015e #LATIN CAPITAL LETTER S WITH CEDILLA
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
241 0xe1 0x00e1 #LATIN SMALL LETTER A WITH ACUTE
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x00e3 #LATIN SMALL LETTER A WITH TILDE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
246 0xe6 0x00e6 #LATIN SMALL LETTER AE
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x00ec #LATIN SMALL LETTER I WITH GRAVE
253 0xed 0x00ed #LATIN SMALL LETTER I WITH ACUTE
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
256 0xf0 0x011f #LATIN SMALL LETTER G WITH BREVE
257 0xf1 0x00f1 #LATIN SMALL LETTER N WITH TILDE
258 0xf2 0x00f2 #LATIN SMALL LETTER O WITH GRAVE
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x00f5 #LATIN SMALL LETTER O WITH TILDE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x00f8 #LATIN SMALL LETTER O WITH STROKE
265 0xf9 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
266 0xfa 0x00fa #LATIN SMALL LETTER U WITH ACUTE
267 0xfb 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x0131 #LATIN SMALL LETTER DOTLESS I
270 0xfe 0x015f #LATIN SMALL LETTER S WITH CEDILLA
271 0xff 0x00ff #LATIN SMALL LETTER Y WITH DIAERESIS
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1255 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1255 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1255 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x20ac #EURO SIGN
145 0x81 #UNDEFINED
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 0x02c6 #MODIFIER LETTER CIRCUMFLEX ACCENT
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a #UNDEFINED
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c #UNDEFINED
157 0x8d #UNDEFINED
158 0x8e #UNDEFINED
159 0x8f #UNDEFINED
160 0x90 #UNDEFINED
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 0x02dc #SMALL TILDE
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a #UNDEFINED
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c #UNDEFINED
173 0x9d #UNDEFINED
174 0x9e #UNDEFINED
175 0x9f #UNDEFINED
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x00a1 #INVERTED EXCLAMATION MARK
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x20aa #NEW SHEQEL SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x00d7 #MULTIPLICATION SIGN
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00af #MACRON
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x00f7 #DIVISION SIGN
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x00bf #INVERTED QUESTION MARK
208 0xc0 0x05b0 #HEBREW POINT SHEVA
209 0xc1 0x05b1 #HEBREW POINT HATAF SEGOL
210 0xc2 0x05b2 #HEBREW POINT HATAF PATAH
211 0xc3 0x05b3 #HEBREW POINT HATAF QAMATS
212 0xc4 0x05b4 #HEBREW POINT HIRIQ
213 0xc5 0x05b5 #HEBREW POINT TSERE
214 0xc6 0x05b6 #HEBREW POINT SEGOL
215 0xc7 0x05b7 #HEBREW POINT PATAH
216 0xc8 0x05b8 #HEBREW POINT QAMATS
217 0xc9 0x05b9 #HEBREW POINT HOLAM
218 0xca #UNDEFINED
219 0xcb 0x05bb #HEBREW POINT QUBUTS
220 0xcc 0x05bc #HEBREW POINT DAGESH OR MAPIQ
221 0xcd 0x05bd #HEBREW POINT METEG
222 0xce 0x05be #HEBREW PUNCTUATION MAQAF
223 0xcf 0x05bf #HEBREW POINT RAFE
224 0xd0 0x05c0 #HEBREW PUNCTUATION PASEQ
225 0xd1 0x05c1 #HEBREW POINT SHIN DOT
226 0xd2 0x05c2 #HEBREW POINT SIN DOT
227 0xd3 0x05c3 #HEBREW PUNCTUATION SOF PASUQ
228 0xd4 0x05f0 #HEBREW LIGATURE YIDDISH DOUBLE VAV
229 0xd5 0x05f1 #HEBREW LIGATURE YIDDISH VAV YOD
230 0xd6 0x05f2 #HEBREW LIGATURE YIDDISH DOUBLE YOD
231 0xd7 0x05f3 #HEBREW PUNCTUATION GERESH
232 0xd8 0x05f4 #HEBREW PUNCTUATION GERSHAYIM
233 0xd9 #UNDEFINED
234 0xda #UNDEFINED
235 0xdb #UNDEFINED
236 0xdc #UNDEFINED
237 0xdd #UNDEFINED
238 0xde #UNDEFINED
239 0xdf #UNDEFINED
240 0xe0 0x05d0 #HEBREW LETTER ALEF
241 0xe1 0x05d1 #HEBREW LETTER BET
242 0xe2 0x05d2 #HEBREW LETTER GIMEL
243 0xe3 0x05d3 #HEBREW LETTER DALET
244 0xe4 0x05d4 #HEBREW LETTER HE
245 0xe5 0x05d5 #HEBREW LETTER VAV
246 0xe6 0x05d6 #HEBREW LETTER ZAYIN
247 0xe7 0x05d7 #HEBREW LETTER HET
248 0xe8 0x05d8 #HEBREW LETTER TET
249 0xe9 0x05d9 #HEBREW LETTER YOD
250 0xea 0x05da #HEBREW LETTER FINAL KAF
251 0xeb 0x05db #HEBREW LETTER KAF
252 0xec 0x05dc #HEBREW LETTER LAMED
253 0xed 0x05dd #HEBREW LETTER FINAL MEM
254 0xee 0x05de #HEBREW LETTER MEM
255 0xef 0x05df #HEBREW LETTER FINAL NUN
256 0xf0 0x05e0 #HEBREW LETTER NUN
257 0xf1 0x05e1 #HEBREW LETTER SAMEKH
258 0xf2 0x05e2 #HEBREW LETTER AYIN
259 0xf3 0x05e3 #HEBREW LETTER FINAL PE
260 0xf4 0x05e4 #HEBREW LETTER PE
261 0xf5 0x05e5 #HEBREW LETTER FINAL TSADI
262 0xf6 0x05e6 #HEBREW LETTER TSADI
263 0xf7 0x05e7 #HEBREW LETTER QOF
264 0xf8 0x05e8 #HEBREW LETTER RESH
265 0xf9 0x05e9 #HEBREW LETTER SHIN
266 0xfa 0x05ea #HEBREW LETTER TAV
267 0xfb #UNDEFINED
268 0xfc #UNDEFINED
269 0xfd 0x200e #LEFT-TO-RIGHT MARK
270 0xfe 0x200f #RIGHT-TO-LEFT MARK
271 0xff #UNDEFINED
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1256 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1256 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1256 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x20ac #EURO SIGN
145 0x81 0x067e #ARABIC LETTER PEH
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 0x02c6 #MODIFIER LETTER CIRCUMFLEX ACCENT
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a 0x0679 #ARABIC LETTER TTEH
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c 0x0152 #LATIN CAPITAL LIGATURE OE
157 0x8d 0x0686 #ARABIC LETTER TCHEH
158 0x8e 0x0698 #ARABIC LETTER JEH
159 0x8f 0x0688 #ARABIC LETTER DDAL
160 0x90 0x06af #ARABIC LETTER GAF
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 0x06a9 #ARABIC LETTER KEHEH
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a 0x0691 #ARABIC LETTER RREH
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c 0x0153 #LATIN SMALL LIGATURE OE
173 0x9d 0x200c #ZERO WIDTH NON-JOINER
174 0x9e 0x200d #ZERO WIDTH JOINER
175 0x9f 0x06ba #ARABIC LETTER NOON GHUNNA
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 0x060c #ARABIC COMMA
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 0x00a5 #YEN SIGN
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00a8 #DIAERESIS
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x06be #ARABIC LETTER HEH DOACHASHMEE
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00af #MACRON
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00b8 #CEDILLA
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x061b #ARABIC SEMICOLON
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x061f #ARABIC QUESTION MARK
208 0xc0 0x06c1 #ARABIC LETTER HEH GOAL
209 0xc1 0x0621 #ARABIC LETTER HAMZA
210 0xc2 0x0622 #ARABIC LETTER ALEF WITH MADDA ABOVE
211 0xc3 0x0623 #ARABIC LETTER ALEF WITH HAMZA ABOVE
212 0xc4 0x0624 #ARABIC LETTER WAW WITH HAMZA ABOVE
213 0xc5 0x0625 #ARABIC LETTER ALEF WITH HAMZA BELOW
214 0xc6 0x0626 #ARABIC LETTER YEH WITH HAMZA ABOVE
215 0xc7 0x0627 #ARABIC LETTER ALEF
216 0xc8 0x0628 #ARABIC LETTER BEH
217 0xc9 0x0629 #ARABIC LETTER TEH MARBUTA
218 0xca 0x062a #ARABIC LETTER TEH
219 0xcb 0x062b #ARABIC LETTER THEH
220 0xcc 0x062c #ARABIC LETTER JEEM
221 0xcd 0x062d #ARABIC LETTER HAH
222 0xce 0x062e #ARABIC LETTER KHAH
223 0xcf 0x062f #ARABIC LETTER DAL
224 0xd0 0x0630 #ARABIC LETTER THAL
225 0xd1 0x0631 #ARABIC LETTER REH
226 0xd2 0x0632 #ARABIC LETTER ZAIN
227 0xd3 0x0633 #ARABIC LETTER SEEN
228 0xd4 0x0634 #ARABIC LETTER SHEEN
229 0xd5 0x0635 #ARABIC LETTER SAD
230 0xd6 0x0636 #ARABIC LETTER DAD
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x0637 #ARABIC LETTER TAH
233 0xd9 0x0638 #ARABIC LETTER ZAH
234 0xda 0x0639 #ARABIC LETTER AIN
235 0xdb 0x063a #ARABIC LETTER GHAIN
236 0xdc 0x0640 #ARABIC TATWEEL
237 0xdd 0x0641 #ARABIC LETTER FEH
238 0xde 0x0642 #ARABIC LETTER QAF
239 0xdf 0x0643 #ARABIC LETTER KAF
240 0xe0 0x00e0 #LATIN SMALL LETTER A WITH GRAVE
241 0xe1 0x0644 #ARABIC LETTER LAM
242 0xe2 0x00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
243 0xe3 0x0645 #ARABIC LETTER MEEM
244 0xe4 0x0646 #ARABIC LETTER NOON
245 0xe5 0x0647 #ARABIC LETTER HEH
246 0xe6 0x0648 #ARABIC LETTER WAW
247 0xe7 0x00e7 #LATIN SMALL LETTER C WITH CEDILLA
248 0xe8 0x00e8 #LATIN SMALL LETTER E WITH GRAVE
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
251 0xeb 0x00eb #LATIN SMALL LETTER E WITH DIAERESIS
252 0xec 0x0649 #ARABIC LETTER ALEF MAKSURA
253 0xed 0x064a #ARABIC LETTER YEH
254 0xee 0x00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
255 0xef 0x00ef #LATIN SMALL LETTER I WITH DIAERESIS
256 0xf0 0x064b #ARABIC FATHATAN
257 0xf1 0x064c #ARABIC DAMMATAN
258 0xf2 0x064d #ARABIC KASRATAN
259 0xf3 0x064e #ARABIC FATHA
260 0xf4 0x00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
261 0xf5 0x064f #ARABIC DAMMA
262 0xf6 0x0650 #ARABIC KASRA
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x0651 #ARABIC SHADDA
265 0xf9 0x00f9 #LATIN SMALL LETTER U WITH GRAVE
266 0xfa 0x0652 #ARABIC SUKUN
267 0xfb 0x00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x200e #LEFT-TO-RIGHT MARK
270 0xfe 0x200f #RIGHT-TO-LEFT MARK
271 0xff 0x06d2 #ARABIC LETTER YEH BARREE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
22
33 Unicode mapping table generated from java mapping and UnicodeData.txt
44
5 #
65 # Name: Cp1257 to Unicode table
76 # Unicode version: Java 1.3
8 #
9 # Format: Three tab-separated columns
10 # Column #1 is the Cp1257 code (in hex)
11 # Column #2 is the Unicode (in hex as 0xXXXX)
12 # Column #3 is the Unicode name (follows a comment sign, '#')
13 #
14 # The entries are in Cp1257 order
15 #
16 0x00 0x0000 #NULL
17 0x01 0x0001 #START OF HEADING
18 0x02 0x0002 #START OF TEXT
19 0x03 0x0003 #END OF TEXT
20 0x04 0x0004 #END OF TRANSMISSION
21 0x05 0x0005 #ENQUIRY
22 0x06 0x0006 #ACKNOWLEDGE
23 0x07 0x0007 #BELL
24 0x08 0x0008 #BACKSPACE
25 0x09 0x0009 #CHARACTER TABULATION
26 0x0a 0x000a #LINE FEED (LF)
27 0x0b 0x000b #LINE TABULATION
28 0x0c 0x000c #FORM FEED (FF)
29 0x0d 0x000d #CARRIAGE RETURN (CR)
30 0x0e 0x000e #SHIFT OUT
31 0x0f 0x000f #SHIFT IN
32 0x10 0x0010 #DATA LINK ESCAPE
33 0x11 0x0011 #DEVICE CONTROL ONE
34 0x12 0x0012 #DEVICE CONTROL TWO
35 0x13 0x0013 #DEVICE CONTROL THREE
36 0x14 0x0014 #DEVICE CONTROL FOUR
37 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
38 0x16 0x0016 #SYNCHRONOUS IDLE
39 0x17 0x0017 #END OF TRANSMISSION BLOCK
40 0x18 0x0018 #CANCEL
41 0x19 0x0019 #END OF MEDIUM
42 0x1a 0x001a #SUBSTITUTE
43 0x1b 0x001b #ESCAPE
44 0x1c 0x001c #INFORMATION SEPARATOR FOUR
45 0x1d 0x001d #INFORMATION SEPARATOR THREE
46 0x1e 0x001e #INFORMATION SEPARATOR TWO
47 0x1f 0x001f #INFORMATION SEPARATOR ONE
48 0x20 0x0020 #SPACE
49 0x21 0x0021 #EXCLAMATION MARK
50 0x22 0x0022 #QUOTATION MARK
51 0x23 0x0023 #NUMBER SIGN
52 0x24 0x0024 #DOLLAR SIGN
53 0x25 0x0025 #PERCENT SIGN
54 0x26 0x0026 #AMPERSAND
55 0x27 0x0027 #APOSTROPHE
56 0x28 0x0028 #LEFT PARENTHESIS
57 0x29 0x0029 #RIGHT PARENTHESIS
58 0x2a 0x002a #ASTERISK
59 0x2b 0x002b #PLUS SIGN
60 0x2c 0x002c #COMMA
61 0x2d 0x002d #HYPHEN-MINUS
62 0x2e 0x002e #FULL STOP
63 0x2f 0x002f #SOLIDUS
64 0x30 0x0030 #DIGIT ZERO
65 0x31 0x0031 #DIGIT ONE
66 0x32 0x0032 #DIGIT TWO
67 0x33 0x0033 #DIGIT THREE
68 0x34 0x0034 #DIGIT FOUR
69 0x35 0x0035 #DIGIT FIVE
70 0x36 0x0036 #DIGIT SIX
71 0x37 0x0037 #DIGIT SEVEN
72 0x38 0x0038 #DIGIT EIGHT
73 0x39 0x0039 #DIGIT NINE
74 0x3a 0x003a #COLON
75 0x3b 0x003b #SEMICOLON
76 0x3c 0x003c #LESS-THAN SIGN
77 0x3d 0x003d #EQUALS SIGN
78 0x3e 0x003e #GREATER-THAN SIGN
79 0x3f 0x003f #QUESTION MARK
80 0x40 0x0040 #COMMERCIAL AT
81 0x41 0x0041 #LATIN CAPITAL LETTER A
82 0x42 0x0042 #LATIN CAPITAL LETTER B
83 0x43 0x0043 #LATIN CAPITAL LETTER C
84 0x44 0x0044 #LATIN CAPITAL LETTER D
85 0x45 0x0045 #LATIN CAPITAL LETTER E
86 0x46 0x0046 #LATIN CAPITAL LETTER F
87 0x47 0x0047 #LATIN CAPITAL LETTER G
88 0x48 0x0048 #LATIN CAPITAL LETTER H
89 0x49 0x0049 #LATIN CAPITAL LETTER I
90 0x4a 0x004a #LATIN CAPITAL LETTER J
91 0x4b 0x004b #LATIN CAPITAL LETTER K
92 0x4c 0x004c #LATIN CAPITAL LETTER L
93 0x4d 0x004d #LATIN CAPITAL LETTER M
94 0x4e 0x004e #LATIN CAPITAL LETTER N
95 0x4f 0x004f #LATIN CAPITAL LETTER O
96 0x50 0x0050 #LATIN CAPITAL LETTER P
97 0x51 0x0051 #LATIN CAPITAL LETTER Q
98 0x52 0x0052 #LATIN CAPITAL LETTER R
99 0x53 0x0053 #LATIN CAPITAL LETTER S
100 0x54 0x0054 #LATIN CAPITAL LETTER T
101 0x55 0x0055 #LATIN CAPITAL LETTER U
102 0x56 0x0056 #LATIN CAPITAL LETTER V
103 0x57 0x0057 #LATIN CAPITAL LETTER W
104 0x58 0x0058 #LATIN CAPITAL LETTER X
105 0x59 0x0059 #LATIN CAPITAL LETTER Y
106 0x5a 0x005a #LATIN CAPITAL LETTER Z
107 0x5b 0x005b #LEFT SQUARE BRACKET
108 0x5c 0x005c #REVERSE SOLIDUS
109 0x5d 0x005d #RIGHT SQUARE BRACKET
110 0x5e 0x005e #CIRCUMFLEX ACCENT
111 0x5f 0x005f #LOW LINE
112 0x60 0x0060 #GRAVE ACCENT
113 0x61 0x0061 #LATIN SMALL LETTER A
114 0x62 0x0062 #LATIN SMALL LETTER B
115 0x63 0x0063 #LATIN SMALL LETTER C
116 0x64 0x0064 #LATIN SMALL LETTER D
117 0x65 0x0065 #LATIN SMALL LETTER E
118 0x66 0x0066 #LATIN SMALL LETTER F
119 0x67 0x0067 #LATIN SMALL LETTER G
120 0x68 0x0068 #LATIN SMALL LETTER H
121 0x69 0x0069 #LATIN SMALL LETTER I
122 0x6a 0x006a #LATIN SMALL LETTER J
123 0x6b 0x006b #LATIN SMALL LETTER K
124 0x6c 0x006c #LATIN SMALL LETTER L
125 0x6d 0x006d #LATIN SMALL LETTER M
126 0x6e 0x006e #LATIN SMALL LETTER N
127 0x6f 0x006f #LATIN SMALL LETTER O
128 0x70 0x0070 #LATIN SMALL LETTER P
129 0x71 0x0071 #LATIN SMALL LETTER Q
130 0x72 0x0072 #LATIN SMALL LETTER R
131 0x73 0x0073 #LATIN SMALL LETTER S
132 0x74 0x0074 #LATIN SMALL LETTER T
133 0x75 0x0075 #LATIN SMALL LETTER U
134 0x76 0x0076 #LATIN SMALL LETTER V
135 0x77 0x0077 #LATIN SMALL LETTER W
136 0x78 0x0078 #LATIN SMALL LETTER X
137 0x79 0x0079 #LATIN SMALL LETTER Y
138 0x7a 0x007a #LATIN SMALL LETTER Z
139 0x7b 0x007b #LEFT CURLY BRACKET
140 0x7c 0x007c #VERTICAL LINE
141 0x7d 0x007d #RIGHT CURLY BRACKET
142 0x7e 0x007e #TILDE
143 0x7f 0x007f #DELETE
144 0x80 0x20ac #EURO SIGN
145 0x81 #UNDEFINED
146 0x82 0x201a #SINGLE LOW-9 QUOTATION MARK
147 0x83 #UNDEFINED
148 0x84 0x201e #DOUBLE LOW-9 QUOTATION MARK
149 0x85 0x2026 #HORIZONTAL ELLIPSIS
150 0x86 0x2020 #DAGGER
151 0x87 0x2021 #DOUBLE DAGGER
152 0x88 #UNDEFINED
153 0x89 0x2030 #PER MILLE SIGN
154 0x8a #UNDEFINED
155 0x8b 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
156 0x8c #UNDEFINED
157 0x8d 0x00a8 #DIAERESIS
158 0x8e 0x02c7 #CARON
159 0x8f 0x00b8 #CEDILLA
160 0x90 #UNDEFINED
161 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
162 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
163 0x93 0x201c #LEFT DOUBLE QUOTATION MARK
164 0x94 0x201d #RIGHT DOUBLE QUOTATION MARK
165 0x95 0x2022 #BULLET
166 0x96 0x2013 #EN DASH
167 0x97 0x2014 #EM DASH
168 0x98 #UNDEFINED
169 0x99 0x2122 #TRADE MARK SIGN
170 0x9a #UNDEFINED
171 0x9b 0x203a #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
172 0x9c #UNDEFINED
173 0x9d 0x00af #MACRON
174 0x9e 0x02db #OGONEK
175 0x9f #UNDEFINED
176 0xa0 0x00a0 #NO-BREAK SPACE
177 0xa1 #UNDEFINED
178 0xa2 0x00a2 #CENT SIGN
179 0xa3 0x00a3 #POUND SIGN
180 0xa4 0x00a4 #CURRENCY SIGN
181 0xa5 #UNDEFINED
182 0xa6 0x00a6 #BROKEN BAR
183 0xa7 0x00a7 #SECTION SIGN
184 0xa8 0x00d8 #LATIN CAPITAL LETTER O WITH STROKE
185 0xa9 0x00a9 #COPYRIGHT SIGN
186 0xaa 0x0156 #LATIN CAPITAL LETTER R WITH CEDILLA
187 0xab 0x00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
188 0xac 0x00ac #NOT SIGN
189 0xad 0x00ad #SOFT HYPHEN
190 0xae 0x00ae #REGISTERED SIGN
191 0xaf 0x00c6 #LATIN CAPITAL LETTER AE
192 0xb0 0x00b0 #DEGREE SIGN
193 0xb1 0x00b1 #PLUS-MINUS SIGN
194 0xb2 0x00b2 #SUPERSCRIPT TWO
195 0xb3 0x00b3 #SUPERSCRIPT THREE
196 0xb4 0x00b4 #ACUTE ACCENT
197 0xb5 0x00b5 #MICRO SIGN
198 0xb6 0x00b6 #PILCROW SIGN
199 0xb7 0x00b7 #MIDDLE DOT
200 0xb8 0x00f8 #LATIN SMALL LETTER O WITH STROKE
201 0xb9 0x00b9 #SUPERSCRIPT ONE
202 0xba 0x0157 #LATIN SMALL LETTER R WITH CEDILLA
203 0xbb 0x00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
204 0xbc 0x00bc #VULGAR FRACTION ONE QUARTER
205 0xbd 0x00bd #VULGAR FRACTION ONE HALF
206 0xbe 0x00be #VULGAR FRACTION THREE QUARTERS
207 0xbf 0x00e6 #LATIN SMALL LETTER AE
208 0xc0 0x0104 #LATIN CAPITAL LETTER A WITH OGONEK
209 0xc1 0x012e #LATIN CAPITAL LETTER I WITH OGONEK
210 0xc2 0x0100 #LATIN CAPITAL LETTER A WITH MACRON
211 0xc3 0x0106 #LATIN CAPITAL LETTER C WITH ACUTE
212 0xc4 0x00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
213 0xc5 0x00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
214 0xc6 0x0118 #LATIN CAPITAL LETTER E WITH OGONEK
215 0xc7 0x0112 #LATIN CAPITAL LETTER E WITH MACRON
216 0xc8 0x010c #LATIN CAPITAL LETTER C WITH CARON
217 0xc9 0x00c9 #LATIN CAPITAL LETTER E WITH ACUTE
218 0xca 0x0179 #LATIN CAPITAL LETTER Z WITH ACUTE
219 0xcb 0x0116 #LATIN CAPITAL LETTER E WITH DOT ABOVE
220 0xcc 0x0122 #LATIN CAPITAL LETTER G WITH CEDILLA
221 0xcd 0x0136 #LATIN CAPITAL LETTER K WITH CEDILLA
222 0xce 0x012a #LATIN CAPITAL LETTER I WITH MACRON
223 0xcf 0x013b #LATIN CAPITAL LETTER L WITH CEDILLA
224 0xd0 0x0160 #LATIN CAPITAL LETTER S WITH CARON
225 0xd1 0x0143 #LATIN CAPITAL LETTER N WITH ACUTE
226 0xd2 0x0145 #LATIN CAPITAL LETTER N WITH CEDILLA
227 0xd3 0x00d3 #LATIN CAPITAL LETTER O WITH ACUTE
228 0xd4 0x014c #LATIN CAPITAL LETTER O WITH MACRON
229 0xd5 0x00d5 #LATIN CAPITAL LETTER O WITH TILDE
230 0xd6 0x00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
231 0xd7 0x00d7 #MULTIPLICATION SIGN
232 0xd8 0x0172 #LATIN CAPITAL LETTER U WITH OGONEK
233 0xd9 0x0141 #LATIN CAPITAL LETTER L WITH STROKE
234 0xda 0x015a #LATIN CAPITAL LETTER S WITH ACUTE
235 0xdb 0x016a #LATIN CAPITAL LETTER U WITH MACRON
236 0xdc 0x00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
237 0xdd 0x017b #LATIN CAPITAL LETTER Z WITH DOT ABOVE
238 0xde 0x017d #LATIN CAPITAL LETTER Z WITH CARON
239 0xdf 0x00df #LATIN SMALL LETTER SHARP S
240 0xe0 0x0105 #LATIN SMALL LETTER A WITH OGONEK
241 0xe1 0x012f #LATIN SMALL LETTER I WITH OGONEK
242 0xe2 0x0101 #LATIN SMALL LETTER A WITH MACRON
243 0xe3 0x0107 #LATIN SMALL LETTER C WITH ACUTE
244 0xe4 0x00e4 #LATIN SMALL LETTER A WITH DIAERESIS
245 0xe5 0x00e5 #LATIN SMALL LETTER A WITH RING ABOVE
246 0xe6 0x0119 #LATIN SMALL LETTER E WITH OGONEK
247 0xe7 0x0113 #LATIN SMALL LETTER E WITH MACRON
248 0xe8 0x010d #LATIN SMALL LETTER C WITH CARON
249 0xe9 0x00e9 #LATIN SMALL LETTER E WITH ACUTE
250 0xea 0x017a #LATIN SMALL LETTER Z WITH ACUTE
251 0xeb 0x0117 #LATIN SMALL LETTER E WITH DOT ABOVE
252 0xec 0x0123 #LATIN SMALL LETTER G WITH CEDILLA
253 0xed 0x0137 #LATIN SMALL LETTER K WITH CEDILLA
254 0xee 0x012b #LATIN SMALL LETTER I WITH MACRON
255 0xef 0x013c #LATIN SMALL LETTER L WITH CEDILLA
256 0xf0 0x0161 #LATIN SMALL LETTER S WITH CARON
257 0xf1 0x0144 #LATIN SMALL LETTER N WITH ACUTE
258 0xf2 0x0146 #LATIN SMALL LETTER N WITH CEDILLA
259 0xf3 0x00f3 #LATIN SMALL LETTER O WITH ACUTE
260 0xf4 0x014d #LATIN SMALL LETTER O WITH MACRON
261 0xf5 0x00f5 #LATIN SMALL LETTER O WITH TILDE
262 0xf6 0x00f6 #LATIN SMALL LETTER O WITH DIAERESIS
263 0xf7 0x00f7 #DIVISION SIGN
264 0xf8 0x0173 #LATIN SMALL LETTER U WITH OGONEK
265 0xf9 0x0142 #LATIN SMALL LETTER L WITH STROKE
266 0xfa 0x015b #LATIN SMALL LETTER S WITH ACUTE
267 0xfb 0x016b #LATIN SMALL LETTER U WITH MACRON
268 0xfc 0x00fc #LATIN SMALL LETTER U WITH DIAERESIS
269 0xfd 0x017c #LATIN SMALL LETTER Z WITH DOT ABOVE
270 0xfe 0x017e #LATIN SMALL LETTER Z WITH CARON
271 0xff 0x02d9 #DOT ABOVE
272
2737
2748 * The contents of this file are subject to the Interbase Public
2759 * License Version 1.0 (the "License"); you may not use this file
00 /* -------------------------------------------
11 This file was created with csUtility.java
2 #
2
33 # Name: cp1258 to Unicode table
44 # Unicode version: 2.0
55 # Table version: 2.01
66 # Table format: Format A
77 # Date: 04/15/98
8 #
9 # Contact: cpxlate@microsoft.com
10 #
11 # General notes: none
12 #
13 # Format: Three tab-separated columns
14 # Column #1 is the cp1258 code (in hex)
15 # Column #2 is the Unicode (in hex as 0xXXXX)
16 # Column #3 is the Unicode name (follows a comment sign, '#')
17 #
18 # The entries are in cp1258 order
19 #
20 0x00 0x0000 #NULL
21 0x01 0x0001 #START OF HEADING
22 0x02 0x0002 #START OF TEXT
23 0x03 0x0003 #END OF TEXT
24 0x04 0x0004 #END OF TRANSMISSION
25 0x05 0x0005 #ENQUIRY
26 0x06 0x0006 #ACKNOWLEDGE
27 0x07 0x0007 #BELL
28 0x08 0x0008 #BACKSPACE
29 0x09 0x0009 #HORIZONTAL TABULATION
30 0x0A 0x000A #LINE FEED
31 0x0B 0x000B #VERTICAL TABULATION
32 0x0C 0x000C #FORM FEED
33 0x0D 0x000D #CARRIAGE RETURN
34 0x0E 0x000E #SHIFT OUT
35 0x0F 0x000F #SHIFT IN
36 0x10 0x0010 #DATA LINK ESCAPE
37 0x11 0x0011 #DEVICE CONTROL ONE
38 0x12 0x0012 #DEVICE CONTROL TWO
39 0x13 0x0013 #DEVICE CONTROL THREE
40 0x14 0x0014 #DEVICE CONTROL FOUR
41 0x15 0x0015 #NEGATIVE ACKNOWLEDGE
42 0x16 0x0016 #SYNCHRONOUS IDLE
43 0x17 0x0017 #END OF TRANSMISSION BLOCK
44 0x18 0x0018 #CANCEL
45 0x19 0x0019 #END OF MEDIUM
46 0x1A 0x001A #SUBSTITUTE
47 0x1B 0x001B #ESCAPE
48 0x1C 0x001C #FILE SEPARATOR
49 0x1D 0x001D #GROUP SEPARATOR
50 0x1E 0x001E #RECORD SEPARATOR
51 0x1F 0x001F #UNIT SEPARATOR
52 0x20 0x0020 #SPACE
53 0x21 0x0021 #EXCLAMATION MARK
54 0x22 0x0022 #QUOTATION MARK
55 0x23 0x0023 #NUMBER SIGN
56 0x24 0x0024 #DOLLAR SIGN
57 0x25 0x0025 #PERCENT SIGN
58 0x26 0x0026 #AMPERSAND
59 0x27 0x0027 #APOSTROPHE
60 0x28 0x0028 #LEFT PARENTHESIS
61 0x29 0x0029 #RIGHT PARENTHESIS
62 0x2A 0x002A #ASTERISK
63 0x2B 0x002B #PLUS SIGN
64 0x2C 0x002C #COMMA
65 0x2D 0x002D #HYPHEN-MINUS
66 0x2E 0x002E #FULL STOP
67 0x2F 0x002F #SOLIDUS
68 0x30 0x0030 #DIGIT ZERO
69 0x31 0x0031 #DIGIT ONE
70 0x32 0x0032 #DIGIT TWO
71 0x33 0x0033 #DIGIT THREE
72 0x34 0x0034 #DIGIT FOUR
73 0x35 0x0035 #DIGIT FIVE
74 0x36 0x0036 #DIGIT SIX
75 0x37 0x0037 #DIGIT SEVEN
76 0x38 0x0038 #DIGIT EIGHT
77 0x39 0x0039 #DIGIT NINE
78 0x3A 0x003A #COLON
79 0x3B 0x003B #SEMICOLON
80 0x3C 0x003C #LESS-THAN SIGN
81 0x3D 0x003D #EQUALS SIGN
82 0x3E 0x003E #GREATER-THAN SIGN
83 0x3F 0x003F #QUESTION MARK
84 0x40 0x0040 #COMMERCIAL AT
85 0x41 0x0041 #LATIN CAPITAL LETTER A
86 0x42 0x0042 #LATIN CAPITAL LETTER B
87 0x43 0x0043 #LATIN CAPITAL LETTER C
88 0x44 0x0044 #LATIN CAPITAL LETTER D
89 0x45 0x0045 #LATIN CAPITAL LETTER E
90 0x46 0x0046 #LATIN CAPITAL LETTER F
91 0x47 0x0047 #LATIN CAPITAL LETTER G
92 0x48 0x0048 #LATIN CAPITAL LETTER H
93 0x49 0x0049 #LATIN CAPITAL LETTER I
94 0x4A 0x004A #LATIN CAPITAL LETTER J
95 0x4B 0x004B #LATIN CAPITAL LETTER K
96 0x4C 0x004C #LATIN CAPITAL LETTER L
97 0x4D 0x004D #LATIN CAPITAL LETTER M
98 0x4E 0x004E #LATIN CAPITAL LETTER N
99 0x4F 0x004F #LATIN CAPITAL LETTER O
100 0x50 0x0050 #LATIN CAPITAL LETTER P
101 0x51 0x0051 #LATIN CAPITAL LETTER Q
102 0x52 0x0052 #LATIN CAPITAL LETTER R
103 0x53 0x0053 #LATIN CAPITAL LETTER S
104 0x54 0x0054 #LATIN CAPITAL LETTER T
105 0x55 0x0055 #LATIN CAPITAL LETTER U
106 0x56 0x0056 #LATIN CAPITAL LETTER V
107 0x57 0x0057 #LATIN CAPITAL LETTER W
108 0x58 0x0058 #LATIN CAPITAL LETTER X
109 0x59 0x0059 #LATIN CAPITAL LETTER Y
110 0x5A 0x005A #LATIN CAPITAL LETTER Z
111 0x5B 0x005B #LEFT SQUARE BRACKET
112 0x5C 0x005C #REVERSE SOLIDUS
113 0x5D 0x005D #RIGHT SQUARE BRACKET
114 0x5E 0x005E #CIRCUMFLEX ACCENT
115 0x5F 0x005F #LOW LINE
116 0x60 0x0060 #GRAVE ACCENT
117 0x61 0x0061 #LATIN SMALL LETTER A
118 0x62 0x0062 #LATIN SMALL LETTER B
119 0x63 0x0063 #LATIN SMALL LETTER C
120 0x64 0x0064 #LATIN SMALL LETTER D
121 0x65 0x0065 #LATIN SMALL LETTER E
122 0x66 0x0066 #LATIN SMALL LETTER F
123 0x67 0x0067 #LATIN SMALL LETTER G
124 0x68 0x0068 #LATIN SMALL LETTER H
125 0x69 0x0069 #LATIN SMALL LETTER I
126 0x6A 0x006A #LATIN SMALL LETTER J
127 0x6B 0x006B #LATIN SMALL LETTER K
128 0x6C 0x006C #LATIN SMALL LETTER L
129 0x6D 0x006D #LATIN SMALL LETTER M
130 0x6E 0x006E #LATIN SMALL LETTER N
131 0x6F 0x006F #LATIN SMALL LETTER O
132 0x70 0x0070 #LATIN SMALL LETTER P
133 0x71 0x0071 #LATIN SMALL LETTER Q
134 0x72 0x0072 #LATIN SMALL LETTER R
135 0x73 0x0073 #LATIN SMALL LETTER S
136 0x74 0x0074 #LATIN SMALL LETTER T
137 0x75 0x0075 #LATIN SMALL LETTER U
138 0x76 0x0076 #LATIN SMALL LETTER V
139 0x77 0x0077 #LATIN SMALL LETTER W
140 0x78 0x0078 #LATIN SMALL LETTER X
141 0x79 0x0079 #LATIN SMALL LETTER Y
142 0x7A 0x007A #LATIN SMALL LETTER Z
143 0x7B 0x007B #LEFT CURLY BRACKET
144 0x7C 0x007C #VERTICAL LINE
145 0x7D 0x007D #RIGHT CURLY BRACKET
146 0x7E 0x007E #TILDE
147 0x7F 0x007F #DELETE
148 0x80 0x20AC #EURO SIGN
149 0x81 #UNDEFINED
150 0x82 0x201A #SINGLE LOW-9 QUOTATION MARK
151 0x83 0x0192 #LATIN SMALL LETTER F WITH HOOK
152 0x84 0x201E #DOUBLE LOW-9 QUOTATION MARK
153 0x85 0x2026 #HORIZONTAL ELLIPSIS
154 0x86 0x2020 #DAGGER
155 0x87 0x2021 #DOUBLE DAGGER
156 0x88 0x02C6 #MODIFIER LETTER CIRCUMFLEX ACCENT
157 0x89 0x2030 #PER MILLE SIGN
158 0x8A #UNDEFINED
159 0x8B 0x2039 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK
160 0x8C 0x0152 #LATIN CAPITAL LIGATURE OE
161 0x8D #UNDEFINED
162 0x8E #UNDEFINED
163 0x8F #UNDEFINED
164 0x90 #UNDEFINED
165 0x91 0x2018 #LEFT SINGLE QUOTATION MARK
166 0x92 0x2019 #RIGHT SINGLE QUOTATION MARK
167 0x93 0x201C #LEFT DOUBLE QUOTATION MARK
168 0x94 0x201D #RIGHT DOUBLE QUOTATION MARK
169 0x95 0x2022 #BULLET
170 0x96 0x2013 #EN DASH
171 0x97 0x2014 #EM DASH
172 0x98 0x02DC #SMALL TILDE
173 0x99 0x2122 #TRADE MARK SIGN
174 0x9A #UNDEFINED
175 0x9B 0x203A #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
176 0x9C 0x0153 #LATIN SMALL LIGATURE OE
177 0x9D #UNDEFINED
178 0x9E #UNDEFINED
179 0x9F 0x0178 #LATIN CAPITAL LETTER Y WITH DIAERESIS
180 0xA0 0x00A0 #NO-BREAK SPACE
181 0xA1 0x00A1 #INVERTED EXCLAMATION MARK
182 0xA2 0x00A2 #CENT SIGN
183 0xA3 0x00A3 #POUND SIGN
184 0xA4 0x00A4 #CURRENCY SIGN
185 0xA5 0x00A5 #YEN SIGN
186 0xA6 0x00A6 #BROKEN BAR
187 0xA7 0x00A7 #SECTION SIGN
188 0xA8 0x00A8 #DIAERESIS
189 0xA9 0x00A9 #COPYRIGHT SIGN
190 0xAA 0x00AA #FEMININE ORDINAL INDICATOR
191 0xAB 0x00AB #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
192 0xAC 0x00AC #NOT SIGN
193 0xAD 0x00AD #SOFT HYPHEN
194 0xAE 0x00AE #REGISTERED SIGN
195 0xAF 0x00AF #MACRON
196 0xB0 0x00B0 #DEGREE SIGN
197 0xB1 0x00B1 #PLUS-MINUS SIGN
198 0xB2 0x00B2 #SUPERSCRIPT TWO
199 0xB3 0x00B3 #SUPERSCRIPT THREE
200 0xB4 0x00B4 #ACUTE ACCENT
201 0xB5 0x00B5 #MICRO SIGN
202 0xB6 0x00B6 #PILCROW SIGN
203 0xB7 0x00B7 #MIDDLE DOT
204 0xB8 0x00B8 #CEDILLA
205 0xB9 0x00B9 #SUPERSCRIPT ONE
206 0xBA 0x00BA #MASCULINE ORDINAL INDICATOR
207 0xBB 0x00BB #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
208 0xBC 0x00BC #VULGAR FRACTION ONE QUARTER
209 0xBD 0x00BD #VULGAR FRACTION ONE HALF
210 0xBE 0x00BE #VULGAR FRACTION THREE QUARTERS
211 0xBF 0x00BF #INVERTED QUESTION MARK
212 0xC0 0x00C0 #LATIN CAPITAL LETTER A WITH GRAVE
213 0xC1 0x00C1 #LATIN CAPITAL LETTER A WITH ACUTE
214 0xC2 0x00C2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
215 0xC3 0x0102 #LATIN CAPITAL LETTER A WITH BREVE
216 0xC4 0x00C4 #LATIN CAPITAL LETTER A WITH DIAERESIS
217 0xC5 0x00C5 #LATIN CAPITAL LETTER A WITH RING ABOVE
218 0xC6 0x00C6 #LATIN CAPITAL LETTER AE
219 0xC7 0x00C7 #LATIN CAPITAL LETTER C WITH CEDILLA
220 0xC8 0x00C8 #LATIN CAPITAL LETTER E WITH GRAVE
221 0xC9 0x00C9 #LATIN CAPITAL LETTER E WITH ACUTE
222 0xCA 0x00CA #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
223 0xCB 0x00CB #LATIN CAPITAL LETTER E WITH DIAERESIS
224 0xCC 0x0300 #COMBINING GRAVE ACCENT
225 0xCD 0x00CD #LATIN CAPITAL LETTER I WITH ACUTE
226 0xCE 0x00CE #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
227 0xCF 0x00CF #LATIN CAPITAL LETTER I WITH DIAERESIS
228 0xD0 0x0110 #LATIN CAPITAL LETTER D WITH STROKE
229 0xD1 0x00D1 #LATIN CAPITAL LETTER N WITH TILDE
230 0xD2 0x0309 #COMBINING HOOK ABOVE
231 0xD3 0x00D3 #LATIN CAPITAL LETTER O WITH ACUTE
232 0xD4 0x00D4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
233 0xD5 0x01A0 #LATIN CAPITAL LETTER O WITH HORN
234 0xD6 0x00D6 #LATIN CAPITAL LETTER O WITH DIAERESIS
235 0xD7 0x00D7 #MULTIPLICATION SIGN
236 0xD8 0x00D8 #LATIN CAPITAL LETTER O WITH STROKE
237 0xD9 0x00D9 #LATIN CAPITAL LETTER U WITH GRAVE
238 0xDA 0x00DA #LATIN CAPITAL LETTER U WITH ACUTE
239 0xDB 0x00DB #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
240 0xDC 0x00DC #LATIN CAPITAL LETTER U WITH DIAERESIS
241 0xDD 0x01AF #LATIN CAPITAL LETTER U WITH HORN
242 0xDE 0x0303 #COMBINING TILDE
243 0xDF 0x00DF #LATIN SMALL LETTER SHARP S
244 0xE0 0x00E0 #LATIN SMALL LETTER A WITH GRAVE
245 0xE1 0x00E1 #LATIN SMALL LETTER A WITH ACUTE
246 0xE2 0x00E2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
247 0xE3 0x0103 #LATIN SMALL LETTER A WITH BREVE
248 0xE4 0x00E4 #LATIN SMALL LETTER A WITH DIAERESIS
249 0xE5 0x00E5 #LATIN SMALL LETTER A WITH RING ABOVE
250 0xE6 0x00E6 #LATIN SMALL LETTER AE
251 0xE7 0x00E7 #LATIN SMALL LETTER C WITH CEDILLA
252 0xE8 0x00E8 #LATIN SMALL LETTER E WITH GRAVE
253 0xE9 0x00E9 #LATIN SMALL LETTER E WITH ACUTE
254 0xEA 0x00EA #LATIN SMALL LETTER E WITH CIRCUMFLEX
255 0xEB 0x00EB #LATIN SMALL LETTER E WITH DIAERESIS
256 0xEC 0x0301 #COMBINING ACUTE ACCENT
257 0xED 0x00ED #LATIN SMALL LETTER I WITH ACUTE
258 0xEE 0x00EE #LATIN SMALL LETTER I WITH CIRCUMFLEX
259 0xEF 0x00EF #LATIN SMALL LETTER I WITH DIAERESIS
260 0xF0 0x0111 #LATIN SMALL LETTER D WITH STROKE
261 0xF1 0x00F1 #LATIN SMALL LETTER N WITH TILDE
262 0xF2 0x0323 #COMBINING DOT BELOW
263 0xF3 0x00F3 #LATIN SMALL LETTER O WITH ACUTE
264 0xF4 0x00F4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
265 0xF5 0x01A1 #LATIN SMALL LETTER O WITH HORN
266 0xF6 0x00F6 #LATIN SMALL LETTER O WITH DIAERESIS
267 0xF7 0x00F7 #DIVISION SIGN
268 0xF8 0x00F8 #LATIN SMALL LETTER O WITH STROKE
269 0xF9 0x00F9 #LATIN SMALL LETTER U WITH GRAVE
270 0xFA 0x00FA #LATIN SMALL LETTER U WITH ACUTE
271 0xFB 0x00FB #LATIN SMALL LETTER U WITH CIRCUMFLEX
272 0xFC 0x00FC #LATIN SMALL LETTER U WITH DIAERESIS
273 0xFD 0x01B0 #LATIN SMALL LETTER U WITH HORN
274 0xFE 0x20AB #DONG SIGN
275 0xFF 0x00FF #LATIN SMALL LETTER Y WITH DIAERESIS
2768
2779 -------------------------------------------- */
27810
55905590 return;
55915591 }
55925592
5593 const UCHAR* p = buffer;
5594 while (*p != isc_info_end && *p != isc_info_truncated && p < buffer + sizeof(buffer))
5595 {
5596 const UCHAR item = (UCHAR) *p++;
5597 const USHORT length = gds__vax_integer(p, sizeof(USHORT));
5598 p += sizeof(USHORT);
5593 for (Firebird::ClumpletReader p(Firebird::ClumpletReader::InfoResponse, buffer, sizeof(buffer)); !p.isEof(); p.moveNext())
5594 {
5595 UCHAR item = p.getClumpTag();
5596 if (item == isc_info_end)
5597 break;
5598
55995599 switch (item)
56005600 {
56015601 case isc_info_ods_version:
5602 isqlGlob.major_ods = gds__vax_integer(p, length);
5602 isqlGlob.major_ods = p.getInt();
56035603 break;
56045604 case isc_info_ods_minor_version:
5605 isqlGlob.minor_ods = gds__vax_integer(p, length);
5605 isqlGlob.minor_ods = p.getInt();
56065606 break;
56075607 case isc_info_db_sql_dialect:
5608 global_dialect_spoken = gds__vax_integer(p, length);
5608 global_dialect_spoken = p.getInt();
56095609 if (isqlGlob.major_ods < ODS_VERSION10)
56105610 {
56115611 if (isqlGlob.SQL_dialect > SQL_DIALECT_V5 && setValues.Warnings)
56545654 case isc_info_error:
56555655 // Error indicates an option was not understood by the
56565656 // remote server.
5657 if (*p == isc_info_firebird_version)
5657 if (p.getBytes()[0] == isc_info_firebird_version)
56585658 {
56595659 // must be an old or non Firebird server
56605660 break;
57005700 // to put it all. It's a FULL or NOTHING answer. It grows with redirection.
57015701 // The command SHOW version that calls isc_version() will return more info.
57025702 isqlGlob.printf("Server version:%s", NEWLINE);
5703 const UCHAR* q = p; // We don't want to spoil p with a wrong calculation.
5704 const UCHAR* limit = q + length;
5703 const UCHAR* q = p.getBytes(); // We don't want to spoil p with a wrong calculation.
5704 const UCHAR* limit = q + p.getClumpLength();
57055705 for (int times = *q++; times && q < limit; --times)
57065706 {
57075707 int l = *q++;
57155715 break;
57165716
57175717 case frb_info_att_charset:
5718 isqlGlob.att_charset = gds__vax_integer(p, length);
5718 isqlGlob.att_charset = p.getInt();
57195719 break;
57205720
57215721 default:
57235723 item, NEWLINE);
57245724 break;
57255725 }
5726 p += length;
57275726 }
57285727
57295728 if (isqlGlob.major_ods < ODS_VERSION8)
4545 #include "../jrd/intl.h"
4646 #include "../common/intlobj_new.h"
4747 #include "../common/classes/AlignedBuffer.h"
48 #include "../common/classes/ClumpletReader.h"
4849 #include "../isql/isql_proto.h"
4950 #include "../isql/show_proto.h"
5051 #include "../isql/iutils_proto.h"
401402
402403 *info_buf = '\0';
403404 SCHAR* info = info_buf;
404 for (const UCHAR* d = buffer; *d != isc_info_end;)
405 {
405
406 for (Firebird::ClumpletReader p(Firebird::ClumpletReader::InfoResponse, buffer, sizeof(buffer)); !p.isEof(); p.moveNext())
407 {
408 UCHAR item = p.getClumpTag();
406409 SINT64 value_out = 0;
407 const UCHAR item = *d++;
408 const int length = ISQL_vax_integer(d, 2);
409 d += 2;
410
410411 /*
411412 * This is not the best solution but it fixes the lack of <LF> characters
412413 * in Windows ISQL. This will need to remain until we modify the messages
419420 break;
420421
421422 case isc_info_page_size:
422 value_out = ISQL_vax_integer(d, length);
423 value_out = p.getInt();
423424 sprintf(info, "PAGE_SIZE %" SQUADFORMAT"%s", value_out, separator);
424425 break;
425426
426427 case isc_info_db_size_in_pages:
427 value_out = ISQL_vax_integer(d, length);
428 value_out = p.getInt();
428429 if (translate)
429430 {
430431 IUTILS_msg_get(NUMBER_PAGES, msg, SafeArg() << value_out);
435436 break;
436437
437438 case fb_info_pages_used:
438 value_out = ISQL_vax_integer(d, length);
439 value_out = p.getInt();
439440 if (translate)
440441 {
441442 IUTILS_msg_get(NUMBER_USED_PAGES, msg, SafeArg() << value_out);
446447 break;
447448
448449 case fb_info_pages_free:
449 value_out = ISQL_vax_integer(d, length);
450 value_out = p.getInt();
450451 if (translate)
451452 {
452453 IUTILS_msg_get(NUMBER_FREE_PAGES, msg, SafeArg() << value_out);
457458 break;
458459
459460 case fb_info_crypt_state:
460 value_out = ISQL_vax_integer(d, length);
461
461 value_out = p.getInt();
462462 if (translate)
463463 {
464464 Firebird::string s;
488488 break;
489489
490490 case isc_info_sweep_interval:
491 value_out = ISQL_vax_integer(d, length);
491 value_out = p.getInt();
492492 if (translate)
493493 {
494494 IUTILS_msg_get(SWEEP_INTERV, msg, SafeArg() << value_out);
499499 break;
500500
501501 case isc_info_forced_writes:
502 value_out = ISQL_vax_integer (d, length);
502 value_out = p.getInt();
503503 sprintf (info, "Forced Writes are %s%s", (value_out == 1 ? "ON" : "OFF"), separator);
504504 break;
505505
506506 case isc_info_oldest_transaction :
507 value_out = ISQL_vax_integer (d, length);
507 value_out = p.getInt();
508508 sprintf(info, "Transaction - oldest = %" SQUADFORMAT"%s", value_out, separator);
509509 break;
510510
511511 case isc_info_oldest_active :
512 value_out = ISQL_vax_integer (d, length);
512 value_out = p.getInt();
513513 sprintf(info, "Transaction - oldest active = %" SQUADFORMAT"%s", value_out, separator);
514514 break;
515515
516516 case isc_info_oldest_snapshot :
517 value_out = ISQL_vax_integer (d, length);
517 value_out = p.getInt();
518518 sprintf(info, "Transaction - oldest snapshot = %" SQUADFORMAT"%s", value_out, separator);
519519 break;
520520
521521 case isc_info_next_transaction :
522 value_out = ISQL_vax_integer (d, length);
522 value_out = p.getInt();
523523 sprintf (info, "Transaction - Next = %" SQUADFORMAT"%s", value_out, separator);
524524 break;
525525
526526 case isc_info_base_level:
527 value_out = ISQL_vax_integer(d, length);
527 value_out = p.getInt();
528528 if (translate)
529529 {
530530 IUTILS_msg_get(BASE_LEVEL, msg, SafeArg() << value_out);
535535 break;
536536
537537 case isc_info_limbo:
538 value_out = ISQL_vax_integer(d, length);
538 value_out = p.getInt();
539539 if (translate)
540540 {
541541 IUTILS_msg_get(LIMBO, msg, SafeArg() << value_out);
546546 break;
547547
548548 case isc_info_ods_version:
549 isqlGlob.major_ods = ISQL_vax_integer(d, length);
549 isqlGlob.major_ods = p.getInt();
550550 break;
551551 case isc_info_ods_minor_version:
552 value_out = ISQL_vax_integer(d, length);
552 value_out = p.getInt();
553553 sprintf(info, "ODS = %" SLONGFORMAT".%" SQUADFORMAT"%s",
554554 (SLONG) isqlGlob.major_ods, value_out, separator);
555555 break;
556556
557557 case isc_info_creation_date:
558 if (length == sizeof(ISC_TIMESTAMP))
558 if (p.getClumpLength() == sizeof(ISC_TIMESTAMP))
559559 {
560560 ISC_TIMESTAMP ts;
561561
562 const UCHAR* p = d;
563 ts.timestamp_date = ISQL_vax_integer(p, sizeof(ISC_DATE));
564 p += sizeof(ISC_DATE);
565 ts.timestamp_time = ISQL_vax_integer(p, sizeof(ISC_TIME));
562 const UCHAR* t = p.getBytes();
563 ts.timestamp_date = ISQL_vax_integer(t, sizeof(ISC_DATE));
564 t += sizeof(ISC_DATE);
565 ts.timestamp_time = ISQL_vax_integer(t, sizeof(ISC_TIME));
566566
567567 struct tm time;
568568 isc_decode_timestamp(&ts, &time);
578578 {
579579 // Will print with garbage for now.
580580 //It's sprintf(info, "DB/Host = %.*s", length, d);
581 const UCHAR* s = d;
582 const UCHAR* end = s + length;
581 const UCHAR* s = p.getBytes();
582 const UCHAR* end = s + p.getClumpLength();
583583 ++s; // Skip useless indicator.
584584 int len = *s++;
585585 printf("DB = %.*s\n", len, s);
597597 case isc_info_truncated:
598598 return info > info_buf; // If we got some items, we are (partially) successful.
599599 }
600
601 d += length;
602600 info += strlen(info);
603601 }
604602
63056303
63066304 bool newline = false;
63076305 processing_state rc = OBJECT_NOT_FOUND;
6308 for (const UCHAR* data = buffer; *data != isc_info_end;)
6309 {
6310 const UCHAR item = *data++;
6311 const int length = gds__vax_integer(data, 2);
6312 data += 2;
6313
6314 switch (item)
6315 {
6316 case isc_info_end:
6317 break;
6318
6306
6307 for (Firebird::ClumpletReader p(Firebird::ClumpletReader::InfoResponse, buffer, sizeof(buffer)); !p.isEof(); p.moveNext())
6308 {
6309 switch (p.getClumpTag())
6310 {
63196311 case isc_info_user_names:
63206312 {
63216313 if (rc == OBJECT_NOT_FOUND)
63266318 rc = SKIP; // We found at least one user.
63276319 }
63286320
6329 int len = *data;
6330 fb_assert(len == length - 1);
6331 const UCHAR* uname = data + 1;
6321 unsigned len = p.getBytes()[0];
6322 fb_assert(len == p.getClumpLength() - 1);
6323 const UCHAR* uname = p.getBytes() + 1;
63326324 // Let's mark all attachments with our same user with a # prefix.
63336325 bool same(len == my_user->vary_length && !memcmp(my_user->vary_string, uname, len));
63346326 isqlGlob.printf("%c %-37.*s", same ? '#' : ' ', len, uname);
63486340 isqlGlob.printf("%s\n", msg);
63496341 return rc; // If we got some items, we are (partially) successful.
63506342 }
6351
6352 data += length;
6353 if (data >= buffer + sizeof(buffer))
6354 break;
63556343 }
63566344
63576345 if (newline) // Last line was without newline.
734734
735735 if (jStable)
736736 {
737 jStable->getMutex()->enter(f);
737 jStable->getSync()->enter(f);
738738 if (!jStable->getHandle())
739739 {
740 jStable->getMutex()->leave();
740 jStable->getSync()->leave();
741741 Arg::Gds(isc_att_shutdown).raise();
742742 }
743743 }
751751 void StableAttachmentPart::manualLock(ULONG& flags)
752752 {
753753 fb_assert(!(flags & ATT_manual_lock));
754 asyncMutex.enter(FB_FUNCTION);
755 mainMutex.enter(FB_FUNCTION);
754 async.enter(FB_FUNCTION);
755 mainSync.enter(FB_FUNCTION);
756756 flags |= (ATT_manual_lock | ATT_async_manual_lock);
757757 }
758758
761761 if (flags & ATT_manual_lock)
762762 {
763763 flags &= ~ATT_manual_lock;
764 mainMutex.leave();
764 mainSync.leave();
765765 }
766766 manualAsyncUnlock(flags);
767767 }
771771 if (flags & ATT_async_manual_lock)
772772 {
773773 flags &= ~ATT_async_manual_lock;
774 asyncMutex.leave();
774 async.leave();
775775 }
776776 }
777777
778778 JAttachment* Attachment::getInterface() throw()
779779 {
780780 return att_stable->getInterface();
781 }
782
783 void Attachment::setInterface(JAttachment* iface) throw()
784 {
785 att_stable->setInterface(iface);
781786 }
782787
783788 UserId* Attachment::getUserId(const string& userName)
125125 class StableAttachmentPart : public Firebird::RefCounted, public Firebird::GlobalStorage
126126 {
127127 public:
128 class Sync
129 {
130 public:
131 Sync()
132 : waiters(0), threadId(0), totalLocksCounter(0), currentLocksCounter(0)
133 { }
134
135 void enter(const char* aReason)
136 {
137 ThreadId curTid = getThreadId();
138
139 if (threadId == curTid)
140 {
141 currentLocksCounter++;
142 return;
143 }
144
145 if (threadId || !syncMutex.tryEnter(aReason))
146 {
147 // we have contention with another thread
148 ++waiters;
149 syncMutex.enter(aReason);
150 --waiters;
151 }
152
153 threadId = curTid;
154 totalLocksCounter++;
155 fb_assert(currentLocksCounter == 0);
156 currentLocksCounter++;
157 }
158
159 bool tryEnter(const char* aReason)
160 {
161 ThreadId curTid = getThreadId();
162
163 if (threadId == curTid)
164 {
165 currentLocksCounter++;
166 return true;
167 }
168
169 if (threadId || !syncMutex.tryEnter(aReason))
170 return false;
171
172 threadId = curTid;
173 totalLocksCounter++;
174 fb_assert(currentLocksCounter == 0);
175 currentLocksCounter++;
176 return true;
177 }
178
179 void leave()
180 {
181 fb_assert(currentLocksCounter > 0);
182
183 if (--currentLocksCounter == 0)
184 {
185 threadId = 0;
186 syncMutex.leave();
187 }
188 }
189
190 bool hasContention() const
191 {
192 return (waiters.value() > 0);
193 }
194
195 FB_UINT64 getLockCounter() const
196 {
197 return totalLocksCounter;
198 }
199
200 #ifdef DEV_BUILD
201 bool locked() const
202 {
203 return threadId == getThreadId();
204 }
205 #endif
206
207 ~Sync()
208 {
209 if (threadId == getThreadId())
210 {
211 syncMutex.leave();
212 }
213 }
214
215 private:
216 // copying is prohibited
217 Sync(const Sync&);
218 Sync& operator=(const Sync&);
219
220 Firebird::Mutex syncMutex;
221 Firebird::AtomicCounter waiters;
222 ThreadId threadId;
223 volatile FB_UINT64 totalLocksCounter;
224 int currentLocksCounter;
225 };
226
227 typedef Firebird::RaiiLockGuard<StableAttachmentPart> SyncGuard;
228
128229 explicit StableAttachmentPart(Attachment* handle)
129230 : att(handle), jAtt(NULL)
130231 { }
144245 jAtt = ja;
145246 }
146247
147 Firebird::Mutex* getMutex(bool useAsync = false, bool forceAsync = false)
248 Sync* getSync(bool useAsync = false, bool forceAsync = false)
148249 {
149250 if (useAsync && !forceAsync)
150251 {
151 fb_assert(!mainMutex.locked());
152 }
153 return useAsync ? &asyncMutex : &mainMutex;
252 fb_assert(!mainSync.locked());
253 }
254 return useAsync ? &async : &mainSync;
154255 }
155256
156257 Firebird::Mutex* getBlockingMutex()
160261
161262 void cancel()
162263 {
163 fb_assert(asyncMutex.locked());
164 fb_assert(mainMutex.locked());
264 fb_assert(async.locked());
265 fb_assert(mainSync.locked());
165266 att = NULL;
166267 }
167268
183284 Attachment* att;
184285 JAttachment* jAtt;
185286
186 // These mutexes guarantee attachment existence. After releasing both of them with possibly
287 // These syncs guarantee attachment existence. After releasing both of them with possibly
187288 // zero att_use_count one should check does attachment still exists calling getHandle().
188 Firebird::Mutex mainMutex, asyncMutex;
289 Sync mainSync, async;
189290 // This mutex guarantees attachment is not accessed by more than single external thread.
190291 Firebird::Mutex blockingMutex;
191292 };
293
294 typedef Firebird::RaiiLockGuard<StableAttachmentPart::Sync> AttSyncLockGuard;
295 typedef Firebird::RaiiUnlockGuard<StableAttachmentPart::Sync> AttSyncUnlockGuard;
192296
193297 //
194298 // the attachment block; one is created for each attachment to a database
214318 ~SyncGuard()
215319 {
216320 if (jStable)
217 jStable->getMutex()->leave();
321 jStable->getSync()->leave();
218322 }
219323
220324 private:
385489 }
386490
387491 JAttachment* getInterface() throw();
492 void setInterface(JAttachment* iface) throw();
388493 UserId* getUserId(const Firebird::string &userName);
389494
390495 JProvider* getProvider()
273273 : PermanentStorage(*tdbb->getDatabase()->dbb_permanent),
274274 sync(this),
275275 keyName(getPool()),
276 currentPage(0),
276277 keyProviders(getPool()),
277278 keyConsumers(getPool()),
278279 hash(getPool()),
857858 if (!LCK_lock(tdbb, threadLock, LCK_EX, LCK_NO_WAIT))
858859 {
859860 // Cleanup lock manager error
860 fb_utils::init_status(tdbb->tdbb_status_vector);
861 tdbb->tdbb_status_vector->init();
861862
862863 return;
863864 }
922923 return;
923924 }
924925
925 // Establish temp context
926 // Needed to take crypt thread lock
927 UserId user;
928 user.usr_user_name = "Database Crypter";
929
930 Jrd::Attachment* const attachment = Jrd::Attachment::create(&dbb, NULL);
931 RefPtr<SysStableAttachment> sAtt(FB_NEW SysStableAttachment(attachment));
932 attachment->setStable(sAtt);
933 attachment->att_filename = dbb.dbb_filename;
934 attachment->att_user = &user;
935
936 BackgroundContextHolder tempDbb(&dbb, attachment, &status_vector, FB_FUNCTION);
937
938 LCK_init(tempDbb, LCK_OWNER_attachment);
939 PAG_header(tempDbb, true);
940 PAG_attachment_id(tempDbb);
941
942 sAtt->initDone();
926 // Establish temp context needed to take crypt thread lock
927 ThreadContextHolder tempDbb(&dbb, NULL, &status_vector);
943928
944929 // Take exclusive threadLock
945930 // If can't take that lock - nothing to do, cryptThread already runs somewhere
946931 if (!LCK_lock(tempDbb, threadLock, LCK_EX, LCK_NO_WAIT))
947 {
948 Monitoring::cleanupAttachment(tempDbb);
949 attachment->releaseLocks(tempDbb);
950 LCK_fini(tempDbb, LCK_OWNER_attachment);
951932 return;
952 }
953933
954934 try
955935 {
975955 dbb.dbb_database_name.c_str(), writer.getBufferLength(), writer.getBuffer()));
976956 check(&status_vector);
977957
978 MutexLockGuard attGuard(*(jAtt->getStable()->getMutex()), FB_FUNCTION);
958 AttSyncLockGuard attGuard(*(jAtt->getStable()->getSync()), FB_FUNCTION);
979959 Attachment* att = jAtt->getHandle();
980960 if (!att)
981961 Arg::Gds(isc_att_shutdown).raise();
10761056 // Release exclusive lock on StartCryptThread
10771057 lckRelease = true;
10781058 LCK_release(tempDbb, threadLock);
1079 Monitoring::cleanupAttachment(tempDbb);
1080 attachment->releaseLocks(tempDbb);
1081 LCK_fini(tempDbb, LCK_OWNER_attachment);
10821059 }
10831060 catch (const Exception&)
10841061 {
10881065 {
10891066 // Release exclusive lock on StartCryptThread
10901067 LCK_release(tempDbb, threadLock);
1091 Monitoring::cleanupAttachment(tempDbb);
1092 attachment->releaseLocks(tempDbb);
1093 LCK_fini(tempDbb, LCK_OWNER_attachment);
10941068 }
10951069 }
10961070 catch (const Exception&)
13251299 return 0;
13261300 }
13271301
1328 ULONG CryptoManager::getCurrentPage() const
1329 {
1330 return process ? currentPage : 0;
1302 ULONG CryptoManager::getCurrentPage(thread_db* tdbb) const
1303 {
1304 if (!process)
1305 return 0;
1306
1307 if (currentPage)
1308 return currentPage;
1309
1310 CchHdr hdr(tdbb, LCK_read);
1311 return hdr->hdr_crypt_page;
13311312 }
13321313
13331314 ULONG CryptoManager::getLastPage(thread_db* tdbb)
13351316 return PAG_last_page(tdbb) + 1;
13361317 }
13371318
1338 UCHAR CryptoManager::getCurrentState() const
1339 {
1340 return (crypt ? fb_info_crypt_encrypted : 0) | (process ? fb_info_crypt_process : 0);
1319 UCHAR CryptoManager::getCurrentState(thread_db* tdbb) const
1320 {
1321 bool p = process;
1322 bool c = crypt;
1323 if (!currentPage)
1324 {
1325 CchHdr hdr(tdbb, LCK_read);
1326
1327 p = hdr->hdr_flags & Ods::hdr_crypt_process;
1328 c = hdr->hdr_flags & Ods::hdr_encrypted;
1329 }
1330
1331 return (c ? fb_info_crypt_encrypted : 0) | (p ? fb_info_crypt_process : 0);
13411332 }
13421333
13431334 const char* CryptoManager::getKeyName() const
298298 bool checkValidation(Firebird::IDbCryptPlugin* crypt);
299299 void setDbInfo(Firebird::IDbCryptPlugin* cp);
300300
301 ULONG getCurrentPage() const;
302 UCHAR getCurrentState() const;
301 ULONG getCurrentPage(thread_db* tdbb) const;
302 UCHAR getCurrentState(thread_db* tdbb) const;
303303 const char* getKeyName() const;
304304
305305 private:
123123 check("IAttachment::getInfo", &st);
124124
125125 int dialect = SQL_DIALECT_V5; // reasonable default
126 const UCHAR* p = buffer;
127 while (*p != isc_info_end && *p != isc_info_truncated && p < buffer + sizeof(buffer))
126
127 for (ClumpletReader p(ClumpletReader::InfoResponse, buffer, sizeof(buffer)); !p.isEof(); p.moveNext())
128128 {
129 const UCHAR item = (UCHAR) *p++;
130 const USHORT length = gds__vax_integer(p, sizeof(USHORT));
131 p += sizeof(USHORT);
132
133 switch (item)
129 switch (p.getClumpTag())
134130 {
135131 case isc_info_db_sql_dialect:
136 dialect = gds__vax_integer(p, length);
132 dialect = p.getInt();
137133 break;
138134 }
139
140 p += length;
141135 }
142136
143137 JRD_make_role_name(role, dialect);
735735 {
736736 StaticStatusVector s;
737737 ex.stuffException(s);
738 if (!fb_utils::containsErrorCode(s.begin(), isc_instance_conflict))
739 iscLogException("MappingIpc: Cannot initialize the shared memory region", ex);
738 iscLogException("MappingIpc: Cannot initialize the shared memory region", ex);
740739 throw;
741740 }
742741 fb_assert(tempSharedMemory->getHeader()->mhb_header_version == MemoryHeader::HEADER_VERSION);
873873
874874 // crypt thread status
875875 if (database->dbb_crypto_manager)
876 record.storeInteger(f_mon_db_crypt_page, database->dbb_crypto_manager->getCurrentPage());
876 record.storeInteger(f_mon_db_crypt_page, database->dbb_crypto_manager->getCurrentPage(tdbb));
877877
878878 // database owner
879879 record.storeString(f_mon_db_owner, database->dbb_owner);
556556
557557 if (!(tail->opt_conjunct_flags & opt_conjunct_used) &&
558558 node->computable(csb, stream, true) &&
559 node->findStream(csb, stream) &&
559560 !invCandidate->matches.exist(node))
560561 {
561562 const ComparativeBoolNode* const cmpNode = node->as<ComparativeBoolNode>();
29892990 {
29902991 IndexRelationship* relationship = stream->indexedRelationships[j];
29912992 InnerJoinStreamInfo* relationStreamInfo = getStreamInfo(relationship->stream);
2992 if (!relationStreamInfo->used)
2993 {
2994 bool found = false;
2995 IndexRelationship** processRelationship = processList->begin();
2996 FB_SIZE_T index;
2997 for (index = 0; index < processList->getCount(); index++)
2998 {
2999 if (relationStreamInfo->stream == processRelationship[index]->stream)
2993
2994 if (relationStreamInfo->used)
2995 continue;
2996
2997 bool usable = true;
2998 for (const StreamType* depStream = relationship->depStreams.begin();
2999 depStream != relationship->depStreams.end(); ++depStream)
3000 {
3001 if (!(csb->csb_rpt[*depStream].csb_flags & csb_active))
3002 {
3003 usable = false;
3004 break;
3005 }
3006 }
3007
3008 if (!usable)
3009 continue;
3010
3011 bool found = false;
3012 IndexRelationship** processRelationship = processList->begin();
3013 FB_SIZE_T index;
3014 for (index = 0; index < processList->getCount(); index++)
3015 {
3016 if (relationStreamInfo->stream == processRelationship[index]->stream)
3017 {
3018 // If the cost of this relationship is cheaper then remove the
3019 // old relationship and add this one.
3020 if (cheaperRelationship(relationship, processRelationship[index]))
30003021 {
3001 // If the cost of this relationship is cheaper then remove the
3002 // old relationship and add this one.
3003 if (cheaperRelationship(relationship, processRelationship[index]))
3004 {
3005 processList->remove(index);
3006 break;
3007 }
3008
3009 found = true;
3022 processList->remove(index);
30103023 break;
30113024 }
3012 }
3013 if (!found)
3014 {
3015 // Add relationship sorted on cost (cheapest as first)
3016 IndexRelationship** relationships = processList->begin();
3017 for (index = 0; index < processList->getCount(); index++)
3018 {
3019 if (cheaperRelationship(relationship, relationships[index]))
3020 break;
3021 }
3022 processList->insert(index, relationship);
3023 }
3024 }
3025
3026 found = true;
3027 break;
3028 }
3029 }
3030
3031 if (found)
3032 continue;
3033
3034 // Add relationship sorted on cost (cheapest as first)
3035 IndexRelationship** relationships = processList->begin();
3036 for (index = 0; index < processList->getCount(); index++)
3037 {
3038 if (cheaperRelationship(relationship, relationships[index]))
3039 break;
3040 }
3041 processList->insert(index, relationship);
30253042 }
30263043
30273044 IndexRelationship** nextRelationship = processList->begin();
31013118 }
31023119
31033120 if (found)
3121 continue;
3122
3123 if (candidate->dependentFromStreams.getCount() > IndexRelationship::MAX_DEP_STREAMS)
31043124 continue;
31053125
31063126 // If we could use more conjunctions on the testing stream
31133133 indexRelationship->cardinality = candidate->unique ?
31143134 csb_tail->csb_cardinality : csb_tail->csb_cardinality * candidate->selectivity;
31153135
3136 for (const StreamType* depStream = candidate->dependentFromStreams.begin();
3137 depStream != candidate->dependentFromStreams.end(); ++depStream)
3138 {
3139 indexRelationship->depStreams.add(*depStream);
3140 }
3141
31163142 // indexRelationship are kept sorted on cost and unique in the indexRelations array.
31173143 // The unique and cheapest indexed relatioships are on the first position.
31183144 FB_SIZE_T index = 0;
239239 : stream(0), unique(false), cost(0), cardinality(0)
240240 {}
241241
242 static const unsigned MAX_DEP_STREAMS = 8;
243
242244 StreamType stream;
243245 bool unique;
244246 double cost;
245247 double cardinality;
248 Firebird::Vector<StreamType, MAX_DEP_STREAMS> depStreams;
246249 };
247250
248251 typedef Firebird::Array<IndexRelationship*> IndexedRelationships;
117117 while (thr.hasData())
118118 {
119119 FB_SIZE_T n = thr.getCount() - 1;
120 Thrd& t = thr[n];
120 Thrd t = thr[n];
121 thr.remove(n);
121122 {
122123 Firebird::MutexUnlockGuard u(threadsMutex, FB_FUNCTION);
123124 Thread::waitForCompletion(t.hndl);
124125 fb_assert(t.ending);
125126 }
126 thr.remove(n);
127127 }
128128 }
129129
22 *** DO NOT EDIT ***
33 TO CHANGE ANY INFORMATION IN HERE PLEASE
44 EDIT src/misc/writeBuildNum.sh
5 FORMAL BUILD NUMBER:33601
5 FORMAL BUILD NUMBER:33637
66 */
77
8 #define PRODUCT_VER_STRING "3.0.10.33601"
9 #define FILE_VER_STRING "WI-V3.0.10.33601"
10 #define LICENSE_VER_STRING "WI-V3.0.10.33601"
11 #define FILE_VER_NUMBER 3, 0, 10, 33601
8 #define PRODUCT_VER_STRING "3.0.11.33637"
9 #define FILE_VER_STRING "WI-V3.0.11.33637"
10 #define LICENSE_VER_STRING "WI-V3.0.11.33637"
11 #define FILE_VER_NUMBER 3, 0, 11, 33637
1212 #define FB_MAJOR_VER "3"
1313 #define FB_MINOR_VER "0"
14 #define FB_REV_NO "10"
15 #define FB_BUILD_NO "33601"
14 #define FB_REV_NO "11"
15 #define FB_BUILD_NO "33637"
1616 #define FB_BUILD_TYPE "V"
1717 #define FB_BUILD_SUFFIX "Firebird 3.0"
44564456 jrd_rel *relation = (*relations)[rel_id];
44574457 fb_assert(relation);
44584458
4459 relation->rel_flags |= REL_check_partners;
44594460 LCK_lock(tdbb, relation->rel_partners_lock, LCK_EX, LCK_WAIT);
44604461 LCK_release(tdbb, relation->rel_partners_lock);
4461 relation->rel_flags |= REL_check_partners;
44624462 }
44634463
44644464
48244824 case 4:
48254825 relation = MET_lookup_relation_id(tdbb, work->dfw_id, true);
48264826 if (!relation) {
4827 fb_assert(false);
48274828 return false;
48284829 }
48294830
16421642 {
16431643 m_saveConnection = attachment->att_ext_connection;
16441644 m_stable = attachment->getStable();
1645 m_stable->getMutex()->leave();
1646
1647 MutexLockGuard guardAsync(*m_stable->getMutex(true, true), FB_FUNCTION);
1648 MutexLockGuard guardMain(*m_stable->getMutex(), FB_FUNCTION);
1645 m_stable->getSync()->leave();
1646
1647 Jrd::AttSyncLockGuard guardAsync(*m_stable->getSync(true, true), FB_FUNCTION);
1648 Jrd::AttSyncLockGuard guardMain(*m_stable->getSync(), FB_FUNCTION);
16491649 if (m_stable->getHandle() == attachment)
16501650 attachment->att_ext_connection = &conn;
16511651 }
16671667 Jrd::Attachment* attachment = m_tdbb->getAttachment();
16681668 if (attachment && m_stable.hasData())
16691669 {
1670 MutexLockGuard guardAsync(*m_stable->getMutex(true, true), FB_FUNCTION);
1671 m_stable->getMutex()->enter(FB_FUNCTION);
1670 Jrd::AttSyncLockGuard guardAsync(*m_stable->getSync(true, true), FB_FUNCTION);
1671 m_stable->getSync()->enter(FB_FUNCTION);
16721672
16731673 if (m_stable->getHandle() == attachment)
16741674 attachment->att_ext_connection = m_saveConnection;
16751675 else
1676 m_stable->getMutex()->leave();
1676 m_stable->getSync()->leave();
16771677 }
16781678
16791679 jrd_tra* transaction = m_tdbb->getTransaction();
162162 raise(&status, tdbb, "isc_database_info");
163163 }
164164
165 const char* p = buff, *end = buff + sizeof(buff);
166 while (p < end)
167 {
168 const UCHAR item = *p++;
169 const USHORT len = m_iscProvider.isc_vax_integer(p, sizeof(USHORT));
170 p += sizeof(USHORT);
171
172 switch (item)
165 for (ClumpletReader p(ClumpletReader::InfoResponse, (UCHAR*)buff, sizeof(buff)); !p.isEof(); p.moveNext())
166 {
167 const UCHAR* b = p.getBytes();
168 switch (p.getClumpTag())
173169 {
174170 case isc_info_db_sql_dialect:
175 m_sqlDialect = m_iscProvider.isc_vax_integer(p, len);
171 m_sqlDialect = p.getInt();
176172 break;
177173
178174 case isc_info_error:
179 if (*p == isc_info_db_sql_dialect)
175 if (p.getClumpLength() > 1 && b[0] == isc_info_db_sql_dialect)
180176 {
181 const ULONG err = m_iscProvider.isc_vax_integer(p + 1, len - 1);
177 const ULONG err = m_iscProvider.isc_vax_integer((const char*)(b + 1), p.getClumpLength() - 1);
182178 if (err == isc_infunk)
183179 {
184180 // Remote server don't understand isc_info_db_sql_dialect.
191187
192188 case isc_info_truncated:
193189 ERR_post(Arg::Gds(isc_random) << Arg::Str("Unexpected error in isc_database_info"));
194
195 case isc_info_end:
196 p = end;
197 break;
198190 }
199 p += len;
200191 }
201192 }
202193
765765
766766 case fb_info_crypt_state:
767767 length = INF_convert(dbb->dbb_crypto_manager ?
768 dbb->dbb_crypto_manager->getCurrentState() : 0, buffer);
768 dbb->dbb_crypto_manager->getCurrentState(tdbb) : 0, buffer);
769769 break;
770770
771771 case fb_info_crypt_key:
455455
456456 struct AttShutParams
457457 {
458 Semaphore thdStartedSem;
458 Semaphore thdStartedSem, startCallCompleteSem;
459459 Thread::Handle thrHandle;
460460 AttachmentsRefHolder* attachments;
461461 };
699699 {
700700
701701 if (!nolock)
702 sAtt->getMutex(async)->enter(from);
702 sAtt->getSync(async)->enter(from);
703703
704704 Jrd::Attachment* attachment = sAtt->getHandle(); // Must be done after entering mutex
705705
723723 catch (const Firebird::Exception&)
724724 {
725725 if (!nolock)
726 sAtt->getMutex(async)->leave();
726 sAtt->getSync(async)->leave();
727727 throw;
728728 }
729729 }
743743 attachment->att_use_count--;
744744
745745 if (!nolock)
746 sAtt->getMutex(async)->leave();
746 sAtt->getSync(async)->leave();
747747
748748 if (blocking)
749749 sAtt->getBlockingMutex()->leave();
29952995 try
29962996 {
29972997 EngineContextHolder tdbb(user_status, this, FB_FUNCTION, AttachmentHolder::ATT_LOCK_ASYNC);
2998 Jrd::Attachment* attachment = getHandle();
2998 Attachment* attachment = getHandle();
29992999 Database* const dbb = tdbb->getDatabase();
30003000
30013001 try
30023002 {
3003 MutexEnsureUnlock guard(*(getStable()->getMutex()), FB_FUNCTION);
3003 EnsureUnlock<StableAttachmentPart::Sync, NotRefCounted> guard(*(getStable()->getSync()), FB_FUNCTION);
30043004 if (!guard.tryEnter())
30053005 {
30063006 status_exception::raise(Arg::Gds(isc_attachment_in_use));
44934493 }
44944494
44954495 // Make Attachment::destroy() happy
4496 MutexLockGuard async(*getMutex(true), FB_FUNCTION);
4497 MutexLockGuard sync(*getMutex(), FB_FUNCTION);
4496 AttSyncLockGuard async(*getSync(true), FB_FUNCTION);
4497 AttSyncLockGuard sync(*getSync(), FB_FUNCTION);
44984498
44994499 Jrd::Attachment::destroy(attachment);
45004500 }
69626962 **************************************/
69636963 SET_TDBB(tdbb);
69646964
6965 Mutex* const attMutex = sAtt->getMutex();
6966 fb_assert(attMutex->locked());
6965 StableAttachmentPart::Sync* const attSync = sAtt->getSync();
6966 fb_assert(attSync->locked());
69676967
69686968 Jrd::Attachment* attachment = sAtt->getHandle();
69696969
69786978 attachment->att_use_count--;
69796979
69806980 { // scope
6981 MutexUnlockGuard cout(*attMutex, FB_FUNCTION);
6981 AttSyncUnlockGuard cout(*attSync, FB_FUNCTION);
69826982 // !!!!!!!!!!!!!!!!! - event? semaphore? condvar? (when ATT_purge_started / sAtt->getHandle() changes)
69836983
6984 fb_assert(!attMutex->locked());
6984 fb_assert(!attSync->locked());
69856985 Thread::yield();
69866986 Thread::sleep(1);
69876987 }
70057005 attachment->att_use_count--;
70067006
70077007 { // scope
7008 MutexUnlockGuard cout(*attMutex, FB_FUNCTION);
7008 AttSyncUnlockGuard cout(*attSync, FB_FUNCTION);
70097009 // !!!!!!!!!!!!!!!!! - event? semaphore? condvar? (when --att_use_count)
70107010
7011 fb_assert(!attMutex->locked());
7011 fb_assert(!attSync->locked());
70127012 Thread::yield();
70137013 Thread::sleep(1);
70147014 }
70197019 attachment->att_use_count++;
70207020 }
70217021
7022 fb_assert(attMutex->locked());
7022 fb_assert(attSync->locked());
70237023
70247024 if (!attachment)
70257025 return;
71357135 attachment->att_trace_manager->event_detach(&conn, false);
71367136 }
71377137
7138 fb_assert(attMutex->locked());
7139 Mutex* asyncMutex = sAtt->getMutex(true, true);
7140 MutexEnsureUnlock asyncGuard(*asyncMutex, FB_FUNCTION);
7138 fb_assert(attSync->locked());
7139 StableAttachmentPart::Sync* attAsync = sAtt->getSync(true, true);
7140 EnsureUnlock<StableAttachmentPart::Sync, NotRefCounted> asyncGuard(*attAsync, FB_FUNCTION);
71417141
71427142 { // scope - ensure correct order of taking both async and main mutexes
7143 MutexUnlockGuard cout(*attMutex, FB_FUNCTION);
7144 fb_assert(!attMutex->locked());
7143 AttSyncUnlockGuard cout(*attSync, FB_FUNCTION);
7144 fb_assert(!attSync->locked());
71457145 asyncGuard.enter();
71467146 }
71477147
71547154 release_attachment(tdbb, attachment);
71557155
71567156 asyncGuard.leave();
7157 MutexUnlockGuard cout(*attMutex, FB_FUNCTION);
7157 AttSyncUnlockGuard cout(*attSync, FB_FUNCTION);
71587158 MutexUnlockGuard coutBlocking(*sAtt->getBlockingMutex(), FB_FUNCTION);
71597159
71607160 // Try to close database if there are no attachments
74437443 {
74447444 StableAttachmentPart* const sAtt = *iter;
74457445
7446 MutexLockGuard guard(*(sAtt->getMutex(true)), FB_FUNCTION);
7447 Attachment* const attachment = sAtt->getHandle();
7446 AttSyncLockGuard guard(*(sAtt->getSync(true)), FB_FUNCTION);
7447 Attachment* attachment = sAtt->getHandle();
74487448
74497449 if (attachment && !(attachment->att_flags & ATT_shutdown))
74507450 attachment->signalShutdown();
74587458 StableAttachmentPart* const sAtt = *iter;
74597459
74607460 MutexLockGuard guardBlocking(*(sAtt->getBlockingMutex()), FB_FUNCTION);
7461 MutexLockGuard guard(*(sAtt->getMutex()), FB_FUNCTION);
7461 AttSyncLockGuard guard(*(sAtt->getSync()), FB_FUNCTION);
74627462 Attachment* attachment = sAtt->getHandle();
74637463
74647464 if (attachment)
74977497
74987498 AttShutParams* params = static_cast<AttShutParams*>(arg);
74997499 AttachmentsRefHolder* attachments = params->attachments;
7500
7501 try
7502 {
7503 params->startCallCompleteSem.enter();
7504 }
7505 catch (const Exception& ex)
7506 {
7507 iscLogException("attachmentShutdownThread", ex);
7508 return 0;
7509 }
7510
75007511 Thread::Handle th = params->thrHandle;
75017512 fb_assert(th);
75027513
75237534 static void waitForShutdown(Semaphore& shutdown_semaphore)
75247535 {
75257536 const int pid = getpid();
7526 unsigned int timeout = 10000; // initial value, 10 sec
7537 unsigned int timeout = 10; // initial value, 10 sec
75277538 bool done = false;
75287539
75297540 for (int i = 0; i < 5; i++)
77537764 if (checkCancelState(punt))
77547765 return true;
77557766
7756 { // checkout scope
7767 StableAttachmentPart::Sync* sync = this->getAttachment()->getStable()->getSync();
7768 Database* dbb = this->getDatabase();
7769
7770 if (sync->hasContention())
7771 {
7772 FB_UINT64 cnt = sync->getLockCounter();
7773
77577774 EngineCheckout cout(this, FB_FUNCTION);
77587775 Thread::yield();
7776
7777 while (sync->hasContention() && (sync->getLockCounter() == cnt))
7778 Thread::sleep(1);
77597779 }
77607780
77617781 if (checkCancelState(punt))
82078227 AttShutParams params;
82088228 params.attachments = queue;
82098229 Thread::start(attachmentShutdownThread, &params, THREAD_high, &params.thrHandle);
8230 params.startCallCompleteSem.release();
8231
82108232 queue.release();
82118233 shutThreadCollect->houseKeeping();
82128234 params.thdStartedSem.enter();
82588280 {
82598281 StableAttachmentPart* const sAtt = *iter;
82608282
8261 MutexLockGuard guard(*(sAtt->getMutex(true)), FB_FUNCTION);
8283 AttSyncLockGuard guard(*(sAtt->getSync(true)), FB_FUNCTION);
82628284 Attachment* const attachment = sAtt->getHandle();
82638285
82648286 if (attachment && !(attachment->att_flags & ATT_shutdown))
82688290 AttShutParams params;
82698291 params.attachments = queue;
82708292 Thread::start(attachmentShutdownThread, &params, THREAD_high, &params.thrHandle);
8293 params.startCallCompleteSem.release();
8294
82718295 queue.release();
82728296 shutThreadCollect->houseKeeping();
82738297 params.thdStartedSem.enter();
937937 fb_assert(optional || m_ref.hasData());
938938
939939 if (m_ref.hasData())
940 m_ref->getMutex()->leave();
940 m_ref->getSync()->leave();
941941 }
942942
943943 EngineCheckout(Attachment* att, const char* from)
948948 if (att && att->att_use_count)
949949 {
950950 m_ref = att->getStable();
951 m_ref->getMutex()->leave();
951 m_ref->getSync()->leave();
952952 }
953953 }
954954
955955 ~EngineCheckout()
956956 {
957957 if (m_ref.hasData())
958 m_ref->getMutex()->enter(m_from);
958 m_ref->getSync()->enter(m_from);
959959
960960 // If we were signalled to cancel/shutdown, react as soon as possible.
961961 // We cannot throw immediately, but we can reschedule ourselves.
369369 continue;
370370
371371 // signal other processes
372 relation->rel_flags |= REL_check_partners;
372373 LCK_lock(tdbb, relation->rel_partners_lock, LCK_EX, LCK_WAIT);
373374 LCK_release(tdbb, relation->rel_partners_lock);
374 relation->rel_flags |= REL_check_partners;
375375 }
376376 }
377377
29192919 if (check_relation != relation)
29202920 {
29212921 LCK_release(tdbb, check_relation->rel_existence_lock);
2922 LCK_release(tdbb, check_relation->rel_partners_lock);
2922 if (!(check_relation->rel_flags & REL_check_partners))
2923 {
2924 check_relation->rel_flags |= REL_check_partners;
2925 LCK_release(tdbb, check_relation->rel_partners_lock);
2926 check_relation->rel_flags &= ~REL_check_partners;
2927 }
29232928 LCK_release(tdbb, check_relation->rel_rescan_lock);
2924 check_relation->rel_flags &= ~REL_check_partners;
29252929 check_relation->rel_flags |= REL_deleted;
29262930 }
29272931 }
30023006 if (check_relation != relation)
30033007 {
30043008 LCK_release(tdbb, check_relation->rel_existence_lock);
3005 LCK_release(tdbb, check_relation->rel_partners_lock);
3009 if (!(check_relation->rel_flags & REL_check_partners))
3010 {
3011 check_relation->rel_flags |= REL_check_partners;
3012 LCK_release(tdbb, check_relation->rel_partners_lock);
3013 check_relation->rel_flags &= ~REL_check_partners;
3014 }
30063015 LCK_release(tdbb, check_relation->rel_rescan_lock);
3007 check_relation->rel_flags &= ~REL_check_partners;
30083016 check_relation->rel_flags |= REL_deleted;
30093017 }
30103018 }
43664374
43674375 if (relation->rel_use_count)
43684376 relation->rel_flags |= REL_blocking;
4369 else
4377 else if (!(relation->rel_flags & REL_deleting))
43704378 {
43714379 relation->rel_flags &= ~REL_blocking;
43724380 relation->rel_flags |= REL_check_existence;
43914399
43924400 AsyncContextHolder tdbb(dbb, FB_FUNCTION, relation->rel_partners_lock);
43934401
4394 LCK_release(tdbb, relation->rel_partners_lock);
4395 relation->rel_flags |= REL_check_partners;
4402 if (!(relation->rel_flags & REL_check_partners))
4403 {
4404 relation->rel_flags |= REL_check_partners;
4405 LCK_release(tdbb, relation->rel_partners_lock);
4406 }
43964407 }
43974408 catch (const Exception&)
43984409 {} // no-op
49684979 **************************************/
49694980 Attachment* attachment = tdbb->getAttachment();
49704981
4971 AutoCacheRequest request(tdbb, irq_foreign1, IRQ_REQUESTS);
4972 frgn* references = &relation->rel_foreign_refs;
4973 int index_number = 0;
4974
4975 if (references->frgn_reference_ids)
4976 {
4977 delete references->frgn_reference_ids;
4978 references->frgn_reference_ids = NULL;
4979 }
4980 if (references->frgn_relations)
4981 {
4982 delete references->frgn_relations;
4983 references->frgn_relations = NULL;
4984 }
4985 if (references->frgn_indexes)
4986 {
4987 delete references->frgn_indexes;
4988 references->frgn_indexes = NULL;
4989 }
4990
4991 FOR(REQUEST_HANDLE request)
4992 IDX IN RDB$INDICES CROSS
4982 while (relation->rel_flags & REL_check_partners)
4983 {
4984 relation->rel_flags &= ~REL_check_partners;
4985 LCK_lock(tdbb, relation->rel_partners_lock, LCK_SR, LCK_WAIT);
4986
4987 if (relation->rel_flags & REL_check_partners)
4988 continue;
4989
4990 AutoCacheRequest request(tdbb, irq_foreign1, IRQ_REQUESTS);
4991 frgn* references = &relation->rel_foreign_refs;
4992 int index_number = 0;
4993
4994 if (references->frgn_reference_ids)
4995 {
4996 delete references->frgn_reference_ids;
4997 references->frgn_reference_ids = NULL;
4998 }
4999 if (references->frgn_relations)
5000 {
5001 delete references->frgn_relations;
5002 references->frgn_relations = NULL;
5003 }
5004 if (references->frgn_indexes)
5005 {
5006 delete references->frgn_indexes;
5007 references->frgn_indexes = NULL;
5008 }
5009
5010 FOR(REQUEST_HANDLE request)
5011 IDX IN RDB$INDICES CROSS
49935012 RC IN RDB$RELATION_CONSTRAINTS
49945013 OVER RDB$INDEX_NAME CROSS
49955014 IND IN RDB$INDICES WITH
49995018 IDX.RDB$INDEX_ID > 0 AND
50005019 IND.RDB$INDEX_ID > 0 AND
50015020 IND.RDB$UNIQUE_FLAG = 1
5002 {
5003 //// ASF: Hack fix for CORE-4304, until nasty interactions between dfw and met are not resolved.
5004 const jrd_rel* partner_relation = relation->rel_name == IND.RDB$RELATION_NAME ?
5005 relation : MET_lookup_relation(tdbb, IND.RDB$RELATION_NAME);
5006
5007 if (partner_relation && !IDX.RDB$INDEX_INACTIVE && !IND.RDB$INDEX_INACTIVE)
5008 {
5009 // This seems a good candidate for vcl.
5010 references->frgn_reference_ids =
5011 vec<int>::newVector(*relation->rel_pool, references->frgn_reference_ids,
5012 index_number + 1);
5013
5014 (*references->frgn_reference_ids)[index_number] = IDX.RDB$INDEX_ID - 1;
5015
5016 references->frgn_relations =
5017 vec<int>::newVector(*relation->rel_pool, references->frgn_relations,
5018 index_number + 1);
5019
5020 (*references->frgn_relations)[index_number] = partner_relation->rel_id;
5021
5022 references->frgn_indexes =
5023 vec<int>::newVector(*relation->rel_pool, references->frgn_indexes,
5024 index_number + 1);
5025
5026 (*references->frgn_indexes)[index_number] = IND.RDB$INDEX_ID - 1;
5027
5028 index_number++;
5029 }
5030 }
5031 END_FOR
5032
5033 // Prepare for rescan of primary dependencies on relation's primary key and stale vectors.
5034
5035 request.reset(tdbb, irq_foreign2, IRQ_REQUESTS);
5036 prim* dependencies = &relation->rel_primary_dpnds;
5037 index_number = 0;
5038
5039 if (dependencies->prim_reference_ids)
5040 {
5041 delete dependencies->prim_reference_ids;
5042 dependencies->prim_reference_ids = NULL;
5043 }
5044 if (dependencies->prim_relations)
5045 {
5046 delete dependencies->prim_relations;
5047 dependencies->prim_relations = NULL;
5048 }
5049 if (dependencies->prim_indexes)
5050 {
5051 delete dependencies->prim_indexes;
5052 dependencies->prim_indexes = NULL;
5053 }
5054
5055 FOR(REQUEST_HANDLE request)
5056 IDX IN RDB$INDICES CROSS
5021 {
5022 //// ASF: Hack fix for CORE-4304, until nasty interactions between dfw and met are not resolved.
5023 const jrd_rel* partner_relation = relation->rel_name == IND.RDB$RELATION_NAME ?
5024 relation : MET_lookup_relation(tdbb, IND.RDB$RELATION_NAME);
5025
5026 if (partner_relation && !IDX.RDB$INDEX_INACTIVE && !IND.RDB$INDEX_INACTIVE)
5027 {
5028 // This seems a good candidate for vcl.
5029 references->frgn_reference_ids =
5030 vec<int>::newVector(*relation->rel_pool, references->frgn_reference_ids,
5031 index_number + 1);
5032
5033 (*references->frgn_reference_ids)[index_number] = IDX.RDB$INDEX_ID - 1;
5034
5035 references->frgn_relations =
5036 vec<int>::newVector(*relation->rel_pool, references->frgn_relations,
5037 index_number + 1);
5038
5039 (*references->frgn_relations)[index_number] = partner_relation->rel_id;
5040
5041 references->frgn_indexes =
5042 vec<int>::newVector(*relation->rel_pool, references->frgn_indexes,
5043 index_number + 1);
5044
5045 (*references->frgn_indexes)[index_number] = IND.RDB$INDEX_ID - 1;
5046
5047 index_number++;
5048 }
5049 }
5050 END_FOR
5051
5052 // Prepare for rescan of primary dependencies on relation's primary key and stale vectors.
5053
5054 request.reset(tdbb, irq_foreign2, IRQ_REQUESTS);
5055 prim* dependencies = &relation->rel_primary_dpnds;
5056 index_number = 0;
5057
5058 if (dependencies->prim_reference_ids)
5059 {
5060 delete dependencies->prim_reference_ids;
5061 dependencies->prim_reference_ids = NULL;
5062 }
5063 if (dependencies->prim_relations)
5064 {
5065 delete dependencies->prim_relations;
5066 dependencies->prim_relations = NULL;
5067 }
5068 if (dependencies->prim_indexes)
5069 {
5070 delete dependencies->prim_indexes;
5071 dependencies->prim_indexes = NULL;
5072 }
5073
5074 FOR(REQUEST_HANDLE request)
5075 IDX IN RDB$INDICES CROSS
50575076 IND IN RDB$INDICES WITH
50585077 IDX.RDB$UNIQUE_FLAG = 1 AND
50595078 IDX.RDB$INDEX_ID > 0 AND
50605079 IND.RDB$INDEX_ID > 0 AND
50615080 IDX.RDB$RELATION_NAME EQ relation->rel_name.c_str() AND
50625081 IND.RDB$FOREIGN_KEY EQ IDX.RDB$INDEX_NAME
5063 {
5064 //// ASF: Hack fix for CORE-4304, until nasty interactions between dfw and met are not resolved.
5065 const jrd_rel* partner_relation = relation->rel_name == IND.RDB$RELATION_NAME ?
5066 relation : MET_lookup_relation(tdbb, IND.RDB$RELATION_NAME);
5067
5068 if (partner_relation && !IDX.RDB$INDEX_INACTIVE && !IND.RDB$INDEX_INACTIVE)
5069 {
5070 dependencies->prim_reference_ids =
5071 vec<int>::newVector(*relation->rel_pool, dependencies->prim_reference_ids,
5072 index_number + 1);
5073
5074 (*dependencies->prim_reference_ids)[index_number] = IDX.RDB$INDEX_ID - 1;
5075
5076 dependencies->prim_relations =
5077 vec<int>::newVector(*relation->rel_pool, dependencies->prim_relations,
5078 index_number + 1);
5079
5080 (*dependencies->prim_relations)[index_number] = partner_relation->rel_id;
5081
5082 dependencies->prim_indexes =
5083 vec<int>::newVector(*relation->rel_pool, dependencies->prim_indexes,
5084 index_number + 1);
5085
5086 (*dependencies->prim_indexes)[index_number] = IND.RDB$INDEX_ID - 1;
5087
5088 index_number++;
5089 }
5090 }
5091 END_FOR
5092
5093 LCK_lock(tdbb, relation->rel_partners_lock, LCK_SR, LCK_WAIT);
5094 relation->rel_flags &= ~REL_check_partners;
5082 {
5083 //// ASF: Hack fix for CORE-4304, until nasty interactions between dfw and met are not resolved.
5084 const jrd_rel* partner_relation = relation->rel_name == IND.RDB$RELATION_NAME ?
5085 relation : MET_lookup_relation(tdbb, IND.RDB$RELATION_NAME);
5086
5087 if (partner_relation && !IDX.RDB$INDEX_INACTIVE && !IND.RDB$INDEX_INACTIVE)
5088 {
5089 dependencies->prim_reference_ids =
5090 vec<int>::newVector(*relation->rel_pool, dependencies->prim_reference_ids,
5091 index_number + 1);
5092
5093 (*dependencies->prim_reference_ids)[index_number] = IDX.RDB$INDEX_ID - 1;
5094
5095 dependencies->prim_relations =
5096 vec<int>::newVector(*relation->rel_pool, dependencies->prim_relations,
5097 index_number + 1);
5098
5099 (*dependencies->prim_relations)[index_number] = partner_relation->rel_id;
5100
5101 dependencies->prim_indexes =
5102 vec<int>::newVector(*relation->rel_pool, dependencies->prim_indexes,
5103 index_number + 1);
5104
5105 (*dependencies->prim_indexes)[index_number] = IND.RDB$INDEX_ID - 1;
5106
5107 index_number++;
5108 }
5109 }
5110 END_FOR
5111 }
50955112 }
50965113
50975114
468468 *
469469 **************************************/
470470 Database* const dbb = tdbb->getDatabase();
471 StableAttachmentPart* const sAtt = tdbb->getAttachment()->getStable();
472471
473472 shutdown_data data;
474473 data.data_items.flag = flag;
478477
479478 { // scope
480479 // Checkout before calling AST function
481 MutexUnlockGuard uguard(*(sAtt->getMutex()), FB_FUNCTION);
480 EngineCheckout uguard(tdbb, FB_FUNCTION);
482481
483482 // Notify local attachments
484483 SHUT_blocking_ast(tdbb, true);
136136 typedef Array<Service*> AllServices;
137137 GlobalPtr<AllServices> allServices; // protected by globalServicesMutex
138138 volatile bool svcShutdown = false;
139
140139 GlobalPtr<ThreadCollect> threadCollect;
141140
142141 void spbVersionError()
36393639 }
36403640 catch (const Firebird::Exception&)
36413641 {
3642 LCK_release(tdbb, lock);
3643 trans->tra_lock = NULL;
36423644 trans->unlinkFromAttachment();
36433645 throw;
36443646 }
258258 try
259259 {
260260 EngineCheckout guard(attachment, FB_FUNCTION);
261
262 AutoRestore2<JAttachment*, Attachment> autoInterface(attachment, &Attachment::getInterface, &Attachment::setInterface);
263 JAttachment tempAtt(attachment->getStable());
264 if (!attachment->getInterface())
265 {
266 tempAtt.addRef();
267 autoInterface.set(&tempAtt);
268 }
269
261270 mapUser(s_user, t_role, NULL, NULL, session.ses_auth,
262271 attachment->att_filename.c_str(), dbb->dbb_filename.c_str(),
263 dbb->dbb_config->getSecurityDatabase(),
264 dbb->dbb_callback, attachment->getInterface(),
265 false);
272 dbb->dbb_config->getSecurityDatabase(), dbb->dbb_callback,
273 attachment->getInterface(), false);
274
275 #ifdef DEV_BUILD
276 // Very dirty solution but there is no need frontporting it and
277 // for old version that should be acceptable in order to avoid assertion
278 // instead of backporting a lot of code
279 memset(&tempAtt, 0, sizeof(JAttachment));
280 #endif
266281 }
267282 catch (const Firebird::Exception&)
268283 {
10601060 err.printf("Database: %s\n\tValidation aborted", fileName.c_str());
10611061 iscLogStatus(err.c_str(), tdbb->tdbb_status_vector);
10621062
1063 CCH_unwind(tdbb, false);
1064
10631065 cleanup();
10641066 dbb->deletePool(val_pool);
10651067 return false;
30933095 }
30943096
30953097 } // try
3096 catch (const Firebird::Exception&)
3097 {
3098 if (!(vdr_flags & VDR_online))
3099 {
3100 const char* msg = relation->rel_name.length() > 0 ?
3101 "bugcheck during scan of table %d (%s)" :
3102 "bugcheck during scan of table %d";
3103 gds__log(msg, relation->rel_id, relation->rel_name.c_str());
3104 }
3098 catch (const Firebird::Exception& ex)
3099 {
31053100 #ifdef DEBUG_VAL_VERBOSE
31063101 if (VAL_debug_level)
31073102 {
3108 char s[256];
3103 char s[BUFFER_SMALL];
31093104 SNPRINTF(s, sizeof(s), msg, relation->rel_id, relation->rel_name.c_str());
31103105 fprintf(stdout, "LOG:\t%s\n", s);
31113106 }
31123107 #endif
3113 throw;
3108 string msg;
3109 if (relation->rel_name.hasData())
3110 {
3111 msg.printf("Error during scan of table %d (%s)",
3112 relation->rel_id, relation->rel_name.c_str());
3113 }
3114 else
3115 {
3116 msg.printf("Error during scan of table %d", relation->rel_id);
3117 }
3118
3119 FbLocalStatus tempStatus;
3120 ex.stuffException(&tempStatus);
3121
3122 Arg::StatusVector tempVector(&tempStatus);
3123 tempVector.prepend(Arg::Gds(isc_random) << Arg::Str(msg));
3124 tempVector.raise();
31143125 }
31153126
31163127 return rtn_ok;
77 BuildType=V
88 MajorVer=3
99 MinorVer=0
10 RevNo=10
11 BuildNum=33601
10 RevNo=11
11 BuildNum=33637
1212
1313 NowAt=`pwd`
1414 cd `dirname $0`
770770 ('sysf_fp_overflow', 'evlStdMath', 'SysFunction.cpp', NULL, 0, 661, NULL, 'Floating point overflow in built-in function @1', NULL, NULL);
771771 ('udf_fp_overflow', 'FUN_evaluate', 'fun.epp', NULL, 0, 662, NULL, 'Floating point overflow in result from UDF @1', NULL, NULL);
772772 ('udf_fp_nan', 'FUN_evaluate', 'fun.epp', NULL, 0, 663, NULL, 'Invalid floating point value returned by UDF @1', NULL, NULL);
773 ('instance_conflict', 'ISC_map_file', 'isc_sync.cpp', NULL, 0, 664, NULL, 'Database is probably already opened by another engine instance in another Windows session', NULL, NULL);
773 ('instance_conflict', 'ISC_map_file', 'isc_sync.cpp', NULL, 0, 664, NULL, 'Shared memory area is probably already created by another engine instance in another Windows session', NULL, NULL);
774774 ('out_of_temp_space', 'setupFile', 'TempSpace.cpp', NULL, 0, 665, NULL, 'No free space found in temporary directories', NULL, NULL);
775775 ('eds_expl_tran_ctrl', NULL, '', NULL, 0, 666, NULL, 'Explicit transaction control is not allowed', NULL, NULL)
776776 ('no_trusted_spb', NULL, 'svc.cpp', NULL, 0, 667, NULL, 'Use of TRUSTED switches in spb_command_line is prohibited', NULL, NULL)
8585 #include "../remote/os/win32/xnet_proto.h"
8686 #endif
8787
88 #ifdef WIN_NT
89 #define sleep(seconds) Sleep ((seconds) * 1000)
90 #endif // WIN_NT
91
9288
9389 const char* const PROTOCOL_INET = "inet";
9490 const char* const PROTOCOL_INET4 = "inet4";
150146 cstring oldValue;
151147 };
152148
153 GlobalPtr<PortsCleanup> outPorts;
149 class ClientPortsCleanup : public PortsCleanup
150 {
151 public:
152 ClientPortsCleanup() :
153 PortsCleanup()
154 {}
155
156 explicit ClientPortsCleanup(MemoryPool& p) :
157 PortsCleanup(p)
158 {}
159
160 void closePort(rem_port* port);
161
162 void delay()
163 {
164 Thread::sleep(50);
165 }
166 };
167
168 GlobalPtr<ClientPortsCleanup> outPorts;
154169 }
155170
156171 namespace Remote {
730745 static void batch_dsql_fetch(rem_port*, struct rmtque *, USHORT);
731746 static void clear_queue(rem_port*);
732747 static void clear_stmt_que(rem_port*, Rsr*);
748 static void finalize(rem_port* port);
733749 static void disconnect(rem_port*, bool rmRef = true);
734750 static void enqueue_receive(rem_port*, t_rmtque_fn, Rdb*, void*, Rrq::rrq_repeat*);
735751 static void dequeue_receive(rem_port*);
16311647
16321648 try
16331649 {
1634 if (!(port->port_flags & PORT_rdb_shutdown))
1650 if (!(port->port_flags & (PORT_rdb_shutdown | PORT_detached)))
16351651 {
16361652 release_object(status, rdb, op_detach, rdb->rdb_id);
16371653 }
47244740 rem_port* port = rdb->rdb_port;
47254741 RemotePortGuard portGuard(port, FB_FUNCTION);
47264742
4727 try
4728 {
4729 release_object(status, rdb, op_service_detach, rdb->rdb_id);
4730 }
4731 catch (const Exception&)
4732 {
4733 if (!force)
4734 throw;
4743 if (!(port->port_flags & PORT_detached))
4744 {
4745 try
4746 {
4747 release_object(status, rdb, op_service_detach, rdb->rdb_id);
4748 }
4749 catch (const Exception&)
4750 {
4751 if (!force)
4752 throw;
4753 }
47354754 }
47364755 disconnect(port);
47374756 rdb = NULL;
59155934 }
59165935
59175936
5918 static void disconnect(rem_port* port, bool rmRef)
5937 static void finalize(rem_port* port)
59195938 {
59205939 /**************************************
59215940 *
59245943 **************************************
59255944 *
59265945 * Functional description
5927 * Disconnect a port and free its memory.
5928 *
5929 **************************************/
5946 * Disconnect remote port.
5947 *
5948 **************************************/
5949
5950 // no need to do something if port already detached
5951 if (port->port_flags & PORT_detached)
5952 return;
5953
5954 // Avoid async send during finalize
5955 RefMutexGuard guard(*port->port_write_sync, FB_FUNCTION);
59305956
59315957 // Send a disconnect to the server so that it
59325958 // gracefully terminates.
59635989 port->send(packet);
59645990 }
59655991 REMOTE_free_packet(port, packet);
5992 delete rdb;
5993 port->port_context = NULL;
59665994 }
59675995
59685996 // Cleanup the queue
59695997
59705998 delete port->port_deferred_packets;
5999 port->port_deferred_packets = NULL;
6000
6001 port->port_flags |= PORT_detached;
6002 }
6003
6004 static void disconnect(rem_port* port, bool rmRef)
6005 {
6006 /**************************************
6007 *
6008 * d i s c o n n e c t
6009 *
6010 **************************************
6011 *
6012 * Functional description
6013 * Disconnect a port and free its memory.
6014 *
6015 **************************************/
6016
6017 finalize(port);
59716018
59726019 // Clear context reference for the associated event handler
59736020 // to avoid SEGV during shutdown
59836030
59846031 port->port_flags |= PORT_disconnect;
59856032 port->disconnect();
5986 delete rdb;
5987 port->port_context = NULL;
59886033
59896034 // Remove from active ports
59906035
71987243
71997244 RefMutexGuard guard(*port->port_write_sync, FB_FUNCTION);
72007245
7246 if (port->port_flags & PORT_detached || port->port_state == rem_port::BROKEN)
7247 {
7248 (Arg::Gds(isc_net_write_err)
7249 #ifdef DEV_BUILD
7250 << Arg::Gds(isc_random) << "port detached"
7251 #endif
7252 ).raise();
7253 }
7254
72017255 // Send packets that were deferred
72027256
72037257 if (port->port_deferred_packets)
72477301
72487302 RefMutexGuard guard(*port->port_write_sync, FB_FUNCTION);
72497303
7304 if (port->port_flags & PORT_detached || port->port_state == rem_port::BROKEN)
7305 {
7306 (Arg::Gds(isc_net_write_err)
7307 #ifdef DEV_BUILD
7308 << Arg::Gds(isc_random) << "port detached"
7309 #endif
7310 ).raise();
7311 }
7312
72507313 // Send packets that were deferred
72517314
72527315 for (rem_que_packet* p = port->port_deferred_packets->begin();
74567519 }
74577520
74587521 } //namespace Remote
7522
7523
7524 void ClientPortsCleanup::closePort(rem_port* port)
7525 {
7526 RefMutexEnsureUnlock guard(*port->port_sync, FB_FUNCTION);
7527
7528 if (port->port_flags & PORT_disconnect)
7529 return;
7530
7531 if (guard.tryEnter())
7532 Remote::finalize(port);
7533 else
7534 PortsCleanup::closePort(port);
7535 }
74597536
74607537
74617538 RmtAuthBlock::RmtAuthBlock(const Firebird::AuthReader::AuthBlock& aBlock)
18601860 if (port->port_state != rem_port::PENDING)
18611861 return;
18621862
1863 RefMutexGuard guard(*port->port_write_sync, FB_FUNCTION);
1864
18631865 port->port_state = rem_port::BROKEN;
1864
18651866 if (port->port_handle != INVALID_SOCKET)
18661867 {
18671868 shutdown(port->port_handle, 2);
762762 void PortsCleanup::registerPort(rem_port* port)
763763 {
764764 Firebird::MutexLockGuard guard(m_mutex, FB_FUNCTION);
765
766 if (closing)
767 return;
768
765769 if (!m_ports)
766770 {
767771 Firebird::MemoryPool& pool = *getDefaultMemoryPool();
774778 void PortsCleanup::unRegisterPort(rem_port* port)
775779 {
776780 Firebird::MutexLockGuard guard(m_mutex, FB_FUNCTION);
781
782 if (closing)
783 return;
777784
778785 if (m_ports)
779786 {
787794
788795 void PortsCleanup::closePorts()
789796 {
797 if (m_ports)
798 delay();
799
790800 Firebird::MutexLockGuard guard(m_mutex, FB_FUNCTION);
801 Firebird::AutoSetRestore<bool> cl(&closing, true);
802
803 { // scope
804 Firebird::MutexUnlockGuard g2(m_mutex, FB_FUNCTION);
805 Thread::yield();
806 }
791807
792808 if (m_ports)
793809 {
794810 rem_port* const* ptr = m_ports->begin();
795811 const rem_port* const* end = m_ports->end();
796812 for (; ptr < end; ptr++) {
797 (*ptr)->force_close();
813 closePort(*ptr);
798814 }
799815
800816 delete m_ports;
801817 m_ports = NULL;
802818 }
819 }
820
821 void PortsCleanup::closePort(rem_port* port)
822 {
823 port->force_close();
824 }
825
826 void PortsCleanup::delay()
827 {
803828 }
804829
805830 ServerAuthBase::~ServerAuthBase()
13501350 public:
13511351 PortsCleanup() :
13521352 m_ports(NULL),
1353 m_mutex()
1353 m_mutex(),
1354 closing(false)
13541355 {}
13551356
13561357 explicit PortsCleanup(MemoryPool&) :
13571358 m_ports(NULL),
1358 m_mutex()
1359 m_mutex(),
1360 closing(false)
13591361 {}
13601362
1361 ~PortsCleanup()
1363 virtual ~PortsCleanup()
13621364 {}
13631365
13641366 void registerPort(rem_port*);
13651367 void unRegisterPort(rem_port*);
13661368
13671369 void closePorts();
1370 virtual void closePort(rem_port*);
1371 virtual void delay();
13681372
13691373 private:
13701374 typedef Firebird::SortedArray<rem_port*> PortsArray;
13711375 PortsArray* m_ports;
13721376 Firebird::Mutex m_mutex;
1377 bool closing;
13731378 };
13741379
13751380 #endif // REMOTE_REMOTE_H
19521952 HANDSHAKE_DEBUG(fprintf(stderr, "Srv: accept_connection: calls createPluginsItr\n"));
19531953 port->port_srv_auth_block->createPluginsItr();
19541954
1955 if (port->port_srv_auth_block->plugins) // We have all required data and iterator was created
1955 AuthServerPlugins* const plugins = port->port_srv_auth_block->plugins;
1956 if (plugins && plugins->hasData()) // We have all required data and iterator was created
19561957 {
1957 AuthServerPlugins* const plugins = port->port_srv_auth_block->plugins;
19581958 NoCaseString clientPluginName(port->port_srv_auth_block->getPluginName());
19591959 // If there is plugin matching client's one it will be
19601960 HANDSHAKE_DEBUG(fprintf(stderr, "Srv: accept_connection: client plugin='%s' server='%s'\n",
26642664
26652665 if (!(local_status.getState() & Firebird::IStatus::STATE_ERRORS))
26662666 {
2667 for (const UCHAR* info = buffer; (*info != isc_info_end) && !done;)
2668 {
2669 const USHORT l = (USHORT) gds__vax_integer(info + 1, 2);
2670 const USHORT type = (USHORT) gds__vax_integer(info + 3, l);
2671 switch (*info)
2667 for (ClumpletReader p(ClumpletReader::InfoResponse, buffer, sizeof(buffer)); !p.isEof(); p.moveNext())
2668 {
2669 const USHORT type = (USHORT) p.getInt();
2670
2671 switch (p.getClumpTag())
26722672 {
26732673 case isc_info_sql_stmt_type:
26742674 switch (type)
26832683 break;
26842684 }
26852685 break;
2686
26862687 case isc_info_sql_batch_fetch:
26872688 if (type == 0)
26882689 ret |= STMT_NO_BATCH;
26892690 break;
2690 case isc_info_error:
2691 case isc_info_truncated:
2692 done = true;
2693 break;
2694
26952691 }
2696 info += 3 + l;
26972692 }
26982693 }
26992694
+0
-236
src/utilities/fbcpl/FBControl.rc less more
0 //Microsoft Developer Studio generated resource script.
1 //
2 #include "resource.h"
3
4 #define APSTUDIO_READONLY_SYMBOLS
5 /////////////////////////////////////////////////////////////////////////////
6 //
7 // Generated from the TEXTINCLUDE 2 resource.
8 //
9 #include "afxres.h"
10 #include "../../jrd/build_no.h"
11
12 /////////////////////////////////////////////////////////////////////////////
13 #undef APSTUDIO_READONLY_SYMBOLS
14
15 /////////////////////////////////////////////////////////////////////////////
16 // English (U.S.) resources
17
18 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
19 #ifdef _WIN32
20 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
21 #pragma code_page(1252)
22 #endif //_WIN32
23
24 #ifndef _MAC
25 /////////////////////////////////////////////////////////////////////////////
26 //
27 // Version
28 //
29
30 VS_VERSION_INFO VERSIONINFO
31 FILEVERSION FILE_VER_NUMBER
32 PRODUCTVERSION FILE_VER_NUMBER
33 FILEFLAGSMASK 0x3fL
34 #ifdef _DEBUG
35 FILEFLAGS 0x1L
36 #else
37 FILEFLAGS 0x0L
38 #endif
39 FILEOS 0x4L
40 FILETYPE 0x2L
41 FILESUBTYPE 0x0L
42 BEGIN
43 BLOCK "StringFileInfo"
44 BEGIN
45 BLOCK "040904b0"
46 BEGIN
47 VALUE "Comments", "\0"
48 VALUE "CompanyName", "IBPhoenix\0"
49 VALUE "FileDescription", "Firebird 2 Control Panel Applet - for Firebird 1.5 and beyond.\0"
50 VALUE "FileVersion", FILE_VER_STRING
51 VALUE "InternalName", "FB2Control\0"
52 VALUE "LegalCopyright", "Copyright (C) 2003\0"
53 VALUE "LegalTrademarks", "\0"
54 VALUE "OriginalFilename", "Firebird2Control.DLL\0"
55 VALUE "PrivateBuild", "\0"
56 VALUE "ProductName", "Firebird Control Panel Applet\0"
57 VALUE "ProductVersion", PRODUCT_VER_STRING
58 VALUE "SpecialBuild", FB_BUILD_SUFFIX
59 END
60 END
61 BLOCK "VarFileInfo"
62 BEGIN
63 VALUE "Translation", 0x409, 1200
64 END
65 END
66
67 #endif // !_MAC
68
69 #endif // English (U.S.) resources
70 /////////////////////////////////////////////////////////////////////////////
71
72
73 /////////////////////////////////////////////////////////////////////////////
74 // English (U.K.) resources
75
76 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
77 #ifdef _WIN32
78 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
79 #pragma code_page(1252)
80 #endif //_WIN32
81
82 #ifdef APSTUDIO_INVOKED
83 /////////////////////////////////////////////////////////////////////////////
84 //
85 // TEXTINCLUDE
86 //
87
88 1 TEXTINCLUDE DISCARDABLE
89 BEGIN
90 "resource.h\0"
91 END
92
93 2 TEXTINCLUDE DISCARDABLE
94 BEGIN
95 "#include ""afxres.h""\r\n"
96 "#include ""../../jrd/version.rc""\r\n"
97 "\0"
98 END
99
100 3 TEXTINCLUDE DISCARDABLE
101 BEGIN
102 "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
103 "#define _AFX_NO_OLE_RESOURCES\r\n"
104 "#define _AFX_NO_TRACKER_RESOURCES\r\n"
105 "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
106 "\r\n"
107 "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
108 "#ifdef _WIN32\r\n"
109 "LANGUAGE 9, 1\r\n"
110 "#pragma code_page(1252)\r\n"
111 "#endif //_WIN32\r\n"
112 "#include ""res\\FBControl.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
113 "#include ""afxres.rc"" // Standard components\r\n"
114 "#endif\r\n"
115 "\0"
116 END
117
118 #endif // APSTUDIO_INVOKED
119
120
121 /////////////////////////////////////////////////////////////////////////////
122 //
123 // Icon
124 //
125
126 // Icon with lowest ID value placed first to ensure application icon
127 // remains consistent on all systems.
128 IDI_ICON1 ICON DISCARDABLE "res\\server.ico"
129 IDI_ICON4 ICON DISCARDABLE "res\\server_stop.ico"
130
131 /////////////////////////////////////////////////////////////////////////////
132 //
133 // Dialog
134 //
135
136 IDD_FBDIALOG DIALOG DISCARDABLE 0, 0, 188, 175
137 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
138 CAPTION "Firebird Server Control"
139 FONT 8, "MS Sans Serif"
140 BEGIN
141 ICON IDI_ICON1,IDC_STATUS_ICON,10,8,20,20
142 LTEXT "The Firebird Server is",IDC_FIREBIRD_STATUS,35,15,98,18
143 PUSHBUTTON "&Stop",IDC_BUTTON_STOP,136,12,40,14,WS_GROUP
144 LTEXT "not known.",IDC_FB_VERSION,12,34,162,8,NOT WS_GROUP
145 CONTROL "",IDC_STATIC,"Static",SS_GRAYFRAME | SS_SUNKEN,10,45,
146 166,1
147 CONTROL "Use the &Guardian",IDC_USE_GUARDIAN,"Button",
148 BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,16,52,71,10
149 GROUPBOX "Run ",IDC_RUN_TYPE,10,66,166,36
150 CONTROL "as a Ser&vice",IDC_SERVICE,"Button",BS_AUTORADIOBUTTON |
151 WS_GROUP | WS_TABSTOP,16,75,55,10
152 CONTROL "as an a&pplication",IDC_APPLICATION,"Button",
153 BS_AUTORADIOBUTTON | WS_TABSTOP,16,89,69,10
154 GROUPBOX "Server Architecture",IDC_SERVER_ARCH,10,99,48,13,NOT
155 WS_VISIBLE
156 CONTROL "Classic Server",IDC_CLASSIC_SERVER,"Button",
157 BS_AUTORADIOBUTTON | NOT WS_VISIBLE,43,103,61,10
158 CONTROL "Super Server",IDC_SUPER_SERVER,"Button",
159 BS_AUTORADIOBUTTON | NOT WS_VISIBLE,124,103,57,10
160 GROUPBOX "Start ",IDC_STATIC,10,111,166,39
161 CONTROL "Au&tomatically",IDC_AUTO_START,"Button",
162 BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,16,122,57,10
163 CONTROL "&Manually",IDC_MANUAL_START,"Button",BS_AUTORADIOBUTTON |
164 WS_TABSTOP,16,135,44,10
165 DEFPUSHBUTTON "&OK",IDOK,10,156,50,14,WS_GROUP
166 PUSHBUTTON "&Cancel",IDCANCEL,68,156,50,14
167 PUSHBUTTON "&Apply",IDAPPLY,126,156,50,14,WS_DISABLED
168 END
169
170
171 /////////////////////////////////////////////////////////////////////////////
172 //
173 // DESIGNINFO
174 //
175
176 #ifdef APSTUDIO_INVOKED
177 GUIDELINES DESIGNINFO DISCARDABLE
178 BEGIN
179 IDD_FBDIALOG, DIALOG
180 BEGIN
181 LEFTMARGIN, 7
182 RIGHTMARGIN, 181
183 TOPMARGIN, 7
184 BOTTOMMARGIN, 168
185 HORZGUIDE, 57
186 END
187 END
188 #endif // APSTUDIO_INVOKED
189
190
191 /////////////////////////////////////////////////////////////////////////////
192 //
193 // String Table
194 //
195
196 STRINGTABLE DISCARDABLE
197 BEGIN
198 IDS_SERVICE_STOPPED "The Firebird service is not running."
199 IDS_SERVICE_START_PENDING "The Firebird service is starting."
200 IDS_SERVICE_STOP_PENDING "The Firebird service is stopping."
201 IDS_SERVICE_RUNNING "The Firebird service is running."
202 IDS_SERVICE_CONTINUE_PENDING "The Firebird service continue is pending."
203 IDS_SERVICE_PAUSE_PENDING "The Firebird service pause is pending."
204 IDS_SERVICE_PAUSED "The Firebird service is paused."
205 IDS_APPLICATION_RUNNING "Firebird is running as an application."
206 IDS_APPLICATION_STOPPED "Firebird is stopped."
207 END
208
209 #endif // English (U.K.) resources
210 /////////////////////////////////////////////////////////////////////////////
211
212
213
214 #ifndef APSTUDIO_INVOKED
215 /////////////////////////////////////////////////////////////////////////////
216 //
217 // Generated from the TEXTINCLUDE 3 resource.
218 //
219 #define _AFX_NO_SPLITTER_RESOURCES
220 #define _AFX_NO_OLE_RESOURCES
221 #define _AFX_NO_TRACKER_RESOURCES
222 #define _AFX_NO_PROPERTY_RESOURCES
223
224 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
225 #ifdef _WIN32
226 LANGUAGE 9, 1
227 #pragma code_page(1252)
228 #endif //_WIN32
229 #include "res\FBControl.rc2" // non-Microsoft Visual C++ edited resources
230 #include "afxres.rc" // Standard components
231 #endif
232
233 /////////////////////////////////////////////////////////////////////////////
234 #endif // not APSTUDIO_INVOKED
235
+0
-111
src/utilities/fbcpl/ctrlpan.cpp less more
0 // CtrlPan.cpp
1 // Source for CControlPanel
2
3 #include "stdafx.h"
4 #include "ctrlpan.h"
5
6 // static data
7 CControlPanel* CControlPanel::m_pThis = NULL;
8
9 CControlPanel::CControlPanel()
10 {
11 // Set up the static object pointer
12 m_pThis = this;
13 }
14
15 CControlPanel::~CControlPanel()
16 {
17 }
18
19 //////////////////////////////////////////////////////////////////////////////
20 // Callback function (exported)
21
22 // static member functions (callbacks)
23 LONG APIENTRY CControlPanel::CPlApplet(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
24 {
25
26
27 // Get a pointer to the C++ object
28 CControlPanel* pCtrl = m_pThis;
29 ASSERT(pCtrl);
30
31 switch (uMsg)
32 {
33 case CPL_DBLCLK:
34 return pCtrl->OnDblclk(hwndCPl, lParam1, lParam2);
35
36 case CPL_EXIT:
37 return pCtrl->OnExit();
38
39 case CPL_GETCOUNT:
40 return pCtrl->OnGetCount();
41
42 case CPL_INIT:
43 return pCtrl->OnInit();
44
45 case CPL_NEWINQUIRE:
46 return pCtrl->OnInquire(lParam1, (NEWCPLINFO*)lParam2);
47
48 case CPL_INQUIRE:
49 return 0; // not handled
50
51 case CPL_SELECT:
52 return pCtrl->OnSelect(lParam1, lParam2);
53
54 case CPL_STOP:
55 return pCtrl->OnStop(lParam1, lParam2);
56
57 default:
58 break;
59 }
60
61 return 1; // not processed
62 }
63
64 /////////////////////////////////////////////////////////////////////////////////////////
65 // Default command handlers
66
67 LONG CControlPanel::OnDblclk(HWND /*hwndCPl*/, UINT /*uAppNum*/, LONG /*lData*/)
68 {
69 // Show the dialog
70 return 0; // OK
71 }
72
73 LONG CControlPanel::OnExit()
74 {
75 return 0; // OK
76 }
77
78 LONG CControlPanel::OnGetCount()
79 {
80 return 1; // default is support for one dialog box
81 }
82
83 LONG CControlPanel::OnInit()
84 {
85 return 1; // OK
86 }
87
88 LONG CControlPanel::OnInquire(UINT /*uAppNum*/, NEWCPLINFO* pInfo)
89 {
90 // Fill in the data
91 pInfo->dwSize = sizeof(NEWCPLINFO); // important
92 pInfo->dwFlags = 0;
93 pInfo->dwHelpContext = 0;
94 pInfo->lData = 0;
95 pInfo->hIcon = ::LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(1));
96 strcpy(pInfo->szName, "Applet");
97 strcpy(pInfo->szInfo, "Raw Cpl Applet");
98 strcpy(pInfo->szHelpFile, "");
99 return 0; // OK (don't send CPL_INQUIRE msg)
100 }
101
102 LONG CControlPanel::OnSelect(UINT /*uAppNum*/, LONG /*lData*/)
103 {
104 return 1; // not handled
105 }
106
107 LONG CControlPanel::OnStop(UINT /*uAppNum*/, LONG /*lData*/)
108 {
109 return 1; // not handled
110 }
+0
-31
src/utilities/fbcpl/ctrlpan.h less more
0 // CtrlPan.h
1
2 #if !defined(UTILITIES_CTRLPAN_H)
3 #define UTILITIES_CTRLPAN_H
4
5 #include <cpl.h> // control panel definitions
6
7 class CControlPanel
8 {
9 public:
10 CControlPanel();
11 virtual ~CControlPanel();
12
13 // Event handlers
14 virtual LONG OnDblclk(HWND hwndCPl, UINT uAppNum, LONG lData);
15 virtual LONG OnExit();
16 virtual LONG OnGetCount();
17 virtual LONG OnInit();
18 virtual LONG OnInquire(UINT uAppNum, NEWCPLINFO* pInfo);
19 virtual LONG OnSelect(UINT uAppNum, LONG lData);
20 virtual LONG OnStop(UINT uAppNum, LONG lData);
21
22 // static member functions (callbacks)
23 static LONG APIENTRY CPlApplet(HWND hwndCPl, UINT uMsg, LPARAM lParam1, LPARAM lParam2);
24
25 // static data
26 static CControlPanel* m_pThis; // nasty hack to get object ptr
27 };
28
29 #endif // UTILITIES_CTRLPAN_H
30
+0
-68
src/utilities/fbcpl/fbcontrol.clw less more
0 ; CLW file contains information for the MFC ClassWizard
1
2 [General Info]
3 Version=1
4 ClassCount=2
5 Class1=CFBControlApp
6 LastClass=CFBDialog
7 NewFileInclude2=#include "FBControl.h"
8 ResourceCount=1
9 NewFileInclude1=#include "stdafx.h"
10 Class2=CFBDialog
11 LastTemplate=CDialog
12 Resource1=IDD_FBDIALOG
13
14 [CLS:CFBControlApp]
15 Type=0
16 HeaderFile=FBControl.h
17 ImplementationFile=FBControl.cpp
18 Filter=N
19 LastObject=CFBControlApp
20
21 [DLG:]
22 Type=1
23 ControlCount=11
24 Control1=IDOK,button,1342242817
25 Control2=IDCANCEL,button,1342242816
26 Control3=IDC_STATIC,static,1342308352
27 Control4=IDC_START,edit,1350631552
28 Control5=IDC_STATIC,static,1342308352
29 Control6=IDC_INC,edit,1350631552
30 Control7=IDC_STATIC,button,1342177287
31 Control8=IDC_STATIC,button,1342177287
32 Control9=IDC_STATIC,static,1342308352
33 Control10=IDC_CURRENT,static,1342308352
34 Control11=IDC_MSG,static,1342308352
35
36 [CLS:CFBDialog]
37 Type=0
38 HeaderFile=fbdialog.h
39 ImplementationFile=fbdialog.cpp
40 BaseClass=CDialog
41 Filter=D
42 VirtualFilter=dWC
43 LastObject=IDC_SERVER_ARCH
44
45 [DLG:IDD_FBDIALOG]
46 Type=1
47 Class=CFBDialog
48 ControlCount=18
49 Control1=IDC_STATUS_ICON,static,1342177283
50 Control2=IDC_FIREBIRD_STATUS,static,1342308352
51 Control3=IDC_BUTTON_STOP,button,1342373888
52 Control4=IDC_FB_VERSION,static,1342177280
53 Control5=IDC_STATIC,static,1342181384
54 Control6=IDC_USE_GUARDIAN,button,1342373891
55 Control7=IDC_RUN_TYPE,button,1342177287
56 Control8=IDC_SERVICE,button,1342373897
57 Control9=IDC_APPLICATION,button,1342242825
58 Control10=IDC_SERVER_ARCH,button,1073741831
59 Control11=IDC_CLASSIC_SERVER,button,1073741833
60 Control12=IDC_SUPER_SERVER,button,1073741833
61 Control13=IDC_STATIC,button,1342177287
62 Control14=IDC_AUTO_START,button,1342373897
63 Control15=IDC_MANUAL_START,button,1342242825
64 Control16=IDOK,button,1342373889
65 Control17=IDCANCEL,button,1342242816
66 Control18=IDAPPLY,button,1476460544
67
+0
-36
src/utilities/fbcpl/fbcontrol.cpp less more
0 // FBControl.cpp : Defines the initialization routines for the DLL.
1 //
2
3 #include "stdafx.h"
4 #include "FBControl.h"
5
6 #ifdef _DEBUG
7 #define FB_NEW DEBUG_NEW
8 #undef THIS_FILE
9 static char THIS_FILE[] = __FILE__;
10 #endif
11
12
13 /////////////////////////////////////////////////////////////////////////////
14 // CFBControlApp
15
16 BEGIN_MESSAGE_MAP(CFBControlApp, CWinApp)
17 //{{AFX_MSG_MAP(CFBControlApp)
18 // NOTE - the ClassWizard will add and remove mapping macros here.
19 // DO NOT EDIT what you see in these blocks of generated code!
20 //}}AFX_MSG_MAP
21 END_MESSAGE_MAP()
22
23 /////////////////////////////////////////////////////////////////////////////
24 // CFBControlApp construction
25
26 CFBControlApp::CFBControlApp()
27 {
28 // TODO: add construction code here,
29 // Place all significant initialization in InitInstance
30 }
31
32 /////////////////////////////////////////////////////////////////////////////
33 // The one and only CFBControlApp object
34
35 CFBControlApp theApp;
+0
-8
src/utilities/fbcpl/fbcontrol.def less more
0 ; FBControl.def : Declares the module parameters for the DLL.
1
2 LIBRARY "Firebird2Control.cpl"
3 ;DESCRIPTION 'Firebird 2 Control Panel Windows Dynamic Link Library'
4
5 EXPORTS
6 ; Explicit exports can go here
7 CPlApplet
+0
-50
src/utilities/fbcpl/fbcontrol.h less more
0 // FBControl.h : main header file for the FBCONTROL DLL
1 //
2
3 #if !defined(AFX_FBCONTROL_H__A4777E98_E00D_11D6_9193_0050564001ED__INCLUDED_)
4 #define AFX_FBCONTROL_H__A4777E98_E00D_11D6_9193_0050564001ED__INCLUDED_
5
6 #if _MSC_VER > 1000
7 #pragma once
8 #endif // _MSC_VER > 1000
9
10 #ifndef __AFXWIN_H__
11 #error include 'stdafx.h' before including this file for PCH
12 #endif
13
14
15 #include "FBPanel.h"
16
17
18 /////////////////////////////////////////////////////////////////////////////
19 // CFBControlApp
20 // See FBControl.cpp for the implementation of this class
21 //
22
23 class CFBControlApp : public CWinApp
24 {
25 public:
26 CFBControlApp();
27
28 // Overrides
29 // ClassWizard generated virtual function overrides
30 //{{AFX_VIRTUAL(CFBControlApp)
31 //}}AFX_VIRTUAL
32
33 //{{AFX_MSG(CFBControlApp)
34 // NOTE - the ClassWizard will add and remove member functions here.
35 // DO NOT EDIT what you see in these blocks of generated code !
36 //}}AFX_MSG
37 DECLARE_MESSAGE_MAP()
38
39 CFBPanel m_Control;
40
41 };
42
43
44 /////////////////////////////////////////////////////////////////////////////
45
46 //{{AFX_INSERT_LOCATION}}
47 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
48
49 #endif // !defined(AFX_FBCONTROL_H__A4777E98_E00D_11D6_9193_0050564001ED__INCLUDED_)
+0
-1647
src/utilities/fbcpl/fbdialog.cpp less more
0 /*
1 * PROGRAM: Firebird 2.0 control panel applet
2 * MODULE: fbdialog.cpp
3 * DESCRIPTION: Main file to provide GUI based server control functions
4 * for Firebird 2.0 Super Server
5 *
6 * The contents of this file are subject to the Initial Developer's
7 * Public License Version 1.0 (the "License"); you may not use this
8 * file except in compliance with the License. You may obtain a copy
9 * of the License here:
10 *
11 * http://www.ibphoenix.com?a=ibphoenix&page=ibp_idpl.
12 *
13 * Software distributed under the License is distributed on an "AS
14 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
15 * implied. See the License for the specific language governing rights
16 * and limitations under the License.
17 *
18 * The Initial Developer of the Original Code is Paul Reeves.
19 *
20 * The Original Code is (C) 2003 Paul Reeves.
21 *
22 * All Rights Reserved.
23 *
24 * Contributor(s): ______________________________________.
25 *
26 * History:
27 * This current version is derived from the Fb 1.0 control panel applet
28 * It was adapted to support management of a dual Super Server and
29 * Classic Server install, allowing easy switching between the two server
30 * types. Unfortunately it became obvious too late in the development
31 * cycle that such support was not feasible without delaying release
32 * further. Consequently the applet has been converted back to manage
33 * Super Server only. The relevant code for Classic has been ifdef'ed out.
34 *
35 *
36 */
37
38
39 #include "stdafx.h"
40 //#include "FBPanel.h"
41 #include "FBDialog.h"
42
43 //#include "../../common/config/config.h"
44
45 #ifdef _DEBUG
46 #undef THIS_FILE
47 static char BASED_CODE THIS_FILE[] = __FILE__;
48 #endif
49
50
51 /////////////////////////////////////////////////////////////////////////////
52 // CFBDialog
53
54
55 CFBDialog::CFBDialog(CWnd* pParent /*=NULL*/)
56 : CDialog(CFBDialog::IDD, pParent)
57 {
58 //{{AFX_DATA_INIT(CFBDialog)
59 m_FB_Version = _T("");
60 m_Firebird_Status = _T("");
61 //}}AFX_DATA_INIT
62
63 m_uiTimer = 0;
64 hScManager = 0;
65 initialised = false;
66
67 m_Guardian_Name = ISCGUARD_EXECUTABLE;
68 m_SS_Server_Name = REMOTE_EXECUTABLE;
69 #ifdef MANAGE_CLASSIC
70 m_CS_Server_Name = REMOTE_EXECUTABLE;
71 #endif
72
73 fb_status.AutoStart = false;
74 fb_status.ServicesAvailable = false;
75 fb_status.ServerStatus = 0;
76 fb_status.UseGuardian = false;
77 fb_status.UseService = false;
78 fb_status.WasRunning = false;
79 #ifdef MANAGE_CLASSIC
80 fb_status.UseClassic = false;
81 #endif
82 fb_status.SystemLogin = true;
83 fb_status.SufficientUserRights = true;
84 fb_status.ServerName = "";
85
86 new_settings = fb_status;
87 }
88
89
90 void CFBDialog::DoDataExchange(CDataExchange* pDX)
91 {
92 CDialog::DoDataExchange(pDX);
93 //{{AFX_DATA_MAP(CFBDialog)
94 DDX_Control(pDX, IDC_SERVER_ARCH, m_Server_Arch);
95 DDX_Control(pDX, IDAPPLY, m_Apply);
96 DDX_Control(pDX, IDC_USE_GUARDIAN, m_Use_Guardian);
97 DDX_Control(pDX, IDC_MANUAL_START, m_Manual_Start);
98 DDX_Control(pDX, IDC_APPLICATION, m_Run_As_Application);
99 DDX_Control(pDX, IDC_SERVICE, m_Run_As_Service);
100 DDX_Control(pDX, IDC_AUTO_START, m_Auto_Start);
101 DDX_Control(pDX, IDC_RUN_TYPE, m_Run_Type);
102 DDX_Control(pDX, IDC_BUTTON_STOP, m_Button_Stop);
103 DDX_Control(pDX, IDC_STATUS_ICON, m_Icon);
104 DDX_Text(pDX, IDC_FB_VERSION, m_FB_Version);
105 DDV_MaxChars(pDX, m_FB_Version, 128);
106 DDX_Text(pDX, IDC_FIREBIRD_STATUS, m_Firebird_Status);
107 //}}AFX_DATA_MAP
108 }
109
110
111 BEGIN_MESSAGE_MAP(CFBDialog, CDialog)
112 //{{AFX_MSG_MAP(CFBDialog)
113 ON_BN_CLICKED(IDC_BUTTON_STOP, OnButtonStop)
114 ON_WM_TIMER()
115 ON_WM_DESTROY()
116 ON_BN_CLICKED(IDC_SERVICE, OnService)
117 ON_BN_CLICKED(IDC_MANUAL_START, OnManualStart)
118 ON_BN_CLICKED(IDC_APPLICATION, OnApplication)
119 ON_BN_CLICKED(IDC_AUTO_START, OnAutoStart)
120 ON_BN_CLICKED(IDC_USE_GUARDIAN, OnUseGuardian)
121 ON_BN_CLICKED(IDAPPLY, OnApply)
122 ON_BN_CLICKED(IDC_CLASSIC_SERVER, OnClassicServer)
123 ON_BN_CLICKED(IDC_SUPER_SERVER, OnSuperServer)
124 //}}AFX_MSG_MAP
125 END_MESSAGE_MAP()
126
127
128 /////////////////////////////////////////////////////////////////////////////
129 // CFBDialog message handlers
130
131
132 BOOL CFBDialog::OnInitDialog()
133 // This method is meant to do the minimum, one-time setup stuff
134 // UpdateServerStatus does most of the work, and is called on
135 // a timer, so we don't need to repeat that work here.
136 {
137 CDialog::OnInitDialog();
138
139 m_Reset_Display_To_Existing_Values = true;
140
141 fb_status.ServicesAvailable = ServiceSupportAvailable();
142 if ( fb_status.ServicesAvailable )
143 {
144 m_Run_Type.EnableWindow(TRUE);
145 m_Run_As_Service.EnableWindow(TRUE);
146 m_Run_As_Application.EnableWindow(TRUE);
147 }
148 else
149 {
150 m_Run_As_Service.EnableWindow(FALSE);
151 }
152
153 if (fb_status.ServicesAvailable)
154 {
155 if (!ValidateInstalledServices())
156 {
157 if (ServerStop())
158 ServiceRemove();
159 ValidateInstalledServices();
160 }
161 }
162 ViewRegistryEntries();
163
164 fb_status.SufficientUserRights = UserHasSufficientRights();
165
166 m_Auto_Start.EnableWindow( fb_status.SufficientUserRights );
167 m_Manual_Start.EnableWindow( fb_status.SufficientUserRights );
168 m_Run_As_Application.EnableWindow( fb_status.SufficientUserRights );
169 m_Run_As_Service.EnableWindow( fb_status.SufficientUserRights );
170 m_Use_Guardian.EnableWindow( fb_status.SufficientUserRights );
171 m_Button_Stop.EnableWindow( fb_status.SufficientUserRights );
172
173 m_uiTimer = SetTimer(1, 500, NULL);
174
175 return TRUE; // return TRUE unless you set the focus to a control
176 }
177
178
179 void CFBDialog::UpdateServerStatus()
180 // This is one of the key functions. It is called
181 // from the timer and sets the display.
182 // It is in three sections
183 // a) Evaluate current status of the Firebird install
184 // b) Update internal variables
185 // c) Update display
186 {
187
188 //These two methods more or less tell us everything
189 //about the current state of the server.
190 ViewRegistryEntries();
191 fb_status.ServerStatus = GetServerStatus();
192
193
194 #ifdef MANAGE_CLASSIC
195 if (fb_status.WasRunning && !fb_status.UseService)
196 {
197 fb_status.UseClassic = (bool) GetClassicServerHandle();
198 }
199 else
200 {
201 fb_status.UseClassic = (bool) GetPreferredArchitecture();
202 }
203 #endif
204
205 //========Update other internal variables ==============
206
207 m_Firebird_Status.Format(fb_status.ServerStatus);
208
209 #ifdef MANAGE_CLASSIC
210 if (fb_status.UseClassic)
211 {
212 fb_status.ServiceExecutable = m_CS_Server_Name;
213 }
214 else
215 #endif
216 {
217 fb_status.ServiceExecutable = m_SS_Server_Name;
218 }
219
220 //========Start of code that updates GUI================
221 if ( fb_status.WasRunning )
222 {
223 m_Icon.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON1));
224 m_Button_Stop.SetWindowText("&Stop");
225 }
226 else
227 {
228 m_Icon.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON4));
229 m_Button_Stop.SetWindowText("&Start");
230 }
231
232 //Reset check boxes
233 if (m_Reset_Display_To_Existing_Values)
234 {
235 // This is always called on startup. This method
236 // is also called if an attempt to install
237 // the service fails.
238 ResetCheckBoxes( fb_status );
239 if ( m_Apply.IsWindowEnabled() )
240 ApplyChanges();
241 }
242
243 m_Reset_Display_To_Existing_Values = false;
244
245 UpdateData(false);
246
247 // This will be false the first time round.
248 // It is needed because the Config class doesn't
249 // refresh after the conf file has been updated.
250 initialised = true;
251
252 // The only time new_settings differs from fb_status is
253 // during the ApplyChanges method.
254 new_settings = fb_status;
255 }
256
257
258 bool CFBDialog::CheckServiceInstalled( LPCTSTR service )
259 {
260 OpenServiceManager( GENERIC_READ );
261 SC_HANDLE hService = OpenService (hScManager, service, GENERIC_READ );
262 const bool result = hService != NULL;
263 if (result)
264 CloseServiceHandle( hService );
265 CloseServiceManager();
266 return result;
267 }
268
269
270 bool CFBDialog::ValidateInstalledServices()
271 // Check if services are installed.
272 // If Guardian installed but not Server service
273 // then return false;
274 {
275 fb_status.UseService = CheckServiceInstalled(GetServiceName(REMOTE_SERVICE));
276 fb_status.UseGuardian = CheckServiceInstalled(GetServiceName(ISCGUARD_SERVICE));
277
278 return (!fb_status.UseService && fb_status.UseGuardian) ? false : true;
279 }
280
281 CString CFBDialog::GetServiceName(const char* name) const
282 {
283 CString serviceName;
284 serviceName.Format(name, FB_DEFAULT_INSTANCE);
285 return serviceName;
286 }
287
288 int CFBDialog::GetServerStatus()
289 // This is called by UpdateServerStatus,
290 // which is called on the timer, so our status
291 // should always be 'up-to-date'.
292 // Returns:
293 // fb_status.ServerStatus
294 // Also sets:
295 // fb_status.UseService
296 // fb_status.WasRunning
297
298 {
299 int result = IDS_APPLICATION_STOPPED;
300
301 const CString serviceName = GetServiceName(REMOTE_SERVICE);
302 fb_status.UseService = CheckServiceInstalled(serviceName);
303
304 if ( fb_status.UseService )
305 {
306 OpenServiceManager( GENERIC_READ );
307 SC_HANDLE hService = OpenService (hScManager, serviceName, GENERIC_READ );
308 QueryServiceStatus( hService, &service_status );
309 CloseServiceHandle ( hService );
310 CloseServiceManager();
311 switch ( service_status.dwCurrentState )
312 {
313 case SERVICE_STOPPED :
314 result = IDS_SERVICE_STOPPED;
315 break;
316 case SERVICE_START_PENDING :
317 result = IDS_SERVICE_START_PENDING;
318 break;
319 case SERVICE_STOP_PENDING :
320 result = IDS_SERVICE_STOP_PENDING;
321 break;
322 case SERVICE_RUNNING :
323 result = IDS_SERVICE_RUNNING;
324 break;
325 case SERVICE_CONTINUE_PENDING :
326 result = IDS_SERVICE_CONTINUE_PENDING;
327 break;
328 case SERVICE_PAUSE_PENDING :
329 result = IDS_SERVICE_PAUSE_PENDING;
330 break;
331 case SERVICE_PAUSED :
332 result = IDS_SERVICE_PAUSED;
333 break;
334 }
335 }
336 else
337 {
338 //Is Firebird running as an application...
339 if ( FirebirdRunning() )
340 {
341 result = IDS_APPLICATION_RUNNING;
342 }
343 else
344 {
345 result = IDS_APPLICATION_STOPPED;
346 }
347 }
348
349 fb_status.WasRunning = ((fb_status.ServerStatus == IDS_SERVICE_RUNNING) ||
350 (fb_status.ServerStatus == IDS_APPLICATION_RUNNING) );
351
352 // If running as an application and not set to run automatically on start up
353 // we still don't know if we the guardian is running.
354 if (fb_status.WasRunning && !fb_status.UseService)
355 {
356 fb_status.UseGuardian = (bool) GetGuardianHandle();
357 }
358
359 return result;
360 }
361
362
363 void CFBDialog::ViewRegistryEntries()
364 // Find out what we have in the non-Firebird section of the
365 // registry ie, in Services or Application Run
366 //
367 // The following variables will be set on return:
368 // fb_status.UseGuardian
369 // fb_status.AutoStart
370 // fb_status.SystemLogin
371 // fb_status.UseClassic
372 // fb_status.ServerName
373 {
374
375 fb_status.AutoStart = false;
376
377 fb_status.UseService = CheckServiceInstalled(GetServiceName(REMOTE_SERVICE));
378
379 if ( fb_status.UseService )
380 {
381 OpenServiceManager( GENERIC_READ );
382
383 CString service = GetServiceName(ISCGUARD_SERVICE);
384 CString display_name = GetServiceName(ISCGUARD_DISPLAY_NAME);
385 SC_HANDLE hService = OpenService (hScManager, service, SERVICE_QUERY_CONFIG);
386 fb_status.UseGuardian = hService;
387 if (hService != NULL) // then we are running as a Service
388 {
389 DWORD dwBytesNeeded;
390 LPQUERY_SERVICE_CONFIG status_info = (LPQUERY_SERVICE_CONFIG) LocalAlloc(LPTR, 4096);
391 if (!QueryServiceConfig(hService, status_info, 4096, &dwBytesNeeded))
392 {
393 LocalFree( status_info );
394 HandleError(false, "ViewRegistryEntries - Cannot query Guardian service.");
395 }
396 else
397 {
398 if (status_info->dwStartType == SERVICE_AUTO_START )
399 {
400 fb_status.AutoStart = true;
401 }
402 }
403 CloseServiceHandle (hService);
404 LocalFree( status_info );
405
406 }
407
408 //Now do the same again, but this time only look at the server itself
409 service = GetServiceName(REMOTE_SERVICE);
410 display_name = GetServiceName(REMOTE_DISPLAY_NAME);
411 hService = OpenService (hScManager, service, SERVICE_QUERY_CONFIG);
412 CloseServiceManager();
413 if (hService != NULL) // then we are running as a Service
414 {
415 DWORD dwBytesNeeded;
416 LPQUERY_SERVICE_CONFIG status_info = (LPQUERY_SERVICE_CONFIG) LocalAlloc(LPTR, 4096);
417 if (!QueryServiceConfig(hService, status_info, 4096, &dwBytesNeeded))
418 {
419 LocalFree( status_info );
420 HandleError(false, "ViewRegistryEntries - Cannot query server service.");
421 }
422 else
423 {
424 fb_status.ServerName = status_info->lpBinaryPathName;
425 }
426
427 CString LoginAccount = status_info->lpServiceStartName;
428 if ( LoginAccount == "LocalSystem" )
429 {
430 fb_status.SystemLogin = true;
431 }
432 else
433 {
434 fb_status.SystemLogin = false;
435 }
436 LocalFree( status_info );
437 CloseServiceHandle (hService);
438 }
439 }
440 else //Installed as Application, so look for an entry in registry
441 {
442 HKEY hkey;
443 if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run",
444 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS)
445 {
446 DWORD dwType;
447 DWORD dwSize = MAX_PATH;
448 fb_status.AutoStart = (RegQueryValueEx(hkey, "Firebird", NULL, &dwType,
449 (LPBYTE) fb_status.ServerName.GetBuffer(dwSize / sizeof(TCHAR)), &dwSize) ==
450 ERROR_SUCCESS );
451 fb_status.ServerName.ReleaseBuffer(-1);
452 if (fb_status.AutoStart)
453 fb_status.UseGuardian = ( fb_status.ServerName.Find("fbguard") == ERROR_SUCCESS );
454
455 RegCloseKey (hkey);
456 }
457 }
458
459 #ifdef MANAGE_CLASSIC
460 //Our look in the registry has probably given us
461 //the filename of the installed server
462 if ( fb_status.ServerName.Find("fb_inet_server") == ERROR_SUCCESS )
463 {
464 fb_status.UseClassic = true;
465 }
466 if ( fb_status.ServerName.Find("fbserver") == ERROR_SUCCESS )
467 {
468 fb_status.UseClassic = false;
469 }
470 if ( fb_status.ServerName == "" )
471 {
472 // Nothing is stored in the registry so we must look to see if
473 // Firebird.conf has a preference
474 fb_status.UseClassic = (bool) GetPreferredArchitecture();
475 }
476 #endif
477 }
478
479
480 void CFBDialog::ApplyChanges()
481 /*
482 *
483 * It all happens here.
484 *
485 * With the addition of support for classic we now need to
486 * evaluate 16 possible states.
487 *
488 */
489 {
490 // Stop the update timer before doing anything else
491 if (m_uiTimer) KillTimer(m_uiTimer);
492
493 //find out what has changed and implement the changes
494 try
495 {
496 //Stage 1
497 // Stop the Server
498 // We don't try to restart unless we were running
499 // and we successfully stopped the server.
500 if ( fb_status.WasRunning )
501 {
502 if ( ServerStop() )
503 {
504 #if defined(_DEBUG)
505 // If we are in debug mode it is useful to
506 // reset the display - but UpdateServerStatus
507 // resyncs new_settings with fb_status, so
508 // it must never be called in ApplyChanges()
509 // after this point.
510 UpdateServerStatus();
511 ProcessMessages();
512 #endif
513 new_settings.WasRunning = true;
514 }
515 else
516 {
517 //If we can't stop the server we should give up.
518 HandleError(false, "Failed to stop server. New settings will not be applied.");
519 throw;
520 }
521 }
522
523
524 //Stage 2 - Gather details of changes to make
525
526 //Manage change to startup - from/to manual or auto
527 const bool ChangeStartType =
528 ( fb_status.AutoStart && m_Manual_Start.GetCheck() ) ||
529 ( !fb_status.AutoStart && m_Auto_Start.GetCheck() ) ;
530
531 if ( ChangeStartType )
532 new_settings.AutoStart = !fb_status.AutoStart;
533 else
534 new_settings.AutoStart = fb_status.AutoStart;
535
536 #ifdef MANAGE_CLASSIC
537 //Do we use Super Server or Classic
538 const bool ChangeServerArchitecture =
539 ( !fb_status.UseClassic && m_Classic_Server.GetCheck() ) ||
540 ( fb_status.UseClassic && m_Super_Server.GetCheck() );
541 if ( ChangeServerArchitecture )
542 new_settings.UseClassic = !fb_status.UseClassic;
543 else
544 new_settings.UseClassic = fb_status.UseClassic;
545
546 if (new_settings.UseClassic)
547 {
548 new_settings.ServiceExecutable = m_CS_Server_Name;
549 }
550 else
551 {
552 new_settings.ServiceExecutable = m_SS_Server_Name;
553 }
554 #endif
555
556 //Do we change Guardian Usage?
557 const bool ChangeGuardianUse =
558 ( !fb_status.UseGuardian && m_Use_Guardian.GetCheck() ) ||
559 ( fb_status.UseGuardian && !m_Use_Guardian.GetCheck() );
560 if ( ChangeGuardianUse )
561 new_settings.UseGuardian = !fb_status.UseGuardian;
562 else
563 new_settings.UseGuardian = fb_status.UseGuardian;
564
565 //Finally, test for change between service and application usage.
566 const bool ChangeRunStyle =
567 ( fb_status.UseService && m_Run_As_Application.GetCheck() ) ||
568 ( !fb_status.UseService && m_Run_As_Service.GetCheck() );
569 if (ChangeRunStyle)
570 new_settings.UseService = !fb_status.UseService;
571 else
572 new_settings.UseService = fb_status.UseService;
573
574
575 //Stage 3 - implement changes
576
577 #if !defined(_DEBUG)
578 BeginWaitCursor();
579 #endif
580
581 //Three things to do
582 // a) First pull down what is already there
583 if ( ChangeRunStyle || ChangeGuardianUse /* || ChangeServerArchitecture */)
584 {
585 if ( fb_status.UseService )
586 {
587 ServiceRemove();
588 }
589 else
590 AppRemove();
591 }
592
593
594 #ifdef FBCPL_UPDATE_CONF
595 // b) update firebird.conf
596 if ( ChangeGuardianUse )
597 {
598 SetGuardianUseInConf( new_settings.UseGuardian );
599 }
600 #endif
601 #ifdef MANAGE_CLASSIC
602 if ( ChangeServerArchitecture )
603 {
604 SetPreferredArchitectureInConf( new_settings.UseClassic );
605 }
606 #endif
607
608 // c) install the new configuration
609 if ( ChangeRunStyle || ChangeGuardianUse
610 #ifdef MANAGE_CLASSIC
611
612 || ChangeServerArchitecture
613 #endif
614 )
615 {
616 if ( new_settings.UseService )
617 {
618 ServiceInstall( new_settings );
619 }
620 else
621 {
622 AppInstall( new_settings );
623 }
624 }
625 else
626 {
627 // We are not changing the run style and not changing guardian usage
628 // and we are not changing the server architecture so
629 // we only have the autostart setting left to change
630 SetAutoStart( new_settings );
631 }
632
633 if ( new_settings.WasRunning )
634 {
635 ProcessMessages();
636 ServerStart( new_settings );
637 }
638
639 // If we haven't had a failure then we disable the apply button
640 if (!m_Reset_Display_To_Existing_Values)
641 DisableApplyButton();
642
643 // Update fb_status if we are running as an application
644 if (!new_settings.UseService && ChangeGuardianUse)
645 fb_status.UseGuardian = !fb_status.UseGuardian;
646
647 //And finally reset the m_error_status to zero;
648 m_Error_Status = 0;
649
650 }
651 catch ( ... )
652 {
653 // Oops, something bad happened. Which
654 // means the apply button is still enabled.
655 // We should probably do a reset here.
656
657 m_Reset_Display_To_Existing_Values = true;
658 }
659
660 #if !defined(_DEBUG)
661 EndWaitCursor();
662 #endif
663
664 //Whatever the outcome of ApplyChanges we need to refresh the dialog
665 m_uiTimer = SetTimer( 1, 500, NULL );
666 }
667
668
669 void CFBDialog::ResetCheckBoxes(const CFBDialog::STATUS status)
670 {
671 switch (status.ServerStatus)
672 {
673 case IDS_APPLICATION_RUNNING:
674 case IDS_APPLICATION_STOPPED:
675 m_Run_As_Application.SetCheck(1);
676 m_Run_As_Service.SetCheck(0);
677 break;
678 default:
679 m_Run_As_Application.SetCheck(0);
680 m_Run_As_Service.SetCheck(1);
681 }
682
683 //Now are we starting automatically or not?
684 if (status.AutoStart)
685 {
686 m_Auto_Start.SetCheck(1);
687 m_Manual_Start.SetCheck(0);
688 }
689 else
690 {
691 m_Auto_Start.SetCheck(0);
692 m_Manual_Start.SetCheck(1);
693 }
694
695 m_Use_Guardian.SetCheck(status.UseGuardian);
696
697 #ifdef MANAGE_CLASSIC
698 if (status.UseClassic)
699 {
700 m_Classic_Server.SetCheck(1);
701 m_Super_Server.SetCheck(0);
702 }
703 else
704 {
705 m_Classic_Server.SetCheck(0);
706 m_Super_Server.SetCheck(1);
707 }
708 #endif
709
710 // The server can now be controlled by a specific
711 // username/password. If it is set then for now we
712 // will disable all config options and add
713 // support at a later date.
714 /* m_Classic_Server.EnableWindow( status.SystemLogin );
715 m_Super_Server.EnableWindow( status.SystemLogin );
716 */
717 m_Auto_Start.EnableWindow( status.SystemLogin && fb_status.SufficientUserRights );
718 m_Manual_Start.EnableWindow( status.SystemLogin && fb_status.SufficientUserRights );
719 m_Run_As_Application.EnableWindow( status.SystemLogin && fb_status.SufficientUserRights );
720 m_Run_As_Service.EnableWindow( status.SystemLogin && fb_status.SufficientUserRights );
721 m_Use_Guardian.EnableWindow( status.SystemLogin && fb_status.SufficientUserRights );
722 m_Button_Stop.EnableWindow( status.SystemLogin && fb_status.SufficientUserRights );
723 }
724
725
726 int CFBDialog::DatabasesConnected()
727 // Check if any databases are open on the server.
728 //**
729 //** Note: We really need a way of getting number of attachments
730 //** without having to enter a username / password.
731 //** This could be done by reading the LOCK_Header
732 //**
733 {
734 int nDatabases = 0;
735 return nDatabases;
736 }
737
738
739 bool CFBDialog::ServerStart(const CFBDialog::STATUS status )
740 {
741 bool result = false;
742
743 #if !defined(_DEBUG)
744 BeginWaitCursor();
745 #endif
746
747 if ( status.UseService )
748 {
749 CString service;
750 CString display_name;
751 if (status.UseGuardian)
752 {
753 service = GetServiceName(ISCGUARD_SERVICE);
754 display_name = GetServiceName(ISCGUARD_DISPLAY_NAME);
755 }
756 else
757 {
758 service = GetServiceName(REMOTE_SERVICE);
759 display_name = GetServiceName(REMOTE_DISPLAY_NAME);
760 }
761
762 OpenServiceManager(GENERIC_READ | GENERIC_EXECUTE | GENERIC_WRITE);
763 if (hScManager)
764 {
765 try
766 {
767 m_Error_Status = SERVICES_start (hScManager, service, /*display_name,*/ 0, svc_error);
768 if (m_Error_Status == FB_SUCCESS)
769 result = true;
770 }
771 catch ( ... )
772 {
773 }
774 }
775 CloseServiceManager();
776 }
777 else
778 {
779 try
780 {
781 STARTUPINFO si;
782 SECURITY_ATTRIBUTES sa;
783 PROCESS_INFORMATION pi;
784 ZeroMemory (&si, sizeof(si));
785 si.cb = sizeof (si);
786 sa.nLength = sizeof (sa);
787 sa.lpSecurityDescriptor = NULL;
788 sa.bInheritHandle = TRUE;
789
790 char full_name[MAX_PATH + 15] = "";
791 GetFullAppPath( status, full_name );
792
793 if (!CreateProcess (NULL, full_name, &sa, NULL, FALSE, 0, NULL, NULL, &si, &pi))
794 HandleError(false, "Application Start");
795 else
796 {
797 result = true;
798 CloseHandle(pi.hProcess);
799 CloseHandle(pi.hThread);
800 }
801 }
802 catch ( ... )
803 {
804 }
805 }
806
807 #if !defined(_DEBUG)
808 EndWaitCursor();
809 #endif
810
811 return result;
812 }
813
814
815 bool CFBDialog::ServerStop()
816 {
817 bool result = false;
818
819 if (!DatabasesConnected())
820 {
821 if ( fb_status.UseService )
822 {
823 try
824 {
825 #if !defined(_DEBUG)
826 BeginWaitCursor();
827 #endif
828 OpenServiceManager( GENERIC_READ | GENERIC_EXECUTE | GENERIC_WRITE );
829
830 CString service;
831 CString display_name;
832 if (fb_status.UseGuardian)
833 {
834 service = GetServiceName(ISCGUARD_SERVICE);
835 display_name = GetServiceName(ISCGUARD_DISPLAY_NAME);
836 }
837 else
838 {
839 service = GetServiceName(REMOTE_SERVICE);
840 display_name = GetServiceName(REMOTE_DISPLAY_NAME);
841 }
842 m_Error_Status = SERVICES_stop(hScManager, service, /*display_name,*/ svc_error);
843
844 result = !m_Error_Status;
845
846 }
847 catch (...)
848 {
849 MessageBeep(-1);
850 }
851
852 CloseServiceManager();
853 #if !defined(_DEBUG)
854 EndWaitCursor();
855 #endif
856 }
857 else
858 {
859 try
860 {
861 #if !defined(_DEBUG)
862 BeginWaitCursor();
863 #endif
864 KillApp();
865 result = true;
866 }
867 catch (...)
868 {
869 }
870 #if !defined(_DEBUG)
871 EndWaitCursor();
872 #endif
873 }
874 }
875
876 return result;
877 }
878
879
880 void CFBDialog::KillApp()
881 {
882 // Under Win2K3 and WinXP there seem to be timing issues that don't
883 // exist in earlier platforms. Killing the server will kill the
884 // Guardian, but it won't always do it quickly enough for the CPL
885 // applet, so we try and do that before killing the server.
886 LRESULT result;
887 HWND hTmpWnd = GetGuardianHandle();
888 if (hTmpWnd != NULL)
889 {
890 result = ::SendMessage(hTmpWnd, WM_CLOSE, 0, 0);
891 ProcessMessages();
892 hTmpWnd = NULL;
893 }
894
895 hTmpWnd = GetFirebirdHandle();
896 if (hTmpWnd != NULL)
897 {
898 result = ::SendMessage(hTmpWnd, WM_CLOSE, 0, 0);
899 ProcessMessages();
900 hTmpWnd = NULL;
901 }
902 }
903
904
905 bool CFBDialog::ServiceInstall(CFBDialog::STATUS status )
906 {
907 OpenServiceManager( GENERIC_READ | GENERIC_EXECUTE | GENERIC_WRITE );
908
909 if (hScManager)
910 {
911 const char* ServerPath = m_Root_Path;
912
913 const CString guard_service = GetServiceName(ISCGUARD_SERVICE);
914 const CString guard_display_name = GetServiceName(ISCGUARD_DISPLAY_NAME);
915 const CString remote_service = GetServiceName(REMOTE_SERVICE);
916 const CString remote_display_name = GetServiceName(REMOTE_DISPLAY_NAME);
917
918 if (new_settings.UseGuardian)
919 {
920 m_Error_Status = SERVICES_install (hScManager, guard_service, guard_display_name,
921 ISCGUARD_DISPLAY_DESCR, ISCGUARD_EXECUTABLE, ServerPath, NULL, NULL,
922 status.AutoStart, NULL, NULL, false, true, svc_error);
923 if (m_Error_Status != FB_SUCCESS)
924 {
925 CloseServiceManager();
926 return false;
927 }
928
929 // Set AutoStart to manual in preparation for installing the fb_server service
930 status.AutoStart = false;
931
932 }
933 // do the install of server
934 m_Error_Status = SERVICES_install (hScManager, remote_service, remote_display_name,
935 REMOTE_DISPLAY_DESCR, (LPCTSTR) status.ServiceExecutable, ServerPath, NULL, NULL,
936 status.AutoStart, NULL, NULL, false, !new_settings.UseGuardian, svc_error);
937 if (m_Error_Status != FB_SUCCESS)
938 {
939 CloseServiceManager();
940 try
941 {
942 ServiceRemove();
943 m_Reset_Display_To_Existing_Values = true;
944 EnableApplyButton();
945 }
946 catch ( ... )
947 {
948 }
949
950 return false;
951 }
952
953 CloseServiceManager();
954 return true;
955 }
956
957 return false;
958 }
959
960
961 bool CFBDialog::ServiceRemove()
962 {
963 OpenServiceManager( GENERIC_READ | GENERIC_EXECUTE | GENERIC_WRITE );
964 if (hScManager)
965 {
966 const CString guard_service = GetServiceName(ISCGUARD_SERVICE);
967 const CString guard_display_name = GetServiceName(ISCGUARD_DISPLAY_NAME);
968 const CString remote_service = GetServiceName(REMOTE_SERVICE);
969 const CString remote_display_name = GetServiceName(REMOTE_DISPLAY_NAME);
970
971 m_Error_Status = SERVICES_remove (hScManager, guard_service, /*guard_display_name,*/ svc_error);
972 if (m_Error_Status == IB_SERVICE_RUNNING)
973 {
974 CloseServiceManager();
975 return false;
976 }
977
978 m_Error_Status = SERVICES_remove (hScManager, remote_service,/* remote_display_name,*/ svc_error);
979 if (m_Error_Status == IB_SERVICE_RUNNING)
980 {
981 CloseServiceManager();
982 return false;
983 }
984 CloseServiceManager();
985 return true;
986 }
987
988 return false;
989 }
990
991
992 bool CFBDialog::AppInstall(const CFBDialog::STATUS status)
993 // This method is supplied as a corollary to ServiceInstall,
994 // but doesn't do very much as there isn't much to do.
995 {
996 return ConfigureRegistryForApp( status );
997 }
998
999
1000 bool CFBDialog::ConfigureRegistryForApp(const CFBDialog::STATUS status)
1001 {
1002 // The calling procedure will have already removed the
1003 // service. All we need to do now
1004 // is configure the registry if AutoStart has been set.
1005 if ( status.AutoStart )
1006 {
1007 // Add line to registry
1008 HKEY hkey;
1009 if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run",
1010 0, KEY_WRITE, &hkey) == ERROR_SUCCESS)
1011 {
1012
1013 char full_name[MAX_PATH + 15] = "";
1014 GetFullAppPath( status, full_name);
1015 if (!RegSetValueEx (hkey, "Firebird", 0,REG_SZ, (CONST BYTE*) full_name, sizeof(full_name) ) ==
1016 ERROR_SUCCESS)
1017 {
1018 HandleError(false, "AppInstall");
1019 return false;
1020 }
1021 }
1022 else
1023 {
1024 HandleError(false, "AppInstall");
1025 return false;
1026 }
1027 }
1028 else
1029 {
1030 // Remove registry entry if set to start automatically on boot.
1031 HKEY hkey;
1032 if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run",
1033 0, KEY_QUERY_VALUE | KEY_WRITE, &hkey) == ERROR_SUCCESS)
1034
1035 {
1036 if (RegQueryValueEx(hkey, "Firebird", NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
1037 {
1038 if (RegDeleteValue(hkey, "Firebird") == ERROR_SUCCESS)
1039 return true;
1040
1041 HandleError(false, "Removing registry entry to stop autorun failed.");
1042 return false;
1043 }
1044 // If an error is thrown it must be because there is no
1045 // entry in the registry so we shouldn't need to show an error.
1046 return true;
1047 }
1048
1049 //Things are really bad - perhaps user has screwed up their registry?
1050 HandleError(false, "Could not find HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run in the registry.");
1051 return false;
1052 }
1053
1054 return true;
1055 }
1056
1057
1058 bool CFBDialog::AppRemove()
1059 {
1060 return ConfigureRegistryForApp( fb_status );
1061 }
1062
1063
1064 static USHORT svc_error (SLONG error_status, const TEXT* string, SC_HANDLE service)
1065 //This code is for use with the SERVICES_ functions
1066 {
1067 bool RaiseError = true;
1068
1069 // process the kinds of errors we may be need to deal with quietly
1070 switch ( error_status )
1071 {
1072 case ERROR_SERVICE_CANNOT_ACCEPT_CTRL:
1073 case ERROR_SERVICE_ALREADY_RUNNING:
1074 case ERROR_SERVICE_DOES_NOT_EXIST:
1075 RaiseError = false;
1076 break;
1077 }
1078
1079 if (RaiseError)
1080 CFBDialog::HandleSvcError(error_status, string);
1081
1082 if (service != NULL)
1083 CloseServiceHandle (service);
1084
1085 return error_status;
1086 }
1087
1088
1089 void CFBDialog::ProcessMessages()
1090 {
1091 MSG Msg;
1092
1093 while (::PeekMessage(&Msg, NULL, 0, 0, PM_NOREMOVE))
1094 {
1095 if (!AfxGetApp()->PumpMessage())
1096 {
1097 ::PostQuitMessage(0);
1098 return;
1099 }
1100 }
1101
1102 LONG lIdle = 0;
1103 while (AfxGetApp()->OnIdle(lIdle++))
1104 ;
1105 return;
1106 }
1107
1108
1109 void CFBDialog::HandleSvcError(SLONG error_status, const TEXT* string )
1110 // This method supports the static svc_error() function
1111 // and essentially duplicates HandleError. Oh to be rid of the
1112 // legacy code.
1113 {
1114 if (!error_status)
1115 error_status = GetLastError();
1116
1117 LPTSTR lpMsgBuf = 0;
1118 CString error_title = "";
1119
1120 const DWORD Size = FormatMessage(
1121 FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
1122 NULL, error_status,
1123 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
1124 (LPTSTR) &lpMsgBuf, 0, NULL );
1125
1126 if (Size)
1127 error_title.Format("Error '%s' raised in %s", lpMsgBuf, string);
1128 else
1129 error_title.Format("Error Code %d raised in %s", error_status, string );
1130 ::MessageBox( NULL, lpMsgBuf, (LPCTSTR) error_title, MB_OK | MB_ICONINFORMATION );
1131 LocalFree( lpMsgBuf );
1132 }
1133
1134
1135 void CFBDialog::HandleError(bool silent, const TEXT *string )
1136 {
1137 const DWORD error_code = GetLastError();
1138 if (error_code == m_Error_Status)
1139 {
1140 //Always be silent if error has not already been thrown.
1141 silent = true;
1142 }
1143 else
1144 {
1145 m_Error_Status = error_code;
1146 }
1147
1148 if (silent)
1149 {
1150 //And do what
1151 }
1152 else
1153 {
1154 LPTSTR lpMsgBuf = 0;
1155 CString error_title = "";
1156
1157 const DWORD Size = FormatMessage(
1158 FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
1159 NULL, error_code,
1160 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
1161 (LPTSTR) &lpMsgBuf, 0, NULL );
1162
1163 if (Size)
1164 error_title.Format("Error '%s' raised in %s", lpMsgBuf, string);
1165 else
1166 error_title.Format("Error Code %d raised in %s", error_code, string );
1167
1168 ShowError(lpMsgBuf, error_title);
1169
1170 LocalFree( lpMsgBuf );
1171 }
1172 }
1173
1174
1175 void CFBDialog::ShowError( LPTSTR lpMsgBuf, CString error_title )
1176 {
1177 CFBDialog::MessageBox( lpMsgBuf, (LPCTSTR) error_title, MB_OK | MB_ICONINFORMATION );
1178 }
1179
1180
1181 void CFBDialog::OnButtonStop()
1182 {
1183 if ( fb_status.WasRunning )
1184 ServerStop();
1185 else
1186 ServerStart( fb_status );
1187 }
1188
1189
1190 void CFBDialog::OnOK()
1191 {
1192 // Extra validation can be added here
1193
1194 //if IDAPPLY is enabled then click IDAPPLY to apply changes before we close
1195 if (m_Apply.IsWindowEnabled())
1196 {
1197 OnApply();
1198 }
1199
1200 CDialog::OnOK();
1201 }
1202
1203
1204 void CFBDialog::EnableApplyButton()
1205 {
1206 m_Apply.EnableWindow(TRUE);
1207 m_Button_Stop.EnableWindow(FALSE);
1208 }
1209
1210
1211 void CFBDialog::DisableApplyButton()
1212 {
1213 m_Apply.EnableWindow(FALSE);
1214 m_Button_Stop.EnableWindow(TRUE);
1215 }
1216
1217
1218 void CFBDialog::OnTimer(UINT_PTR /*nIDEvent*/)
1219 {
1220 UpdateServerStatus();
1221 }
1222
1223
1224 void CFBDialog::OnDestroy()
1225 {
1226 // Kill the update timer
1227 if (m_uiTimer) KillTimer(m_uiTimer);
1228
1229 CDialog::OnDestroy();
1230 }
1231
1232
1233 void CFBDialog::OnService()
1234 {
1235 EnableApplyButton();
1236 }
1237
1238
1239 void CFBDialog::OnManualStart()
1240 {
1241 EnableApplyButton();
1242 }
1243
1244
1245 void CFBDialog::OnApplication()
1246 {
1247 EnableApplyButton();
1248 }
1249
1250
1251 void CFBDialog::OnAutoStart()
1252 {
1253 EnableApplyButton();
1254 }
1255
1256
1257 void CFBDialog::OnUseGuardian()
1258 {
1259 EnableApplyButton();
1260 }
1261
1262
1263 void CFBDialog::OnSuperServer()
1264 {
1265 EnableApplyButton();
1266 }
1267
1268
1269 void CFBDialog::OnClassicServer()
1270 {
1271 EnableApplyButton();
1272 }
1273
1274
1275 void CFBDialog::OnApply()
1276 {
1277 ApplyChanges();
1278 }
1279
1280
1281 #ifdef FBCPL_UPDATE_CONF
1282 // Currently (Fb 1.5.1) there is no longer any
1283 // need to change the .conf file
1284 void CFBDialog::SetGuardianUseInConf( bool UseGuardian )
1285 {
1286 CString newvalue = "";
1287 if (UseGuardian)
1288 newvalue = "1";
1289 else
1290 newvalue = "0";
1291
1292 // One day the Config class will have set methods...
1293 //if (Config::setGuardianOption( UseGuardian ))
1294
1295 if (UpdateFirebirdConf("GuardianOption", newvalue ) )
1296 {
1297 // Do we assign here? or wait for the
1298 // update status routine to pick this up?
1299 fb_status.UseGuardian = UseGuardian;
1300 }
1301 else
1302 {
1303 HandleError(false, "SetGuardianUseInConf");
1304 return;
1305 }
1306 }
1307
1308 #ifdef MANAGE_CLASSIC
1309 void CFBDialog::SetPreferredArchitectureInConf( bool UseClassic )
1310 {
1311 CString newvalue = "";
1312 if ( UseClassic )
1313 newvalue = "1";
1314 else
1315 newvalue = "0";
1316
1317
1318 // One day the Config class will have set methods...
1319 // if (Config::setPreferClassicServer( UseClassic ))
1320
1321 if ( UpdateFirebirdConf("PreferClassicServer", newvalue ) )
1322 {
1323 // Do we assign here? or wait for the
1324 // update status routine to pick this up?
1325 fb_status.UseClassic = UseClassic;
1326 }
1327 else
1328 {
1329 HandleError(false, "SetPreferredArchitectureInConf");
1330 return;
1331 }
1332 }
1333 #endif
1334
1335 bool CFBDialog::UpdateFirebirdConf(CString option, CString value)
1336 {
1337 CStdioFile FbConfFile, FbConfFileNew;
1338 CString FirebirdConfFilename = m_Root_Path + "firebird.conf";
1339 CString FirebirdConfNewname = FirebirdConfFilename + ".new";
1340 CString FirebirdConfOldname = FirebirdConfFilename + ".old";
1341 CString FirebirdConfLine = "";
1342
1343 if (!FbConfFile.Open(FirebirdConfFilename, CFile::modeReadWrite))
1344 return false;
1345 if (!FbConfFileNew.Open(FirebirdConfNewname, CFile::modeCreate |
1346 CFile::shareExclusive | CFile::modeWrite))
1347 {
1348 return false;
1349 }
1350
1351 try
1352 {
1353 while (FbConfFile.ReadString(FirebirdConfLine) != NULL)
1354 {
1355
1356 if (FirebirdConfLine.Find( option ) > -1 )
1357 {
1358 FirebirdConfLine = option + " = " + value;
1359 }
1360
1361 FbConfFileNew.WriteString( FirebirdConfLine + '\n');
1362
1363 }
1364 }
1365 catch (CFileException *e)
1366 {
1367 #ifdef _DEBUG
1368 afxDump << "Problem updating " << e->m_strFileName << ".\n \
1369 cause = " << e->m_cause << "\n";
1370 #endif
1371 }
1372
1373
1374 bool result = false;
1375 FbConfFile.Close();
1376 FbConfFileNew.Close();
1377
1378 try
1379 {
1380 CFile::Rename(FirebirdConfFilename, FirebirdConfOldname);
1381 CFile::Rename(FirebirdConfNewname, FirebirdConfFilename);
1382
1383 //If we get this far then all is well and we can return good news
1384 result = true;
1385 }
1386 catch (CFileException*)
1387 {
1388 CFile::Rename(FirebirdConfOldname, FirebirdConfFilename);
1389 }
1390
1391 //always try to delete the temporary old conf file.
1392 CFile::Remove(FirebirdConfOldname);
1393
1394 return result;
1395 }
1396 #endif //#ifdef FBCPL_UPDATE_CONF
1397
1398
1399 void CFBDialog::SetAutoStart(const CFBDialog::STATUS status )
1400 {
1401 if (status.UseService)
1402 {
1403 OpenServiceManager( GENERIC_READ | GENERIC_EXECUTE | GENERIC_WRITE );
1404 // Need to acquire database lock before reconfiguring.
1405 if (hScManager)
1406 {
1407 SC_LOCK sclLock = LockServiceDatabase(hScManager);
1408
1409 // If the database cannot be locked, report the details.
1410 if (sclLock == NULL)
1411 {
1412 HandleError(false, "SetAutoStart - Could not lock service database");
1413 return;
1414 }
1415
1416 // The database is locked, so it is safe to make changes.
1417
1418 CString service;
1419 CString display_name;
1420 if (status.UseGuardian)
1421 {
1422 service = GetServiceName(ISCGUARD_SERVICE);
1423 display_name = GetServiceName(ISCGUARD_DISPLAY_NAME);
1424 }
1425 else
1426 {
1427 service = GetServiceName(REMOTE_SERVICE);
1428 display_name = GetServiceName(REMOTE_DISPLAY_NAME);
1429 }
1430
1431 // Open a handle to the service.
1432 SC_HANDLE hService = OpenService(
1433 hScManager, // SCManager database
1434 service, // name of service
1435 SERVICE_CHANGE_CONFIG); // need CHANGE access
1436 if (hService)
1437 {
1438 DWORD dwStartType = status.AutoStart ? SERVICE_AUTO_START : SERVICE_DEMAND_START;
1439
1440 if (! ChangeServiceConfig(
1441 hService, // handle of service
1442 SERVICE_NO_CHANGE, // service type: no change
1443 dwStartType, // change service start type
1444 SERVICE_NO_CHANGE, // error control: no change
1445 NULL, // binary path: no change
1446 NULL, // load order group: no change
1447 NULL, // tag ID: no change
1448 NULL, // dependencies: no change
1449 NULL, // account name: no change
1450 NULL, // password: no change
1451 display_name ) )
1452 {
1453 HandleError(false, "ChangeServiceConfig in SetAutoStart");
1454 }
1455 }
1456 else
1457 HandleError(false, "OpenService in SetAutoStart");
1458
1459 // Release the database lock.
1460 UnlockServiceDatabase(sclLock);
1461
1462 // Close the handle to the service.
1463 CloseServiceHandle(hService);
1464 }
1465
1466 CloseServiceManager();
1467
1468 }
1469 else
1470 {
1471 ConfigureRegistryForApp( status );
1472 }
1473 }
1474
1475
1476 bool CFBDialog::FirebirdRunning()
1477 /*
1478 * Check to see if Firebird is running as an application.
1479 */
1480 {
1481 const bool result = (bool) GetFirebirdHandle();
1482 bool guardian_running = (bool) GetGuardianHandle();
1483
1484 if (result && guardian_running)
1485 fb_status.UseGuardian = guardian_running;
1486
1487 return result;
1488 }
1489
1490
1491 HWND CFBDialog::GetFirebirdHandle() const
1492 {
1493 HWND result = GetSuperServerHandle();
1494 #ifdef MANAGE_CLASSIC
1495 if ( !result )
1496 {
1497 result = GetClassicServerHandle();
1498 }
1499 #endif
1500 return result;
1501 }
1502
1503
1504 HWND CFBDialog::GetSuperServerHandle() const
1505 {
1506 return ::FindWindow(szClassName, szWindowName);
1507 }
1508
1509
1510 #ifdef MANAGE_CLASSIC
1511 HWND CFBDialog::GetClassicServerHandle() const
1512 {
1513 // oops - hard-coded string that is liable to change
1514 // Plus, the original definition is hidden locally
1515 // within a function in remote/windows (or whatever).
1516 return ::FindWindow( "FB_Disabled", szWindowName);
1517 }
1518 #endif
1519
1520 HWND CFBDialog::GetGuardianHandle() const
1521 {
1522 return ::FindWindow(GUARDIAN_CLASS_NAME, GUARDIAN_APP_LABEL);
1523 }
1524
1525
1526 bool CFBDialog::ServiceSupportAvailable() const
1527 {
1528 OSVERSIONINFO OsVersionInfo;
1529 ZeroMemory(&OsVersionInfo, sizeof(OsVersionInfo));
1530
1531 // need to set the sizeof this structure for NT to work
1532 OsVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
1533
1534 GetVersionEx(&OsVersionInfo);
1535
1536 // true for NT family, false for 95 family
1537 return (OsVersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT);
1538 }
1539
1540
1541 bool CFBDialog::OpenServiceManager( DWORD DesiredAccess )
1542 {
1543 if (!fb_status.ServicesAvailable)
1544 return false;
1545
1546 if (DesiredAccess == 0)
1547 DesiredAccess = GENERIC_READ | GENERIC_EXECUTE | GENERIC_WRITE;
1548
1549 // If the svc mgr is already opened, this function will return true since
1550 // it has no way to know if the new access is the same that opened the svc mgr
1551 // previously.
1552 if (hScManager == NULL)
1553 hScManager = OpenSCManager (NULL, SERVICES_ACTIVE_DATABASE, DesiredAccess );
1554
1555 return hScManager ? true : false;
1556 }
1557
1558
1559 void CFBDialog::CloseServiceManager()
1560 {
1561 if (hScManager == NULL)
1562 return;
1563
1564 try
1565 {
1566 CloseServiceHandle (hScManager);
1567 }
1568 catch (...)
1569 {
1570 // Err... what do we do now?
1571 }
1572
1573 hScManager = NULL;
1574 }
1575
1576
1577 void CFBDialog::GetFullAppPath( CFBDialog::STATUS status, char * app)
1578 // This returns the fully qualified path and name of the application
1579 // to start along with parameters -a and -c .
1580 {
1581 CString AppName = m_Root_Path;
1582
1583 if ( status.UseGuardian )
1584 {
1585 AppName += m_Guardian_Name;
1586
1587 #ifdef MANAGE_CLASSIC
1588 if (status.UseClassic)
1589 {
1590 AppName += ".exe -c -a";
1591 }
1592 else
1593 #endif
1594 {
1595 AppName += ".exe -a";
1596 }
1597 }
1598 else
1599 {
1600 GetServerName( status, AppName );
1601 }
1602
1603 ::strcat(app, AppName);
1604 }
1605
1606
1607 void CFBDialog::GetServerName( CFBDialog::STATUS status, CString& AppName) const
1608 {
1609 #ifdef MANAGE_CLASSIC
1610 if ( status.UseClassic )
1611 {
1612 AppName += m_CS_Server_Name;
1613 }
1614 else
1615 #endif
1616 {
1617 AppName += m_SS_Server_Name;
1618 }
1619
1620 AppName += ".exe -a";
1621 }
1622
1623
1624 #ifdef MANAGE_CLASSIC
1625 bool CFBDialog::GetPreferredArchitecture()
1626 {
1627 int option;
1628 if (!initialised)
1629 option = Config::getPreferredArchitecture();
1630 else
1631 if (new_settings.UseClassic != fb_status.UseClassic)
1632 option = new_settings.UseClassic;
1633 else
1634 option = fb_status.UseClassic;
1635
1636 return (bool) option;
1637 }
1638 #endif
1639
1640
1641 bool CFBDialog::UserHasSufficientRights()
1642 {
1643 bool HasRights = OpenServiceManager(0);
1644 CloseServiceManager();
1645 return HasRights;
1646 }
+0
-230
src/utilities/fbcpl/fbdialog.h less more
0 /*
1 * PROGRAM: Firebird 2.0 control panel applet
2 * MODULE: FBDialog.h
3 * DESCRIPTION: Main file to provide GUI based server control functions
4 * for Firebird 2.0
5 *
6 * The contents of this file are subject to the Initial Developer's
7 * Public License Version 1.0 (the "License"); you may not use this
8 * file except in compliance with the License. You may obtain a copy
9 * of the License here:
10 *
11 * http://www.ibphoenix.com?a=ibphoenix&page=ibp_idpl.
12 *
13 * Software distributed under the License is distributed on an "AS
14 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
15 * implied. See the License for the specific language governing rights
16 * and limitations under the License.
17 *
18 * The Initial Developer of the Original Code is Paul Reeves.
19 *
20 * The Original Code is (C) 2003 Paul Reeves .
21 *
22 * All Rights Reserved.
23 *
24 * Contributor(s): ______________________________________.
25 *
26 */
27
28
29 /////////////////////////////////////////////////////////////////////////////
30 // CFBDialog dialog
31
32 #if !defined(UTILITIES_FBDIALOG_H)
33 #define UTILITIES_FBDIALOG_H
34
35 //#pragma once
36
37 #define FB_COMPILER_MESSAGE_STR(x) #x
38 #define FB_COMPILER_MESSAGE_STR2(x) FB_COMPILER_MESSAGE_STR(x)
39 #define FB_COMPILER_MESSAGE(desc) message(__FILE__ "(" \
40 FB_COMPILER_MESSAGE_STR2(__LINE__) "):" desc)
41
42 #include "resource.h" // main symbols
43 #include "res/fbcontrol.rc2"
44
45 #include <winsvc.h>
46
47 #include "../install/install_nt.h"
48 #include "../install/servi_proto.h"
49 #include "../install/registry.h"
50 #include "../../remote/server/os/win32/window.h"
51 #include "../../iscguard/iscguard.h"
52
53 extern USHORT svc_error (SLONG, const TEXT*, SC_HANDLE);
54
55
56 class CFBDialog : public CDialog
57 {
58 // Construction
59 public:
60 CFBDialog(CWnd* pParent = NULL); // standard constructor
61
62 // Dialog Data
63 //{{AFX_DATA(CFBDialog)
64 enum { IDD = IDD_FBDIALOG };
65 CButton m_Server_Arch;
66 CButton m_Super_Server;
67 CButton m_Classic_Server;
68 CButton m_Apply;
69 CButton m_Use_Guardian;
70 CButton m_Manual_Start;
71 CButton m_Run_As_Application;
72 CButton m_Run_As_Service;
73 CButton m_Auto_Start;
74 CButton m_Run_Type;
75 CButton m_Button_Stop;
76 CStatic m_Icon;
77 CString m_FB_Version;
78 CString m_Firebird_Status;
79 //}}AFX_DATA
80
81 // Overrides
82 // ClassWizard generated virtual function overrides
83 //{{AFX_VIRTUAL(CFBDialog)
84 protected:
85 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
86 //}}AFX_VIRTUAL
87
88
89
90 // Implementation
91 protected:
92
93 // Generated message map functions
94 //{{AFX_MSG(CFBDialog)
95 virtual BOOL OnInitDialog();
96 virtual void OnOK();
97 afx_msg void OnButtonStop();
98 afx_msg void OnTimer(UINT_PTR nIDEvent);
99 afx_msg void OnDestroy();
100 afx_msg void OnService();
101 afx_msg void OnManualStart();
102 afx_msg void OnApplication();
103 afx_msg void OnAutoStart();
104 afx_msg void OnUseGuardian();
105 afx_msg void OnApply();
106 afx_msg void OnSuperServer();
107 afx_msg void OnClassicServer();
108 //}}AFX_MSG
109 DECLARE_MESSAGE_MAP()
110
111 //========= End of MSVC specific stuff
112
113 //Our Stuff
114 public:
115 CString m_SS_Server_Name;
116 CString m_Guardian_Name;
117 CString m_Root_Path;
118 CString m_ServerClassName;
119 #ifdef MANAGE_CLASSIC
120 CString m_ClassicClassName;
121 CString m_CS_Server_Name;
122 #endif
123 bool m_Reset_Display_To_Existing_Values;
124 bool m_Restore_old_status;
125
126 UINT m_uiTimer;
127 SC_HANDLE hScManager;
128
129 SERVICE_STATUS service_status;
130
131 DWORD m_Error_Status; //This is set by the calls to SERVICES_
132 //and is also set by GetLastError()
133 //It is tested in ShowError to prevent
134 //the same error message being reported.
135
136 struct STATUS //This stores the current status
137 {
138 #ifdef MANAGE_CLASSIC
139 bool UseClassic;
140 #endif
141 bool UseGuardian;
142 bool ServicesAvailable; // Set via UpdateServerStatus()
143 int ServerStatus;
144 bool UseService; // This is a convenience. It is set when
145 // ServiceStatus is checked and saves trying
146 // to do the more complex evaluation of
147 // ServiceStatus
148 bool AutoStart;
149 bool WasRunning; // Set via UpdateServerStatus(). Allows us
150 // to check if server was running before we
151 // updated our settings.
152 bool SystemLogin; // Are we using LocalSystem to control the
153 // service
154 bool SufficientUserRights; // Does user have sufficient rights to change service
155
156 CString ServerName; // Initially set by call to ViewRegistryEntries
157 CString ServiceExecutable; // Initially set by call to ViewRegistryEntries
158
159 } fb_status;
160
161
162 STATUS new_settings;
163
164 bool initialised; // False on startup
165 //Check stuff
166 bool CheckServiceInstalled( LPCTSTR service );
167 int DatabasesConnected();
168
169 //bool FirebirdInstalled(); Not implemented?
170 bool FirebirdRunning();
171
172 //Get Stuff
173
174 CString GetServiceName(const char* name) const;
175 HWND GetSuperServerHandle() const;
176 #ifdef MANAGE_CLASSIC
177 HWND GetClassicServerHandle() const;
178 #endif
179 HWND GetFirebirdHandle() const;
180 void GetFullAppPath( CFBDialog::STATUS status, char* app);
181 HWND GetGuardianHandle() const;
182 // bool GetGuardianUseSpecified();
183 bool GetPreferredArchitecture();
184 void GetServerName( CFBDialog::STATUS status, CString& AppName) const;
185 int GetServerStatus();
186
187 bool ServiceSupportAvailable() const;
188 void ViewRegistryEntries();
189
190 //Set stuff
191 bool ConfigureRegistryForApp(const CFBDialog::STATUS status );
192 void SetAutoStart(const CFBDialog::STATUS status );
193 #ifdef FBCPL_UPDATE_CONF
194 void SetGuardianUseInConf( bool UseGuardian );
195 #endif
196 #ifdef MANAGE_CLASSIC
197 void SetPreferredArchitectureInConf( bool UseClassic );
198 #endif
199 #ifdef FBCPL_UPDATE_CONF
200 bool UpdateFirebirdConf(CString option, CString value);
201 #endif
202
203
204 //Do stuff
205 void ApplyChanges();
206 bool AppInstall(const CFBDialog::STATUS status );
207 bool AppRemove();
208 void CloseServiceManager();
209 void DisableApplyButton();
210 void EnableApplyButton();
211 void KillApp();
212 bool OpenServiceManager( DWORD DesiredAccess );
213 void ProcessMessages();
214 void ResetCheckBoxes(const CFBDialog::STATUS status );
215 bool ServerStop();
216 bool ServerStart(const CFBDialog::STATUS status );
217 bool ServiceInstall(CFBDialog::STATUS status );
218 bool ServiceRemove();
219 static void HandleSvcError(SLONG status, const TEXT* string);
220 void HandleError(bool silent, const TEXT* string );
221 void ShowError( LPTSTR lpMsgBuf, CString error_title );
222 void UpdateServerStatus();
223 bool UserHasSufficientRights();
224 bool ValidateInstalledServices();
225 };
226
227
228 #endif // UTILITIES_FBDIALOG_H
229
+0
-149
src/utilities/fbcpl/fbpanel.cpp less more
0 /*
1 * PROGRAM: Firebird 2.0 control panel applet
2 * MODULE: fbpanel.cpp
3 * DESCRIPTION: The FBPanel unit does the following things:
4 * - It manages the display of the icon in the
5 * Control Panel manager
6 * - It tests whether Firebird is installed
7 * - If Fb is installed it sets the status of items
8 * that can be read from the Firebird registry entries
9 * and launches the Applet.
10 *
11 * Everything else is handled by the fbdialog unit. This is
12 * not a good thing as UI stuff is integrated with management
13 * and diagnostic stuff. A better design for Fb 2.0 would be
14 * to separate everything out and share the code with the
15 * existing command line tools that manage services and
16 * installation settings.
17 *
18 * The contents of this file are subject to the Initial Developer's
19 * Public License Version 1.0 (the "License"); you may not use this
20 * file except in compliance with the License. You may obtain a copy
21 * of the License here:
22 *
23 * http://www.ibphoenix.com?a=ibphoenix&page=ibp_idpl.
24 *
25 * Software distributed under the License is distributed on an "AS
26 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
27 * implied. See the License for the specific language governing rights
28 * and limitations under the License.
29 *
30 * The Initial Developer of the Original Code is Paul Reeves.
31 *
32 * The Original Code is (C) 2003 Paul Reeves .
33 *
34 * All Rights Reserved.
35 *
36 * Contributor(s): ______________________________________.
37 *
38 */
39
40
41 #include "stdafx.h"
42 #include "../install/registry.h"
43 #include "../jrd/build_no.h"
44
45 #include "FBPanel.h"
46 #include "FBDialog.h"
47 #include <Shlwapi.h>
48
49
50 LONG CFBPanel::OnInquire(UINT /*uAppNum*/, NEWCPLINFO* pInfo)
51 {
52
53 AFX_MANAGE_STATE(AfxGetStaticModuleState());
54 // Fill in the data
55 pInfo->dwSize = sizeof(NEWCPLINFO); // important
56 pInfo->dwFlags = 0;
57 pInfo->dwHelpContext = 0;
58 pInfo->lData = 0;
59 pInfo->hIcon = ::LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON1));
60 // Shouldn't this read FB 2 without fixing the minor version?
61 strcpy(pInfo->szName, "Firebird "FB_MAJOR_VER" Server Manager");
62 strcpy(pInfo->szInfo, "Configure Firebird "FB_MAJOR_VER" Database Server");
63 strcpy(pInfo->szHelpFile, "");
64 return 0; // OK (don't send CPL_INQUIRE msg)
65 }
66
67
68 LONG CFBPanel::OnDblclk(HWND hwndCPl, UINT /*uAppNum*/, LONG /*lData*/)
69 {
70
71 AFX_MANAGE_STATE(AfxGetStaticModuleState());
72
73 // Create the dialog box using the parent window handle
74 CFBDialog dlg(CWnd::FromHandle(hwndCPl));
75 bool error = true;
76 try
77 {
78 // Check if Firebird is installed by reading the registry
79 HKEY hkey;
80 if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, REG_KEY_ROOT_INSTANCES, 0, KEY_QUERY_VALUE, &hkey)
81 == ERROR_SUCCESS)
82 {
83 char rootpath[MAX_PATH - 2];
84 DWORD buffer_size = sizeof(rootpath);
85 if (RegQueryValueEx(hkey, FB_DEFAULT_INSTANCE, NULL, NULL, LPBYTE(rootpath), &buffer_size)
86 == ERROR_SUCCESS)
87 {
88 PathAddBackslash(rootpath);
89 dlg.m_Root_Path = rootpath;
90 }
91
92 RegCloseKey(hkey);
93
94 dlg.m_FB_Version = "not known";
95 CString afilename = dlg.m_Root_Path + "gbak.exe";
96 buffer_size = GetFileVersionInfoSize( (LPCTSTR) afilename, 0);
97 void* VersionInfo = new char [buffer_size];
98 void* ProductVersion = 0;
99 void* SpecialBuild = 0;
100 void* PrivateBuild = 0;
101 UINT ValueSize;
102 if ( GetFileVersionInfo((LPCTSTR) afilename, 0, buffer_size, VersionInfo) )
103 {
104 VerQueryValue( VersionInfo, "\\StringFileInfo\\040904E4\\ProductVersion",
105 &ProductVersion, &ValueSize);
106 if (ValueSize)
107 {
108 dlg.m_FB_Version = "Version ";
109 dlg.m_FB_Version += (char*) ProductVersion;
110 }
111 VerQueryValue( VersionInfo, "\\StringFileInfo\\040904E4\\SpecialBuild",
112 &SpecialBuild, &ValueSize);
113 if (ValueSize)
114 {
115 dlg.m_FB_Version += " ";
116 dlg.m_FB_Version += (char*) SpecialBuild;
117 }
118 VerQueryValue( VersionInfo, "\\StringFileInfo\\040904E4\\PrivateBuild",
119 &PrivateBuild, &ValueSize);
120 if (ValueSize)
121 {
122 dlg.m_FB_Version += " ";
123 dlg.m_FB_Version += (char*) PrivateBuild;
124 }
125 /**/
126 }
127 delete[] (char*) VersionInfo;
128
129 error = false;
130 // Show the dialog box
131 if (dlg.DoModal() != IDOK)
132 return 0;
133 }
134 }
135 catch ( ... )
136 {
137 //raise an error
138 error = true;
139 }
140
141 if (error)
142 {
143 dlg.MessageBox("Firebird does not appear to be installed correctly.", "Installation Error", MB_OK);
144 }
145 return 0;
146 }
147
148
+0
-42
src/utilities/fbcpl/fbpanel.h less more
0 /*
1 * PROGRAM: Firebird 2.0 control panel applet
2 * MODULE: fbpanel.h
3 *
4 * The contents of this file are subject to the Initial Developer's
5 * Public License Version 1.0 (the "License"); you may not use this
6 * file except in compliance with the License. You may obtain a copy
7 * of the License here:
8 *
9 * http://www.ibphoenix.com?a=ibphoenix&page=ibp_idpl.
10 *
11 * Software distributed under the License is distributed on an "AS
12 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
13 * implied. See the License for the specific language governing rights
14 * and limitations under the License.
15 *
16 * The Initial Developer of the Original Code is Paul Reeves.
17 *
18 * The Original Code is (C) 2003 Paul Reeves .
19 *
20 * All Rights Reserved.
21 *
22 * Contributor(s): ______________________________________.
23 *
24 */
25
26
27 #if !defined(UTILITIES_FBPANEL_H)
28 #define UTILITIES_FBPANEL_H
29
30 #include "ctrlpan.h"
31
32 class CFBPanel : public CControlPanel
33 {
34 public:
35 virtual LONG OnInquire(UINT uAppNum, NEWCPLINFO* pInfo);
36 virtual LONG OnDblclk(HWND hwndCPl, UINT uAppNum, LONG lData);
37
38 };
39
40 #endif // UTILITIES_FBPANEL_H
41
+0
-20
src/utilities/fbcpl/res/fbcontrol.rc2 less more
0 //
1 // FBCONTROL.RC2 - resources Microsoft Visual C++ does not edit directly
2 //
3
4 #ifdef APSTUDIO_INVOKED
5 #error this file is not editable by Microsoft Visual C++
6 #endif //APSTUDIO_INVOKED
7
8
9 /////////////////////////////////////////////////////////////////////////////
10 // Add manually edited resources here...
11
12 /////////////////////////////////////////////////////////////////////////////
13
14 #define USER_ACCOUNT_IN_USE "Service is controlled by non-LocalSystem User Account. Server Configuration is disabled."
15 #define CONFIG_OUT_OF_SYNC "The installed configuration is out of sync with reality. Use this applet to reset."
16 #define INSUFFICIENT_USER_RIGHTS "You do not have sufficient user rights. Server Configuration is disabled."
17
18
19
src/utilities/fbcpl/res/server.ico less more
Binary diff not shown
src/utilities/fbcpl/res/server_stop.ico less more
Binary diff not shown
+0
-48
src/utilities/fbcpl/resource.h less more
0 //{{NO_DEPENDENCIES}}
1 // Microsoft Developer Studio generated include file.
2 // Used by FBControl.rc
3 //
4 #define IDS_RUNNING 1
5 #define IDS_STOPPED 2
6 #define IDS_SERVICE_STOPPED 3
7 #define IDAPPLY 3
8 #define IDS_SERVICE_START_PENDING 4
9 #define IDS_SERVICE_STOP_PENDING 5
10 #define IDS_SERVICE_RUNNING 6
11 #define IDS_SERVICE_CONTINUE_PENDING 7
12 #define IDS_SERVICE_PAUSE_PENDING 8
13 #define IDS_SERVICE_PAUSED 9
14 #define IDS_APPLICATION_RUNNING 10
15 #define IDS_APPLICATION_STOPPED 11
16 #define IDS_APPLY 12
17 #define IDI_ICON1 102
18 #define IDD_FBDIALOG 1000
19 #define IDC_BUTTON_STOP 1001
20 #define IDC_SERVICE 1002
21 #define IDC_APPLICATION 1003
22 #define IDC_AUTO_START 1004
23 #define IDC_MANUAL_START 1005
24 #define IDC_RUNNING 1006
25 #define IDC_SUPERSERVER 1006
26 #define IDC_USE_GUARDIAN 1007
27 #define IDI_ICON4 1007
28 #define IDC_FB_VERSION 1008
29 #define IDC_CLASSICSERVER 1009
30 #define IDC_STATUS_ICON 1011
31 #define IDC_RUN_TYPE 1012
32 #define IDC_SERVER_ARCH 1013
33 #define IDC_FIREBIRD_STATUS 1014
34 #define IDC_CLASSIC_SERVER 1015
35 #define IDC_SUPER_SERVER 1016
36 #define IDC_CONFIG_DISABLED_NOTICE 1028
37
38 // Next default values for new objects
39 //
40 #ifdef APSTUDIO_INVOKED
41 #ifndef APSTUDIO_READONLY_SYMBOLS
42 #define _APS_NEXT_RESOURCE_VALUE 1008
43 #define _APS_NEXT_COMMAND_VALUE 32771
44 #define _APS_NEXT_CONTROL_VALUE 1016
45 #define _APS_NEXT_SYMED_VALUE 1001
46 #endif
47 #endif
+0
-8
src/utilities/fbcpl/stdafx.cpp less more
0 // stdafx.cpp : source file that includes just the standard includes
1 // FBControl.pch will be the pre-compiled header
2 // stdafx.obj will contain the pre-compiled type information
3
4 #include "stdafx.h"
5
6
7
+0
-58
src/utilities/fbcpl/stdafx.h less more
0 // stdafx.h : include file for standard system include files,
1 // or project specific include files that are used frequently, but
2 // are changed infrequently
3 //
4
5 #if !defined(AFX_STDAFX_H__A4777E9A_E00D_11D6_9193_0050564001ED__INCLUDED_)
6 #define AFX_STDAFX_H__A4777E9A_E00D_11D6_9193_0050564001ED__INCLUDED_
7
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11
12 #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
13
14 #include <afxwin.h> // MFC core and standard components
15 #include <afxext.h> // MFC extensions
16
17 #undef TRACE // TRACE is used by Firebird too.
18
19 #include "firebird.h"
20
21 #ifdef HAVE_MATH_H
22 #include <math.h>
23 #endif
24
25 #ifdef HAVE_STRING_H
26 #include <string.h>
27 #endif
28
29 #ifdef TIME_WITH_SYS_TIME
30 # include <sys/time.h>
31 # include <time.h>
32 #else
33 # ifdef HAVE_SYS_TIME_H
34 # include <sys/time.h>
35 # else
36 # include <time.h>
37 # endif
38 #endif
39
40 #ifdef HAVE_SYS_TIMEB_H
41 # include <sys/timeb.h>
42 #endif
43
44 #ifdef HAVE_LOCALE_H
45 #include <locale.h>
46 #endif
47
48 #ifdef HAVE_PTHREAD_H
49 #include "fb_pthread.h"
50 #endif
51
52 #include "../../jrd/ibase.h"
53
54 //{{AFX_INSERT_LOCATION}}
55 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
56
57 #endif // !defined(AFX_STDAFX_H__A4777E9A_E00D_11D6_9193_0050564001ED__INCLUDED_)
6060 virtual void setActive(ULONG id, bool active);
6161 virtual void listSessions();
6262
63 os_utils::CtrlCHandler ctrlCHandler;
64
6365 private:
6466 void runService(size_t spbSize, const UCHAR* spb);
6567
198200
199201 void TraceSvcUtil::runService(size_t spbSize, const UCHAR* spb)
200202 {
201 os_utils::CtrlCHandler ctrlCHandler;
202
203203 ISC_STATUS_ARRAY status;
204204
205205 if (isc_service_start(status, &m_svcHandle, 0,
320320 fb_utils::FbShutdown appShutdown(fb_shutrsn_app_stopped);
321321
322322 AutoPtr<UtilSvc> uSvc(UtilSvc::createStandalone(argc, argv));
323 TraceSvcUtil traceUtil;
324
323325 try
324326 {
325 TraceSvcUtil traceUtil;
326
327327 fbtrace(uSvc, &traceUtil);
328328 }
329329 catch (const Firebird::Exception& ex)
330330 {
331 Firebird::StaticStatusVector temp;
332
333 ex.stuffException(temp);
334 isc_print_status(temp.begin());
335
336 return FINI_ERROR;
331 if (!traceUtil.ctrlCHandler.getTerminated())
332 {
333 Firebird::StaticStatusVector temp;
334
335 ex.stuffException(temp);
336 isc_print_status(temp.begin());
337
338 return FINI_ERROR;
339 }
337340 }
338341
339342 return FINI_OK;
+0
-32
src/utilities/install/registry.h less more
0 /*
1 * PROGRAM: Windows NT installation utilities
2 * MODULE: registry.h
3 * DESCRIPTION: Defines for the registry
4 *
5 * The contents of this file are subject to the Independant Developers
6 * Public License Version 1.0 (the "License"); you may not use this file
7 * except in compliance with the License. You may obtain a copy
8 * of the License at http://www.ibphoenix.com/IDPL.html
9 *
10 * Software distributed under the License is distributed on an
11 * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
12 * or implied. See the License for the specific language governing
13 * rights and limitations under the License.
14 *
15 * The Original Code was created by Inprise Corporation
16 * and its predecessors. Portions created by Inprise Corporation are
17 * Copyright (C) Inprise Corporation.
18 *
19 * All Rights Reserved.
20 * Contributor(s): Paul Reeves__________________________________.
21 */
22
23
24 #ifndef REGISTRY_DEFINES_H
25 #define REGISTRY_DEFINES_H
26
27 static const char* const REG_KEY_ROOT_COMPANY = "SOFTWARE\\Firebird Project";
28 static const char* const REG_KEY_ROOT_PRODUCT = "SOFTWARE\\Firebird Project\\Firebird Server";
29 static const char* const REG_KEY_ROOT_INSTANCES = "SOFTWARE\\Firebird Project\\Firebird Server\\Instances";
30
31 #endif // REGISTRY_DEFINES_H
3131
3232 #include "../yvalve/MasterImplementation.h"
3333 #include "../common/classes/rwlock.h"
34 #include "../common/classes/ClumpletReader.h"
3435 #include "../jrd/inf_pub.h"
3536 #include "../common/isc_proto.h"
3637 #include "../jrd/acl.h"
110111 if (status->getState() & Firebird::IStatus::STATE_ERRORS)
111112 return false;
112113
113 UCHAR* const end = bigBuffer.end();
114
115 while (buf < end)
116 {
117 UCHAR item = buf[0];
118 ++buf;
119 const USHORT length = (USHORT) gds__vax_integer(buf, 2);
114 for (ClumpletReader p(ClumpletReader::InfoResponse, buf, bigBuffer.getCount()); !p.isEof(); p.moveNext())
115 {
116 const USHORT length = (USHORT) p.getClumpLength();
120117 // Prevent information out of sync.
121118 UCHAR lengthByte = length > MAX_UCHAR ? MAX_UCHAR : length;
122 buf += 2;
123
124 switch(item)
119
120 switch(p.getClumpTag())
125121 {
126122 case isc_info_tra_id:
127123 tdr.add(TDR_TRANSACTION_ID);
128124 tdr.add(lengthByte);
129 tdr.add(buf, lengthByte);
125 tdr.add(p.getBytes(), lengthByte);
130126 break;
131127
132128 case fb_info_tra_dbpath:
133129 tdr.add(TDR_DATABASE_PATH);
134130 tdr.add(lengthByte);
135 tdr.add(buf, lengthByte);
131 tdr.add(p.getBytes(), lengthByte);
136132 break;
137
138 case isc_info_end:
139 return true;
140 }
141
142 buf += length;
133 }
143134 }
144135
145136 return true;
456456 if (status->getState() & Firebird::IStatus::STATE_ERRORS)
457457 return;
458458
459 const UCHAR* p = buf;
460 redo = false;
461
462 while (!redo && *p != isc_info_end && p < buf + buf_len)
459 ClumpletReader p(ClumpletReader::InfoResponse, buf, buf_len);
460
461 for (redo = false; !(redo || p.isEof()); p.moveNext())
463462 {
464 const UCHAR item = *p++;
465 const USHORT len = static_cast<USHORT>(gds__vax_integer(p, 2));
466
467 p += 2;
468
469 switch (item)
463 switch (p.getClumpTag())
470464 {
471465 case isc_info_firebird_version:
472 versions = (TEXT*) p;
466 versions = (TEXT*) p.getBytes();
473467 break;
474468
475469 case isc_info_implementation:
476 implementations = (TEXT*) p;
470 implementations = (TEXT*) p.getBytes();
477471 break;
478472
479473 case fb_info_implementation:
480 dbis = p;
481 if (dbis[0] * 6 + 1 > len)
474 dbis = p.getBytes();
475 if (dbis[0] * 6u + 1u > p.getClumpLength())
482476 {
483477 // fb_info_implementation value appears incorrect
484478 dbis = NULL;
491485
492486 case isc_info_truncated:
493487 redo = true;
488 // fall down...
489 case isc_info_end:
494490 break;
495491
496492 default:
497493 (Arg::Gds(isc_random) << "Invalid info item").raise();
498494 }
499
500 p += len;
501495 }
502496
503497 // Our buffer wasn't large enough to hold all the information,
11201114 *
11211115 **************************************/
11221116 ISC_STATUS_ARRAY status_vector;
1123 SCHAR buffer[64];
1124
1125 if (isc_blob_info(status_vector, b, sizeof(blob_items), blob_items, sizeof(buffer), buffer))
1117 UCHAR buffer[64];
1118
1119 if (isc_blob_info(status_vector, b, sizeof(blob_items), blob_items, sizeof(buffer), (SCHAR*)buffer))
11261120 {
11271121 isc_print_status(status_vector);
11281122 return FALSE;
11291123 }
11301124
1131 const UCHAR* p = reinterpret_cast<UCHAR*>(buffer);
1132 UCHAR item;
1133 while ((item = *p++) != isc_info_end)
1134 {
1135 const USHORT l = gds__vax_integer(p, 2);
1136 p += 2;
1137 const SLONG n = gds__vax_integer(p, l);
1138 p += l;
1125 for (ClumpletReader p(ClumpletReader::InfoResponse, buffer, sizeof(buffer)); !p.isEof(); p.moveNext())
1126 {
1127 UCHAR item = p.getClumpTag();
1128 if (item == isc_info_end)
1129 break;
1130
11391131 switch (item)
11401132 {
11411133 case isc_info_blob_max_segment:
11421134 if (max_seg)
1143 *max_seg = n;
1135 *max_seg = p.getInt();
11441136 break;
11451137
11461138 case isc_info_blob_num_segments:
11471139 if (seg_count)
1148 *seg_count = n;
1140 *seg_count = p.getInt();
11491141 break;
11501142
11511143 case isc_info_blob_total_length:
11521144 if (size)
1153 *size = n;
1145 *size = p.getInt();
11541146 break;
11551147
11561148 default:
26622654 if (status->getState() & Firebird::IStatus::STATE_ERRORS)
26632655 return;
26642656
2665 const UCHAR* p = buffer;
2666 UCHAR item;
2667
2668 while ((item = *p++) != isc_info_end)
2669 {
2670 const USHORT l = static_cast<USHORT>(gds__vax_integer(p, 2));
2671 p += 2;
2672 const USHORT n = static_cast<USHORT>(gds__vax_integer(p, l));
2673 p += l;
2674 switch (item)
2657 for (ClumpletReader p(ClumpletReader::InfoResponse, buffer, sizeof(buffer)); !p.isEof(); p.moveNext())
2658 {
2659 const USHORT n = static_cast<USHORT>(p.getInt());
2660 switch (p.getClumpTag())
26752661 {
26762662 case isc_info_ods_version:
26772663 *ods_version = n;
26792665
26802666 case isc_info_ods_minor_version:
26812667 *ods_minor_version = n;
2668 break;
2669
2670 case isc_info_end:
26822671 break;
26832672
26842673 default: