setting. It can be built by setting the WITH_ICONV knob. While this knob is unset, the library part, the binaries, the header file and the metadata files will not be built or installed so it makes no impact on the system if left turned off. This work is based on the iconv implementation in NetBSD but a great number of improvements and feature additions have been included: - Some utilities have been added. There is a conversion table generator, which can compare conversion tables to reference data generated by GNU libiconv. This helps ensuring conversion compatibility. - UTF-16 surrogate support and some endianness issues have been fixed. - The rather chaotic Makefiles to build metadata have been refactored and cleaned up, now it is easy to read and it is also easier to add support for new encodings. - A bunch of new encodings and encoding aliases have been added. - Support for 1->2, 1->3 and 1->4 mappings, which is needed for transliterating with flying accents as GNU does, like "u. - Lots of warnings have been fixed, the major part of the code is now WARNS=6 clean. - New section 1 and section 5 manual pages have been added. - Some GNU-specific calls have been implemented: iconvlist(), iconvctl(), iconv_canonicalize(), iconv_open_into() - Support for GNU's //IGNORE suffix has been added. - The "-" argument for stdin is now recognized in iconv(1) as per POSIX. - The Big5 conversion module has been fixed. - The iconv.h header files is supposed to be compatible with the GNU version, i.e. sources should build with base iconv.h and GNU libiconv. It also includes a macro magic to deal with the char ** and const char ** incompatibility. - GNU compatibility: "" or "char" means the current local encoding in use - Various cleanups and style(9) fixes. Approved by: delphij (mentor) Obtained from: The NetBSD Project Sponsored by: Google Summer of Code 2009
468 lines
10 KiB
Plaintext
468 lines
10 KiB
Plaintext
# $FreeBSD$
|
|
# $NetBSD: Big5EXT@IBM%UCS.src,v 1.1 2006/06/19 17:28:25 tnozaki Exp $
|
|
|
|
TYPE ROWCOL
|
|
NAME "Big5EXT:IBM/UCS"
|
|
SRC_ZONE 0xA3-0xF9 / 0x40-0xFE / 8
|
|
OOB_MODE INVALID
|
|
DST_INVALID 0xFFFE
|
|
DST_UNIT_BITS 16
|
|
|
|
BEGIN_MAP
|
|
#
|
|
# This mapping data is made from the mapping data provided by Unicode, Inc.
|
|
# Original notice:
|
|
#
|
|
# Name: BIG5 to Unicode table (complete)
|
|
# Unicode version: 1.1
|
|
# Table version: 0.0d3
|
|
# Table format: Format A
|
|
# Date: 11 February 1994
|
|
#
|
|
# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved.
|
|
#
|
|
# This file is provided as-is by Unicode, Inc. (The Unicode Consortium).
|
|
# No claims are made as to fitness for any particular purpose. No
|
|
# warranties of any kind are expressed or implied. The recipient
|
|
# agrees to determine applicability of information provided. If this
|
|
# file has been provided on magnetic media by Unicode, Inc., the sole
|
|
# remedy for any claim will be exchange of defective media within 90
|
|
# days of receipt.
|
|
#
|
|
# Recipient is granted the right to make copies in any form for
|
|
# internal distribution and to freely use the information supplied
|
|
# in the creation of products supporting Unicode. Unicode, Inc.
|
|
# specifically excludes the right to re-distribute this file directly
|
|
# to third parties or other organizations whether for profit or not.
|
|
#
|
|
# General notes:
|
|
#
|
|
#
|
|
# This table contains one set of mappings from BIG5 into Unicode.
|
|
# Note that these data are *possible* mappings only and may not be the
|
|
# same as those used by actual products, nor may they be the best suited
|
|
# for all uses. For more information on the mappings between various code
|
|
# pages incorporating the repertoire of BIG5 and Unicode, consult the
|
|
# VENDORS mapping data. Normative information on the mapping between
|
|
# BIG5 and Unicode may be found in the Unihan.txt file in the
|
|
# latest Unicode Character Database.
|
|
#
|
|
# If you have carefully considered the fact that the mappings in
|
|
# this table are only one possible set of mappings between BIG5 and
|
|
# Unicode and have no normative status, but still feel that you
|
|
# have located an error in the table that requires fixing, you may
|
|
# report any such error to errata@unicode.org.
|
|
#
|
|
# WARNING! It is currently impossible to provide round-trip compatibility
|
|
# between BIG5 and Unicode.
|
|
#
|
|
# A number of characters are not currently mapped because
|
|
# of conflicts with other mappings. They are as follows:
|
|
#
|
|
# BIG5 Description Comments
|
|
#
|
|
# 0xA15A SPACING UNDERSCORE duplicates A1C4
|
|
# 0xA1C3 SPACING HEAVY OVERSCORE not in Unicode
|
|
# 0xA1C5 SPACING HEAVY UNDERSCORE not in Unicode
|
|
# 0xA1FE LT DIAG UP RIGHT TO LOW LEFT duplicates A2AC
|
|
# 0xA240 LT DIAG UP LEFT TO LOW RIGHT duplicates A2AD
|
|
# 0xA2CC HANGZHOU NUMERAL TEN conflicts with A451 mapping
|
|
# 0xA2CE HANGZHOU NUMERAL THIRTY conflicts with A4CA mapping
|
|
#
|
|
# We currently map all of these characters to U+FFFD REPLACEMENT CHARACTER.
|
|
# It is also possible to map these characters to their duplicates, or to
|
|
# the user zone.
|
|
#
|
|
# Notes:
|
|
#
|
|
# 1. In addition to the above, there is some uncertainty about the
|
|
# mappings in the range C6A1 - C8FE, and F9DD - F9FE. The ETEN
|
|
# version of BIG5 organizes the former range differently, and adds
|
|
# additional characters in the latter range. The correct mappings
|
|
# these ranges need to be determined.
|
|
#
|
|
# 2. There is an uncertainty in the mapping of the Big Five character
|
|
# 0xA3BC. This character occurs within the Big Five block of tone marks
|
|
# for bopomofo and is intended to be the tone mark for the first tone in
|
|
# Mandarin Chinese. We have selected the mapping U+02C9 MODIFIER LETTER
|
|
# MACRON (Mandarin Chinese first tone) to reflect this semantic.
|
|
# However, because bopomofo uses the absense of a tone mark to indicate
|
|
# the first Mandarin tone, most implementations of Big Five represent
|
|
# this character with a blank space, and so a mapping such as U+2003 EM
|
|
# SPACE might be preferred.
|
|
#
|
|
# Format: Three tab-separated columns
|
|
# Column #1 is the BIG5 code (in hex as 0xXXXX)
|
|
# Column #2 is the Unicode (in hex as 0xXXXX)
|
|
# Column #3 is the Unicode name (follows a comment sign, '#')
|
|
# The official names for Unicode characters U+4E00
|
|
# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX",
|
|
# where XXXX is the code point. Including all these
|
|
# names in this file increases its size substantially
|
|
# and needlessly. The token "<CJK>" is used for the
|
|
# name of these characters. If necessary, it can be
|
|
# expanded algorithmically by a parser or editor.
|
|
#
|
|
# The entries are in BIG5 order
|
|
#
|
|
#
|
|
|
|
0xA3C0 - 0xA3E0 = 0x2400 -
|
|
0xC6A1 = 0x2460
|
|
0xC6A2 = 0x2461
|
|
0xC6A3 = 0x2462
|
|
0xC6A4 = 0x2463
|
|
0xC6A5 = 0x2464
|
|
0xC6A6 = 0x2465
|
|
0xC6A7 = 0x2466
|
|
0xC6A8 = 0x2467
|
|
0xC6A9 = 0x2468
|
|
0xC6AA = 0x2469
|
|
0xC6AB = 0x2474
|
|
0xC6AC = 0x2475
|
|
0xC6AD = 0x2476
|
|
0xC6AE = 0x2477
|
|
0xC6AF = 0x2478
|
|
0xC6B0 = 0x2479
|
|
0xC6B1 = 0x247A
|
|
0xC6B2 = 0x247B
|
|
0xC6B3 = 0x247C
|
|
0xC6B4 = 0x247D
|
|
0xC6B5 = 0x2170
|
|
0xC6B6 = 0x2171
|
|
0xC6B7 = 0x2172
|
|
0xC6B8 = 0x2173
|
|
0xC6B9 = 0x2174
|
|
0xC6BA = 0x2175
|
|
0xC6BB = 0x2176
|
|
0xC6BC = 0x2177
|
|
0xC6BD = 0x2178
|
|
0xC6BE = 0x2179
|
|
0xC6BF = 0x4E36
|
|
0xC6C0 = 0x4E3F
|
|
0xC6C1 = 0x4E85
|
|
0xC6C2 = 0x4EA0
|
|
0xC6C3 = 0x5182
|
|
0xC6C4 = 0x5196
|
|
0xC6C5 = 0x51AB
|
|
0xC6C6 = 0x52F9
|
|
0xC6C7 = 0x5338
|
|
0xC6C8 = 0x5369
|
|
0xC6C9 = 0x53B6
|
|
0xC6CA = 0x590A
|
|
0xC6CB = 0x5B80
|
|
0xC6CC = 0x5DDB
|
|
0xC6CD = 0x5E7A
|
|
0xC6CE = 0x5E7F
|
|
0xC6CF = 0x5EF4
|
|
0xC6D0 = 0x5F50
|
|
0xC6D1 = 0x5F61
|
|
0xC6D2 = 0x6534
|
|
0xC6D3 = 0x65E0
|
|
0xC6D4 = 0x7592
|
|
0xC6D5 = 0x7676
|
|
0xC6D6 = 0x8FB5
|
|
0xC6D7 = 0x96B6
|
|
0xC6D8 = 0x00A8
|
|
0xC6D9 = 0xFF3E
|
|
0xC6DA = 0x30FD
|
|
0xC6DB = 0x30FE
|
|
0xC6DC = 0x309D
|
|
0xC6DD = 0x309E
|
|
0xC6DE = 0x02BA
|
|
0xC6DF = 0xF83E
|
|
0xC6E0 = 0x3005
|
|
0xC6E1 = 0x3006
|
|
0xC6E2 = 0x3007
|
|
0xC6E3 = 0x30FC
|
|
0xC6E4 = 0xFF3B
|
|
0xC6E5 = 0xFF3D
|
|
0xC6E6 = 0x273D
|
|
0xC6E7 = 0x3041
|
|
0xC6E8 = 0x3042
|
|
0xC6E9 = 0x3043
|
|
0xC6EA = 0x3044
|
|
0xC6EB = 0x3045
|
|
0xC6EC = 0x3046
|
|
0xC6ED = 0x3047
|
|
0xC6EE = 0x3048
|
|
0xC6EF = 0x3049
|
|
0xC6F0 = 0x304A
|
|
0xC6F1 = 0x304B
|
|
0xC6F2 = 0x304C
|
|
0xC6F3 = 0x304D
|
|
0xC6F4 = 0x304E
|
|
0xC6F5 = 0x304F
|
|
0xC6F6 = 0x3050
|
|
0xC6F7 = 0x3051
|
|
0xC6F8 = 0x3052
|
|
0xC6F9 = 0x3053
|
|
0xC6FA = 0x3054
|
|
0xC6FB = 0x3055
|
|
0xC6FC = 0x3056
|
|
0xC6FD = 0x3057
|
|
0xC6FE = 0x3058
|
|
0xC740 = 0x3059
|
|
0xC741 = 0x305A
|
|
0xC742 = 0x305B
|
|
0xC743 = 0x305C
|
|
0xC744 = 0x305D
|
|
0xC745 = 0x305E
|
|
0xC746 = 0x305F
|
|
0xC747 = 0x3060
|
|
0xC748 = 0x3061
|
|
0xC749 = 0x3062
|
|
0xC74A = 0x3063
|
|
0xC74B = 0x3064
|
|
0xC74C = 0x3065
|
|
0xC74D = 0x3066
|
|
0xC74E = 0x3067
|
|
0xC74F = 0x3068
|
|
0xC750 = 0x3069
|
|
0xC751 = 0x306A
|
|
0xC752 = 0x306B
|
|
0xC753 = 0x306C
|
|
0xC754 = 0x306D
|
|
0xC755 = 0x306E
|
|
0xC756 = 0x306F
|
|
0xC757 = 0x3070
|
|
0xC758 = 0x3071
|
|
0xC759 = 0x3072
|
|
0xC75A = 0x3073
|
|
0xC75B = 0x3074
|
|
0xC75C = 0x3075
|
|
0xC75D = 0x3076
|
|
0xC75E = 0x3077
|
|
0xC75F = 0x3078
|
|
0xC760 = 0x3079
|
|
0xC761 = 0x307A
|
|
0xC762 = 0x307B
|
|
0xC763 = 0x307C
|
|
0xC764 = 0x307D
|
|
0xC765 = 0x307E
|
|
0xC766 = 0x307F
|
|
0xC767 = 0x3080
|
|
0xC768 = 0x3081
|
|
0xC769 = 0x3082
|
|
0xC76A = 0x3083
|
|
0xC76B = 0x3084
|
|
0xC76C = 0x3085
|
|
0xC76D = 0x3086
|
|
0xC76E = 0x3087
|
|
0xC76F = 0x3088
|
|
0xC770 = 0x3089
|
|
0xC771 = 0x308A
|
|
0xC772 = 0x308B
|
|
0xC773 = 0x308C
|
|
0xC774 = 0x308D
|
|
0xC775 = 0x308E
|
|
0xC776 = 0x308F
|
|
0xC777 = 0x3090
|
|
0xC778 = 0x3091
|
|
0xC779 = 0x3092
|
|
0xC77A = 0x3093
|
|
0xC77B = 0x30A1
|
|
0xC77C = 0x30A2
|
|
0xC77D = 0x30A3
|
|
0xC77E = 0x30A4
|
|
0xC7A1 = 0x30A5
|
|
0xC7A2 = 0x30A6
|
|
0xC7A3 = 0x30A7
|
|
0xC7A4 = 0x30A8
|
|
0xC7A5 = 0x30A9
|
|
0xC7A6 = 0x30AA
|
|
0xC7A7 = 0x30AB
|
|
0xC7A8 = 0x30AC
|
|
0xC7A9 = 0x30AD
|
|
0xC7AA = 0x30AE
|
|
0xC7AB = 0x30AF
|
|
0xC7AC = 0x30B0
|
|
0xC7AD = 0x30B1
|
|
0xC7AE = 0x30B2
|
|
0xC7AF = 0x30B3
|
|
0xC7B0 = 0x30B4
|
|
0xC7B1 = 0x30B5
|
|
0xC7B2 = 0x30B6
|
|
0xC7B3 = 0x30B7
|
|
0xC7B4 = 0x30B8
|
|
0xC7B5 = 0x30B9
|
|
0xC7B6 = 0x30BA
|
|
0xC7B7 = 0x30BB
|
|
0xC7B8 = 0x30BC
|
|
0xC7B9 = 0x30BD
|
|
0xC7BA = 0x30BE
|
|
0xC7BB = 0x30BF
|
|
0xC7BC = 0x30C0
|
|
0xC7BD = 0x30C1
|
|
0xC7BE = 0x30C2
|
|
0xC7BF = 0x30C3
|
|
0xC7C0 = 0x30C4
|
|
0xC7C1 = 0x30C5
|
|
0xC7C2 = 0x30C6
|
|
0xC7C3 = 0x30C7
|
|
0xC7C4 = 0x30C8
|
|
0xC7C5 = 0x30C9
|
|
0xC7C6 = 0x30CA
|
|
0xC7C7 = 0x30CB
|
|
0xC7C8 = 0x30CC
|
|
0xC7C9 = 0x30CD
|
|
0xC7CA = 0x30CE
|
|
0xC7CB = 0x30CF
|
|
0xC7CC = 0x30D0
|
|
0xC7CD = 0x30D1
|
|
0xC7CE = 0x30D2
|
|
0xC7CF = 0x30D3
|
|
0xC7D0 = 0x30D4
|
|
0xC7D1 = 0x30D5
|
|
0xC7D2 = 0x30D6
|
|
0xC7D3 = 0x30D7
|
|
0xC7D4 = 0x30D8
|
|
0xC7D5 = 0x30D9
|
|
0xC7D6 = 0x30DA
|
|
0xC7D7 = 0x30DB
|
|
0xC7D8 = 0x30DC
|
|
0xC7D9 = 0x30DD
|
|
0xC7DA = 0x30DE
|
|
0xC7DB = 0x30DF
|
|
0xC7DC = 0x30E0
|
|
0xC7DD = 0x30E1
|
|
0xC7DE = 0x30E2
|
|
0xC7DF = 0x30E3
|
|
0xC7E0 = 0x30E4
|
|
0xC7E1 = 0x30E5
|
|
0xC7E2 = 0x30E6
|
|
0xC7E3 = 0x30E7
|
|
0xC7E4 = 0x30E8
|
|
0xC7E5 = 0x30E9
|
|
0xC7E6 = 0x30EA
|
|
0xC7E7 = 0x30EB
|
|
0xC7E8 = 0x30EC
|
|
0xC7E9 = 0x30ED
|
|
0xC7EA = 0x30EE
|
|
0xC7EB = 0x30EF
|
|
0xC7EC = 0x30F0
|
|
0xC7ED = 0x30F1
|
|
0xC7EE = 0x30F2
|
|
0xC7EF = 0x30F3
|
|
0xC7F0 = 0x30F4
|
|
0xC7F1 = 0x30F5
|
|
0xC7F2 = 0x30F6
|
|
0xC7F3 = 0x0410
|
|
0xC7F4 = 0x0411
|
|
0xC7F5 = 0x0412
|
|
0xC7F6 = 0x0413
|
|
0xC7F7 = 0x0414
|
|
0xC7F8 = 0x0415
|
|
0xC7F9 = 0x0401
|
|
0xC7FA = 0x0416
|
|
0xC7FB = 0x0417
|
|
0xC7FC = 0x0418
|
|
0xC7FD = 0x0419
|
|
0xC7FE = 0x041A
|
|
0xC840 = 0x041B
|
|
0xC841 = 0x041C
|
|
0xC842 = 0x041D
|
|
0xC843 = 0x041E
|
|
0xC844 = 0x041F
|
|
0xC845 = 0x0420
|
|
0xC846 = 0x0421
|
|
0xC847 = 0x0422
|
|
0xC848 = 0x0423
|
|
0xC849 = 0x0424
|
|
0xC84A = 0x0425
|
|
0xC84B = 0x0426
|
|
0xC84C = 0x0427
|
|
0xC84D = 0x0428
|
|
0xC84E = 0x0429
|
|
0xC84F = 0x042A
|
|
0xC850 = 0x042B
|
|
0xC851 = 0x042C
|
|
0xC852 = 0x042D
|
|
0xC853 = 0x042E
|
|
0xC854 = 0x042F
|
|
0xC855 = 0x0430
|
|
0xC856 = 0x0431
|
|
0xC857 = 0x0432
|
|
0xC858 = 0x0433
|
|
0xC859 = 0x0434
|
|
0xC85A = 0x0435
|
|
0xC85B = 0x0451
|
|
0xC85C = 0x0436
|
|
0xC85D = 0x0437
|
|
0xC85E = 0x0438
|
|
0xC85F = 0x0439
|
|
0xC860 = 0x043A
|
|
0xC861 = 0x043B
|
|
0xC862 = 0x043C
|
|
0xC863 = 0x043D
|
|
0xC864 = 0x043E
|
|
0xC865 = 0x043F
|
|
0xC866 = 0x0440
|
|
0xC867 = 0x0441
|
|
0xC868 = 0x0442
|
|
0xC869 = 0x0443
|
|
0xC86A = 0x0444
|
|
0xC86B = 0x0445
|
|
0xC86C = 0x0446
|
|
0xC86D = 0x0447
|
|
0xC86E = 0x0448
|
|
0xC86F = 0x0449
|
|
0xC870 = 0x044A
|
|
0xC871 = 0x044B
|
|
0xC872 = 0x044C
|
|
0xC873 = 0x044D
|
|
0xC874 = 0x044E
|
|
0xC875 = 0x044F
|
|
0xC876 = 0x21E7
|
|
0xC877 = 0x21B8
|
|
0xC878 = 0x21B9
|
|
0xC8CD = 0xFFE2
|
|
0xC8CE = 0xFFE4
|
|
0xC8CF = 0xFF07
|
|
0xC8D0 = 0xFF02
|
|
0xC8D1 = 0x3231
|
|
0xC8D2 = 0x2116
|
|
0xC8D3 = 0x2121
|
|
0xF9D6 = 0xF813
|
|
0xF9D7 = 0xF814
|
|
0xF9D8 = 0xF815
|
|
0xF9D9 = 0xF816
|
|
0xF9DA = 0xF817
|
|
0xF9DB = 0xF818
|
|
0xF9DC = 0xF819
|
|
0xF9DD = 0xF81A
|
|
0xF9DE = 0xF81B
|
|
0xF9DF = 0xF81C
|
|
0xF9E0 = 0xF81D
|
|
0xF9E1 = 0xF81E
|
|
0xF9E2 = 0xF81F
|
|
0xF9E3 = 0xF820
|
|
0xF9E4 = 0xF821
|
|
0xF9E5 = 0xF822
|
|
0xF9E6 = 0xF823
|
|
0xF9E7 = 0xF824
|
|
0xF9E8 = 0xF825
|
|
0xF9E9 = 0xF826
|
|
0xF9EA = 0xF827
|
|
0xF9EB = 0xF828
|
|
0xF9EC = 0xF829
|
|
0xF9ED = 0xF82A
|
|
0xF9EE = 0xF82B
|
|
0xF9EF = 0xF82C
|
|
0xF9F0 = 0xF82D
|
|
0xF9F1 = 0xF82E
|
|
0xF9F2 = 0xF82F
|
|
0xF9F3 = 0xF830
|
|
0xF9F4 = 0xF831
|
|
0xF9F5 = 0xF832
|
|
0xF9F6 = 0xF833
|
|
0xF9F7 = 0xF834
|
|
0xF9F8 = 0xF835
|
|
0xF9F9 = 0xF836
|
|
0xF9FA = 0xF837
|
|
0xF9FB = 0xF838
|
|
0xF9FC = 0xF839
|
|
0xF9FD = 0xF83A
|
|
0xF9FE = 0xF83B
|
|
END_MAP
|